ATLAS Offline Software
SimTransformUtils.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 
4 
5 import logging
6 msg = logging.getLogger(__name__)
7 
8 from PyJobTransforms.trfExe import athenaExecutor
9 
10 
12  from SimuJobTransforms.simTrfArgs import addForwardDetTrfArgs, addCommonSimDigTrfArgs
14  addForwardDetTrfArgs(parser)
15 
17  from SimuJobTransforms.simTrfArgs import addCommonSimTrfArgs, addSimIOTrfArgs, addCosmicsTrfArgs, addTrackRecordArgs
18  addSimIOTrfArgs(parser)
19  addCommonSimTrfArgs(parser)
20  addCosmicsTrfArgs(parser)
21  addTrackRecordArgs(parser)
22 
25  from SimuJobTransforms.simTrfArgs import addSim_tfArgs
26  addSim_tfArgs(parser)
27 
29  from SimuJobTransforms.simTrfArgs import addBasicDigiArgs, addPileUpTrfArgs
30  addBasicDigiArgs(parser)
31  addPileUpTrfArgs(parser)
32 
34  from SimuJobTransforms.simTrfArgs import addCommonSimTrfArgs, addCosmicsTrfArgs, addTrackRecordArgs, addSim_tfArgs, addReSimulationArgs
35  addCommonSimTrfArgs(parser)
36  addCosmicsTrfArgs(parser)
37  addTrackRecordArgs(parser)
39  addSim_tfArgs(parser)
40  addReSimulationArgs(parser)
41 
45 
46 def addAtlasG4Arguments(parser):
49 
51  from SimuJobTransforms.simTrfArgs import addHITSMergeArgs
52  addHITSMergeArgs(parser)
53 
57 
59  from SimuJobTransforms.simTrfArgs import addHITSValidArgs, addCommonSimDigTrfArgs
60  addHITSValidArgs(parser)
62 
64  from SimuJobTransforms.simTrfArgs import addRDOValidArgs, addCommonSimDigTrfArgs
65  addRDOValidArgs(parser)
67 
68 
71 def addSimulationSubstep(executorSet, overlayTransform = False):
72  TRExe = athenaExecutor(name = 'TRtoHITS',
73  skeletonCA = 'SimuJobTransforms.ISF_Skeleton',
74  substep = 'simTRIn', tryDropAndReload = False, perfMonFile = 'ntuple.pmon.gz',
75  inData=['EVNT_TR'],
76  outData=['HITS','NULL'] )
77  executorSet.add(TRExe)
78  SimExe = athenaExecutor(name = 'EVNTtoHITS',
79  skeletonCA = 'SimuJobTransforms.ISF_Skeleton',
80  substep = 'sim', tryDropAndReload = False, perfMonFile = 'ntuple.pmon.gz',
81  inData=['NULL','EVNT'],
82  outData=['EVNT_TR','HITS','NULL'] )
83  if overlayTransform:
84  from PyJobTransforms.trfUtils import releaseIsOlderThan
85  if releaseIsOlderThan(20,3):
86  SimExe.inData = [('EVNT', 'BS_SKIM')]
87  else:
88  SimExe.inData = [('EVNT','TXT_EVENTID')]
89  SimExe.outData = ['HITS']
90  SimExe.inputDataTypeCountCheck = ['EVNT']
91  executorSet.add(SimExe)
92 
93 
94 def addReSimulationSubstep(executorSet):
95  SimExe = athenaExecutor(name = 'ReSim',
96  skeletonCA = 'SimuJobTransforms.ReSimulation_Skeleton',
97  substep = 'rsm',
98  tryDropAndReload = False,
99  perfMonFile = 'ntuple.pmon.gz',
100  inData=['HITS'],
101  outData=['HITS_RSM'],
102  inputDataTypeCountCheck = ['HITS'] )
103  executorSet.add(SimExe)
104 
105 
106 def addAtlasG4Substep(executorSet):
107  executorSet.add(athenaExecutor(name = 'AtlasG4TfTRIn',
108  skeletonCA = 'SimuJobTransforms.G4AtlasAlg_Skeleton',
109  substep = 'simTRIn', tryDropAndReload = False,
110  inData=['EVNT_TR'],
111  outData=['HITS','NULL'] ))
112  executorSet.add(athenaExecutor(name = 'AtlasG4Tf',
113  skeletonCA = 'SimuJobTransforms.G4AtlasAlg_Skeleton',
114  substep = 'sim', tryDropAndReload = False,
115  inData=['NULL','EVNT'],
116  outData=['EVNT_TR','HITS','NULL'] ))
117 
118 
119 def addConfigurableSimSubstep(executorSet, confName, extraSkeleton, confSubStep, confInData, confOutData, confExtraRunargs, confRuntimeRunargs):
120  executorSet.add(athenaExecutor(name = confName, skeletonFile = extraSkeleton + ['SimuJobTransforms/skeleton.EVGENtoHIT_MC12.py'],
121  substep = confSubStep, tryDropAndReload = False,
122  inData = confInData,
123  outData = confOutData, extraRunargs = confExtraRunargs, runtimeRunargs = confRuntimeRunargs ))
124 
125 
127  executorSet.add(athenaExecutor(name = 'HITSMerge', substep="hitsmerge",
128  skeletonCA = 'SimuJobTransforms.HITSMerge_Skeleton',
129  tryDropAndReload = False, inputDataTypeCountCheck = ['HITS']))
130 
131 
132 def addDigitizationSubstep(executorSet, in_reco_chain=False):
133  executorSet.add(athenaExecutor(name = 'HITtoRDO',
134  skeletonCA='SimuJobTransforms.HITtoRDO_Skeleton',
135  substep = 'h2r', tryDropAndReload = False,
136  inData = ['HITS'], outData = ['RDO','RDO_FILT'],
137  onlyMPWithRunargs = [
138  'inputLowPtMinbiasHitsFile',
139  'inputHighPtMinbiasHitsFile',
140  'inputCavernHitsFile',
141  'inputBeamHaloHitsFile',
142  'inputBeamGasHitsFile'
143  ] if in_reco_chain else None))
144 
145 
146 def addSimValidationSubstep(executorSet):
147  executorSet.add(athenaExecutor(name = 'SimValidation',
148  skeletonCA='SimuJobTransforms.HITtoHIST_SIM_Skeleton',
149  inData = ['HITS'], outData = ['HIST_SIM'],))
150 
151 
152 def addDigiValidationSubstep(executorSet):
153  executorSet.add(athenaExecutor(name = 'DigiValidation',
154  skeletonCA='SimuJobTransforms.RDOtoHIST_DIGI_Skeleton',
155  inData = ['RDO'], outData = ['HIST_DIGI'],))
156 
157 
159  executor = set()
160  addSimulationSubstep(executor)
161  trf.appendToExecutorSet(executor)
162 
164  executor = set()
165  addAtlasG4Substep(executor)
166  trf.appendToExecutorSet(executor)
167 
168 def appendConfigurableSimTRInSubstep(trf, confName = 'AtlasG4TfTRIn',
169  extraSkeleton = [], confSubstep = 'simTRIn',
170  confInData=['EVNT_TR'],
171  confOutData=['HITS','NULL'],
172  confExtraRunargs=None, confRuntimeRunargs=None ):
173  executor = set()
174  addConfigurableSimSubstep(executor, confName, extraSkeleton, confSubstep, confInData, confOutData, confExtraRunargs, confRuntimeRunargs )
175  trf.appendToExecutorSet(executor)
176 
177 def appendConfigurableSimSubstep(trf, confName = 'AtlasG4Tf',
178  extraSkeleton = [], confSubstep = 'sim',
179  confInData=['NULL','EVNT'],
180  confOutData=['EVNT_TR','HITS','NULL'],
181  confExtraRunargs=None, confRuntimeRunargs=None ):
182  executor = set()
183  addConfigurableSimSubstep(executor, confName, extraSkeleton, confSubstep, confInData, confOutData, confExtraRunargs, confRuntimeRunargs )
184  trf.appendToExecutorSet(executor)
185 
187  executor = set()
189  trf.appendToExecutorSet(executor)
190 
192  executor = set()
193  addDigitizationSubstep(executor)
194  trf.appendToExecutorSet(executor)
195 
196 #def appendSimValidationSubstep(trf):
197 # executor = set()
198 # addSimValidationSubstep(executor)
199 # trf.appendSimVAlidationSubstep(executor)
200 
201 #def appendDigiValidationSubstep(trf):
202 # executor = set()
203 # addDigiValidationSubstep(executor)
204 # trf.appendDigiVAlidationSubstep(executor)
python.SimTransformUtils.addReSimulationSubstep
def addReSimulationSubstep(executorSet)
Definition: SimTransformUtils.py:94
python.SimTransformUtils.addSimValidationSubstep
def addSimValidationSubstep(executorSet)
Definition: SimTransformUtils.py:146
python.SimTransformUtils.addReSimulationArguments
def addReSimulationArguments(parser)
Definition: SimTransformUtils.py:33
python.simTrfArgs.addCommonSimTrfArgs
def addCommonSimTrfArgs(parser)
Add common Simulation transform arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:181
python.simTrfArgs.addCommonSimDigTrfArgs
def addCommonSimDigTrfArgs(parser)
Add common Simulation/Digitization transform arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:196
python.SimTransformUtils.addPureDigitizationArguments
def addPureDigitizationArguments(parser)
Definition: SimTransformUtils.py:28
python.simTrfArgs.addHITSMergeArgs
def addHITSMergeArgs(parser)
Definition: simTrfArgs.py:208
python.simTrfArgs.addSim_tfArgs
def addSim_tfArgs(parser)
Add arguments used only by ISF-based simulation jobs.
Definition: simTrfArgs.py:146
python.SimTransformUtils.addAtlasG4Substep
def addAtlasG4Substep(executorSet)
Definition: SimTransformUtils.py:106
python.SimTransformUtils.addCommonSimDigArguments
def addCommonSimDigArguments(parser)
Add Argument Methods.
Definition: SimTransformUtils.py:11
python.SimTransformUtils.addHITSValidArguments
def addHITSValidArguments(parser)
Definition: SimTransformUtils.py:58
python.SimTransformUtils.addPureSimulationArguments
def addPureSimulationArguments(parser)
Definition: SimTransformUtils.py:23
python.SimTransformUtils.appendDigitizationSubstep
def appendDigitizationSubstep(trf)
Definition: SimTransformUtils.py:191
python.simTrfArgs.addRDOValidArgs
def addRDOValidArgs(parser)
Add RDO validation transform arguments.
Definition: simTrfArgs.py:246
python.SimTransformUtils.addSimulationArguments
def addSimulationArguments(parser)
Definition: SimTransformUtils.py:42
python.simTrfArgs.addForwardDetTrfArgs
def addForwardDetTrfArgs(parser)
Add Forward Detector transform arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:13
python.SimTransformUtils.addDigitizationSubstep
def addDigitizationSubstep(executorSet, in_reco_chain=False)
Definition: SimTransformUtils.py:132
python.SimTransformUtils.appendAtlasG4Substep
def appendAtlasG4Substep(trf)
Definition: SimTransformUtils.py:163
python.SimTransformUtils.appendConfigurableSimSubstep
def appendConfigurableSimSubstep(trf, confName='AtlasG4Tf', extraSkeleton=[], confSubstep='sim', confInData=['NULL', 'EVNT'], confOutData=['EVNT_TR', 'HITS', 'NULL'], confExtraRunargs=None, confRuntimeRunargs=None)
Definition: SimTransformUtils.py:177
python.simTrfArgs.addBasicDigiArgs
def addBasicDigiArgs(parser)
Add Basic digitization arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:35
python.SimTransformUtils.addAtlasG4Arguments
def addAtlasG4Arguments(parser)
Definition: SimTransformUtils.py:46
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:232
python.SimTransformUtils.addDigiValidationSubstep
def addDigiValidationSubstep(executorSet)
Definition: SimTransformUtils.py:152
python.simTrfArgs.addSimIOTrfArgs
def addSimIOTrfArgs(parser)
Add common Simulation transform arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:169
python.trfUtils.releaseIsOlderThan
def releaseIsOlderThan(major, minor=None)
Test (to the best of our knowledge) if the current release is older than a major, minor version numbe...
Definition: trfUtils.py:261
python.SimTransformUtils.appendHITSMergeSubstep
def appendHITSMergeSubstep(trf)
Definition: SimTransformUtils.py:186
python.SimTransformUtils.appendConfigurableSimTRInSubstep
def appendConfigurableSimTRInSubstep(trf, confName='AtlasG4TfTRIn', extraSkeleton=[], confSubstep='simTRIn', confInData=['EVNT_TR'], confOutData=['HITS', 'NULL'], confExtraRunargs=None, confRuntimeRunargs=None)
Definition: SimTransformUtils.py:168
python.SimTransformUtils.addSimulationSubstep
def addSimulationSubstep(executorSet, overlayTransform=False)
Add Sub-step Methods.
Definition: SimTransformUtils.py:71
python.SimTransformUtils.addStandardHITSMergeSubstep
def addStandardHITSMergeSubstep(executorSet)
Definition: SimTransformUtils.py:126
PyJobTransforms.trfExe
Transform execution functions.
python.simTrfArgs.addHITSValidArgs
def addHITSValidArgs(parser)
Add HITS validation transform arguments.
Definition: simTrfArgs.py:233
python.SimTransformUtils.addRDOValidArguments
def addRDOValidArguments(parser)
Definition: SimTransformUtils.py:63
PyJobTransforms.trfUtils
Transform utility functions.
python.SimTransformUtils.appendSimulationSubstep
def appendSimulationSubstep(trf)
Append Sub-step Methods.
Definition: SimTransformUtils.py:158
python.simTrfArgs.addPileUpTrfArgs
def addPileUpTrfArgs(parser)
Add Pile-up related transform arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:73
python.SimTransformUtils.addDigitizationArguments
def addDigitizationArguments(parser)
Definition: SimTransformUtils.py:54
python.SimTransformUtils.addHITSMergeArguments
def addHITSMergeArguments(parser)
Definition: SimTransformUtils.py:50
python.simTrfArgs.addCosmicsTrfArgs
def addCosmicsTrfArgs(parser)
Add Cosmics related transform arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:119
python.SimTransformUtils.addCommonSimulationArguments
def addCommonSimulationArguments(parser)
Definition: SimTransformUtils.py:16
python.simTrfArgs.addTrackRecordArgs
def addTrackRecordArgs(parser)
Add arguments used by simulation jobs which may read in or write out TrackRecord files.
Definition: simTrfArgs.py:132
python.simTrfArgs.addReSimulationArgs
def addReSimulationArgs(parser)
Add Re-simulation transform arguments.
Definition: simTrfArgs.py:222
python.SimTransformUtils.addConfigurableSimSubstep
def addConfigurableSimSubstep(executorSet, confName, extraSkeleton, confSubStep, confInData, confOutData, confExtraRunargs, confRuntimeRunargs)
Definition: SimTransformUtils.py:119