4 msg = logging.getLogger(__name__)
6 from PyJobTransforms.trfArgClasses import argFactory, argFile, argInt, argFloat, argList, argString, argBool, argPOOLFile, argEVNT_TRFile, argHITSFile, argRDOFile, argSubstepInt, argSubstepBool, argSubstepString
14 parser.defineArgGroup(
'ForwardDetector',
'Forward Detector Options')
15 parser.add_argument(
'--LucidOn',
16 type=argFactory(argBool),
17 help=
'Switch on lucid simulation/digitization.', group=
'ForwardDetector')
18 parser.add_argument(
'--AFPOn',
19 type=argFactory(argBool),
20 help=
'Switch on AFP simulation/digitization.', group=
'ForwardDetector')
21 parser.add_argument(
'--ALFAOn',
22 type=argFactory(argBool),
23 help=
'Switch on ALFA simulation/digitization.', group=
'ForwardDetector')
24 parser.add_argument(
'--ZDCOn',
25 type=argFactory(argBool),
26 help=
'Switch on ZDC simulation/digitization.', group=
'ForwardDetector')
27 parser.add_argument(
'--FwdRegionOn',
28 type=argFactory(argBool),
29 help=
'Switch on FwdRegion simulation/digitization.', group=
'ForwardDetector')
30 parser.add_argument(
'--HGTDOn',
31 type=argFactory(argBool),
32 help=
'Switch on HGTD simulation/digitization.', group=
'ForwardDetector')
37 parser.defineArgGroup(
'Digi',
'Digitization specific options')
38 parser.add_argument(
'--inputHITSFile',
'--inputHitsFile', nargs=
'+',
39 type=argFactory(argHITSFile, io=
'input'),
40 help=
'Input HITS file', group=
'Digi')
41 parser.add_argument(
'--outputRDOFile', nargs=
'+',
42 type=argFactory(argRDOFile, io=
'output'),
43 help=
'Output RDO file', group=
'Digi')
44 parser.add_argument(
'--outputRDO_FILTFile', nargs=
'+',
45 type=argFactory(argRDOFile, io=
'output'),
46 help=
'Output Filtered RDO file', group=
'Digi')
47 parser.add_argument(
'--digiSeedOffset1',
48 type=argFactory(argInt),
49 help=
'Offset for first random seed', group=
'Digi')
50 parser.add_argument(
'--digiSeedOffset2',
51 type=argFactory(argInt),
52 help=
'Offset for second random seed', group=
'Digi')
53 parser.add_argument(
'--digiRndmSvc',
54 type=argFactory(argString),
55 help=
'Random Number Service to use.', group=
'Digi' )
56 parser.add_argument(
'--digiSteeringConf',
57 type=argFactory(argString),
58 help=
'Required configuration fod the digitization job', group=
'Digi' )
59 parser.add_argument(
'--samplingFractionDbTag',
60 type=argFactory(argString),
61 help=
'This argument can be used to override the PhysicsList retrieved from the Simulation metadata. This information is used in the LAr sampling fraction data base tag used by LArfSamplG4Phys.', group=
'Digi')
62 parser.add_argument(
'--doAllNoise',
63 type=argFactory(argBool),
64 help=
'Overall control of noise simulation during digitization - useful for overlay jobs, will set doCaloNoise, doMuonNoise, doInDetNoise digitizationFlags.', group=
'Digi')
65 parser.add_argument(
'--AddCaloDigi',
66 type=argFactory(argBool),
67 help=
'Save Calo Digits too, not just RawChannels.', group=
'Digi')
68 parser.add_argument(
'--PileUpPresampling',
'--PileUpPremixing',
69 type=argFactory(argBool),
70 help=
'Run digitization with pile-up presampling configuration.', group=
'Digi')
74 parser.defineArgGroup(
'PileUp',
'Pile-Up Options')
75 parser.add_argument(
'--testPileUpConfig',
76 type=argFactory(argBool),
77 help=
'Calculates the number of background events that will be require for a given pile-up configuration.', group=
'PileUp')
78 parser.add_argument(
'--inputLowPtMinbiasHitsFile', nargs=
'+', action=
'append',
79 type=argFactory(argHITSFile, io=
'input', executor=[
'EVNTtoRDO',
'HITtoRDO'], auxiliaryFile=
True),
80 help=
'Input HITS file for low pT minimum bias pile-up sub-events', group=
'PileUp')
81 parser.add_argument(
'--inputHighPtMinbiasHitsFile', nargs=
'+', action=
'append',
82 type=argFactory(argHITSFile, io=
'input', executor=[
'EVNTtoRDO',
'HITtoRDO'], auxiliaryFile=
True),
83 help=
'Input HITS file for high pT minimum bias pile-up sub-events', group=
'PileUp')
84 parser.add_argument(
'--inputCavernHitsFile', nargs=
'+', action=
'append',
85 type=argFactory(argHITSFile, io=
'input', executor=[
'EVNTtoRDO',
'HITtoRDO'], auxiliaryFile=
True),
86 help=
'Input HITS file for cavern background sub-events', group=
'PileUp')
87 parser.add_argument(
'--inputBeamHaloHitsFile', nargs=
'+', action=
'append',
88 type=argFactory(argHITSFile, io=
'input', executor=[
'EVNTtoRDO',
'HITtoRDO'], auxiliaryFile=
True),
89 help=
'Input HITS file for beam halo sub-events', group=
'PileUp')
90 parser.add_argument(
'--inputBeamGasHitsFile', nargs=
'+', action=
'append',
91 type=argFactory(argHITSFile, io=
'input', executor=[
'EVNTtoRDO',
'HITtoRDO'], auxiliaryFile=
True),
92 help=
'Input HITS file for beam gas sub-events', group=
'PileUp')
93 parser.add_argument(
'--numberOfLowPtMinBias',
94 type=argFactory(argFloat),
95 help=
'Sets the intial number low pt minbias events to add on average per bunch crossing. Overrides any values set in joboproperties by preIncludes or preExecs. May later be overridden during the job by run-dependent MC code.', group=
'PileUp')
96 parser.add_argument(
'--numberOfHighPtMinBias',
97 type=argFactory(argFloat),
98 help=
'Sets the intial number high pt minbias events to add on average per bunch crossing. Overrides any values set in joboproperties by preIncludes or preExecs. May later be overridden during the job by run-dependent MC code.', group=
'PileUp')
99 parser.add_argument(
'--numberOfBeamHalo',
100 type=argFactory(argFloat),
101 help=
'Sets the intial number beam halo events to add on average per bunch crossing. Overrides any values set in joboproperties by preIncludes or preExecs. May later be overridden during the job by run-dependent MC code.', group=
'PileUp')
102 parser.add_argument(
'--numberOfBeamGas',
103 type=argFactory(argFloat),
104 help=
'Sets the intial number beam gas events to add on average per bunch crossing. Overrides any values set in joboproperties by preIncludes or preExecs. May later be overridden during the job by run-dependent MC code.', group=
'PileUp')
105 parser.add_argument(
'--numberOfCavernBkg',
106 type=argFactory(argInt),
107 help=
'Sets the intial number cavern background events to add on average per bunch crossing. Overrides any values set in joboproperties by preIncludes or preExecs. May later be overridden during the job by run-dependent MC code. NB this value is an integer!', group=
'PileUp')
108 parser.add_argument(
'--bunchSpacing',
109 type=argFactory(argFloat),
110 help=
'Overrides any values of digitizationFlags.bunchSpacing by preIncludes or preExecs. When using bunch structure is being usedthis sets the time between successive elements in the bunch structure pattern. If not using bunch-structure, this can be used to run pile-up with a fixed X ns spacing between filled bunch-crossings.', group=
'PileUp')
111 parser.add_argument(
'--pileupInitialBunch',
112 type=argFactory(argInt),
113 help=
'Initial (relative) bunch crossing to use pileup - default -32', group=
'PileUp')
114 parser.add_argument(
'--pileupFinalBunch',
115 type=argFactory(argInt),
116 help=
'Initial (relative) bunch crossing to use pileup - default 32', group=
'PileUp')
120 parser.defineArgGroup(
'Cosmics',
'Cosmic Ray Simulation Options')
121 parser.add_argument(
'--CosmicFilterVolume',
122 type=argFactory(argString),
123 help=
'Main Cosmic Filter Volume - tracks have to pass through this volume for the event to be written out.', group=
'Cosmics')
124 parser.add_argument(
'--CosmicFilterVolume2',
125 type=argFactory(argString),
126 help=
'Secondary Cosmic Filter Volume (Optional) - if specified tracks also have to pass through this volume for the event to be written out.', group=
'Cosmics')
127 parser.add_argument(
'--CosmicPtSlice',
128 type=argFactory(argString),
129 help=
'Cosmic Pt Slice', group=
'Cosmics')
133 parser.defineArgGroup(
'TrackRecords',
'TrackRecord related options')
134 parser.add_argument(
'--inputEVNT_TRFile', nargs=
'+',
135 type=argFactory(argEVNT_TRFile, io=
'input'),
136 help=
'Input Track Record file - sometimes used in Cosmic ray or cavern background simulation jobs.', group=
'TrackRecords')
137 parser.add_argument(
'--outputEVNT_TRFile', nargs=
'+',
138 type=argFactory(argEVNT_TRFile, io=
'output', type=
'evnt'),
139 help=
'Output Track Record file - sometimes used in Cosmic ray or cavern background simulation jobs.', group=
'TrackRecords')
140 parser.add_argument(
'--trackRecordType',
141 type=argFactory(argSubstepString), metavar=
'CONFIGNAME',
142 help=
'Specify the type of TrackRecords being read/written E.g. cosmics, cavern, stopped', group=
'TrackRecords')
147 parser.defineArgGroup(
'Sim_tf',
'Sim_tf specific options')
148 parser.add_argument(
'--simulator',
149 type=argFactory(argString), metavar=
'CONFIGNAME',
150 help=
'Specify a named configuration. E.g. MC12G4, ATLFASTII ATLFASTIIF', group=
'Sim_tf')
154 parser.defineArgGroup(
'TestBeam',
'TestBeam_tf specific options')
155 parser.add_argument(
'--testBeamConfig',
156 type=argFactory(argString), metavar=
'CONFIGNAME',
157 help=
'Specify a named test beam configuration. E.g. ctb, tbtile', group=
'TestBeam')
158 parser.add_argument(
'--Eta',
159 type=argFactory(argFloat),
160 help=
'Only set Eta if you want to simulate an eta-projective scan', group=
'TestBeam')
161 parser.add_argument(
'--Theta',
162 type=argFactory(argFloat),
163 help=
'For 90 degrees scans put Theta=+/-90. Positive theta means the beam enters from positive eta side (as defined in CTB setup!)', group=
'TestBeam')
164 parser.add_argument(
'--Z',
165 type=argFactory(argFloat),
166 help=
'Z coordinate is the distance from ATLAS center to the desired impact point. Sensitive part starts at Z=2300, ends at Z=2300+3*100+3*130+3*150+2*190=3820', group=
'TestBeam')
170 parser.defineArgGroup(
'SimIO',
'Simulation I/O Options')
171 parser.add_argument(
'--inputEVNTFile',
'--inputEvgenFile', nargs=
'+',
172 type=argFactory(argPOOLFile, io=
'input'),
173 help=
'Input evgen file', group=
'SimIO')
174 parser.add_argument(
'--outputHITSFile',
'--outputHitsFile', nargs=
'+',
175 type=argFactory(argHITSFile, io=
'output'),
176 help=
'Output HITS file', group=
'SimIO')
177 parser.add_argument(
'--firstEvent', metavar=
'FIRSTEVENT',
178 type=argFactory(argInt), help=
'The event number to use for the first Event', group=
'SimIO')
182 parser.defineArgGroup(
'CommonSim',
'Common Simulation Options')
183 parser.add_argument(
'--physicsList', metavar=
'PHYSICSLIST',
184 type=argFactory(argString), help=
'Physics List to be used within Geant4', group=
'CommonSim')
185 parser.add_argument(
'--useISF',
186 type=argFactory(argBool), help=
'Use ISF (only will only work from 17.6.0 onwards)', group=
'CommonSim')
187 parser.add_argument(
'--randomSeed', nargs=
'+', metavar=
'substep:seed',
188 type=argFactory(argSubstepInt), help=
'Random seed offset', group=
'CommonSim')
189 parser.add_argument(
'--enableLooperKiller', nargs=
'+', metavar=
'substep:LooperKiller',
190 type=argFactory(argSubstepBool), help=
'Should the LooperKiller be used', group=
'CommonSim')
191 parser.add_argument(
'--truthStrategy',
192 type=argFactory(argString), metavar=
'CONFIGNAME',
193 help=
'Specify the named group of Truth strategies that the simulation should use. E.g. MC12, MC15aPlus, MC16', group=
'CommonSim')
197 parser.defineArgGroup(
'SimDigi',
'Common Simulation Options')
198 parser.add_argument(
'--DataRunNumber',
199 type=argFactory(argInt),
200 help=
'Override existing run number with this value - deprecated?', group=
'SimDigi')
201 parser.add_argument(
'--jobNumber',
202 type=argFactory(argInt),
203 help=
'The number of this job in the current RunDependentSimulation task.', group=
'SimDigi')
204 parser.add_argument(
'--detectors', nargs=
'+',
205 type=argFactory(argList),
206 help=
'Detectors autoconfiguration string', group=
'SimDigi')
210 parser.defineArgGroup(
'HITSMerge_tf',
'HITSMerge_tf specific options')
211 parser.add_argument(
'--inputHITSFile',
'--inputHitsFile', nargs=
'+',
212 type=argFactory(argPOOLFile, io=
'input', runarg=
True, type=
'hits'),
213 help=
'Input HITS files', group=
'HITSMerge_tf')
214 parser.add_argument(
'--outputHITS_MRGFile',
'--outputHits_MRGFile',
'--outputHITSFile',
'--outputHitsFile', nargs=
'+',
215 type=argFactory(argPOOLFile, io=
'output', runarg=
True, type=
'hits'),
216 help=
'Output HITS file', group=
'HITSMerge_tf')
217 parser.add_argument(
'--inputLogsFile', nargs=
'+',
218 type=argFactory(argFile, io=
'input', runarg=
True, type=
'log'),
219 help=
'Input Log files', group=
'HITSMerge_tf')
224 parser.defineArgGroup(
'ReSimulation',
'ReSimulation specific options')
225 parser.add_argument(
'--inputHITSFile',
'--inputHitsFile', nargs=
'+',
226 type=argFactory(argPOOLFile, io=
'input', runarg=
True, type=
'hits'),
227 help=
'Input HITS files', group=
'ReSimulation')
228 parser.add_argument(
'--outputHITS_RSMFile', nargs=
'+',
229 type=argFactory(argHITSFile, io=
'output', runarg=
True, type=
'hits'),
230 help=
'Output HITS file', group=
'ReSimulation')
234 parser.defineArgGroup(
'SimValid_tf',
'SimValid_tf specific options')
235 parser.add_argument(
'--inputHITSFile', nargs =
'+',
236 type=argFactory(argPOOLFile, io=
'input'),
237 help=
'Input HITS files', group=
'SimValid_tf')
238 parser.add_argument(
'--outputHIST_SIMFile', nargs =
'+',
239 type=argFactory(argFile, io=
'output'),
240 help=
' Output HIST_SIM files', group=
'SimValid_tf')
241 parser.add_argument(
'--localgeo',
242 type=argFactory(argBool),
243 help=
'Use local Geo XML file', group=
'SimValid_tf')
247 parser.defineArgGroup(
'DigiValid_tf',
'DigiValid_tf specific options')
248 parser.add_argument(
'--inputRDOFile', nargs =
'+',
249 type=argFactory(argPOOLFile, io=
'input'),
250 help=
'Input RDO files', group=
'DigiValid_tf')
251 parser.add_argument(
'--outputHIST_DIGIFile', nargs =
'+',
252 type=argFactory(argFile, io=
'output'),
253 help=
' Output HIST_DIGI files', group=
'DigiValid_tf')
254 parser.add_argument(
'--PileUpPresampling',
255 type=argFactory(argBool),
256 help=
'Running over a presamped RDO file.', group=
'DigiValid_tf')
257 parser.add_argument(
'--localgeo',
258 type=argFactory(argBool),
259 help=
'Use local Geo XML file', group=
'DigiValid_tf')