ATLAS Offline Software
Functions | Variables
python.HLT.Ditau.DitauMenuSequences Namespace Reference

Functions

ComponentAccumulator ditauTrackingCfg (flags, str inputRoI, str inputVertex, str inputJets)
 
def JetTVAAlgCfg (flags, inputTracks, inputVertex, name="HLT_DiTauRec_JetAlgorithm")
 
ComponentAccumulator ditauRecoCfg (flags, str inputJets, str inputVertex, str inputFSTracks, str inputTracks, str inputCells, str inputClusters)
 
def ditauSequenceGenCfg (flags, seq_name, jet_name)
 

Variables

 log
 

Function Documentation

◆ ditauRecoCfg()

ComponentAccumulator python.HLT.Ditau.DitauMenuSequences.ditauRecoCfg (   flags,
str  inputJets,
str  inputVertex,
str  inputFSTracks,
str  inputTracks,
str  inputCells,
str  inputClusters 
)

Definition at line 60 of file DitauMenuSequences.py.

60 def ditauRecoCfg(flags, inputJets: str, inputVertex: str, inputFSTracks: str, inputTracks: str, inputCells: str, inputClusters: str) -> ComponentAccumulator:
61  from .DitauConfigFlagsHLT import createDiTauConfigFlags
62  flags_ditau = createDiTauConfigFlags()
63 
64  acc = ComponentAccumulator()
65  acc.merge(JetTVAAlgCfg(
66  flags,
67  inputTracks=inputFSTracks,
68  inputVertex=inputVertex,
69  ))
70  tools = [
71  acc.popToolsAndMerge(SeedJetBuilderCfg(flags, jetCollection=inputJets)),
72  acc.popToolsAndMerge(SubjetBuilderCfg(flags)),
73  acc.popToolsAndMerge(VertexFinderCfg(
74  flags,
75  TrackVertexAssociation = "HLT_JetTrackVtxAssoc_forDiTaus",
76  PrimVtxContainerName = inputVertex,
77  AssociatedTracks = "GhostTrack_ftf"
78  )),
79  acc.popToolsAndMerge(DiTauTrackFinderCfg(
80  flags,
81  TrackParticleContainer=inputTracks
82  )),
83  acc.popToolsAndMerge(DiTauConstituentFinderCfg(
84  flags,
85  UseRawConstit=False, # no raw constituents for DiTau reconstruction with PFO jets
86  )),
87  acc.popToolsAndMerge(DiTauExtraVarDecoratorCfg(
88  flags,
89  ditauPtDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.ditau_pt",
90  fCoreLeadDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.f_core_lead",
91  fCoreSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.f_core_subl",
92  fSubjetLeadDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.f_subjet_lead",
93  fSubjetSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.f_subjet_subl",
94  fSubjetsDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.f_subjets",
95  fTrackLeadDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.f_track_lead",
96  fTrackSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.f_track_subl",
97  RMaxLeadDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_max_lead",
98  RMaxSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_max_subl",
99  nTrackDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.n_track",
100  nTracksLeadDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.n_tracks_lead",
101  nTracksSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.n_tracks_subl",
102  nIsotrackDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.n_isotrack",
103  RTrackDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_track",
104  RTrackCoreDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_track_core",
105  RTrackAllDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_track_all",
106  RIsotrackDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_isotrack",
107  RCoreLeadDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_core_lead",
108  RCoreSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_core_subl",
109  RTracksLeadDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_tracks_lead",
110  RTracksSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_tracks_subl",
111  MTrackDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.m_track",
112  MTrackCoreDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.m_track_core",
113  MCoreLeadDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.m_core_lead",
114  MCoreSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.m_core_subl",
115  MTrackAllDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.m_track_all",
116  MTracksLeadDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.m_tracks_lead",
117  MTracksSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.m_tracks_subl",
118  EFracSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.E_frac_subl",
119  EFracSubsublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.E_frac_subsubl",
120  RSubjetsSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_subjets_subl",
121  RSubjetsSubsublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.R_subjets_subsubl",
122  d0LeadtrackLeadDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.d0_leadtrack_lead",
123  d0LeadtrackSublDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.d0_leadtrack_subl",
124  fIsotracksDecName = f"{flags_ditau.DiTau.DiTauContainer[0]}.f_isotracks",
125  )),
126  acc.popToolsAndMerge(DiTauOnnxScoreCalculatorCfg(
127  flags,
128  onnxModelPath = f"{flags_ditau.DiTau.CalibFolder}{flags_ditau.DiTau.DiTauIDModel}",
129  )),
130  ]
131 
132  acc.addEventAlgo(CompFactory.DiTauBuilder(
133  "HLT_DiTauBuilder",
134  DiTauContainer = recordable(flags_ditau.DiTau.DiTauContainer[0]),
135  Tools = tools,
136  SeedJetName = inputJets,
137  minPt = flags_ditau.DiTau.JetSeedPt,
138  maxEta = flags_ditau.DiTau.MaxEta,
139  Rjet = flags_ditau.DiTau.Rjet,
140  Rsubjet = flags_ditau.DiTau.Rsubjet,
141  Rcore = flags_ditau.DiTau.Rcore,
142  ))
143  return acc
144 

