ATLAS Offline Software
Loading...
Searching...
No Matches
skel Namespace Reference

Functions

 OutputTXTFile ()
 ==============================================================
 _norm (s)
 _norm2 (s)
 _short2 (s)
 find_unique_file (pattern)
 Helper functions for input file handling.
 mk_symlink (srcfile, dstfile)
 _checkattr (attr, required=False)
 ==============================================================
 get_immediate_subdirectories (a_dir)
 ==============================================================
 checkBlockList (relFlavour, cache, generatorName)
 Add special config option (extended model info for BSM scenarios).
 checkPurpleList (relFlavour, cache, generatorName)
 merge_lhe_files (listOfFiles, outputFile)
 Check that there is exactly 1 match.

Variables

 xAODKey
 theApp = acam.theApp
 genSeq = acam.athMasterSeq.EvgenGenSeq
 prefiltSeq = acam.athMasterSeq.EvgenPreFilterSeq
 testSeq = acam.athMasterSeq.EvgenTestSeq
 filtSeq = acam.athMasterSeq.EvgenFilterSeq
 topSeq = acas.AlgSequence()
 anaSeq = topSeq
 postSeq = topSeq.EvgenPostSeq
 doFastMonMT
 AllowIgnoreConfigError
 Jobs should stop if an include fails.
 evgenLog = logging.getLogger('Generate_ab')
 CmEnergy
 Output
 FirstEvent
 EvtMax
 InputEventInfo
 OutputEventInfo
 mcEventWeightsKey
 CorrectHepMC
 CorrectEventID
 CorrectRunNumber
 runNum = int((runArgs.jobConfig[0])[-6:])
 MinMaxRunNumbers
 McEventKey
 VerboseOutput
 PrintStyle
 LastEvent
 Analyses
 AnalysisPath
 HistoFile
tuple FIRST_DIR = (os.environ['JOBOPTSEARCHPATH']).split(":")[0]
list jofiles = [f for f in os.listdir(FIRST_DIR) if (f.startswith('mc') and f.endswith('.py'))]
list jofile = jofiles[0]
tuple joparts = (os.path.basename(jofile)).split(".")
tuple jo_physshortpart = joparts[1]
 Check the length limit on the physicsShort portion of the filename.
int max_jo_physshort_length = 50
tuple jo_physshortparts = jo_physshortpart.split("_")
 There must be at least 2 physicsShort sub-parts separated by '_': gens, (tune)+PDF, and process.
str check_jofiles = "/cvmfs/atlas.cern.ch/repo/sw/Generators/MCJobOptions/scripts/check_jo_consistency.py"
 NOTE: a further check on physicsShort consistency is done below, after fragment loading.
 gennames = sorted(evgenConfig.generators, key=gen_sortkey)
 Include the JO fragment.
tuple genpart = jo_physshortparts[0]
 Check that the actual generators, tune, and main PDF are consistent with the JO name.
str expectedgenpart = ''.join(gennames)
 We want to record that HERWIG was used in metadata, but in the JO naming we just use a "Herwig" label.
int rounding = 0
 Check if the tune/PDF part is needed, and if so whether it's present.
int multiInput = runArgs.inputGeneratorFile.count(',')+1
list allowed_nEventsPerJob_lt1000 = [1, 2, 5, 10, 20, 25, 50, 100, 200, 500, 1000]
str msg = "evgenConfig.nEventsPerJob = %d: " % evgenConfig.nEventsPerJob
 RequestedOutput
 EffFailThreshold
 poolFile = runArgs.outputEVNTFile
 StreamEVGEN = AthenaPoolOutputStream("StreamEVGEN", poolFile, asAlg=True, noTag=True , eventInfoKey="EventInfo")
 InputCollections
 TakeItemsFromInput
 ForceRead
 dsid = os.path.basename(runArgs.jobConfig[0])
 Set the run numbers.
 RunNumber
 NewRunNumber
 runArgs
 streamInfoTool = CopyEventStreamInfo( "StreamEVGEN_CopyEventStreamInfo" )
 datFile = None
 Add special config option (extended model info for BSM scenarios).
 eventsFile = None
 Events files.
 auxfiles
 keepDir
 False
 errorIfNotFound
 required
