ATLAS Offline Software
Classes | Functions | Variables
python.TrigInDetArtSteps Namespace Reference

Classes

class  TrigBSExtr
 
class  TrigCostStep
 
class  TrigInDetAna
 Additional exec (athena) steps - AOD to TrkNtuple. More...
 
class  TrigInDetCompStep
 
class  TrigInDetCpuCostStep
 
class  TrigInDetRdictStep
 
class  TrigInDetReco
 Exec (athena) steps for Reco_tf. More...
 
class  TrigInDetRecoData
 
class  TrigTZReco
 

Functions

def configure (self, test)
 
def json_chains (slice)
 

Variables

 type
 super(TrigInDetReco, self).__init__(name) More...
 
 max_events
 
 required
 
 threads
 
 concurrent_events
 
 perfmon
 
 timeout
 
 slices
 
 preexec_trig
 
 postinclude_trig
 
 preinclude_trig
 
 release
 
 preexec_reco
 
 _isCA
 
 preexec_all
 
 postexec_trig
 
 postexec_reco
 
 args
 

Function Documentation

◆ configure()

def python.TrigInDetArtSteps.configure (   self,
  test 
)

Definition at line 77 of file TrigInDetArtSteps.py.

77  def configure(self, test):
78  chains = '['
79  flags = ''
80  for i in self.slices:
81  if (i=='L2muonLRT') :
82  chains += "'HLT_mu20_LRT_idperf_L1MU14FCH',"
83  chains += "'HLT_mu6_LRT_idperf_L1MU5VF',"
84  chains += "'HLT_mu6_idperf_L1MU5VF',"
85  chains += "'HLT_mu24_idperf_L1MU14FCH',"
86  flags += "'Muon'," if self._isCA else 'doMuonSlice=True;'
87  if (i=='FSLRT') :
88  chains += "'HLT_fslrt0_L1J100',"
89  flags += "'UnconventionalTracking'," if self._isCA else 'doUnconventionalTrackingSlice=True;'
90  if (i=='muon') :
91  chains += "'HLT_mu6_idperf_L1MU5VF',"
92  chains += "'HLT_mu24_idperf_L1MU14FCH',"
93  chains += "'HLT_mu26_ivarperf_L1MU14FCH',"
94  flags += "'Muon'," if self._isCA else 'doMuonSlice=True;'
95  if (i=='muon-tnp') :
96  chains += "'HLT_mu14_mu14_idtp_idZmumu_L12MU8F',"
97  chains += "'HLT_mu14_mu14_idperf_50invmAB130_L12MU8F',"
98  flags += "'Muon'," if self._isCA else 'doMuonSlice=True;'
99  if (i=='L2electronLRT') :
100  chains += "'HLT_e20_idperf_loose_lrtloose_L1eEM18L',"
101  chains += "'HLT_e30_idperf_loose_lrtloose_L1eEM26M',"
102  chains += "'HLT_e26_lhtight_ivarloose_e5_idperf_loose_lrtloose_probe_L1eEM26M',"
103  chains += "'HLT_e5_idperf_loose_lrtloose_probe_g25_medium_L1eEM24L',"
104  flags += "'Egamma'," if self._isCA else 'doEgammaSlice=True;'
105  if (i=='electron') :
106  # chains += "'HLT_e5_etcut_L1EM3'," ## need an idperf chain once one is in the menu
107  # chains += "'HLT_e17_lhvloose_nod0_L1EM15VH',"
108  # chains += "'HLT_e26_idperf_gsf_tight_L1EM22VHI',"
109  chains += "'HLT_e26_idperf_loose_L1eEM26M',"
110  chains += "'HLT_e5_idperf_tight_L1EM3',"
111  flags += "'Egamma'," if self._isCA else 'doEgammaSlice=True;'
112  if (i=='electron-tnp') :
113  chains += "'HLT_e26_lhtight_e14_idperf_tight_probe_50invmAB130_L1eEM26M',"
114  chains += "'HLT_e26_lhtight_e14_idperf_tight_nogsf_probe_50invmAB130_L1eEM26M',"
115  flags += "'Egamma'," if self._isCA else 'doEgammaSlice=True;'
116  if (i=='tau') :
117  chains += "'HLT_tau25_idperf_tracktwoMVA_L1TAU12IM',"
118  chains += "'HLT_mu24_ivarmedium_tau25_idperf_tracktwoMVA_probe_03dRAB_L1MU14FCH',"
119  flags += "'Tau'," if self._isCA else 'doTauSlice=True;'
120  if (i=='tauLRT') :
121  chains += "'HLT_tau25_idperf_tracktwoMVA_L1TAU12IM',"
122  chains += "'HLT_tau25_idperf_tracktwoLLP_L1TAU12IM',"
123  chains += "'HLT_tau25_idperf_trackLRT_L1TAU12IM',"
124  flags += "'Tau'," if self._isCA else 'doTauSlice=True;'
125  if (i=='bjet') :
126 # chains += "'HLT_j80_pf_ftf_preselj20b95_L1J20',"
127  chains += "'HLT_j20_roiftf_preselj20_L1RD0_FILLED',"
128  chains += "'HLT_j45_pf_ftf_preselj20_L1jJ40',"
129 # chains += "'HLT_j45_subjesgscIS_ftf_boffperf_split_L1J20',"
130  chains += "'HLT_j45_0eta290_020jvt_boffperf_pf_ftf_L1J20',"
131 # chains += "'HLT_j75_0eta290_020jvt_bdl1r60_3j75_pf_ftf_preselj50b85XX3j50_L14J20',"
132  chains += "'HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bdl1d77_pf_ftf_presel2c20XX2c20b85_L1J45p0ETA21_3J15p0ETA25',"
133  flags += "'Bjet'," if self._isCA else 'doBjetSlice=True;'
134  if ( i=='fsjet' or i=='fs' or i=='jet' ) :
135  chains += "'HLT_j45_pf_ftf_preselj20_L1J15',"
136  flags += "'Jet'," if self._isCA else 'doJetSlice=True;'
137  if (i=='beamspot') :
138  chains += "'HLT_beamspot_allTE_trkfast_BeamSpotPEB_L1J15','HLT_beamspot_trkFS_trkfast_BeamSpotPEB_L1J15',"
139  flags += "'Beamspot'," if self._isCA else 'doBeamspotSlice=True;'
140  if (i=='minbias') :
141  chains += "'HLT_mb_sptrk_L1RD0_FILLED',"
142  if self._isCA:
143  flags += "'MinBias',"
144  self.preexec_trig += "flags.Trigger.triggerMenuSetup='PhysicsP1_pp_lowMu_run3_v1';"
145  else:
146  flags += "doMinBiasSlice=True;setMenu='PhysicsP1_pp_lowMu_run3_v1';"
147  if (i=='cosmic') :
148  chains += "'HLT_mu4_cosmic_L1MU3V_EMPTY'"
149  if self._isCA:
150  flags += "'Muon','Cosmic',"
151  self.preexec_trig+= "flags.Trigger.triggerMenuSetup='Cosmic_run3_v1';"
152  else:
153  flags += "doMuonSlice=True;doCosmics=True;setMenu='Cosmic_run3_v1';"
154  if (i=='bphys') :
155  chains += "'HLT_mu6_idperf_L1MU5VF',"
156  chains += "'HLT_2mu4_bBmumux_BsmumuPhi_L12MU3V',"
157  chains += "'HLT_mu11_mu6_bBmumux_Bidperf_L1MU8VF_2MU5VF',"
158  flags += "'Muon','Bphysics'," if self._isCA else 'doMuonSlice=True;doBphysicsSlice=True;'
159  if ( flags=='' ) :
160  print( "ERROR: no chains configured" )
161 
162  chains += ']'
163  if self._isCA:
164  self.preexec_trig += "flags.Trigger.enabledSignatures=[" + flags + "];flags.Trigger.selectChains="+chains
165  else:
166  self.preexec_trig += 'doEmptyMenu=True;'+flags+'selectChains='+chains
167 
168  AVERSION = ""
169 
171  if (self.release != 'current'):
172  # get the current atlas base release, and the previous base release
173  import os
174  DVERSION=os.getenv('Athena_VERSION')
175  if (self.release == 'latest'):
176  if ( DVERSION is None ) :
177  AVERSION = "22.0.20"
178  else:
179  AVERSION=str(subprocess.Popen(["getrelease.sh",DVERSION],stdout=subprocess.PIPE).communicate()[0],'utf-8')
180  if AVERSION == "":
181  print( "cannot get last stable release - will use current release" )
182  else:
183  AVERSION = self.release
184 
185  # would use AVERSION is not None, but the return from a shell function with no printout
186  # gets set as an empty string rather than None
187  if AVERSION != "":
188  self.args += ' --asetup "RAWtoALL:Athena,'+AVERSION+'" '
189  print( "remapping athena base release version for offline Reco steps: ", DVERSION, " -> ", AVERSION )
190  else:
191  print( "Using current release for offline Reco steps " )
192 
193  if self.preexec_trig != '' or self.preexec_reco != '' or self.preexec_all != '':
194  self.args += ' --preExec'
195  if self.preexec_trig != '':
196  self.args += ' "RDOtoRDOTrigger:{:s};"'.format(self.preexec_trig)
197  if self.preexec_reco != '':
198  self.args += ' "RAWtoALL:{:s};"'.format(self.preexec_reco)
199  if self.preexec_all != '':
200  self.args += ' "all:{:s};"'.format(self.preexec_all)
201  if self.postexec_trig != '' or self.postexec_reco != '':
202  self.args += ' --postExec'
203  if self.postexec_trig != '':
204  self.args += ' "RDOtoRDOTrigger:{:s};"'.format(self.postexec_trig)
205  if self.postexec_reco != '':
206  self.args += ' "RAWtoALL:{:s};"'.format(self.postexec_reco)
207  if (self.postinclude_trig != ''):
208  self.args += ' --postInclude "{:s}"'.format(self.postinclude_trig)
209  if (self.preinclude_trig != ''):
210  self.args += ' --preInclude "{:s}"'.format(self.preinclude_trig)
211  super(TrigInDetReco, self).configure(test)
212 
213 

