ATLAS Offline Software
Loading...
Searching...
No Matches
EvgenConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3from PyJobTransformsCore.TransformConfig import TransformConfig, String, ListOfStrings, Boolean, Integer, AllowedExpression, TransformConfigError
4from GeneratorConfig.GenConfigHelpers import KnownGenerators
5
6class EvgenConfig(TransformConfig):
7 __slots__ = ()
8 generators = ListOfStrings("List of used generators", allowedValues=KnownGenerators)
9 description = String("Human readable description of the dataset content")
10 process = String("Specific information about the physics process being generated")
11 notes = String("Extra information about this process e.g. known current problems")
12 contact = ListOfStrings("Contact person for this dataset. Leave empty for 'MC group'")
13 keywords = ListOfStrings("Search keywords for this dataset, e.g. 'QCD', 'EW', 'minbias', ...")
14 categories = ListOfStrings("Category keywords for this dataset, e.g. 'L1:Top', 'L2:RareTop'")
15 inputfilecheck = String("A regex to check that the input file needed for some generators has a valid name")
16 inputconfcheck = String("A regex to check that the config file needed for some generators has a valid name")
17 specialConfig = String("Special configuration for subsequent prod steps")
18 tune = String("Generator shower/hadronisation/MPI tune name")
19 saveJets = Boolean("Save truth jet collections in the output file if they are available", False)
20 savePileupTruthParticles = Boolean("Save truth particle collections, if available, for pileup-overlay output", False)
21 findJets = Boolean("Schedule jet finding algorithms for each defined jet container", False)
22 doNotSaveItems = ListOfStrings("List of StreamEVGEN items to NOT save in output file - note occurs BEFORE extraSaveItems are added")
23 extraSaveItems = ListOfStrings("List of extra StreamEVGEN items to save in output file - note occurs AFTER doNotSaveItems are removed")
24 inputFilesPerJob = Integer("number of input files per job",0, AllowedExpression("value >= 0"))
25 nEventsPerJob = Integer("number of input events per job",0, AllowedExpression("value >= 0"))
26 obsolete = Boolean("Are JOs/common fragment obsolete", False)
27 PDGparams = Boolean("Do we use the standard PDG values for masses, widths etc. ", False)
28
29 def __init__(self, name="evgenConfig"):
30 TransformConfig.__init__(self, name)
31 self.contact = ["MC group"]
32 self.auxfiles = ["PDGTABLE.MeV", "pdt.table", "DECAY.DEC", "Bdecays0.dat", "Bs2Jpsiphi.DEC","G4particle_acceptlist.txt","susyParticlePdgid.txt"]
33 self.nEventsPerJob = 10000
34 self.maxeventsstrategy = "ABORT"
35 self.specialConfig = "NONE"
36# for the sake of Generate_tf leave minevents for a while
37 self.minevents = 0
38
39
40 def __setattr__(self, name, value):
41 if name in ["efficiency", "inputfilebase", "inputconfbase", "weighting"]:
42 msg = "evgenConfig.%s is not used in MC14 production. " % name + \
43 "Please update your JO file, having read the docs at " + \
44 "https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/AtlasMcProductionMC14"
45 raise TransformConfigError(msg)
46 object.__setattr__(self, name, value)
47
48
49evgenConfig = EvgenConfig()
__init__(self, name="evgenConfig")
__setattr__(self, name, value)
Explicitly block MC11/12 settings of efficiency, input*base, or weighting attrs.