list filterNames = [alg.getType() for alg in acas.iter_algseq(filtSeq)]
list excludedNames = ['AthSequencer', 'PyAthena::Alg', 'TestHepMC']
 runPars = RunArguments()
 nEventsPerJob
 maxeventsstrategy
 fixSeq = acam.athMasterSeq.EvgenFixSeq
 mcFilterHTKey
 rel = os.popen("echo $AtlasVersion").read()
 Announce start of JO checkingrelease nimber checking.
 EventsPerRun
 inputFilesPerJob
str lkwfile = "CategoryList.txt"
 Check that the L1 and L2 keywords pairs are in the list of allowed words pairs (and exit if processing an official JO).
 lkwpath = None
list allowed_cat = []
 Load the allowed categories names from the file.
 allowed_list = ast.literal_eval(line)
list bad_cat = []
 Check the JO categories against the allowed ones.
 it = iter(evgenConfig.categories)
 l1 = x
 l2 = next(it)
 OneDataHeaderForm
 gendict = generatorsGetInitialVersionedDictionary(gennames)
 gennamesvers = generatorsVersionedStringList(gendict)
 generatorsList = evgenConfig.generators.copy()
 Purge unstable particle w/o end vertex occasionally produced by Hijing or Herwig.
 PurgeUnstableWithoutEndVtx
 IgnoreSemiDisconnected
 Skip the semi-disconnected particles correction when running Sherpa with HEPMC_TREE_LIKE: 1.
 errorBL = checkBlockList("AthGeneration",rel,gennames)
 Announce start of JO checkingrelease number checking.
 errorPL = checkPurpleList("AthGeneration",rel,gennames)
 inputGeneratorFile = getattr(runArgs, "inputGeneratorFile", "")
tuple useCompressedLHE
bool inHeader = False
 Reading first event signals that we are done with all the header information Using this approach means the script will properly handle any metadata stored at the beginning of the file.
 holdHeader = header
 tmp = line.split("=")
 each input file ends with "</LesHouchesEvents>".
 line = line.replace(tmp[0],str(nevents))
 nnn = str(nevents)
 inputroot = os.path.basename(runArgs.inputGeneratorFile).split(".tar.")[0]
 realDatFile = find_unique_file('*%s*.dat' % inputroot)
 myinputfiles = runArgs.inputGeneratorFile
 genInputFiles = myinputfiles.split(',')
 numberOfFiles = len(genInputFiles)
 realEventsFile = find_unique_file('*%s.*ev*ts.gz' % inputroot)
list allFiles = []
 input0 = os.path.basename(file).split("._")[0]
tuple input1 = (os.path.basename(file).split("._")[1]).split(".")[0]
 first_line = f.readline()
int count_ev = 0
 filtName = alg.getType()
list exceptName = ['xAOD','Jet']
 AllowOldFilter
 dsid_param = runArgs.jobConfig[0]

Detailed Description

Functionality core of the Gen_tf transform
Functionality core of the Generate_tf transform

Function Documentation

◆ _checkattr()

_checkattr ( attr,
required = False )
protected

==============================================================

Write out metadata for reporting to AMI

Write out metadata for reporting to AMI

Write out metadata for reporting to AMI

Definition at line 505 of file skel.ABtoEVGEN.py.

505def _checkattr(attr, required=False):
506 if not hasattr(evgenConfig, attr) or not getattr(evgenConfig, attr):
507 msg = "evgenConfig attribute '%s' not found." % attr
508 if required:
509 raise RuntimeError("Required " + msg)
510 return False
511 return True
512

◆ _norm()

_norm ( s)
protected

Definition at line 265 of file skel.ABtoEVGEN.py.

265 def _norm(s):
266 # TODO: add EvtGen to this normalization for MC14?
267 return s.replace("Photospp", "").replace("Photos", "").replace("TauolaPP", "").replace("Tauolapp", "").replace("Tauola", "")
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition hcg.cxx:312

◆ _norm2()

_norm2 ( s)
protected

Definition at line 268 of file skel.ABtoEVGEN.py.

268 def _norm2(s):
269 return s.replace("Py", "Pythia").replace("MG","MadGraph").replace("Ph","Powheg").replace("Hpp","Herwigpp").replace("H7","Herwig7").replace("Sh","Sherpa").replace("Ag","Alpgen").replace("EG","EvtGen").replace("PG","ParticleGun")
270