◆ json_chains()

def python.TrigInDetArtSteps.json_chains (   slice)

Definition at line 356 of file TrigInDetArtSteps.py.

356 def json_chains( slice ) :
357  json_file = 'TrigInDetValidation/comparitor.json'
358  json_fullpath = FindFile(json_file, os.environ['DATAPATH'].split(os.pathsep), os.R_OK)
359 
360  if not json_fullpath:
361  print('Failed to determine full path for input JSON %s', json_file)
362  return None
363 
364  with open(json_fullpath) as f:
365  try:
366  data = json.load(f)
367  except json.decoder.JSONDecodeError as e:
368  print(f"Failed to load json file {json_fullpath}")
369  raise e
370 
371  chainmap = data[slice]
372 
373  return chainmap['chains']
374 
375 
376 

Variable Documentation

◆ _isCA

python.TrigInDetArtSteps._isCA
private

Definition at line 52 of file TrigInDetArtSteps.py.

◆ args

python.TrigInDetArtSteps.args

Definition at line 64 of file TrigInDetArtSteps.py.

◆ concurrent_events

python.TrigInDetArtSteps.concurrent_events

Definition at line 33 of file TrigInDetArtSteps.py.

◆ max_events

python.TrigInDetArtSteps.max_events

Definition at line 30 of file TrigInDetArtSteps.py.

