ATLAS Offline Software
Loading...
Searching...
No Matches
TauMenuSequences.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3from TriggerMenuMT.HLT.Config.MenuComponents import MenuSequence, SelectionCA, InViewRecoCA
4from AthenaConfiguration.ComponentFactory import CompFactory
5from AthenaConfiguration.AccumulatorCache import AccumulatorCache
6from TrigEDMConfig.TriggerEDM import recordable
7from TrigInDetConfig.utils import getFlagsForActiveConfig
8
9from AthenaCommon.Logging import logging
10log = logging.getLogger(__name__)
11
12
13# Check the ATLAS Software Docs for more details about the different sub-sequences, CAs, and details
14# about the step configuration.
15
16
17#================================================================
18# CaloMVA sequences
19#================================================================
20@AccumulatorCache
21def tauCaloMVAMenuSequenceGenCfg(flags, is_probe_leg=False):
22 '''Calorimeter-only reconstruction and hypothesis (BRT-calibrated pT cut)'''
23
24 # Reconstruction sequence CA (parOR), executting all reco algorithms within the View (from the RoI)
25 # in parallel whenever possible, according to their data dependencies.
26 # Create the EventViews based on the HLTSeeding RoIs (from the input L1 TOBs)
27 recoAcc = InViewRecoCA(name='tauCaloMVA', InViewRoIs='CaloMVA_RoIs', isProbe=is_probe_leg)
28 RoIs = recoAcc.inputMaker().InViewRoIs
29
30
31 # VDV with all the required collections/objects in the View
32 # (the VDV checks are disabled unless running with -l DEBUG)
33 Objects={
34 ('TrigRoiDescriptorCollection', f'StoreGateSvc+{RoIs}'),
35 ('xAOD::EventInfo', 'StoreGateSvc+EventInfo'),
36 ('SG::AuxElement', 'StoreGateSvc+EventInfo.actualInteractionsPerCrossing'),
37 ('SG::AuxElement', 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing'),
38 ('CaloBCIDAverage', 'StoreGateSvc+CaloBCIDAverage')
39 }
40 if ( not flags.Input.isMC ):
41 Objects.add( ('LArDeadOTXFromSC' , 'StoreGateSvc+DeadOTXFromSC' ) )
42 recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
43 name=f'{recoAcc.name}RecoVDV',
44 DataObjects=Objects
45 ))
46
47
48 # Reconstruction tools/algorithms:
49
50 # Topo-clustering
51 from TrigCaloRec.TrigCaloRecConfig import tauTopoClusteringCfg
52 recoAcc.mergeReco(tauTopoClusteringCfg(flags, RoIs=RoIs))
53
54 # Create new RoIs with an updated position, based on the central axis of the clusters
55 from TrigTauRec.TrigTauRoIToolsConfig import tauCaloRoiUpdaterCfg
56 recoAcc.mergeReco(tauCaloRoiUpdaterCfg(flags, inputRoIs=RoIs, clusters='HLT_TopoCaloClustersLC'))
57
58 # Construct the calo-only TauJet (with BRT calibration)
59 from TrigTauRec.TrigTauRecConfig import trigTauRecMergedCaloMVACfg
60 recoAcc.mergeReco(trigTauRecMergedCaloMVACfg(flags))
61
62
63 # Calo ROB prefetching, to reduce number of calls to the readout
64 from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Calo
65 robPrefetchAlg = ROBPrefetchingAlgCfg_Calo(flags, nameSuffix=f'IM_{recoAcc.name}_probe' if is_probe_leg else f'IM_{recoAcc.name}')
66
67
68 # Selection sequence CA (seqAND), executing the recoAcc view creation alg. first, the rob prefetching alg. second,
69 # the reco CA (with all the reco algs) after, and the Hypo alg. at last
70 selAcc = SelectionCA('tauCalo', isProbe=is_probe_leg)
71 selAcc.mergeReco(recoAcc, robPrefetchCA=robPrefetchAlg)
72
73
74 # Hypothesis:
75 # The Hypotools in the Hypo algorithm will execute the BRT-calibrated Tau pT cut
76 selAcc.addHypoAlgo(CompFactory.TrigTauJetHypoAlg('TauCaloMVAHypoAlg', TauJetsKey='HLT_TrigTauRecMerged_CaloMVAOnly'))
77
78
79 # Menu sequence, connecting everything internally for the step, and configuring the tools for the Hypo alg.
80 # based on the partDict for each chain tau leg
81 from TrigTauHypo.TrigTauHypoTool import TrigTauCaloMVAHypoToolFromDict
82 menuSeq = MenuSequence(flags, selAcc, HypoToolGen=TrigTauCaloMVAHypoToolFromDict)
83
84 return menuSeq
85
86
87
88#================================================================
89# 1st FTF step: FTFCore / FTFLRT
90#================================================================
91
92def _ftfCoreSeq(flags, name, is_probe_leg=False):
93 '''1st FTF step sequence, for both the tauCore and tauLRT RoIs'''
94
95 if name not in ['Core', 'LRT']:
96 raise ValueError('Invalid name')
97
98
99 # Create new RoIs from 'UpdatedCaloRoI', resized to 'tauCore/LRT' before running the FTF algorithms
100 newRoITool = CompFactory.ViewCreatorFetchFromViewROITool(
101 RoisWriteHandleKey=recordable(flags.Tracking.ActiveConfig.roi),
102 InViewRoIs='UpdatedCaloRoI',
103 doResize=True,
104 RoIEtaWidth=flags.Tracking.ActiveConfig.etaHalfWidth,
105 RoIPhiWidth=flags.Tracking.ActiveConfig.phiHalfWidth,
106 RoIZedWidth=flags.Tracking.ActiveConfig.zedHalfWidth,
107 )
108
109
110 # If we're running on tauCore RoIs, we will optionally prefetch ROBs for the larger 'tauIso' RoIs ahead of time,
111 # to avoid retrieving more detector information again later in the next step
112 from TriggerJobOpts.TriggerConfigFlags import ROBPrefetching
113 if doExtraPrefetching := name == 'Core' and ROBPrefetching.TauCoreLargeRoI in flags.Trigger.ROBPrefetchingOptions:
114 prefetchRoIUpdater = CompFactory.RoiUpdaterTool(
115 useBeamSpot=True,
116 NSigma=1.5,
117 EtaWidth=flags.Trigger.InDetTracking.tauIso.etaHalfWidth,
118 PhiWidth=flags.Trigger.InDetTracking.tauIso.phiHalfWidth,
119 ZedWidth=flags.Trigger.InDetTracking.tauIso.zedHalfWidth,
120 )
121
122 prefetchRoITool = CompFactory.ViewCreatorExtraPrefetchROITool(
123 RoiCreator=newRoITool,
124 RoiUpdater=prefetchRoIUpdater,
125 ExtraPrefetchRoIsKey=f'{newRoITool.RoisWriteHandleKey}_forPrefetching',
126 PrefetchRoIsLinkName='prefetchRoI',
127 MergeWithOriginal=True,
128 )
129
130
131 # Reconstruction sequence CA (parOR), executting all reco algorithms within the View (from the RoI)
132 # in parallel whenever possible, according to their data dependencies.
133 # Create the EventViews from the resized RoIs, based on the 'UpdatedCaloRoI' created in the CaloMVA step
134 recoAcc = InViewRecoCA(
135 f'tauFastTrack{name}',
136 RoITool=prefetchRoITool if doExtraPrefetching else newRoITool,
137 ViewFallThrough=True,
138 RequireParentView=True,
139 mergeUsingFeature=True,
140 isProbe=is_probe_leg
141 )
142 RoIs = recoAcc.inputMaker().InViewRoIs
143
144
145 # VDV with all the required collections/objects in the View
146 # (the VDV checks are disabled unless running with -l DEBUG)
147 recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
148 name=f'{recoAcc.name}RecoVDV',
149 DataObjects={
150 ('TrigRoiDescriptorCollection', f'StoreGateSvc+{RoIs}'),
151 }
152 ))
153
154
155 # Reconstruction tools/algorithms:
156
157 # Fast Track Finder (FTF) sequence (the main point of this step)
158 from TrigInDetConfig.TrigInDetConfig import trigInDetFastTrackingCfg
159 recoAcc.mergeReco(trigInDetFastTrackingCfg(flags, roisKey=RoIs, signatureName=f'tau{name}'))
160
161 # Create new RoIs for the next tracking steps (FTFIso and PrecTrack), based on the found tracks
162 TrackCollection = flags.Tracking.ActiveConfig.tracks_FTF
163
164 if name == 'Core':
165 from TrigTauRec.TrigTauRoIToolsConfig import tauTrackRoiUpdaterCfg
166 recoAcc.mergeReco(tauTrackRoiUpdaterCfg(flags, inputRoIs=RoIs, tracks=TrackCollection))
167 elif name == 'LRT':
168 from TrigTauRec.TrigTauRoIToolsConfig import tauLRTRoiUpdaterCfg
169 recoAcc.mergeReco(tauLRTRoiUpdaterCfg(flags, inputRoIs=RoIs, tracks=TrackCollection))
170
171
172 # ROB prefetching for the Pixel and SCT data
173 from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Si
174 robPrefetchAlg = ROBPrefetchingAlgCfg_Si(flags, nameSuffix=f'IM_{recoAcc.name}')
175 if doExtraPrefetching:
176 robPrefetchAlg.RoILinkName = prefetchRoITool.PrefetchRoIsLinkName
177
178
179 # Selection sequence CA (seqAND), executing the recoAcc view creation alg. first, the rob prefetching alg. second,
180 # the reco CA (with all the reco algs) after, and the Hypo alg. at last
181 selAcc = SelectionCA(f'tauFTF{name}', isProbe=is_probe_leg)
182 selAcc.mergeReco(recoAcc, robPrefetchCA=robPrefetchAlg)
183
184
185 # Hypothesis:
186 # The hypothesis algorithm/tool does not perform any action (online monitoring of tracks only)
187 selAcc.addHypoAlgo(CompFactory.TrigTauTrackingHypoAlg(
188 f'TauFastTrackHypoAlg_PassBy{name}',
189 RoIKey='UpdatedTrackLRTRoI' if name == 'LRT' else '',
190 TracksKey=TrackCollection
191 ))
192
193
194 # Menu sequence, connecting everything internally for the step, and configuring the tools for the Hypo alg.
195 # based on the partDict for each chain tau leg
196 from TrigTauHypo.TrigTauHypoTool import TrigTauTrackingHypoToolFromDict
197 menuSeq = MenuSequence(flags, selAcc, HypoToolGen=TrigTauTrackingHypoToolFromDict)
198
199 return menuSeq
200
201
202@AccumulatorCache
203def tauFTFTauCoreSequenceGenCfg(flags, is_probe_leg=False):
204 # Retrieve 'tauCore' RoI tracking configuration
205 newflags = getFlagsForActiveConfig(flags, 'tauCore', log)
206
207 return _ftfCoreSeq(newflags, name='Core', is_probe_leg=is_probe_leg)
208
209
210@AccumulatorCache
211def tauFTFTauLRTSequenceGenCfg(flags, is_probe_leg=False):
212 # Retrieve 'tauLRT' RoI tracking configuration
213 newflags = getFlagsForActiveConfig(flags, 'tauLRT', log)
214
215 return _ftfCoreSeq(newflags, name='LRT', is_probe_leg=is_probe_leg)
216
217
218
219#================================================================
220# 2nd FTF step: FTFIso
221#================================================================
222
223def _ftfTauIsoSeq(flags, name, is_probe_leg=False):
224 '''2nd FTF step sequence, for the tauIso RoI'''
225
226 if name not in ['Iso']:
227 raise ValueError('Invalid name')
228
229
230 # Create new RoIs from , resized to 'tauCore/LRT' before running the FTF algorithms
231 newRoITool = CompFactory.ViewCreatorFetchFromViewROITool(
232 RoisWriteHandleKey=recordable(flags.Tracking.ActiveConfig.roi),
233 InViewRoIs='UpdatedTrackRoI'
234 )
235
236
237 # Reconstruction sequence CA (parOR), executting all reco algorithms within the View (from the RoI)
238 # in parallel whenever possible, according to their data dependencies.
239 # Create the EventViews based on the RoIs created in the previous step
240 recoAcc = InViewRecoCA(
241 f'tauFastTrack{name}',
242 RoITool=newRoITool,
243 RequireParentView=True,
244 ViewFallThrough=True,
245 isProbe=is_probe_leg
246 )
247 RoIs = recoAcc.inputMaker().InViewRoIs
248
249
250 # VDV with all the required collections/objects in the View
251 # (the VDV checks are disabled unless running with -l DEBUG)
252 inputTracks = flags.Trigger.ActsTracking.tauCore.tracks_FTF if flags.Trigger.useActsTracking \
253 else flags.Trigger.InDetTracking.tauCore.tracks_FTF
254 recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
255 name=f'{recoAcc.name}RecoVDV',
256 DataObjects={
257 ('TrigRoiDescriptorCollection', f'StoreGateSvc+{RoIs}'),
258 ('xAOD::TrackParticleContainer', f'StoreGateSvc+{inputTracks}' ),
259 }
260 ))
261
262
263 # Reconstruction tools/algorithms:
264
265 # Fast Track Finder (FTF) sequence (the main point of this step)
266 from TrigInDetConfig.TrigInDetConfig import trigInDetFastTrackingCfg
267 recoAcc.mergeReco(trigInDetFastTrackingCfg(flags, roisKey=RoIs, signatureName=f'tau{name}'))
268
269
270 # ROB prefetching for the Pixel and SCT data
271 # Note: if enabled in the config flags, the tauIso RoI would have already been prefetched in the previous step
272 # through the 'extra prefetching' procedure, so we can skip it
273 from TriggerJobOpts.TriggerConfigFlags import ROBPrefetching
274 if name == 'Iso' and ROBPrefetching.TauCoreLargeRoI in flags.Trigger.ROBPrefetchingOptions:
275 robPrefetchAlg = None
276 else:
277 from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Si
278 robPrefetchAlg = ROBPrefetchingAlgCfg_Si(flags, nameSuffix=f'IM_{recoAcc.name}')
279
280 # Selection sequence CA (seqAND), executing the recoAcc view creation alg. first, the rob prefetching alg. second (if enabled),
281 # the reco CA (with all the reco algs) after, and the Hypo alg. at last
282 selAcc = SelectionCA(f'tauFTF{name}', isProbe=is_probe_leg)
283 selAcc.mergeReco(recoAcc, robPrefetchCA=robPrefetchAlg)
284
285
286 # Hypothesis:
287 # The hypothesis algorithm/tool does not perform any action (debug logging of number of tracks only)
288 selAcc.addHypoAlgo(CompFactory.TrigTauTrackingHypoAlg(
289 f'TauFastTrackHypoAlg_PassBy{name}',
290 TracksKey=flags.Tracking.ActiveConfig.tracks_FTF,
291 ))
292
293
294 # Menu sequence, connecting everything internally for the step, and configuring the tools for the Hypo alg.
295 # based on the partDict for each chain tau leg
296 from TrigTauHypo.TrigTauHypoTool import TrigTauTrackingHypoToolFromDict
297 menuSeq = MenuSequence(flags, selAcc, HypoToolGen=TrigTauTrackingHypoToolFromDict)
298
299 return menuSeq
300
301
302@AccumulatorCache
303def tauFTFTauIsoSequenceGenCfg(flags, is_probe_leg=False):
304 # Retrieve 'tauIso' RoI tracking configuration
305 newflags = getFlagsForActiveConfig(flags, 'tauIso', log)
306
307 return _ftfTauIsoSeq(newflags, name='Iso', is_probe_leg=is_probe_leg)
308
309
310
311#================================================================
312# Precision Tracking step
313#================================================================
314
315def _precTrackSeq(flags, name, is_probe_leg=False):
316 '''Precision Tracking step sequence, for both the tauIso and tauLRT RoIs'''
317
318 if name not in ['Iso', 'LRT']:
319 raise ValueError('Invalid name')
320
321
322 # Reconstruction sequence CA (parOR), executting all reco algorithms within the View (from the RoI)
323 # in parallel whenever possible, according to their data dependencies.
324 # Create the EventViews based on the RoIs created in the previous steps (tauIso and tauLRT)
325 recoAcc = InViewRecoCA(
326 name=f'tauPrecTrack{name}',
327 RoITool=CompFactory.ViewCreatorPreviousROITool(),
328 InViewRoIs=f'tauFastTrack{name}',
329 RequireParentView=True,
330 ViewFallThrough=True,
331 isProbe=is_probe_leg,
332 )
333 RoIs = recoAcc.inputMaker().InViewRoIs
334
335
336 # VDV with all the required collections/objects in the View
337 # (the VDV checks are disabled unless running with -l DEBUG)
338 recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
339 name=f'{recoAcc.name}RecoVDV',
340 DataObjects={
341 ('TrigRoiDescriptorCollection', f'StoreGateSvc+{RoIs}'),
342 ('SG::AuxElement', 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing'),
343 }
344 ))
345
346
347 # Reconstruction tools/algorithms:
348
349 # Precision Tracking sequence (track extension to the TRT and refitting)
350 from TrigInDetConfig.TrigInDetConfig import trigInDetPrecisionTrackingCfg
351 recoAcc.mergeReco(trigInDetPrecisionTrackingCfg(flags, rois=RoIs, signatureName=f'tau{name}'))
352
353 # Vertexing sequence
354 from TrigInDetConfig.TrigInDetConfig import trigInDetVertexingCfg
355 recoAcc.mergeReco(trigInDetVertexingCfg(flags, flags.Tracking.ActiveConfig.tracks_IDTrig, flags.Tracking.ActiveConfig.vertex))
356
357
358 # Selection sequence CA (seqAND), executing the recoAcc view creation alg. first,
359 # the reco CA (with all the reco algs) after, and the Hypo alg. at last
360 # Note: no need to prefetch anything from Pixel or SCT, since we already prefetched
361 # all the necesary information in the previous step
362 selAcc = SelectionCA(f'tauPT{name}', isProbe=is_probe_leg)
363 selAcc.mergeReco(recoAcc)
364
365
366 # Hypothesis:
367 # The hypothesis algorithm/tool does not perform any action (debug logging of number of tracks only)
368 selAcc.addHypoAlgo(CompFactory.TrigTauTrackingHypoAlg(
369 f'TauPrecTrackHypoAlg_PassBy{name}',
370 TracksKey=flags.Tracking.ActiveConfig.tracks_IDTrig,
371 ))
372
373
374 # Menu sequence, connecting everything internally for the step, and configuring the tools for the Hypo alg.
375 # based on the partDict for each chain tau leg
376 from TrigTauHypo.TrigTauHypoTool import TrigTauTrackingHypoToolFromDict
377 menuSeq = MenuSequence(flags, selAcc, HypoToolGen=TrigTauTrackingHypoToolFromDict)
378
379 return menuSeq
380
381
382@AccumulatorCache
383def tauPrecTrackIsoSequenceGenCfg(flags, is_probe_leg=False):
384 # Retrieve 'tauIso' RoI tracking configuration
385 newflags = getFlagsForActiveConfig(flags, 'tauIso', log)
386
387 return _precTrackSeq(newflags, name='Iso', is_probe_leg=is_probe_leg)
388
389
390@AccumulatorCache
391def tauPrecTrackLRTSequenceGenCfg(flags, is_probe_leg=False):
392 # Retrieve 'tauLRT' RoI tracking configuration
393 newflags = getFlagsForActiveConfig(flags, 'tauLRT', log)
394
395 return _precTrackSeq(newflags, name='LRT', is_probe_leg=is_probe_leg)
396
397
398
399#================================================================
400# Precision Tau step
401#================================================================
402
403def _tauPrecisionSeq(flags, name, tau_ids: list[str], output_name=None, is_probe_leg=False):
404 '''Precision Tau step sequence, for all ID and reconstruction settings'''
405
406 # 'tauIso' (and its derivatives) for all chains except for trackLRT
407 InViewName = 'Iso' if 'LRT' not in name else 'LRT'
408
409 # Reconstruction sequence CA (parOR), executting all reco algorithms within the View (from the RoI)
410 # in parallel whenever possible, according to their data dependencies.
411 # Create the EventViews based on the RoIs created in the previous steps (tauIso and tauLRT)
412 recoAcc = InViewRecoCA(
413 name=f'tauPrecisionReco_{name}',
414 RoITool=CompFactory.ViewCreatorPreviousROITool(),
415 InViewRoIs=f'tauFastTrack{InViewName}',
416 RequireParentView=True,
417 ViewFallThrough=True,
418 isProbe=is_probe_leg,
419 )
420 RoIs = recoAcc.inputMaker().InViewRoIs
421
422
423 # VDV with all the required collections/objects in the View
424 # (the VDV checks are disabled unless running with -l DEBUG)
425 recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
426 name=f'{recoAcc.name}RecoVDV',
427 DataObjects={
428 ('TrigRoiDescriptorCollection', f'StoreGateSvc+{RoIs}'),
429 ('SG::AuxElement', 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing'),
430 ('xAOD::VertexContainer', f'StoreGateSvc+{flags.Tracking.ActiveConfig.vertex}'),
431 ('xAOD::TrackParticleContainer', f'StoreGateSvc+{flags.Tracking.ActiveConfig.tracks_IDTrig}'),
432 ('xAOD::TauTrackContainer', 'StoreGateSvc+HLT_tautrack_dummy'),
433 ('xAOD::TauJetContainer', 'StoreGateSvc+HLT_TrigTauRecMerged_CaloMVAOnly'),
434 }
435 ))
436
437
438 # Reconstruction tools/algorithms:
439
440 # Precision TauJet reconstruction sequence
441 from TrigTauRec.TrigTauRecConfig import trigTauRecMergedPrecisionMVACfg
442 recoAcc.mergeReco(trigTauRecMergedPrecisionMVACfg(
443 flags,
444 name,
445 tau_ids=tau_ids,
446 input_rois=RoIs,
447 input_tracks=flags.Tracking.ActiveConfig.tracks_IDTrig,
448 output_name=output_name,
449 ))
450
451
452 # Selection sequence CA (seqAND), executing the recoAcc view creation alg. first,
453 # the reco CA (with all the reco algs) after, and the Hypo alg. at last (no ROB prefetching)
454 selAcc = SelectionCA(f'tauPrecision_{name}', isProbe=is_probe_leg)
455 selAcc.mergeReco(recoAcc)
456
457
458 # Hypothesis:
459 # The Hypotools in the Hypo algorithm will execute the calibrated Tau pT cut,
460 # NTrack cut, NWideTrack cut, and ID WP selections (or meson variable cuts)
461 selAcc.addHypoAlgo(CompFactory.TrigTauJetHypoAlg(
462 f'TauPrecisionHypoAlg_{name}',
463 TauJetsKey=f'HLT_TrigTauRecMerged_{output_name if output_name else name}'
464 ))
465
466
467 # Menu sequence, connecting everything internally for the step, and configuring the tools for the Hypo alg.
468 # based on the partDict for each chain tau leg
469 from TrigTauHypo.TrigTauHypoTool import TrigTauPrecisionHypoToolFromDict
470 menuSeq = MenuSequence(flags, selAcc, HypoToolGen=TrigTauPrecisionHypoToolFromDict)
471
472 return menuSeq
473
474
475@AccumulatorCache
476def tauPrecisionSequenceGenCfg(flags, seq_name, output_name=None, is_probe_leg=False):
477 # Retrieve 'tauIso' RoI tracking configuration
478 newflags = getFlagsForActiveConfig(flags, 'tauIso', log)
479
480 from TriggerMenuMT.HLT.Tau.TauConfigurationTools import getPrecisionSequenceTauIDs
481
482 return _tauPrecisionSeq(newflags, seq_name, tau_ids=getPrecisionSequenceTauIDs(flags, seq_name), output_name=output_name, is_probe_leg=is_probe_leg)
483
484
485@AccumulatorCache
486def tauPrecisionLRTSequenceGenCfg(flags, seq_name, output_name=None, is_probe_leg=False):
487 # Retrieve 'tauLRT' RoI tracking configuration
488 newflags = getFlagsForActiveConfig(flags, 'tauLRT', log)
489
490 from TriggerMenuMT.HLT.Tau.TauConfigurationTools import getPrecisionSequenceTauIDs
491
492 return _tauPrecisionSeq(newflags, seq_name, tau_ids=getPrecisionSequenceTauIDs(flags, seq_name), output_name=output_name, is_probe_leg=is_probe_leg)
tauCaloMVAMenuSequenceGenCfg(flags, is_probe_leg=False)
_ftfTauIsoSeq(flags, name, is_probe_leg=False)
tauPrecisionLRTSequenceGenCfg(flags, seq_name, output_name=None, is_probe_leg=False)
tauPrecisionSequenceGenCfg(flags, seq_name, output_name=None, is_probe_leg=False)
_tauPrecisionSeq(flags, name, list[str] tau_ids, output_name=None, is_probe_leg=False)
tauPrecTrackIsoSequenceGenCfg(flags, is_probe_leg=False)
tauFTFTauCoreSequenceGenCfg(flags, is_probe_leg=False)
_ftfCoreSeq(flags, name, is_probe_leg=False)
_precTrackSeq(flags, name, is_probe_leg=False)
tauFTFTauLRTSequenceGenCfg(flags, is_probe_leg=False)
tauPrecTrackLRTSequenceGenCfg(flags, is_probe_leg=False)
tauFTFTauIsoSequenceGenCfg(flags, is_probe_leg=False)