◆ ditauSequenceGenCfg()

def python.HLT.Ditau.DitauMenuSequences.ditauSequenceGenCfg (   flags,
  seq_name,
  jet_name 
)

Definition at line 145 of file DitauMenuSequences.py.

145 def ditauSequenceGenCfg(flags, seq_name, jet_name):
146  # input maker and ROI tool
147  prmVtxKey = flags.Trigger.InDetTracking.fullScan.vertex
148  roiTool = CompFactory.ViewCreatorCentredOnJetWithPVConstraintROITool(
149  RoisWriteHandleKey = recordable( 'HLT_Roi_DiTau' ),
150  VertexReadHandleKey = prmVtxKey,
151  PrmVtxLink = prmVtxKey.replace( "HLT_","" ),
152  RoIEtaWidth = 1.0,
153  RoIPhiWidth = 1.0,
154  RoIZWidth = 7.0,
155  )
156  ditauAcc = InViewRecoCA("Ditau", RoITool = roiTool,
157  InViewRoIs = "InViewRoIs",
158  mergeUsingFeature = True,
159  RequireParentView = False,
160  ViewFallThrough = True,
161  InViewJets = f'{jet_name}_DiTau_jets',
162  PlaceJetInView = True)
163  InputMakerAlg = ditauAcc.inputMaker()
164  # Tracking
165  trackingAcc = ditauTrackingCfg(
166  flags,
167  inputRoI=InputMakerAlg.InViewRoIs,
168  inputVertex=prmVtxKey,
169  inputJets=InputMakerAlg.InViewJets
170  )
171  ditauAcc.mergeReco(trackingAcc)
172 
173  # ditau reconstruction
174  inputJets = InputMakerAlg.InViewJets
175  inputVertex = prmVtxKey
176  inputFSTracks = flags.Trigger.InDetTracking.fullScan.tracks_FTF
177  inputIDTracks = flags.Trigger.InDetTracking.diTau.tracks_IDTrig
178  inputCells = "CaloCellsFS"
179  inputClusters = "HLT_TopoCaloClustersFS"
180 
181  recoAcc = ditauRecoCfg(
182  flags,
183  inputJets=inputJets,
184  inputVertex=inputVertex,
185  inputFSTracks=inputFSTracks,
186  inputTracks=inputIDTracks,
187  inputCells=inputCells,
188  inputClusters=inputClusters
189  )
190 
191  ditauAcc.mergeReco(recoAcc)
192 
193  ditauAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
194  name=f'{ditauAcc.name}RecoVDV',
195  DataObjects={
196  ('CaloCellContainer', f'StoreGateSvc+{inputCells}'),
197  ('xAOD::CaloClusterContainer', f'StoreGateSvc+{inputClusters}'),
198  ('CaloClusterCellLinkContainer', f'StoreGateSvc+{inputClusters}_links'),
199  ('xAOD::TrackParticleContainer' , f'StoreGateSvc+{inputFSTracks}'),
200  }
201  ))
202 
203  selAcc = SelectionCA(f'Trig_DitauReco_{seq_name}')
204  selAcc.mergeReco(ditauAcc)
205  selAcc.addHypoAlgo(CompFactory.TrigDiTauHypoAlg(
206  f'DiTauHypoAlg_{seq_name}',
207  DiTauJets_key='HLT_DiTauJets',
208  ))
209 
210  from TrigDitauHypo.TrigDiTauHypoTool import TrigDiTauHypoToolFromDict
211  menuSeq = MenuSequence(flags, selAcc, HypoToolGen=TrigDiTauHypoToolFromDict)
212 
213  return menuSeq

◆ ditauTrackingCfg()

ComponentAccumulator python.HLT.Ditau.DitauMenuSequences.ditauTrackingCfg (   flags,
str  inputRoI,
str  inputVertex,
str  inputJets 
)

Definition at line 23 of file DitauMenuSequences.py.

23 def ditauTrackingCfg(flags, inputRoI: str, inputVertex: str, inputJets: str) -> ComponentAccumulator:
24  #safety measure to ensure we get the right instance of flags
25  from TrigInDetConfig.utils import getFlagsForActiveConfig
26  trkflags = getFlagsForActiveConfig(flags, "diTau", log)
27 
28  from TrigInDetConfig.InnerTrackingTrigSequence import InnerTrackingTrigSequence
29  seq = InnerTrackingTrigSequence.create(trkflags,
30  trkflags.Tracking.ActiveConfig.input_name,
31  rois = inputRoI,
32  inView = "VDVInDetFTF")
33  acc = seq.sequence("FastTrackFinder")
34  acc.merge(seq.sequenceAfterPattern())
35 
36  verifier = CompFactory.AthViews.ViewDataVerifier(name = 'VDVsecondStageDitauTracking',
37  DataObjects = {('xAOD::VertexContainer', f'StoreGateSvc+{inputVertex}'),
38  ('xAOD::JetContainer', f'StoreGateSvc+{inputJets}')} )
39  acc.addEventAlgo(verifier)
40 
41  return acc
42 

