IAP GITLAB

Commit d384fe9a authored by Colin Baus's avatar Colin Baus

prepare for dpmjet library

git-svn-id: https://devel-ik.fzk.de/svn/mc/crmc/trunk@3893 c7a5e08c-de06-0410-9364-b41cf42a0b17
parent 0baf4962
......@@ -11,6 +11,7 @@ OPTION (__PYTHIA__ "Build with model" OFF)
OPTION (__HIJING__ "Build with model" OFF)
OPTION (__SIBYLL__ "Build with model" ON)
OPTION (__PHOJET__ "Build with model" OFF)
OPTION (__DPMJET__ "Build with model" ON)
OPTION (__QGSJETII03__ "Build with model" ON)
OPTION (__QGSJETII04__ "Build with model" ON)
######################################ONLY EDIT THIS######################################
......@@ -111,6 +112,11 @@ IF (__PHOJET__)
ADD_SUBDIRECTORY ("${PROJECT_SOURCE_DIR}/src/phojet")
ENDIF (__PHOJET__)
IF (__DPMJET__)
LIST(APPEND TABS dpmjet.dat)
ADD_SUBDIRECTORY ("${PROJECT_SOURCE_DIR}/src/dpmjet/3.0-6")
ENDIF (__DPMJET__)
#put definition outside "if" because it is always is crmc.param file
SET (QGSJETII_TABS "03")
IF (__QGSJETII03__)
......
......@@ -49,6 +49,7 @@ bool CRMCinterface::init(int HEmodel)
#ifdef __QGSJETII03__
case 11: libname << "QgsjetII03"; break;
#endif
case 12: libname << "Dpmjet"; break;
default: libname << "UnknownModel"; break;
}
libname << ".so";
......
......@@ -90,6 +90,9 @@ CRMCoptions::ParseOptions(int argc, char** argv)
#ifdef __PHOJET__
<< ", 8=Phojet"
#endif
#ifdef __DPMJET__
<< ", 12=DPMJet 3.0-6"
#endif
#ifdef __QGSJETII03__
<< ", 11=QGSJETII-03"
#endif
......@@ -109,8 +112,8 @@ CRMCoptions::ParseOptions(int argc, char** argv)
("target-id,I", po::value<int>(), "PDG or Z*10000+A*10")
("config,c", po::value<string>(), "config file")
("out,f", po::value<string>(), "output file name (auto if none provided)")
("produceTables,t", po::value<bool>()->implicit_value(1), "create tables if none are found")
("Test,T", po::value<bool>()->implicit_value(1), "Test mode")
("produceTables,t", po::value<bool>()->default_value(1), "create tables if none are found")
("Test,T", po::value<bool>()->default_value(1), "Test mode")
;
po::variables_map opt;
......@@ -216,9 +219,9 @@ CRMCoptions::DumpConfig() const
if ( !fTest )
cout << " output file name: " << GetOutputFileName() << "\n";
cout << " HE model: " << fHEModel;
switch(fHEModel) {
case 0: cout << " (EPOS LHC) \n"; break;
case 0: cout << " (EPOS-LHC) \n"; break;
case 1: cout << " (EPOS 1.99) \n"; break;
case 2: cout << " (QGSJET01) \n"; break;
case 3: cout << " (Gheisha)\n "; break;
......@@ -228,7 +231,8 @@ CRMCoptions::DumpConfig() const
case 7: cout << " (QGSJETII-04) \n"; break;
case 8: cout << " (Phojet) \n"; break;
case 11: cout << " (QGSJETII-03) \n"; break;
default:
case 12: cout << " (DPMJet 3.0-6) \n"; break;
default:
cout << " (unknown model) \n";
exit(1);
}
......@@ -238,7 +242,7 @@ CRMCoptions::DumpConfig() const
cout.setf(ios::showpoint);
cout.setf(ios::fixed);
cout.precision(3);
}
......@@ -310,8 +314,9 @@ CRMCoptions::GetOutputFileName() const
case 5: rootFileName << "hijing"; break;
case 6: rootFileName << "sibyll"; break;
case 7: rootFileName << "qgsjetII04"; break;
case 11:rootFileName << "qgsjetII03"; break;
case 8: rootFileName << "phojet"; break;
case 11:rootFileName << "qgsjetII03"; break;
case 12: rootFileName << "dpmjet"; break;
default:
cout << " rootOut: error - unknown model " << fHEModel << endl;
cout << " exit ..." << endl;
......
......@@ -264,7 +264,10 @@ OutputPolicyHepMC::PrintTestEvent(const CRMCoptions& cfg)
<< " Elastic Cross Section (mb): " << gCRMC_data.sigela << "\n"
<< " Inel. Cross Section (mb) : " << gCRMC_data.sigine << "\n" ;
if(cfg.fProjectileId>1 || cfg.fTargetId>1)
cout << " Inel. AA Cross Section (mb): " << gCRMC_data.sigineaa << "\n" ;
cout << " Inel. AA Cross Section (mb): " << gCRMC_data.sigineaa << "\n"
<< " Elastic AA Cross Section (mb): " << gCRMC_data.sigelaaa << "\n"
<< " Total AA Cross Section (mb): " << gCRMC_data.sigtotaa << "\n" ;
cout << endl;
cout << " Energy (GeV): " << TotalEnergy
<< " +/- " << ErrorTotalEnergy << "\n"
......
......@@ -73,7 +73,7 @@ c ycm2det defines this rapidity
endif
c Update some parameters value to run correctly
call IniEpos(iEvent,iSeed,ipart,itarg,iecms,imodel)
c The parameters can be changed optionnaly by reading a file
c (example.param) using the following subroutine call
call EposInput(param) !(it can be commented)
......@@ -84,7 +84,7 @@ c exactly the same way (coded parameters are overwritten). Don't forget
c the command : "EndEposInput" at the end of example.param, otherwise it
c will not run.
end
subroutine crmc_init_f()
***************************************************************
*
......@@ -103,7 +103,7 @@ c Here the cross section sigineaa is defined
c LHE type output done by EPOS
if(iout.eq.1)call EposOutput(output)
end
......@@ -207,7 +207,7 @@ c-----------------------------------------------------------------------
double precision iecms
integer iSeed,ipart,itarg,iModel,iadd,idtrafo,iEvent
character*4 lhct
iframe=11 !11 puts it always in nucleon nucleon reference
!frame. This is ok because we use ecms
!which is calculated in crmc_f.
......@@ -215,7 +215,7 @@ c-----------------------------------------------------------------------
model=max(1,iModel) ! epos = 0,1 / qgsjet01 = 2 / gheisha = 3
! / pythia = 4 / hijing = 5 / sibyll 2.1
! = 6 / qgsjetII.04 = 7 / phojet = 8
! qgsjetII.03 = 11
! dpmjet = 9 / qgsjetII.03 = 11
if(iModel.eq.0)then
call LHCparameters !LHC tune for EPOS
isigma=1 !use analytic cross section for nuclear xs
......@@ -430,7 +430,7 @@ c some code taken from example from Torbjrn Sjstrand
c in http://www.thep.lu.se/~torbjorn/lhef
c-----------------------------------------------------------------------
include 'epos.inc'
integer id
real taugm
C...User process event common block.
......@@ -453,9 +453,9 @@ C...set event info and get number of particles.
AQEDUP=-1d0 !alpha QED (not relevant)
AQCDUP=-1d0 !alpha QCD (not relevant)
C...Copy event lines, omitting trailing blanks.
C...Copy event lines, omitting trailing blanks.
C...Embed in <event> ... </event> block.
write(ifdt,'(A)') '<event>'
write(ifdt,'(A)') '<event>'
write(ifdt,*)NUP,IDPRUP,XWGTUP,SCALUP,AQEDUP,AQCDUP
DO 220 i=1,nhep
......@@ -487,12 +487,12 @@ c store particle variables:
c optional informations
write(ifdt,*)'#geometry',bimevt,phievt
write(ifdt,'(A)') '</event>'
write(ifdt,'(A)') '</event>'
if(n.eq.nevent)then
C...Successfully reached end of event loop: write closing tag
write(ifdt,'(A)') '</LesHouchesEvents>'
write(ifdt,'(A)') ' '
write(ifdt,'(A)') '</LesHouchesEvents>'
write(ifdt,'(A)') ' '
close(ifdt)
endif
......
......@@ -31,6 +31,7 @@ nodecay -19 !uncomment not to decay antialpha
MinDecayLength 1. !minimum c.Tau to define stable particles (cm)
fdpmjet dat @CRMCROOT@/tabs/dpmjet.dat
fqgsjet dat @CRMCROOT@/tabs/qgsjet.dat
fqgsjet ncs @CRMCROOT@/tabs/qgsjet.ncs
fqgsjetII03 dat @CRMCROOT@/tabs/qgsdat-II-03.lzma
......
......@@ -11,7 +11,9 @@ c-----------------------------------------------------------------------
common/record/maxrec(2),irecty(30,2)
common/cfacmss/facmss /cr3pomi/r3pomi,r4pomi/cifset/ifset
common /ems12/iodiba,bidiba ! defaut iodiba=0. if iodiba=1, study H-Dibaryon
character*500 fndat,fnncs,fnIIdat,fnIIncs,fnII03dat,fnII03ncs !qgs-II????????
character*500 fndat,fnncs,fnIIdat,fnIIncs,fnII03dat,fnII03ncs,
&fndpmjet !qgs-II????????
common/dpmjetfname/ fndpmjet
common/qgsfname/ fndat, fnncs, ifdat, ifncs
common/qgsIIfname/fnIIdat, fnIIncs, ifIIdat, ifIIncs !qgs-II????????
common/qgsII03fname/fnII03dat, fnII03ncs, ifII03dat, ifII03ncs !qgs-II????????
......@@ -1957,6 +1959,7 @@ C...User process initialization commonblock.
if(model.eq.7.or.model.eq.11)code='QGSJETII'
if(model.eq.8)code='PHOJET '
if(model.eq.9)code='FLUKA '
if(model.eq.12)code='DPMJET '
write(version,'(f5.2,3x)')iversn/100.
if(iframe.eq. 1)frame='ttcm'
......@@ -2716,6 +2719,7 @@ c boost in lab frame
if(model.eq.8)call alistf('PHOJET&')
if(model.eq.9)call alistf('FLUKA&')
if(model.eq.10)call alistf('URQMD&')
if(model.eq.12)call alistf('DPMJET&')
endif
c if(isto.eq.1)stop
......@@ -2896,6 +2900,7 @@ c update file names
if(model.eq.8)iversn=112 !'PHOJET '
if(model.eq.9)iversn=201125 !'FLUKA '
if(model.eq.11)iversn=300 !'QGSJETII-03'
if(model.eq.8)iversn=306 !'DPMJET '
if(model.ne.1)iverso=iversn
call IniModel(model)
endif
......@@ -3317,7 +3322,9 @@ c---------------------------------------------------------------------
common/record/maxrec(2),irecty(30,2)
common/cfacmss/facmss /cr3pomi/r3pomi,r4pomi
common /ems12/iodiba,bidiba ! defaut iodiba=0. if iodiba=1, study H-Dibaryon
character*500 fndat,fnncs,fnIIdat,fnIIncs,fnII03dat,fnII03ncs !qgs-II
character*500 fndat,fnncs,fnIIdat,fnIIncs,fnII03dat,fnII03ncs,
&fndpmjet
common/dpmjetfname/ fndpmjet
common/qgsfname/ fndat, fnncs, ifdat, ifncs
common/qgsIIfname/fnIIdat, fnIIncs, ifIIdat, ifIIncs !qgs-II
common/qgsII03fname/fnII03dat, fnII03ncs, ifII03dat, ifII03ncs !qgs-II03
......@@ -3569,6 +3576,21 @@ c if(line(i:j).eq.'xEmsPx')call xEmsPxNo(2,0.,0.,0,0)
if(line(i:j).ne.'on'.and.line(i:j).ne.'off')stop'invalid option'
if(nopen.eq.-1)iecho=0
elseif(line(i:j).eq.'fdpmjet')then !DPMJET
call utworn(line,j,ne)
if(ne.eq.0.and.iprmpt.gt.0)write(ifmt,'(a)')'file-type file-name?'
call utword(line,i,j,0)
linex=line
ix=i
jx=j
call utworn(line,j,ne)
if(ne.eq.0.and.iprmpt.gt.0)write(ifmt,'(a)')'file-name?'
call utword(line,i,j,0)
if(linex(ix:jx).eq.'dat')fndpmjet(1:j-i+1)=line(i:j)
if(linex(ix:jx).eq.'dat')nfndat=j-i+1 !length of dpmjet.dat path
if(nfndat.gt.1)ifdat=1
elseif(line(i:j).eq.'fqgsjet')then !QGSJet
call utworn(line,j,ne)
......@@ -3605,7 +3627,7 @@ c if(line(i:j).eq.'xEmsPx')call xEmsPxNo(2,0.,0.,0,0)
if(nfnII03dat.gt.1)ifII03dat=1
if(nfnII03ncs.gt.1)ifII03ncs=2
elseif(line(i:j).eq.'fqgsjetII')then !QGSJET-II-03
elseif(line(i:j).eq.'fqgsjetII')then !QGSJET-II-04
call utworn(line,j,ne)
if(ne.eq.0.and.iprmpt.gt.0)write(ifmt,'(a)')'file-type file-name?'
......
......@@ -56,6 +56,12 @@
#endif
model=9
endif
if(cmodel(1:n).eq.'dpmjet' )then
#ifndef __DPMJET__
stop'please compile with requested model'
#endif
model=12
endif
end
subroutine IniModel(model)
......@@ -95,7 +101,7 @@
#endif
endif
if(model.eq.7) then
#ifndef __QGSJETII04__
#ifndef __QGSJETII04__
stop'please compile with requested model.'
#else
call IniQGSJetII
......@@ -121,7 +127,14 @@
#else
call IniFluka
#endif
endif
endif
if(model.eq.12) then
#ifndef __DPMJET__
stop'please compile with requested model'
#else
call IniDPMJET
#endif
endif
end
subroutine IniEvtModel
......@@ -264,6 +277,13 @@
stop'please compile with requested model'
#else
call emsflu(iret)
#endif
endif
if(model.eq.12) then
#ifndef __DPMJET__
stop'please compile with requested model'
#else
call emsdpmjet(iret)
#endif
endif
end
......@@ -294,7 +314,7 @@
subroutine crseaaModel0(sigt,sigi,sigc,sige)
include 'epos.inc'
double precision GTOT,GPROD,GABS,GDD,GQEL,GCOH
double precision e0
dimension dumdif(3)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment