ATLAS Offline Software
Loading...
Searching...
No Matches
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
5import logging
6msg = logging.getLogger(__name__)
7
8from PyJobTransforms.trfExe import athenaExecutor
9
10
12 from SimuJobTransforms.simTrfArgs import addForwardDetTrfArgs, addCommonSimDigTrfArgs
13 addCommonSimDigTrfArgs(parser)
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
51 from SimuJobTransforms.simTrfArgs import addHITSMergeArgs
52 addHITSMergeArgs(parser)
53
59 from SimuJobTransforms.simTrfArgs import addHITSValidArgs, addCommonSimDigTrfArgs
60 addHITSValidArgs(parser)
61 addCommonSimDigTrfArgs(parser)
62
64 from SimuJobTransforms.simTrfArgs import addRDOValidArgs, addCommonSimDigTrfArgs
65 addRDOValidArgs(parser)
66 addCommonSimDigTrfArgs(parser)
67
68
71def 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
94def 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
106def 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
119def 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
132def 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
146def addSimValidationSubstep(executorSet):
147 executorSet.add(athenaExecutor(name = 'SimValidation',
148 skeletonCA='SimuJobTransforms.HITtoHIST_SIM_Skeleton',
149 inData = ['HITS'], outData = ['HIST_SIM'],))
150
151
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
168def 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
177def 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)
STL class.
Transform execution functions.
Transform utility functions.
addCommonSimDigArguments(parser)
Add Argument Methods.
appendConfigurableSimSubstep(trf, confName='AtlasG4Tf', extraSkeleton=[], confSubstep='sim', confInData=['NULL', 'EVNT'], confOutData=['EVNT_TR', 'HITS', 'NULL'], confExtraRunargs=None, confRuntimeRunargs=None)
addSimulationSubstep(executorSet, overlayTransform=False)
Add Sub-step Methods.
appendConfigurableSimTRInSubstep(trf, confName='AtlasG4TfTRIn', extraSkeleton=[], confSubstep='simTRIn', confInData=['EVNT_TR'], confOutData=['HITS', 'NULL'], confExtraRunargs=None, confRuntimeRunargs=None)
addDigitizationSubstep(executorSet, in_reco_chain=False)
addStandardHITSMergeSubstep(executorSet)
appendSimulationSubstep(trf)
Append Sub-step Methods.
addConfigurableSimSubstep(executorSet, confName, extraSkeleton, confSubStep, confInData, confOutData, confExtraRunargs, confRuntimeRunargs)