6Definitions of additional validation steps in Trigger ART tests relevant only for TrigInDetValidation
7The main common check steps are defined in the TrigValSteering.CheckSteps module.
14from TrigValTools.TrigValSteering.ExecStep
import ExecStep
15from TrigValTools.TrigValSteering.Step
import Step
16from TrigValTools.TrigValSteering.CheckSteps
import RefComparisonStep
17from TrigValTools.TrigValSteering.Common
import find_file
18from AthenaCommon.Utils.unixtools
import FindFile
19from AthenaConfiguration.TestDefaults
import defaultConditionsTags
27 def __init__(self, name='TrigInDetReco', postinclude_file='', preinclude_file=''):
28 ExecStep.__init__(self, name)
34 self.concurrent_events = 1
36 self.timeout = 18*3600
38 self.preexec_trig =
''
39 self.postinclude_trig = postinclude_file
40 self.preinclude_trig = preinclude_file
41 self.release =
'current'
42 self.preexec_reco =
';'.join([
43 'flags.Reco.EnableEgamma=True',
44 'flags.Reco.EnableCombinedMuon=True',
45 'flags.Reco.EnableJet=False',
46 'flags.Reco.EnableMet=False',
47 'flags.Reco.EnableBTagging=False',
48 'flags.Reco.EnablePFlow=False',
49 'flags.Reco.EnableTau=False',
50 'flags.Reco.EnablePostProcessing=False',
52 self.preexec_all =
';'.join([
53 'flags.Trigger.AODEDMSet=\'ESD\'',
55 self.postexec_trig =
''
56 self.postexec_reco =
''
57 self.args =
'--outputAODFile=AOD.pool.root --steering "doRDO_TRIG"'
60 if ( self.postinclude_trig !=
'' ) :
61 print(
"postinclude_trig: ", self.postinclude_trig )
63 if ( self.preinclude_trig !=
'' ) :
64 print(
"preinclude_trig: ", self.preinclude_trig )
68 from TrigInDetValidation.Chains
import Chains
70 self.preexec_trig += tc.get_compiled_flag_str(self.slices)
75 if (self.release !=
'current'):
78 DVERSION=os.getenv(
'Athena_VERSION')
79 if (self.release ==
'latest'):
80 if ( DVERSION
is None ) :
83 AVERSION=
str(subprocess.Popen([
"getrelease.sh",DVERSION],stdout=subprocess.PIPE).communicate()[0],
'utf-8')
85 print(
"cannot get last stable release - will use current release" )
87 AVERSION = self.release
92 self.args +=
' --asetup "RAWtoALL:Athena,'+AVERSION+
'" '
93 print(
"remapping athena base release version for offline Reco steps: ", DVERSION,
" -> ", AVERSION )
95 print(
"Using current release for offline Reco steps " )
97 if self.preexec_trig !=
'' or self.preexec_reco !=
'' or self.preexec_all !=
'':
98 self.args +=
' --preExec'
99 if self.preexec_trig !=
'':
100 self.args +=
' "RDOtoRDOTrigger:{:s};"'.format(self.preexec_trig)
101 if self.preexec_reco !=
'':
102 self.args +=
' "RAWtoALL:{:s};"'.format(self.preexec_reco)
103 if self.preexec_all !=
'':
104 self.args +=
' "all:{:s};"'.format(self.preexec_all)
105 if self.postexec_trig !=
'' or self.postexec_reco !=
'':
106 self.args +=
' --postExec'
107 if self.postexec_trig !=
'':
108 self.args +=
' "RDOtoRDOTrigger:{:s};"'.format(self.postexec_trig)
109 if self.postexec_reco !=
'':
110 self.args +=
' "RAWtoALL:{:s};"'.format(self.postexec_reco)
111 if (self.postinclude_trig !=
''):
112 self.args +=
' --postInclude "{:s}"'.format(self.postinclude_trig)
113 if (self.preinclude_trig !=
''):
114 self.args +=
' --preInclude "{:s}"'.format(self.preinclude_trig)
115 super(TrigInDetReco, self).
configure(test)
123 def __init__(self, name='TrigInDetAna', extraArgs=None):
124 ExecStep.__init__(self, name )
127 self.
args =
' -m TrigInDetValidation.TrigInDetValidation_AODtoTrkNtuple_CA '
133 if extraArgs
is not None:
134 self.
args += extraArgs
143 super(TrigCostStep, self).
__init__(name)
147 self.
args =
' --monitorChainAlgorithm --MCCrossSection=0.5 Input.Files=\'["tmp.RDO_TRIG"]\' '
157 ExecStep.__init__(self, name)
169 self.
args =
'-c "setMenu=\'Cosmic_run3_v1\';doCosmics=True;doL1Sim=False;forceEnableAllChains=True;"'
170 self.
args =
'-c "flags.Trigger.forceEnableAllChains=True;flags.Trigger.triggerMenuSetup=\'Cosmic_run3_v1\';from AthenaConfiguration.Enums import BeamType;flags.Beam.Type=BeamType.Cosmics;"'
171 self.
args +=
' -o output'
180 super(TrigTZReco, self).
__init__(name)
182 tzrecoPreExec =
' '.join([
183 "flags.Trigger.triggerMenuSetup=\'Cosmic_run3_v1\';",
184 "flags.Trigger.AODEDMSet=\'AODFULL\';",
191 self.
args =
'--inputBSFile=' + find_file(
'*.physics_Main.*.data')
192 self.
args +=
' --outputAODFile=AOD.pool.root'
193 self.
args += f
' --conditionsTag="{defaultConditionsTags.RUN3_DATA23}" --geometryVersion=\'ATLAS-R3S-2021-03-02-00\''
194 self.
args +=
' --preExec="{:s}"'.format(tzrecoPreExec)
204 Execute TIDArdict for TrkNtuple files.
206 def __init__(self, name='TrigInDetdict', args=None, testbin='Test_bin.dat', config=False ):
207 super(TrigInDetRdictStep, self).
__init__(name)
208 self.
args=args +
" -b " + testbin +
" "
217 os.system(
'get_files -data TIDAbeam.dat &> /dev/null' )
218 os.system(
'get_files -data Test_bin.dat &> /dev/null' )
219 os.system(
'get_files -data Test_bin_larged0.dat &> /dev/null' )
220 os.system(
'get_files -data Test_bin_lrt.dat &> /dev/null' )
221 os.system(
'get_files -data TIDAdata-run3.dat &> /dev/null' )
222 os.system(
'get_files -data TIDAdata-run3-larged0.dat &> /dev/null' )
223 os.system(
'get_files -data TIDAdata-run3-larged0-el.dat &> /dev/null' )
224 os.system(
'get_files -data TIDAdata-run3-lrt.dat &> /dev/null' )
225 os.system(
'get_files -data TIDAdata-run3-fslrt.dat &> /dev/null' )
226 os.system(
'get_files -data TIDAdata-run3-minbias.dat &> /dev/null' )
227 os.system(
'get_files -data TIDAdata_cuts.dat &> /dev/null' )
228 os.system(
'get_files -data TIDAdata-run3-offline.dat &> /dev/null' )
229 os.system(
'get_files -data TIDAdata-run3-offline-rzMatcher.dat &> /dev/null' )
230 os.system(
'get_files -data TIDAdata-run3-offline-vtxtrack.dat &> /dev/null' )
231 os.system(
'get_files -data TIDAdata-run3-offline-larged0.dat &> /dev/null' )
232 os.system(
'get_files -data TIDAdata-run3-offline-larged0-el.dat &> /dev/null' )
233 os.system(
'get_files -data TIDAdata-run3-offline-lrt.dat &> /dev/null' )
234 os.system(
'get_files -data TIDAdata-run3-offline-fslrt.dat &> /dev/null' )
235 os.system(
'get_files -data TIDAdata-run3-offline-vtx.dat &> /dev/null' )
236 os.system(
'get_files -data TIDAdata-run3-minbias-offline.dat &> /dev/null' )
237 os.system(
'get_files -data TIDAdata-run3-offline-cosmic.dat &> /dev/null' )
238 os.system(
'get_files -data TIDAdata_cuts-offline.dat &> /dev/null' )
239 os.system(
'get_files -data TIDAdata-chains-run3.dat &> /dev/null' )
240 os.system(
'get_files -data TIDAdata-chains-run3-lrt.dat &> /dev/null' )
241 os.system(
'get_files -data TIDAdata-run4.dat &> /dev/null' )
242 os.system(
'get_files -data TIDAdata-run4-offline.dat &> /dev/null' )
243 os.system(
'get_files -data TIDAdata-run4-offline-vtx.dat &> /dev/null' )
244 super(TrigInDetRdictStep, self).
configure(test)
248 json_file =
'TrigInDetValidation/comparitor.json'
249 json_fullpath = FindFile(json_file, os.environ[
'DATAPATH'].
split(os.pathsep), os.R_OK)
251 if not json_fullpath:
252 print(
'Failed to determine full path for input JSON %s', json_file)
255 with open(json_fullpath)
as f:
258 except json.decoder.JSONDecodeError
as e:
259 print(f
"Failed to load json file {json_fullpath}")
262 chainmap = data[slice]
264 return chainmap[
'chains']
270 Execute TIDAcomparitor for data.root files.
272 def __init__( self, name='TrigInDetComp', slice=None, args=None, file=None ):
273 super(TrigInDetCompStep, self).
__init__(name)
281 os.system(
'get_files -data TIDAhisto-panel.dat &> /dev/null' )
282 os.system(
'get_files -data TIDAhisto-panel-vtx.dat &> /dev/null' )
283 os.system(
'get_files -data TIDAhistos-vtx.dat &> /dev/null' )
284 os.system(
'get_files -data TIDAhisto-panel-TnP.dat &> /dev/null' )
285 os.system(
'get_files -data TIDAhisto-tier0.dat &> /dev/null' )
286 os.system(
'get_files -data TIDAhisto-tier0-vtx.dat &> /dev/null' )
287 os.system(
'get_files -data TIDAhisto-tier0-TnP.dat &> /dev/null' )
290 RefComparisonStep.configure(self, test)
291 if self.reference
is None :
297 print(
"\033[0;32mTIDAcomparitor "+self.
args+
" \033[0m" )
298 Step.configure(self, test)
305 Execute TIDAcpucost for data.root files.
307 def __init__( self, name='TrigInDetCpuCost', outdir=None, infile=None, extra=None ):
308 super(TrigInDetCpuCostStep, self).
__init__(name)
319 RefComparisonStep.configure(self, test)
320 if self.reference
is None :
324 Step.configure(self, test)
void print(char *figname, TCanvas *c1)
__init__(self, name='TrigCostStep')
Additional exec (athena) steps - AOD to TrkNtuple.
__init__(self, name='TrigInDetAna', extraArgs=None)
__init__(self, name='TrigInDetComp', slice=None, args=None, file=None)
__init__(self, name='TrigInDetCpuCost', outdir=None, infile=None, extra=None)
__init__(self, name='TrigInDetdict', args=None, testbin='Test_bin.dat', config=False)
__init__(self, name='TrigInDetRecoData')
Exec (athena) steps for Reco_tf.
__init__(self, name='TrigInDetReco', postinclude_file='', preinclude_file='')
__init__(self, name='TrigTZReco')
std::vector< std::string > split(const std::string &s, const std::string &t=":")