◆ _short2()

_short2 ( s)
protected

Definition at line 271 of file skel.ABtoEVGEN.py.

271 def _short2(s):
272 return s.replace("Pythia","Py").replace("MadGraph","MG").replace("Powheg","Ph").replace("Herwigpp","Hpp").replace("Herwig7","H7").replace("Sherpa","Sh").replace("Alpgen","Ag").replace("EvtGen","EG").replace("PG","ParticleGun")
273

◆ checkBlockList()

checkBlockList ( relFlavour,
cache,
generatorName )

Add special config option (extended model info for BSM scenarios).

=============================================================

Remove TestHepMC if it's inappropriate for this generator combination TODO: replace with direct del statements in the generator common JO fragments?

=============================================================

Check release number

Function to check blocklist (from Spyros'es logParser.py)

Check release number

Function to check blocklist (from Spyros'es logParser.py)

Definition at line 548 of file skel.GENtoEVGEN.py.

548def checkBlockList(relFlavour,cache,generatorName) :
549 isError = None
550 with open('/cvmfs/atlas.cern.ch/repo/sw/Generators/MCJobOptions/common/BlackList_caches.txt') as bfile:
551 for line in bfile.readlines():
552 if not line.strip():
553 continue
554 # Blocklisted release flavours
555 badRelFlav=line.split(',')[0].strip()
556 # Blocklisted caches
557 badCache=line.split(',')[1].strip()
558 # Blocklisted generators
559 badGens=line.split(',')[2].strip()
560
561 used_gens = ','.join(generatorName)
562 #Match Generator and release type e.g. AtlasProduction, MCProd
563 if relFlavour==badRelFlav and cache==badCache and re.search(badGens,used_gens) is not None:
564 if badGens=="": badGens="all generators"
565 isError=relFlavour+","+cache+" is blocklisted for " + badGens
566 return isError
567 return isError
568

◆ checkPurpleList()

checkPurpleList ( relFlavour,
cache,
generatorName )

Definition at line 569 of file skel.GENtoEVGEN.py.

569def checkPurpleList(relFlavour,cache,generatorName) :
570 isError = None
571 with open('/cvmfs/atlas.cern.ch/repo/sw/Generators/MCJobOptions/common/PurpleList_generators.txt') as bfile:
572 for line in bfile.readlines():
573 if not line.strip():
574 continue
575 # Purple-listed release flavours
576 purpleRelFlav=line.split(',')[0].strip()
577 # Purple-listed caches
578 purpleCache=line.split(',')[1].strip()
579 # Purple-listed generators
580 purpleGens=line.split(',')[2].strip()
581 # Purple-listed process
582 purpleProcess=line.split(',')[3].strip()
583
584 used_gens = ','.join(generatorName)
585 #Match Generator and release type e.g. AtlasProduction, MCProd
586 if relFlavour==purpleRelFlav and cache==purpleCache and re.search(purpleGens,used_gens) is not None:
587 isError=relFlavour+","+cache+" is blocklisted for " + purpleGens + " if it uses " + purpleProcess
588 return isError
589 return isError
590

◆ find_unique_file()

find_unique_file ( pattern)

Helper functions for input file handling.

Definition at line 472 of file skel.ABtoEVGEN.py.

472def find_unique_file(pattern):
473 "Return a matching file, provided it is unique"
474 import glob
475 files = glob.glob(pattern)
476
477 if not files:
478 raise RuntimeError("No '%s' file found" % pattern)
479 elif len(files) > 1:
480 raise RuntimeError("More than one '%s' file found" % pattern)
481 return files[0]
482

◆ get_immediate_subdirectories()

get_immediate_subdirectories ( a_dir)

==============================================================

Pre- and main config parsing

Announce JO loading

Pre-include

Pre-exec

Pre- and main config parsing

Announce JO loading

Pre-include

Pre-exec

Definition at line 207 of file skel.GENtoEVGEN.py.

207def get_immediate_subdirectories(a_dir):
208 return [name for name in os.listdir(a_dir)
209 if os.path.isdir(os.path.join(a_dir, name))]
210
211# TODO: Explain!!!

◆ merge_lhe_files()

merge_lhe_files ( listOfFiles,
outputFile )

Check that there is exactly 1 match.

Definition at line 692 of file skel.GENtoEVGEN.py.

692def merge_lhe_files(listOfFiles,outputFile):
693 if(os.path.exists(outputFile)):
694 print ("outputFile ",outputFile," already exists. Will rename to ",outputFile,".OLD")
695 os.rename(outputFile,outputFile+".OLD")
696 output = open(outputFile,'w')
697 holdHeader = ""
698 nevents=0
699 for file in listOfFiles:
700 cmd = "grep /event "+file+" | wc -l"
701 nevents+=int(subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True))
702
703 for file in listOfFiles:
704 inHeader = True
705 header = ""
706 print ("*** Starting file ",file)
707 for line in open(file,"r"):
if(pathvar)

◆ mk_symlink()

mk_symlink ( srcfile,
dstfile )

Definition at line 483 of file skel.ABtoEVGEN.py.

483def mk_symlink(srcfile, dstfile):
484 "Make a symlink safely"
485 if dstfile:
486 if os.path.exists(dstfile) and not os.path.samefile(dstfile, srcfile):
487 os.remove(dstfile)
488 if not os.path.exists(dstfile):
489 evgenLog.info("Symlinking %s to %s" % (srcfile, dstfile))
490 os.symlink(srcfile, dstfile)
491 else:
492 evgenLog.debug("Symlinking: %s is already the same as %s" % (dstfile, srcfile))
493
494

◆ OutputTXTFile()

OutputTXTFile ( )

==============================================================

Pre- and main config parsing

Announce JO loading

Pre-include

Pre-exec

Definition at line 181 of file skel.ABtoEVGEN.py.

181def OutputTXTFile():
182 outputTXTFile = None
183 if hasattr(runArgs,"outputTXTFile"): outputTXTFile=runArgs.outputTXTFile
184 return outputTXTFile
185

Variable Documentation

◆ allFiles

list allFiles = []

Definition at line 797 of file skel.GENtoEVGEN.py.

◆ allowed_cat

list allowed_cat = []

Load the allowed categories names from the file.

Definition at line 398 of file skel.GENtoEVGEN.py.

◆ allowed_list

skel.allowed_list = ast.literal_eval(line)

Definition at line 402 of file skel.GENtoEVGEN.py.

◆ allowed_nEventsPerJob_lt1000

list allowed_nEventsPerJob_lt1000 = [1, 2, 5, 10, 20, 25, 50, 100, 200, 500, 1000]

Definition at line 312 of file skel.ABtoEVGEN.py.

◆ AllowIgnoreConfigError

skel.AllowIgnoreConfigError

Jobs should stop if an include fails.

Definition at line 55 of file skel.ABtoEVGEN.py.

◆ AllowOldFilter

skel.AllowOldFilter

Definition at line 916 of file skel.GENtoEVGEN.py.

◆ Analyses

skel.Analyses

Definition at line 156 of file skel.ABtoEVGEN.py.

◆ AnalysisPath

skel.AnalysisPath

Definition at line 157 of file skel.ABtoEVGEN.py.

◆ anaSeq

skel.anaSeq = topSeq

Definition at line 32 of file skel.ABtoEVGEN.py.

◆ auxfiles

skel.auxfiles

Definition at line 498 of file skel.ABtoEVGEN.py.

◆ bad_cat

list bad_cat = []

Check the JO categories against the allowed ones.

Definition at line 406 of file skel.GENtoEVGEN.py.

◆ check_jofiles

str check_jofiles = "/cvmfs/atlas.cern.ch/repo/sw/Generators/MCJobOptions/scripts/check_jo_consistency.py"

NOTE: a further check on physicsShort consistency is done below, after fragment loading.

Definition at line 220 of file skel.ABtoEVGEN.py.

◆ CmEnergy

skel.CmEnergy

Definition at line 108 of file skel.ABtoEVGEN.py.

◆ CorrectEventID

skel.CorrectEventID

Definition at line 129 of file skel.ABtoEVGEN.py.

◆ CorrectHepMC

skel.CorrectHepMC

Definition at line 128 of file skel.ABtoEVGEN.py.

◆ CorrectRunNumber

skel.CorrectRunNumber

Definition at line 130 of file skel.ABtoEVGEN.py.

◆ count_ev

int count_ev = 0

Definition at line 849 of file skel.GENtoEVGEN.py.

◆ datFile

str datFile = None

Add special config option (extended model info for BSM scenarios).

==============================================================

Remove TestHepMC if it's inappropriate for this generator combination TODO: replace with direct del statements in the generator common JO fragments?

==============================================================

Handling of a post-include/exec args at the end of standard configuration

==============================================================

Show the algorithm sequences and algs now that config is complete

==============================================================

Input file arg handling

Announce start of input file handling

Dat files

Handling of a post-include/exec args at the end of standard configuration

==============================================================

Show the algorithm sequences and algs now that config is complete

==============================================================

Input file arg handling

Announce start of input file handling

Dat files

Process random seed arg and pass to generators include("EvgenJobTransforms/Generate_randomseeds.py")

==============================================================

Handling of a post-include/exec args at the end of standard configuration

==============================================================

Show the algorithm sequences and algs now that config is complete

==============================================================

Input file arg handling

Announce start of input file handling

Dat files

Definition at line 454 of file skel.ABtoEVGEN.py.

◆ doFastMonMT

skel.doFastMonMT

Definition at line 48 of file skel.ABtoEVGEN.py.

◆ dsid

str dsid = os.path.basename(runArgs.jobConfig[0])

Set the run numbers.

Definition at line 375 of file skel.ABtoEVGEN.py.

◆ dsid_param

skel.dsid_param = runArgs.jobConfig[0]

Definition at line 151 of file skel.GENtoTXT.py.

◆ EffFailThreshold

skel.EffFailThreshold

Definition at line 331 of file skel.ABtoEVGEN.py.

◆ errorBL

skel.errorBL = checkBlockList("AthGeneration",rel,gennames)

Announce start of JO checkingrelease number checking.

Definition at line 594 of file skel.GENtoEVGEN.py.

◆ errorIfNotFound

skel.errorIfNotFound

Definition at line 498 of file skel.ABtoEVGEN.py.

◆ errorPL

skel.errorPL = checkPurpleList("AthGeneration",rel,gennames)

Definition at line 601 of file skel.GENtoEVGEN.py.

◆ eventsFile

str eventsFile = None

Events files.

Definition at line 469 of file skel.ABtoEVGEN.py.

◆ EventsPerRun

skel.EventsPerRun

Definition at line 186 of file skel.GENtoEVGEN.py.

◆ evgenLog

skel.evgenLog = logging.getLogger('Generate_ab')

Definition at line 63 of file skel.ABtoEVGEN.py.

◆ EvtMax

skel.EvtMax

Definition at line 120 of file skel.ABtoEVGEN.py.

◆ exceptName

list skel.exceptName = ['xAOD','Jet']

Definition at line 913 of file skel.GENtoEVGEN.py.

◆ excludedNames

list excludedNames = ['AthSequencer', 'PyAthena::Alg', 'TestHepMC']

Definition at line 540 of file skel.ABtoEVGEN.py.

◆ expectedgenpart

str expectedgenpart = ''.join(gennames)

We want to record that HERWIG was used in metadata, but in the JO naming we just use a "Herwig" label.

Definition at line 262 of file skel.ABtoEVGEN.py.

◆ False

skel.False

Definition at line 498 of file skel.ABtoEVGEN.py.

◆ filterNames

list filterNames = [alg.getType() for alg in acas.iter_algseq(filtSeq)]

Definition at line 539 of file skel.ABtoEVGEN.py.

◆ filtName

skel.filtName = alg.getType()

Definition at line 912 of file skel.GENtoEVGEN.py.

◆ filtSeq

skel.filtSeq = acam.athMasterSeq.EvgenFilterSeq

Definition at line 30 of file skel.ABtoEVGEN.py.

◆ FIRST_DIR

tuple FIRST_DIR = (os.environ['JOBOPTSEARCHPATH']).split(":")[0]

Definition at line 192 of file skel.ABtoEVGEN.py.

◆ first_line

skel.first_line = f.readline()

Definition at line 815 of file skel.GENtoEVGEN.py.

◆ FirstEvent

skel.FirstEvent

Definition at line 119 of file skel.ABtoEVGEN.py.

◆ fixSeq

skel.fixSeq = acam.athMasterSeq.EvgenFixSeq

Definition at line 25 of file skel.GENtoEVGEN.py.

◆ ForceRead

skel.ForceRead

Definition at line 362 of file skel.ABtoEVGEN.py.

◆ gendict

skel.gendict = generatorsGetInitialVersionedDictionary(gennames)

Definition at line 470 of file skel.GENtoEVGEN.py.

◆ generatorsList

skel.generatorsList = evgenConfig.generators.copy()

Purge unstable particle w/o end vertex occasionally produced by Hijing or Herwig.

Definition at line 518 of file skel.GENtoEVGEN.py.

◆ genInputFiles

skel.genInputFiles = myinputfiles.split(',')

Definition at line 772 of file skel.GENtoEVGEN.py.

◆ gennames

skel.gennames = sorted(evgenConfig.generators, key=gen_sortkey)

Include the JO fragment.

Print out options.

==============================================================

Config validation and propagation to services, generators, etc.

Announce start of JO checking

Print out options

Sort and check generator name / JO name consistency

Check that the common fragments are not obsolete:

Check that the generators list is not empty:

Check for duplicates:

Sort the list of generator names into standard form

Print platform

Sort and check generator name / JO name consistency

Check that the common fragments are not obsolete:

Check that the generators list is not empty:

Check for duplicates:

Sort the list of generator names into standard form

==============================================================

Config validation and propagation to services, generators, etc.

Announce start of JO checking

Print out options

Print platform

Sort and check generator name / JO name consistency

Check that the common fragments are not obsolete:

Check that the generators list is not empty:

Check for duplicates:

Sort the list of generator names into standard form

Definition at line 258 of file skel.ABtoEVGEN.py.

◆ gennamesvers

skel.gennamesvers = generatorsVersionedStringList(gendict)

Definition at line 471 of file skel.GENtoEVGEN.py.

◆ genpart

tuple genpart = jo_physshortparts[0]

Check that the actual generators, tune, and main PDF are consistent with the JO name.

Definition at line 261 of file skel.ABtoEVGEN.py.

◆ genSeq

skel.genSeq = acam.athMasterSeq.EvgenGenSeq

Definition at line 22 of file skel.ABtoEVGEN.py.

◆ HistoFile

skel.HistoFile

Definition at line 159 of file skel.ABtoEVGEN.py.

◆ holdHeader

skel.holdHeader = header

Definition at line 716 of file skel.GENtoEVGEN.py.

◆ IgnoreSemiDisconnected

skel.IgnoreSemiDisconnected

Skip the semi-disconnected particles correction when running Sherpa with HEPMC_TREE_LIKE: 1.

Definition at line 529 of file skel.GENtoEVGEN.py.

◆ inHeader

bool inHeader = False

Reading first event signals that we are done with all the header information Using this approach means the script will properly handle any metadata stored at the beginning of the file.

Note: aside from the number of events, no metadata is updated after the first header is read (eg the random number seed recorded will be that of the first file.

Definition at line 714 of file skel.GENtoEVGEN.py.

◆ input0

skel.input0 = os.path.basename(file).split("._")[0]

Definition at line 808 of file skel.GENtoEVGEN.py.

◆ input1

tuple input1 = (os.path.basename(file).split("._")[1]).split(".")[0]

Definition at line 809 of file skel.GENtoEVGEN.py.

◆ InputCollections

skel.InputCollections

Definition at line 358 of file skel.ABtoEVGEN.py.

◆ InputEventInfo

skel.InputEventInfo

Definition at line 122 of file skel.ABtoEVGEN.py.

◆ inputFilesPerJob

skel.inputFilesPerJob

Definition at line 272 of file skel.GENtoEVGEN.py.

◆ inputGeneratorFile

skel.inputGeneratorFile = getattr(runArgs, "inputGeneratorFile", "")

Definition at line 667 of file skel.GENtoEVGEN.py.

◆ inputroot

str inputroot = os.path.basename(runArgs.inputGeneratorFile).split(".tar.")[0]

Definition at line 760 of file skel.GENtoEVGEN.py.

◆ it

skel.it = iter(evgenConfig.categories)

Definition at line 407 of file skel.GENtoEVGEN.py.

◆ jo_physshortpart

tuple jo_physshortpart = joparts[1]

Check the length limit on the physicsShort portion of the filename.

Definition at line 209 of file skel.ABtoEVGEN.py.

◆ jo_physshortparts

tuple jo_physshortparts = jo_physshortpart.split("_")

There must be at least 2 physicsShort sub-parts separated by '_': gens, (tune)+PDF, and process.

Definition at line 215 of file skel.ABtoEVGEN.py.

◆ jofile

list jofile = jofiles[0]

Definition at line 200 of file skel.ABtoEVGEN.py.

◆ jofiles

list jofiles = [f for f in os.listdir(FIRST_DIR) if (f.startswith('mc') and f.endswith('.py'))]

Definition at line 194 of file skel.ABtoEVGEN.py.

◆ joparts

tuple joparts = (os.path.basename(jofile)).split(".")

Definition at line 201 of file skel.ABtoEVGEN.py.

◆ keepDir

skel.keepDir

Definition at line 498 of file skel.ABtoEVGEN.py.

◆ l1

skel.l1 = x

Definition at line 409 of file skel.GENtoEVGEN.py.

◆ l2

skel.l2 = next(it)

Definition at line 410 of file skel.GENtoEVGEN.py.

◆ LastEvent

skel.LastEvent

Definition at line 149 of file skel.ABtoEVGEN.py.

◆ line

skel.line = line.replace(tmp[0],str(nevents))

Definition at line 728 of file skel.GENtoEVGEN.py.

◆ lkwfile

str lkwfile = "CategoryList.txt"

Check that the L1 and L2 keywords pairs are in the list of allowed words pairs (and exit if processing an official JO).

Check that the categories list is not empty:

Get the allowed categories file from the JO package if possibe TODO: Make the package name configurable

Check that the L1 and L2 keywords pairs are in the list of allowed words pairs (and exit if processing an official JO)

Get the allowed categories file from the JO package if possibe TODO: Make the package name configurable

Definition at line 390 of file skel.GENtoEVGEN.py.

◆ lkwpath

skel.lkwpath = None

Definition at line 391 of file skel.GENtoEVGEN.py.

◆ max_jo_physshort_length

int max_jo_physshort_length = 50

Definition at line 210 of file skel.ABtoEVGEN.py.

◆ maxeventsstrategy

skel.maxeventsstrategy

Definition at line 552 of file skel.ABtoEVGEN.py.

◆ McEventKey

skel.McEventKey

Definition at line 145 of file skel.ABtoEVGEN.py.

◆ mcEventWeightsKey

skel.mcEventWeightsKey

Definition at line 124 of file skel.ABtoEVGEN.py.

◆ mcFilterHTKey

skel.mcFilterHTKey

Definition at line 134 of file skel.GENtoEVGEN.py.

◆ MinMaxRunNumbers

skel.MinMaxRunNumbers

Definition at line 138 of file skel.ABtoEVGEN.py.

◆ msg

str msg = "evgenConfig.nEventsPerJob = %d: " % evgenConfig.nEventsPerJob

Definition at line 313 of file skel.ABtoEVGEN.py.

◆ multiInput

int multiInput = runArgs.inputGeneratorFile.count(',')+1

Definition at line 292 of file skel.ABtoEVGEN.py.

◆ myinputfiles

skel.myinputfiles = runArgs.inputGeneratorFile

Definition at line 771 of file skel.GENtoEVGEN.py.

◆ nEventsPerJob

skel.nEventsPerJob

Definition at line 551 of file skel.ABtoEVGEN.py.

◆ NewRunNumber

skel.NewRunNumber

Definition at line 381 of file skel.ABtoEVGEN.py.

◆ nnn

skel.nnn = str(nevents)

Definition at line 732 of file skel.GENtoEVGEN.py.

◆ numberOfFiles

skel.numberOfFiles = len(genInputFiles)

Definition at line 773 of file skel.GENtoEVGEN.py.

◆ OneDataHeaderForm

skel.OneDataHeaderForm

Definition at line 441 of file skel.GENtoEVGEN.py.

◆ Output

skel.Output

Definition at line 112 of file skel.ABtoEVGEN.py.

◆ OutputEventInfo

skel.OutputEventInfo

Definition at line 123 of file skel.ABtoEVGEN.py.

◆ poolFile

skel.poolFile = runArgs.outputEVNTFile

Definition at line 349 of file skel.ABtoEVGEN.py.

◆ postSeq

skel.postSeq = topSeq.EvgenPostSeq

Definition at line 34 of file skel.ABtoEVGEN.py.

◆ prefiltSeq

skel.prefiltSeq = acam.athMasterSeq.EvgenPreFilterSeq

Definition at line 24 of file skel.ABtoEVGEN.py.

◆ PrintStyle

skel.PrintStyle

Definition at line 147 of file skel.ABtoEVGEN.py.

◆ PurgeUnstableWithoutEndVtx

skel.PurgeUnstableWithoutEndVtx

Definition at line 525 of file skel.GENtoEVGEN.py.

◆ realDatFile

skel.realDatFile = find_unique_file('*%s*.dat' % inputroot)

Definition at line 768 of file skel.GENtoEVGEN.py.

◆ realEventsFile

skel.realEventsFile = find_unique_file('*%s.*ev*ts.gz' % inputroot)

Definition at line 792 of file skel.GENtoEVGEN.py.

◆ rel

skel.rel = os.popen("echo $AtlasVersion").read()

Announce start of JO checkingrelease nimber checking.

Definition at line 182 of file skel.GENtoEVGEN.py.

◆ RequestedOutput

skel.RequestedOutput

Definition at line 324 of file skel.ABtoEVGEN.py.

◆ required

skel.required

Definition at line 513 of file skel.ABtoEVGEN.py.

◆ rounding

int rounding = 0

Check if the tune/PDF part is needed, and if so whether it's present.

Check that the evgenConfig.nEventsPerJob setting is acceptable nEventsPerJob defines the production event sizes and must be sufficiently "round"

Check the "--steering=afterburn" command line argument has been set if EvtGen is in the JO name Dont't have access to steering flag so check it's effect on output files

Check that the evgenConfig.nEventsPerJob setting is acceptable nEventsPerJob defines the production event sizes and must be sufficiently "round"

Definition at line 290 of file skel.ABtoEVGEN.py.

◆ runArgs

skel.runArgs

Definition at line 396 of file skel.ABtoEVGEN.py.

◆ runNum

skel.runNum = int((runArgs.jobConfig[0])[-6:])

Definition at line 137 of file skel.ABtoEVGEN.py.

◆ RunNumber

skel.RunNumber

Definition at line 378 of file skel.ABtoEVGEN.py.

◆ runPars

skel.runPars = RunArguments()

Definition at line 550 of file skel.ABtoEVGEN.py.

◆ StreamEVGEN

skel.StreamEVGEN = AthenaPoolOutputStream("StreamEVGEN", poolFile, asAlg=True, noTag=True , eventInfoKey="EventInfo")

Definition at line 356 of file skel.ABtoEVGEN.py.

◆ streamInfoTool

skel.streamInfoTool = CopyEventStreamInfo( "StreamEVGEN_CopyEventStreamInfo" )

Definition at line 400 of file skel.ABtoEVGEN.py.

◆ TakeItemsFromInput

skel.TakeItemsFromInput

Definition at line 359 of file skel.ABtoEVGEN.py.

◆ testSeq

skel.testSeq = acam.athMasterSeq.EvgenTestSeq

Definition at line 26 of file skel.ABtoEVGEN.py.

◆ theApp

skel.theApp = acam.theApp

Definition at line 20 of file skel.ABtoEVGEN.py.

◆ tmp

skel.tmp = line.split("=")

each input file ends with "</LesHouchesEvents>".

Powheg format is numevts n.

We don't want to write this out until all the files have been read. The elif below writes out all the events.

Format for storing number of events different in MG and Powheg

MG5 format is "n = nevents"

Definition at line 727 of file skel.GENtoEVGEN.py.

◆ topSeq

skel.topSeq = acas.AlgSequence()

Definition at line 31 of file skel.ABtoEVGEN.py.

◆ useCompressedLHE

tuple skel.useCompressedLHE
Initial value:
= (getattr(runArgs, "avoidExtracting", False)
and inputGeneratorFile.endswith(".events.gz"))

Definition at line 673 of file skel.GENtoEVGEN.py.

◆ VerboseOutput

skel.VerboseOutput

Definition at line 146 of file skel.ABtoEVGEN.py.

◆ xAODKey

skel.xAODKey

Definition at line 18 of file skel.ABtoEVGEN.py.