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(".")
bool officialJO = True
 Perform some consistency checks if this appears to be an "official" production JO.
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/MC16JobOptions/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)
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' % 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()

skel._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 506 of file skel.ABtoEVGEN.py.

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

◆ _norm()

skel._norm ( s)
protected

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

266 def _norm(s):
267 # TODO: add EvtGen to this normalization for MC14?
268 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:310

◆ _norm2()

skel._norm2 ( s)
protected

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

269 def _norm2(s):
270 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")
271

◆ _short2()

skel._short2 ( s)
protected

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

272 def _short2(s):
273 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")
274

◆ checkBlockList()

skel.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 547 of file skel.GENtoEVGEN.py.

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

◆ checkPurpleList()

skel.checkPurpleList ( relFlavour,
cache,
generatorName )

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

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

◆ find_unique_file()

skel.find_unique_file ( pattern)

Helper functions for input file handling.

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

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

◆ get_immediate_subdirectories()

skel.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()

skel.merge_lhe_files ( listOfFiles,
outputFile )

Check that there is exactly 1 match.

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

683def merge_lhe_files(listOfFiles,outputFile):
684 if(os.path.exists(outputFile)):
685 print ("outputFile ",outputFile," already exists. Will rename to ",outputFile,".OLD")
686 os.rename(outputFile,outputFile+".OLD")
687 output = open(outputFile,'w')
688 holdHeader = ""
689 nevents=0
690 for file in listOfFiles:
691 cmd = "grep /event "+file+" | wc -l"
692 nevents+=int(subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True))
693
694 for file in listOfFiles:
695 inHeader = True
696 header = ""
697 print ("*** Starting file ",file)
698 for line in open(file,"r"):
if(febId1==febId2)

◆ mk_symlink()

skel.mk_symlink ( srcfile,
dstfile )

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

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

◆ OutputTXTFile()

skel.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 skel.allFiles = []

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

◆ allowed_cat

list skel.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 skel.allowed_nEventsPerJob_lt1000 = [1, 2, 5, 10, 20, 25, 50, 100, 200, 500, 1000]

Definition at line 313 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 890 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 499 of file skel.ABtoEVGEN.py.

◆ bad_cat

list skel.bad_cat = []

Check the JO categories against the allowed ones.

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

◆ check_jofiles

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

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

Definition at line 221 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 skel.count_ev = 0

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

◆ datFile

str skel.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 455 of file skel.ABtoEVGEN.py.

◆ doFastMonMT

skel.doFastMonMT

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

◆ dsid

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

Set the run numbers.

Definition at line 376 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 332 of file skel.ABtoEVGEN.py.

◆ errorBL

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

Announce start of JO checkingrelease number checking.

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

◆ errorIfNotFound

skel.errorIfNotFound

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

◆ errorPL

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

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

◆ eventsFile

str skel.eventsFile = None

Events files.

Definition at line 470 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 887 of file skel.GENtoEVGEN.py.

◆ excludedNames

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

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

◆ expectedgenpart

str skel.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 263 of file skel.ABtoEVGEN.py.

◆ False

skel.False

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

◆ filterNames

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

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

◆ filtName

skel.filtName = alg.getType()

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

◆ filtSeq

skel.filtSeq = acam.athMasterSeq.EvgenFilterSeq

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

◆ FIRST_DIR

tuple skel.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 799 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 363 of file skel.ABtoEVGEN.py.

◆ gendict

skel.gendict = generatorsGetInitialVersionedDictionary(gennames)

Definition at line 471 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 517 of file skel.GENtoEVGEN.py.

◆ genInputFiles

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

Definition at line 763 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 259 of file skel.ABtoEVGEN.py.

◆ gennamesvers

skel.gennamesvers = generatorsVersionedStringList(gendict)

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

◆ genpart

tuple skel.genpart = jo_physshortparts[0]

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

Definition at line 262 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 707 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 528 of file skel.GENtoEVGEN.py.

◆ inHeader

bool skel.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 705 of file skel.GENtoEVGEN.py.

◆ input0

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

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

◆ input1

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

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

◆ InputCollections

skel.InputCollections

Definition at line 359 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.

◆ inputroot

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

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

◆ it

skel.it = iter(evgenConfig.categories)

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

◆ jo_physshortpart

tuple skel.jo_physshortpart = joparts[1]

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

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

◆ jo_physshortparts

tuple skel.jo_physshortparts = jo_physshortpart.split("_")

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

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

◆ jofile

list skel.jofile = jofiles[0]

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

◆ jofiles

list skel.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 skel.joparts = (os.path.basename(jofile)).split(".")

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

◆ keepDir

skel.keepDir

Definition at line 499 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 719 of file skel.GENtoEVGEN.py.

◆ lkwfile

str skel.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 skel.max_jo_physshort_length = 50

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

◆ maxeventsstrategy

skel.maxeventsstrategy

Definition at line 553 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 skel.msg = "evgenConfig.nEventsPerJob = %d: " % evgenConfig.nEventsPerJob

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

◆ multiInput

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

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

◆ myinputfiles

skel.myinputfiles = runArgs.inputGeneratorFile

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

◆ nEventsPerJob

skel.nEventsPerJob

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

◆ NewRunNumber

skel.NewRunNumber

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

◆ nnn

skel.nnn = str(nevents)

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

◆ numberOfFiles

skel.numberOfFiles = len(genInputFiles)

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

◆ officialJO

bool skel.officialJO = True

Perform some consistency checks if this appears to be an "official" production JO.

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

◆ OneDataHeaderForm

skel.OneDataHeaderForm

Definition at line 442 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 350 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 524 of file skel.GENtoEVGEN.py.

◆ realDatFile

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

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

◆ realEventsFile

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

Definition at line 778 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 325 of file skel.ABtoEVGEN.py.

◆ required

skel.required

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

◆ rounding

int skel.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 291 of file skel.ABtoEVGEN.py.

◆ runArgs

skel.runArgs

Definition at line 397 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 379 of file skel.ABtoEVGEN.py.

◆ runPars

skel.runPars = RunArguments()

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

◆ StreamEVGEN

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

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

◆ streamInfoTool

skel.streamInfoTool = CopyEventStreamInfo( "StreamEVGEN_CopyEventStreamInfo" )

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

◆ TakeItemsFromInput

skel.TakeItemsFromInput

Definition at line 360 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 718 of file skel.GENtoEVGEN.py.

◆ topSeq

skel.topSeq = acas.AlgSequence()

Definition at line 31 of file skel.ABtoEVGEN.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.