◆ perfmon

python.TrigInDetArtSteps.perfmon

Definition at line 34 of file TrigInDetArtSteps.py.

◆ postexec_reco

python.TrigInDetArtSteps.postexec_reco

Definition at line 63 of file TrigInDetArtSteps.py.

◆ postexec_trig

python.TrigInDetArtSteps.postexec_trig

Definition at line 58 of file TrigInDetArtSteps.py.

◆ postinclude_trig

python.TrigInDetArtSteps.postinclude_trig

Definition at line 38 of file TrigInDetArtSteps.py.

◆ preexec_all

python.TrigInDetArtSteps.preexec_all

Definition at line 54 of file TrigInDetArtSteps.py.

◆ preexec_reco

python.TrigInDetArtSteps.preexec_reco

Definition at line 41 of file TrigInDetArtSteps.py.

◆ preexec_trig

python.TrigInDetArtSteps.preexec_trig

Definition at line 37 of file TrigInDetArtSteps.py.

◆ preinclude_trig

python.TrigInDetArtSteps.preinclude_trig

Definition at line 39 of file TrigInDetArtSteps.py.

◆ release

python.TrigInDetArtSteps.release

temporary hack until we get to the bottom of why the tests are really failing

self.release = 'latest'

Definition at line 40 of file TrigInDetArtSteps.py.

◆ required

python.TrigInDetArtSteps.required

Definition at line 31 of file TrigInDetArtSteps.py.

◆ slices

python.TrigInDetArtSteps.slices

Definition at line 36 of file TrigInDetArtSteps.py.

◆ threads

python.TrigInDetArtSteps.threads

Definition at line 32 of file TrigInDetArtSteps.py.

◆ timeout

python.TrigInDetArtSteps.timeout

Definition at line 35 of file TrigInDetArtSteps.py.

◆ type

python.TrigInDetArtSteps.type

super(TrigInDetReco, self).__init__(name)

Definition at line 29 of file TrigInDetArtSteps.py.

vtune_athena.format
format
Definition: vtune_athena.py:14
configure
bool configure(asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > &tool, ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > &electronEffToolsHandles, ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > &electronSFToolsHandles, ToolHandleArray< CP::IMuonTriggerScaleFactors > &muonToolsHandles, ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > &photonEffToolsHandles, ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > &photonSFToolsHandles, const std::string &triggers, const std::map< std::string, std::string > &legsPerTool, unsigned long nToys, bool debug)
Definition: TrigGlobEffCorrValidation.cxx:514
python.Utils.unixtools.FindFile
def FindFile(filename, pathlist, access)
helper -------------------------------------------------------------------—
Definition: unixtools.py:20
Trk::open
@ open
Definition: BinningType.h:40
python.TrigInDetArtSteps.json_chains
def json_chains(slice)
Definition: TrigInDetArtSteps.py:356
Muon::print
std::string print(const MuPatSegment &)
Definition: MuonTrackSteering.cxx:28
str
Definition: BTagTrackIpAccessor.cxx:11
Trk::split
@ split
Definition: LayerMaterialProperties.h:38