Commit b9314d8e authored by Oldrich Kepka's avatar Oldrich Kepka Committed by Ewelina Maria Lobodzinska
Browse files

Improve SuperChic interface

parent 7166df2d
......@@ -15,7 +15,7 @@ find_package( Superchic )
# Install files from the package:
atlas_install_python_modules( python/*.py )
atlas_install_joboptions( share/*.py )
atlas_install_joboptions( share/*.py share/common/*.py )
atlas_add_component( Superchic_i
src/components/*.cxx
......
from AthenaCommon import Logging
logger = Logging.logging.getLogger("Superchic_i")
## Shower config for Pythia8 with Superchic for elastic production
from Pythia8_i.Pythia8_iConf import Pythia8_i
genSeq += Pythia8_i("Pythia8")
evgenConfig.generators += ["Pythia8"]
## Control storing LHE in the HepMC record
if "StoreLHE" in genSeq.Pythia8.__slots__.keys():
print "Pythia8_Base_Fragment.py: DISABLING storage of LHE record in HepMC by default. Please re-enable storage if desired"
genSeq.Pythia8.StoreLHE = False
genSeq.Pythia8.LHEFile = genSeq.SuperChicConfig.outputLHEFile()
genSeq.Pythia8.CollisionEnergy = int(runArgs.ecmEnergy)
testSeq.TestHepMC.MaxTransVtxDisp = 1000000
testSeq.TestHepMC.MaxVtxDisp = 1000000000
include('Superchic_i/Pythia8_Base_Common.py')
if genSeq.SuperChicConfig.diff != 'dd':
raise Exception("DD Pythia8 shower configuration can only be used with diff='dd'")
genSeq.Pythia8.Commands += [
"PartonLevel:MPI = off",
"SpaceShower:dipoleRecoil = on",
"SpaceShower:pTmaxMatch = 2",
"SpaceShower:QEDshowerByQ = on",
"BeamRemnants:primordialKT = off",
"BeamRemnants:unresolvedHadron = 0",
"SpaceShower:pTdampMatch=1"
]
include('Superchic_i/Pythia8_Base_Common.py')
if genSeq.SuperChicConfig.diff != 'el':
raise Exception("EL Pythia8 showr configuration can only be used with diff='el'")
genSeq.Pythia8.Commands += [
"PartonLevel:MPI = off",
"SpaceShower:pTmaxMatch = 2",
"BeamRemnants:primordialKT = off",
"BeamRemnants:unresolvedHadron = 3",
"SpaceShower:pTdampMatch=1",
"PartonLevel:ISR = off",
"LesHouches:matchInOut = off"
]
include('Superchic_i/Pythia8_Base_Common.py')
if not (genSeq.SuperChicConfig.diff == 'sda' or genSeq.SuperChicConfig.diff == 'sdb'):
raise Exception("SD Pythia8 shower configuration can only be used with diff='sda' or 'sdb'")
unresolvedHadron = -1
if genSeq.SuperChicConfig.diff=='sda':
unresolvedHadron = 2
elif genSeq.SuperChicConfig.diff=='sdb':
unresolvedHadron = 1
genSeq.Pythia8.Commands += [
"PartonLevel:MPI = off",
"SpaceShower:dipoleRecoil = on",
"SpaceShower:pTmaxMatch = 2",
"BeamRemnants:primordialKT = off",
"SpaceShower:QEDshowerByQ = off",
"BeamRemnants:unresolvedHadron = {}".format(unresolvedHadron),
"SpaceShower:pTdampMatch=1"
]
evgenConfig.description = "SuperChic4 MC gamma + gamma pp collisions at 13000 GeV to 2 muons with dissociation on both side"
evgenConfig.description = "SuperChic4 MC gamma + gamma pp collisions at 13000 GeV to 2 muons with dissociation on single side"
evgenConfig.keywords = ["2photon","2muon","dissociation"]
#evgenConfig.weighting = 0
evgenConfig.contact = ["william.patrick.mccormack.iii@cern.ch"]
evgenConfig.contact = ["william.patrick.mccormack.iii@cern.ch", "oldrich.kepka@cern.ch"]
if not os.path.exists('inputs'):
os.makedirs('inputs')
if not os.path.exists('evrecs'):
os.makedirs('evrecs')
if not os.path.exists('outputs'):
os.makedirs('outputs')
from Superchic_i.SuperChicUtils import *
from Superchic_i.SuperChicUtils import SuperChicConfig, SuperChicRun
#class with the superchic initialization parameters. Please see SuperChicUtils for a complete list of tunable parameters.
Init = SuperChicConfig()
hasECM = hasattr(runArgs,"ecmEnergy")
if hasECM:
ecm = int(runArgs.ecmEnergy)
Init.rts = str(ecm)+"d0" # set the COM collision energy (in fortran syntax)
Init.isurv = "4" # Model of soft survival (from 1 -> 4, corresponding to arXiv:1306.2149)
Init.intag = "'in5'" # for input files
Init.PDFname = "'MMHT2014lo68cl'" # PDF set name
Init.PDFmember = "0" # PDF member
Init.proc = "57" # Process number (59 = gg->gg, 56 = gg->ee, 68 = gg->a->gg ); Please consult Superchic Manual https://superchic.hepforge.org/
Init.beam = "'prot'" # Beam type ('prot', 'ion')
Init.outtg = "'out'" # for output file name
Init.sfaci = ".true." # Include soft survival effects
Init.diff = "'dd'" # interaction: elastic ('el'), single ('sd','sda','sdb') and double ('dd') dissociation.
hasSeed = hasattr(runArgs,"randomSeed")
if hasSeed:
Init.iseed = str(int(runArgs.randomSeed))
Init.genunw = ".true."
hasNev = hasattr(runArgs,"maxEvents")
if hasNev:
Init.nev = str(runArgs.maxEvents)
Init.ymin = "-5.0d0" # Minimum object rapidity Y_X
Init.ymax = "5.0d0" # Maximum object rapidity Y_X
Init.mmin = "20d0" # Minimum object mass M_X
Init.mmax = "2000d0" # Maximum object mass M_X
Init.gencuts = ".true." # Generate cuts below
Init.ptxmax = "100d0" #cut on proton pt
Init.ptamin = "10.0d0" # Minimum pT of outgoing object a
Init.ptbmin = "10.0d0" # Minimum pT of outgoing object b
Init.etaamin = "-2.5d0" # Minimum eta of outgoing object a
Init.etaamax = "2.5d0" # Maximum eta of outgoing object a
Init.etabmin = "-2.5d0" # Minimum eta of outgoing object b
Init.etabmax = "2.5d0" # Maximum eta of outgoing object b
Init.acoabmax = "100d0"
SuperChicRun(Init)
## Base config for Pythia8
from Pythia8_i.Pythia8_iConf import Pythia8_i
genSeq += Pythia8_i("Pythia8")
evgenConfig.generators += ["Pythia8"]
## Control storing LHE in the HepMC record
if "StoreLHE" in genSeq.Pythia8.__slots__.keys():
print "Pythia8_Base_Fragment.py: DISABLING storage of LHE record in HepMC by default. Please re-enable storage if desired"
genSeq.Pythia8.StoreLHE = False
genSeq.Pythia8.Commands += [
"PartonLevel:MPI = off",
"SpaceShower:dipoleRecoil = on",
"SpaceShower:pTmaxMatch = 2",
"BeamRemnants:primordialKT = off",
"BeamRemnants:unresolvedHadron = 0",
"SpaceShower:pTdampMatch=1"
]
assert hasattr(genSeq, "Pythia8")
fileName = "evrecs/evrec"+Init.outtg[1:-1]+".dat"
genSeq.Pythia8.LHEFile = fileName
genSeq.Pythia8.CollisionEnergy = int(runArgs.ecmEnergy)
testSeq.TestHepMC.MaxTransVtxDisp = 1000000
testSeq.TestHepMC.MaxVtxDisp = 1000000000
scConfig = SuperChicConfig(runArgs)
scConfig.isurv = 4 # Model of soft survival (from 1 -> 4, corresponding to arXiv:1306.2149)
scConfig.PDFname = 'MMHT2014lo68cl' # PDF set name
scConfig.PDFmember = 0 # PDF member
scConfig.proc = 57 # Process number (59 = gg->gg, 56 = gg->ee, 68 = gg->a->gg ); Please consult Superchic Manual https://superchic.hepforge.org/
scConfig.beam = 'prot' # Beam type ('prot', 'ion')
scConfig.sfaci = True # Include soft survival effects
scConfig.diff = 'dd' # interaction: elastic ('el'), single ('sd','sda','sdb') and double ('dd') dissociation.
scConfig.genunw = True
scConfig.ymin = -5.0 # Minimum object rapidity Y_X
scConfig.ymax = 5.0 # Maximum object rapidity Y_X
scConfig.mmin = 20 # Minimum object mass M_X
scConfig.mmax = 2000 # Maximum object mass M_X
scConfig.gencuts = True # Generate cuts below
scConfig.ptxmax = 100 #cut on proton pt
scConfig.ptamin = 10.0 # Minimum pT of outgoing object a
scConfig.ptbmin = 10. # Minimum pT of outgoing object b
scConfig.etaamin = -2.5 # Minimum eta of outgoing object a
scConfig.etaamax = 2.5 # Maximum eta of outgoing object a
scConfig.etabmin = -2.5 # Minimum eta of outgoing object b
scConfig.etabmax = 2.5 # Maximum eta of outgoing object b
scConfig.acoabmax = 100
SuperChicRun(scConfig, genSeq)
include('Superchic_i/Pythia8_DD_Common.py')
evgenConfig.description = "SuperChic4 MC gamma + gamma pp collisions at 13000 GeV to 2 muons with dissociation on both side"
evgenConfig.keywords = ["2photon","2muon","dissociation"]
#evgenConfig.weighting = 0
evgenConfig.contact = ["william.patrick.mccormack.iii@cern.ch"]
evgenConfig.contact = ["william.patrick.mccormack.iii@cern.ch", "oldrich.kepka@cern.ch"]
if not os.path.exists('inputs'):
os.makedirs('inputs')
if not os.path.exists('evrecs'):
os.makedirs('evrecs')
if not os.path.exists('outputs'):
os.makedirs('outputs')
from Superchic_i.SuperChicUtils import *
from Superchic_i.SuperChicUtils import SuperChicConfig, SuperChicRun
#class with the superchic initialization parameters. Please see SuperChicUtils for a complete list of tunable parameters.
Init = SuperChicConfig()
hasECM = hasattr(runArgs,"ecmEnergy")
if hasECM:
ecm = int(runArgs.ecmEnergy)
Init.rts = str(ecm)+"d0" # set the COM collision energy (in fortran syntax)
Init.isurv = "4" # Model of soft survival (from 1 -> 4, corresponding to arXiv:1306.2149)
Init.intag = "'in5'" # for input files
Init.PDFname = "'MMHT2014lo68cl'" # PDF set name
Init.PDFmember = "0" # PDF member
Init.proc = "57" # Process number (59 = gg->gg, 56 = gg->ee, 68 = gg->a->gg ); Please consult Superchic Manual https://superchic.hepforge.org/
Init.beam = "'prot'" # Beam type ('prot', 'ion')
Init.outtg = "'out'" # for output file name
Init.sfaci = ".true." # Include soft survival effects
Init.diff = "'el'" # interaction: elastic ('el'), single ('sd','sda','sdb') and double ('dd') dissociation.
hasSeed = hasattr(runArgs,"randomSeed")
if hasSeed:
Init.iseed = str(int(runArgs.randomSeed))
Init.genunw = ".true."
hasNev = hasattr(runArgs,"maxEvents")
if hasNev:
Init.nev = str(runArgs.maxEvents)
Init.ymin = "-5.0d0" # Minimum object rapidity Y_X
Init.ymax = "5.0d0" # Maximum object rapidity Y_X
Init.mmin = "20d0" # Minimum object mass M_X
Init.mmax = "2000d0" # Maximum object mass M_X
Init.gencuts = ".true." # Generate cuts below
Init.ptxmax = "100d0" #cut on proton pt
Init.ptamin = "10.0d0" # Minimum pT of outgoing object a
Init.ptbmin = "10.0d0" # Minimum pT of outgoing object b
Init.etaamin = "-2.5d0" # Minimum eta of outgoing object a
Init.etaamax = "2.5d0" # Maximum eta of outgoing object a
Init.etabmin = "-2.5d0" # Minimum eta of outgoing object b
Init.etabmax = "2.5d0" # Maximum eta of outgoing object b
Init.acoabmax = "100d0"
SuperChicRun(Init)
## Base config for Pythia8
from Pythia8_i.Pythia8_iConf import Pythia8_i
genSeq += Pythia8_i("Pythia8")
evgenConfig.generators += ["Pythia8"]
## Control storing LHE in the HepMC record
if "StoreLHE" in genSeq.Pythia8.__slots__.keys():
print "Pythia8_Base_Fragment.py: DISABLING storage of LHE record in HepMC by default. Please re-enable storage if desired"
genSeq.Pythia8.StoreLHE = False
genSeq.Pythia8.Commands += [
"PartonLevel:MPI = off",
"SpaceShower:pTmaxMatch = 2",
"BeamRemnants:primordialKT = off",
"BeamRemnants:unresolvedHadron = 3",
"SpaceShower:pTdampMatch=1",
"PartonLevel:ISR = off",
"LesHouches:matchInOut = off"
]
assert hasattr(genSeq, "Pythia8")
fileName = "evrecs/evrec"+Init.outtg[1:-1]+".dat"
genSeq.Pythia8.LHEFile = fileName
genSeq.Pythia8.CollisionEnergy = int(runArgs.ecmEnergy)
testSeq.TestHepMC.MaxTransVtxDisp = 1000000
testSeq.TestHepMC.MaxVtxDisp = 1000000000
scConfig = SuperChicConfig(runArgs)
scConfig.isurv = 4 # Model of soft survival (from 1 -> 4, corresponding to arXiv:1306.2149)
scConfig.PDFname = 'MMHT2014lo68cl' # PDF set name
scConfig.PDFmember = 0 # PDF member
scConfig.proc = 57 # Process number (59 = gg->gg, 56 = gg->ee, 68 = gg->a->gg ); Please consult Superchic Manual https://superchic.hepforge.org/
scConfig.beam = 'prot' # Beam type ('prot', 'ion')
scConfig.sfaci = True # Include soft survival effects
scConfig.diff = 'el' # interaction: elastic ('el'), single ('sd','sda','sdb') and double ('dd') dissociation.
scConfig.genunw = True
scConfig.ymin = -5.0 # Minimum object rapidity Y_X
scConfig.ymax = 5.0 # Maximum object rapidity Y_X
scConfig.mmin = 20 # Minimum object mass M_X
scConfig.mmax = 2000 # Maximum object mass M_X
scConfig.gencuts = True # Generate cuts below
scConfig.ptxmax = 100 #cut on proton pt
scConfig.ptamin = 10.0 # Minimum pT of outgoing object a
scConfig.ptbmin = 10. # Minimum pT of outgoing object b
scConfig.etaamin = -2.5 # Minimum eta of outgoing object a
scConfig.etaamax = 2.5 # Maximum eta of outgoing object a
scConfig.etabmin = -2.5 # Minimum eta of outgoing object b
scConfig.etabmax = 2.5 # Maximum eta of outgoing object b
scConfig.acoabmax = 100
SuperChicRun(scConfig, genSeq)
include('Superchic_i/Pythia8_EL_Common.py')
evgenConfig.description = "SuperChic4 MC gamma + gamma pp collisions at 13000 GeV to 2 muons with dissociation on both side"
evgenConfig.description = "SuperChic4 MC gamma + gamma pp collisions at 13000 GeV to 2 muons with dissociation on single side"
evgenConfig.keywords = ["2photon","2muon","dissociation"]
#evgenConfig.weighting = 0
evgenConfig.contact = ["william.patrick.mccormack.iii@cern.ch"]
evgenConfig.contact = ["william.patrick.mccormack.iii@cern.ch", "oldrich.kepka@cern.ch"]
if not os.path.exists('inputs'):
os.makedirs('inputs')
if not os.path.exists('evrecs'):
os.makedirs('evrecs')
if not os.path.exists('outputs'):
os.makedirs('outputs')
from Superchic_i.SuperChicUtils import *
from Superchic_i.SuperChicUtils import SuperChicConfig, SuperChicRun
#class with the superchic initialization parameters. Please see SuperChicUtils for a complete list of tunable parameters.
Init = SuperChicConfig()
hasECM = hasattr(runArgs,"ecmEnergy")
if hasECM:
ecm = int(runArgs.ecmEnergy)
Init.rts = str(ecm)+"d0" # set the COM collision energy (in fortran syntax)
Init.isurv = "4" # Model of soft survival (from 1 -> 4, corresponding to arXiv:1306.2149)
Init.intag = "'in5'" # for input files
Init.PDFname = "'MMHT2014lo68cl'" # PDF set name
Init.PDFmember = "0" # PDF member
Init.proc = "57" # Process number (59 = gg->gg, 56 = gg->ee, 68 = gg->a->gg ); Please consult Superchic Manual https://superchic.hepforge.org/
Init.beam = "'prot'" # Beam type ('prot', 'ion')
Init.outtg = "'out'" # for output file name
Init.sfaci = ".true." # Include soft survival effects
Init.diff = "'sda'" # interaction: elastic ('el'), single ('sd','sda','sdb') and double ('dd') dissociation.
hasSeed = hasattr(runArgs,"randomSeed")
if hasSeed:
Init.iseed = str(int(runArgs.randomSeed))
Init.genunw = ".true."
hasNev = hasattr(runArgs,"maxEvents")
if hasNev:
Init.nev = str(runArgs.maxEvents)
Init.ymin = "-5.0d0" # Minimum object rapidity Y_X
Init.ymax = "5.0d0" # Maximum object rapidity Y_X
Init.mmin = "20d0" # Minimum object mass M_X
Init.mmax = "2000d0" # Maximum object mass M_X
Init.gencuts = ".true." # Generate cuts below
Init.ptxmax = "100d0" #cut on proton pt
Init.ptamin = "10.0d0" # Minimum pT of outgoing object a
Init.ptbmin = "10.0d0" # Minimum pT of outgoing object b
Init.etaamin = "-2.5d0" # Minimum eta of outgoing object a
Init.etaamax = "2.5d0" # Maximum eta of outgoing object a
Init.etabmin = "-2.5d0" # Minimum eta of outgoing object b
Init.etabmax = "2.5d0" # Maximum eta of outgoing object b
Init.acoabmax = "100d0"
SuperChicRun(Init)
## Base config for Pythia8
from Pythia8_i.Pythia8_iConf import Pythia8_i
genSeq += Pythia8_i("Pythia8")
evgenConfig.generators += ["Pythia8"]
## Control storing LHE in the HepMC record
if "StoreLHE" in genSeq.Pythia8.__slots__.keys():
print "Pythia8_Base_Fragment.py: DISABLING storage of LHE record in HepMC by default. Please re-enable storage if desired"
genSeq.Pythia8.StoreLHE = False
genSeq.Pythia8.Commands += [
"PartonLevel:MPI = off",
"SpaceShower:dipoleRecoil = on",
"SpaceShower:pTmaxMatch = 2",
"BeamRemnants:primordialKT = off",
"SpaceShower:QEDshowerByQ = off",
"BeamRemnants:unresolvedHadron = 2",
"SpaceShower:pTdampMatch=1"
]
assert hasattr(genSeq, "Pythia8")
fileName = "evrecs/evrec"+Init.outtg[1:-1]+".dat"
genSeq.Pythia8.LHEFile = fileName
genSeq.Pythia8.CollisionEnergy = int(runArgs.ecmEnergy)
testSeq.TestHepMC.MaxTransVtxDisp = 1000000
testSeq.TestHepMC.MaxVtxDisp = 1000000000
scConfig = SuperChicConfig(runArgs)
scConfig.isurv = 4 # Model of soft survival (from 1 -> 4, corresponding to arXiv:1306.2149)
scConfig.PDFname = 'MMHT2014lo68cl' # PDF set name
scConfig.PDFmember = 0 # PDF member
scConfig.proc = 57 # Process number (59 = gg->gg, 56 = gg->ee, 68 = gg->a->gg ); Please consult Superchic Manual https://superchic.hepforge.org/
scConfig.beam = 'prot' # Beam type ('prot', 'ion')
scConfig.sfaci = True # Include soft survival effects
scConfig.diff = 'sda' # interaction: elastic ('el'), single ('sd','sda','sdb') and double ('dd') dissociation.
scConfig.genunw = True
scConfig.ymin = -5.0 # Minimum object rapidity Y_X
scConfig.ymax = 5.0 # Maximum object rapidity Y_X
scConfig.mmin = 20 # Minimum object mass M_X
scConfig.mmax = 2000 # Maximum object mass M_X
scConfig.gencuts = True # Generate cuts below
scConfig.ptxmax = 100 #cut on proton pt
scConfig.ptamin = 10.0 # Minimum pT of outgoing object a
scConfig.ptbmin = 10. # Minimum pT of outgoing object b
scConfig.etaamin = -2.5 # Minimum eta of outgoing object a
scConfig.etaamax = 2.5 # Maximum eta of outgoing object a
scConfig.etabmin = -2.5 # Minimum eta of outgoing object b
scConfig.etabmax = 2.5 # Maximum eta of outgoing object b
scConfig.acoabmax = 100
SuperChicRun(scConfig, genSeq)
include('Superchic_i/Pythia8_SD_Common.py')
evgenConfig.description = "SuperChic4 MC gamma + gamma pp collisions at 13000 GeV to 2 muons with dissociation on both side"
evgenConfig.description = "SuperChic4 MC gamma + gamma pp collisions at 13000 GeV to 2 muons with dissociation on single side"
evgenConfig.keywords = ["2photon","2muon","dissociation"]
#evgenConfig.weighting = 0
evgenConfig.contact = ["william.patrick.mccormack.iii@cern.ch"]
evgenConfig.contact = ["william.patrick.mccormack.iii@cern.ch", "oldrich.kepka@cern.ch"]
if not os.path.exists('inputs'):
os.makedirs('inputs')
if not os.path.exists('evrecs'):
os.makedirs('evrecs')
if not os.path.exists('outputs'):
os.makedirs('outputs')
from Superchic_i.SuperChicUtils import *
from Superchic_i.SuperChicUtils import SuperChicConfig, SuperChicRun
#class with the superchic initialization parameters. Please see SuperChicUtils for a complete list of tunable parameters.
Init = SuperChicConfig()
hasECM = hasattr(runArgs,"ecmEnergy")
if hasECM:
ecm = int(runArgs.ecmEnergy)
Init.rts = str(ecm)+"d0" # set the COM collision energy (in fortran syntax)
Init.isurv = "4" # Model of soft survival (from 1 -> 4, corresponding to arXiv:1306.2149)
Init.intag = "'in5'" # for input files
Init.PDFname = "'MMHT2014lo68cl'" # PDF set name
Init.PDFmember = "0" # PDF member
Init.proc = "57" # Process number (59 = gg->gg, 56 = gg->ee, 68 = gg->a->gg ); Please consult Superchic Manual https://superchic.hepforge.org/
Init.beam = "'prot'" # Beam type ('prot', 'ion')
Init.outtg = "'out'" # for output file name
Init.sfaci = ".true." # Include soft survival effects
Init.diff = "'sdb'" # interaction: elastic ('el'), single ('sd','sda','sdb') and double ('dd') dissociation.
hasSeed = hasattr(runArgs,"randomSeed")
if hasSeed:
Init.iseed = str(int(runArgs.randomSeed))
Init.genunw = ".true."
hasNev = hasattr(runArgs,"maxEvents")
if hasNev:
Init.nev = str(runArgs.maxEvents)
Init.ymin = "-5.0d0" # Minimum object rapidity Y_X
Init.ymax = "5.0d0" # Maximum object rapidity Y_X
Init.mmin = "20d0" # Minimum object mass M_X
Init.mmax = "2000d0" # Maximum object mass M_X
Init.gencuts = ".true." # Generate cuts below
Init.ptxmax = "100d0" #cut on proton pt
Init.ptamin = "10.0d0" # Minimum pT of outgoing object a
Init.ptbmin = "10.0d0" # Minimum pT of outgoing object b
Init.etaamin = "-2.5d0" # Minimum eta of outgoing object a
Init.etaamax = "2.5d0" # Maximum eta of outgoing object a
Init.etabmin = "-2.5d0" # Minimum eta of outgoing object b
Init.etabmax = "2.5d0" # Maximum eta of outgoing object b
Init.acoabmax = "100d0"
SuperChicRun(Init)
## Base config for Pythia8
from Pythia8_i.Pythia8_iConf import Pythia8_i
genSeq += Pythia8_i("Pythia8")
evgenConfig.generators += ["Pythia8"]
## Control storing LHE in the HepMC record
if "StoreLHE" in genSeq.Pythia8.__slots__.keys():
print "Pythia8_Base_Fragment.py: DISABLING storage of LHE record in HepMC by default. Please re-enable storage if desired"
genSeq.Pythia8.StoreLHE = False
genSeq.Pythia8.Commands += [
"PartonLevel:MPI = off",
"SpaceShower:dipoleRecoil = on",
"SpaceShower:pTmaxMatch = 2",
"BeamRemnants:primordialKT = off",
"SpaceShower:QEDshowerByQ = off",
"BeamRemnants:unresolvedHadron = 1",
"SpaceShower:pTdampMatch=1"
]
assert hasattr(genSeq, "Pythia8")
fileName = "evrecs/evrec"+Init.outtg[1:-1]+".dat"
genSeq.Pythia8.LHEFile = fileName
genSeq.Pythia8.CollisionEnergy = int(runArgs.ecmEnergy)
testSeq.TestHepMC.MaxTransVtxDisp = 1000000
testSeq.TestHepMC.MaxVtxDisp = 1000000000
scConfig = SuperChicConfig(runArgs)
scConfig.isurv = 4 # Model of soft survival (from 1 -> 4, corresponding to arXiv:1306.2149)
scConfig.PDFname = 'MMHT2014lo68cl' # PDF set name
scConfig.PDFmember = 0 # PDF member
scConfig.proc = 57 # Process number (59 = gg->gg, 56 = gg->ee, 68 = gg->a->gg ); Please consult Superchic Manual https://superchic.hepforge.org/
scConfig.beam = 'prot' # Beam type ('prot', 'ion')
scConfig.sfaci = True # Include soft survival effects
scConfig.diff = 'sdb' # interaction: elastic ('el'), single ('sd','sda','sdb') and double ('dd') dissociation.
scConfig.genunw = True
scConfig.ymin = -5.0 # Minimum object rapidity Y_X
scConfig.ymax = 5.0 # Maximum object rapidity Y_X
scConfig.mmin = 20 # Minimum object mass M_X
scConfig.mmax = 2000 # Maximum object mass M_X
scConfig.gencuts = True # Generate cuts below
scConfig.ptxmax = 100 #cut on proton pt
scConfig.ptamin = 10.0 # Minimum pT of outgoing object a
scConfig.ptbmin = 10. # Minimum pT of outgoing object b
scConfig.etaamin = -2.5 # Minimum eta of outgoing object a
scConfig.etaamax = 2.5 # Maximum eta of outgoing object a
scConfig.etabmin = -2.5 # Minimum eta of outgoing object b
scConfig.etabmax = 2.5 # Maximum eta of outgoing object b
scConfig.acoabmax = 100
SuperChicRun(scConfig, genSeq)
include('Superchic_i/Pythia8_SD_Common.py')
......@@ -2,64 +2,42 @@ evgenConfig.description = "SuperChic4 MC gamma + gamma pp collisions to gamma +
evgenConfig.keywords = ["2photon","2photon"]
#evgenConfig.weighting = 0
evgenConfig.contact = ["william.patrick.mccormack.iii@cern.ch"]
if not os.path.exists('inputs'):
os.makedirs('inputs')
if not os.path.exists('evrecs'):
os.makedirs('evrecs')
if not os.path.exists('outputs'):
os.makedirs('outputs')
evgenConfig.generators += ["Superchic"]
from Superchic_i.SuperChicUtils import *
from Superchic_i.SuperChicUtils import SuperChicConfig, SuperChicRun
#class with the superchic initialization parameters. Please see SuperChicUtils for a complete list of tunable parameters.
Init = SuperChicConfig()
hasECM = hasattr(runArgs,"ecmEnergy")
if hasECM:
ecm = int(runArgs.ecmEnergy)
Init.rts = str(ecm)+"d0" # set the COM collision energy (in fortran syntax)
Init.isurv = "4" # Model of soft survival (from 1 -> 4, corresponding to arXiv:1306.2149)
Init.intag = "'in5'" # for input files
Init.PDFname = "'MMHT2014lo68cl'" # PDF set name
Init.PDFmember = "0" # PDF member
Init.proc = "68" # Process number (59 = gg->gg, 56 = gg->ee, 68 = gg->a->gg ); Please consult Superchic Manual https://superchic.hepforge.org/
Init.beam = "'prot'" # Beam type ('prot', 'ion')
Init.outtg = "'out'" # for output file name
Init.sfaci = ".true." # Include soft survival effects
Init.diff = "'el'" # interaction: elastic ('el'), single ('sd','sda','sdb') and double ('dd') dissociation.
hasSeed = hasattr(runArgs,"randomSeed")
if hasSeed:
Init.iseed = str(int(runArgs.randomSeed))
Init.genunw = ".true."
hasNev = hasattr(runArgs,"maxEvents")