◆ JetTVAAlgCfg()

def python.HLT.Ditau.DitauMenuSequences.JetTVAAlgCfg (   flags,
  inputTracks,
  inputVertex,
  name = "HLT_DiTauRec_JetAlgorithm" 
)
Configure the JetAlgorithm

Definition at line 43 of file DitauMenuSequences.py.

43 def JetTVAAlgCfg(flags, inputTracks, inputVertex, name="HLT_DiTauRec_JetAlgorithm"): # Name changed wrt legacy config DiTauRec_TVATool
44  """Configure the JetAlgorithm"""
45  acc = ComponentAccumulator()
46 
47  tools = [acc.popToolsAndMerge(
48  TVAToolCfg(
49  flags,
50  TrackParticleContainer = inputTracks,
51  VertexContainer = inputVertex,
52  TrackVertexAssociation = "HLT_JetTrackVtxAssoc_forDiTaus"
53  )
54  )]
55  tools = tools
56 
57  acc.addEventAlgo(CompFactory.JetAlgorithm(name, Tools = tools))
58  return acc
59 

Variable Documentation

◆ log

python.HLT.Ditau.DitauMenuSequences.log

Definition at line 20 of file DitauMenuSequences.py.

python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.HLT.Ditau.DitauMenuSequences.ditauTrackingCfg
ComponentAccumulator ditauTrackingCfg(flags, str inputRoI, str inputVertex, str inputJets)
Definition: DitauMenuSequences.py:23
python.HLT.Ditau.DitauMenuSequences.ditauSequenceGenCfg
def ditauSequenceGenCfg(flags, seq_name, jet_name)
Definition: DitauMenuSequences.py:145
DiTauToolsConfig.DiTauTrackFinderCfg
def DiTauTrackFinderCfg(flags, name="DiTauRec_DiTauTrackFinder", **kwargs)
Definition: DiTauToolsConfig.py:58
DiTauToolsConfig.SubjetBuilderCfg
def SubjetBuilderCfg(flags, name="DiTauRec_SubjetBuilder")
Definition: DiTauToolsConfig.py:14
python.HLT.Ditau.DitauMenuSequences.JetTVAAlgCfg
def JetTVAAlgCfg(flags, inputTracks, inputVertex, name="HLT_DiTauRec_JetAlgorithm")
Definition: DitauMenuSequences.py:43
python.utils.getFlagsForActiveConfig
AthConfigFlags getFlagsForActiveConfig(AthConfigFlags flags, str config_name, logging.Logger log)
Definition: Trigger/TrigTools/TrigInDetConfig/python/utils.py:9
DiTauConfigFlags.createDiTauConfigFlags
def createDiTauConfigFlags()
Definition: DiTauConfigFlags.py:6
DiTauToolsConfig.VertexFinderCfg
def VertexFinderCfg(flags, name="DiTauRec_VertexFinder", **kwargs)
Definition: DiTauToolsConfig.py:46
DiTauToolsConfig.DiTauConstituentFinderCfg
def DiTauConstituentFinderCfg(flags, name="DiTauRec_DiTauConstituentFinder", **kwargs)
Definition: DiTauToolsConfig.py:85
DiTauToolsConfig.SeedJetBuilderCfg
def SeedJetBuilderCfg(flags, name="DiTauRec_SeedJetBuilder", jetCollection="")
Definition: DiTauToolsConfig.py:6
python.TriggerEDM.recordable
def recordable(arg, runVersion=3)
Definition: TriggerEDM.py:37
python.HLT.Ditau.DitauMenuSequences.ditauRecoCfg
ComponentAccumulator ditauRecoCfg(flags, str inputJets, str inputVertex, str inputFSTracks, str inputTracks, str inputCells, str inputClusters)
Definition: DitauMenuSequences.py:60
DiTauToolsConfig.DiTauOnnxScoreCalculatorCfg
def DiTauOnnxScoreCalculatorCfg(flags, name="DiTauRec_OnnxScoreCalculator", **kwargs)
Definition: DiTauToolsConfig.py:100
DiTauToolsConfig.TVAToolCfg
def TVAToolCfg(flags, name="TVATool_forDiTaus", **kwargs)
Definition: DiTauToolsConfig.py:22
DiTauToolsConfig.DiTauExtraVarDecoratorCfg
def DiTauExtraVarDecoratorCfg(flags, name="DiTauRec_ExtraVarDecorator", **kwargs)
Definition: DiTauToolsConfig.py:94