ATLAS Offline Software
MuFastSteering.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGL2MUONSA_MUFASTSTEERING_H
6 #define TRIGL2MUONSA_MUFASTSTEERING_H
7 
9 #include "GaudiKernel/ToolHandle.h"
10 #include "GaudiKernel/ServiceHandle.h"
11 
13 
14 #include "MuFastDataPreparator.h"
15 #include "MuFastPatternFinder.h"
16 #include "MuFastStationFitter.h"
17 #include "MuFastTrackFitter.h"
19 #include "RecMuonRoIUtils.h"
20 #include "MuCalStreamerTool.h"
21 #include "CscSegmentMaker.h"
22 #include "FtfRoadDefiner.h"
23 
24 //adding a part of DataHandle for AthenaMT
28 
37 
38 #include "GaudiKernel/IIncidentListener.h"
39 
40 class IIncidentSvc;
41 
43 
44 class MuFastSteering : public AthReentrantAlgorithm , public IIncidentListener
45 {
46  public:
47  enum {
55  };
56 
57 
58  public:
59 
61  MuFastSteering(const std::string& name, ISvcLocator* svc);
62 
63  virtual StatusCode initialize() override;
64  virtual StatusCode stop() override;
65 
67  virtual StatusCode execute(const EventContext& ctx) const override;
68 
71  StatusCode findMuonSignature(const std::vector<const TrigRoiDescriptor*>& roi,
72  const std::vector<const LVL1::RecMuonRoI*>& muonRoIs,
76  const bool dynamicDeltaRpc,
77  const EventContext& ctx ) const;
78 
79  StatusCode findMuonSignature(const std::vector<const TrigRoiDescriptor*>& roi,
80  const std::vector<const xAOD::MuonRoI*>& muonRoIs,
84  const bool dynamicDeltaRpc,
85  const EventContext& ctx ) const;
86 
89  const std::vector<const TrigRoiDescriptor*>& roids,
90  const std::vector<const LVL1::RecMuonRoI*>& muonRoIs,
93  const bool dynamicDeltaRpc,
94  const EventContext& ctx ) const;
95 
97  const std::vector<const TrigRoiDescriptor*>& roids,
98  const std::vector<const xAOD::MuonRoI*>& muonRoIs,
101  const bool dynamicDeltaRpc,
102  const EventContext& ctx ) const;
103 
105  StatusCode findMultiTrackSignature(const std::vector<const TrigRoiDescriptor*>& roi,
106  const std::vector<const LVL1::RecMuonRoI*>& muonRoIs,
108  const bool dynamicDeltaRpc,
109  const EventContext& ctx) const;
110 
111  StatusCode findMultiTrackSignature(const std::vector<const TrigRoiDescriptor*>& roi,
112  const std::vector<const xAOD::MuonRoI*>& muonRoIs,
114  const bool dynamicDeltaRpc,
115  const EventContext& ctx) const;
116 
117  int L2MuonAlgoMap(const std::string& name) const;
118 
119  virtual void handle(const Incident& incident) override;
120 
121  protected:
122 
127  bool updateOutputObjects(const LVL1::RecMuonRoI* roi,
128  const TrigRoiDescriptor* roids,
129  const TrigL2MuonSA::MuonRoad& muonRoad,
130  const TrigL2MuonSA::MdtRegion& mdtRegion,
131  const TrigL2MuonSA::RpcHits& rpcHits,
132  const TrigL2MuonSA::TgcHits& tgcHits,
133  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
134  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
135  const TrigL2MuonSA::MdtHits& mdtHits,
136  const TrigL2MuonSA::CscHits& cscHits,
137  const TrigL2MuonSA::StgcHits& stgcHits,
138  const TrigL2MuonSA::MmHits& mmHits,
139  const std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns,
141  TrigRoiDescriptorCollection& outputID,
142  TrigRoiDescriptorCollection& outputMS,
143  const EventContext& ctx) const;
144 
145  bool updateOutputObjects(const xAOD::MuonRoI* roi,
146  const TrigRoiDescriptor* roids,
147  const TrigL2MuonSA::MuonRoad& muonRoad,
148  const TrigL2MuonSA::MdtRegion& mdtRegion,
149  const TrigL2MuonSA::RpcHits& rpcHits,
150  const TrigL2MuonSA::TgcHits& tgcHits,
151  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
152  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
153  const TrigL2MuonSA::MdtHits& mdtHits,
154  const TrigL2MuonSA::CscHits& cscHits,
155  const TrigL2MuonSA::StgcHits& stgcHits,
156  const TrigL2MuonSA::MmHits& mmHits,
157  const std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns,
159  TrigRoiDescriptorCollection& outputID,
160  TrigRoiDescriptorCollection& outputMS,
161  const EventContext& ctx) const;
162 
163  bool storeMuonSA(const LVL1::RecMuonRoI* roi,
164  const TrigRoiDescriptor* roids,
165  const TrigL2MuonSA::MuonRoad& muonRoad,
166  const TrigL2MuonSA::MdtRegion& mdtRegion,
167  const TrigL2MuonSA::RpcHits& rpcHits,
168  const TrigL2MuonSA::TgcHits& tgcHits,
169  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
170  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
171  const TrigL2MuonSA::MdtHits& mdtHits,
172  const TrigL2MuonSA::CscHits& cscHits,
173  const TrigL2MuonSA::StgcHits& stgcHits,
174  const TrigL2MuonSA::MmHits& mmHits,
177  const EventContext& ctx) const;
178 
179  bool storeMuonSA(const xAOD::MuonRoI* roi,
180  const TrigRoiDescriptor* roids,
181  const TrigL2MuonSA::MuonRoad& muonRoad,
182  const TrigL2MuonSA::MdtRegion& mdtRegion,
183  const TrigL2MuonSA::RpcHits& rpcHits,
184  const TrigL2MuonSA::TgcHits& tgcHits,
185  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
186  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
187  const TrigL2MuonSA::MdtHits& mdtHits,
188  const TrigL2MuonSA::CscHits& cscHits,
189  const TrigL2MuonSA::StgcHits& stgcHits,
190  const TrigL2MuonSA::MmHits& mmHits,
193  const EventContext& ctx) const;
194 
195  bool storeMSRoiDescriptor(const TrigRoiDescriptor* roids,
197  const DataVector<xAOD::L2StandAloneMuon>& outputTracks,
198  TrigRoiDescriptorCollection& outputMS) const;
199 
200 
201  bool storeIDRoiDescriptor(const TrigRoiDescriptor* roids,
203  const DataVector<xAOD::L2StandAloneMuon>& outputTracks,
204  TrigRoiDescriptorCollection& outputID) const;
205 
210  const TrigL2MuonSA::MdtHits& mdtHits,
211  std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns ) const;
213  const TrigL2MuonSA::MdtHits& mdtHits,
214  std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns ) const;
215 
216 
217 
218  protected:
219 
220  // Tools
221  ToolHandle<TrigL2MuonSA::MuFastDataPreparator> m_dataPreparator {
222  this, "DataPreparator", "TrigL2MuonSA::MuFastDataPreparator", "data preparator" };
223  ToolHandle<TrigL2MuonSA::MuFastPatternFinder> m_patternFinder {
224  this, "PatternFinder", "TrigL2MuonSA::MuFastPatternFinder", "pattern finder" };
225  ToolHandle<TrigL2MuonSA::MuFastStationFitter> m_stationFitter {
226  this, "StationFitter", "TrigL2MuonSA::MuFastStationFitter", "station fitter" };
227  ToolHandle<TrigL2MuonSA::MuFastTrackFitter> m_trackFitter {
228  this, "TrackFitter", "TrigL2MuonSA::MuFastTrackFitter", "track fitter" };
229  ToolHandle<TrigL2MuonSA::MuFastTrackExtrapolator> m_trackExtrapolator {
230  this, "TrackExtrapolator", "TrigL2MuonSA::MuFastTrackExtrapolator", "track extrapolator" };
231  ToolHandle<TrigL2MuonSA::FtfRoadDefiner> m_ftfRoadDefiner {
232  this, "FtfRoadDefiner", "TrigL2MuonSA::FtfRoadDefiner", "ftf road definer" };
233 
235  ToolHandle<ITrigMuonBackExtrapolator> m_backExtrapolatorTool {
236  this, "BackExtrapolator", "TrigMuonBackExtrapolator", "public tool for back extrapolating the muon tracks to the IV" };
237 
238  // calibration streamer tool
239  ToolHandle<TrigL2MuonSA::MuCalStreamerTool> m_calStreamer {
240  this, "CalibrationStreamer", "TrigL2MuonSA::MuCalStreamerTool", "calibration stream" };
241 
242  // Utils
244 
245  //Tools for CSC
246  ToolHandle<TrigL2MuonSA::CscSegmentMaker> m_cscsegmaker {
247  this, "CscSegmentMaker", "TrigL2MuonSA::CscSegmentMaker", "" };
248 
249 
250  private:
251 
252  ServiceHandle< IIncidentSvc > m_incidentSvc{this, "IncidentSvc", "IncidentSvc"};
253  ServiceHandle<Gaudi::Interfaces::IOptionsSvc> m_jobOptionsSvc {this, "JobOptionsSvc", "JobOptionsSvc", "Job options service to retrieve DataFlowConfig" };
254  // Property
255  Gaudi::Property< float > m_scaleRoadBarrelInner { this, "Scale_Road_BarrelInner", 1 };
256  Gaudi::Property< float > m_scaleRoadBarrelMiddle { this, "Scale_Road_BarrelMiddle", 1 };
257  Gaudi::Property< float > m_scaleRoadBarrelOuter { this, "Scale_Road_BarrelOuter", 1 };
258 
259  Gaudi::Property< bool > m_use_mcLUT { this, "UseLUTForMC", true};
260  Gaudi::Property< bool > m_use_new_segmentfit { this, "USE_NEW_SEGMENTFIT", true};
261  Gaudi::Property< bool > m_use_rpc { this, "USE_RPC", true};
262  Gaudi::Property< bool > m_use_stgc { this, "USE_STGC", true};
263  Gaudi::Property< bool > m_use_mm { this, "USE_MM", true};
264  Gaudi::Property< bool > m_use_RoIBasedDataAccess_MDT { this, "USE_ROIBASEDACCESS_MDT", true};
265  Gaudi::Property< bool > m_use_RoIBasedDataAccess_RPC { this, "USE_ROIBASEDACCESS_RPC", true};
266  Gaudi::Property< bool > m_use_RoIBasedDataAccess_TGC { this, "USE_ROIBASEDACCESS_TGC", true};
267  Gaudi::Property< bool > m_use_RoIBasedDataAccess_CSC { this, "USE_ROIBASEDACCESS_CSC", true};
268  Gaudi::Property< bool > m_use_RoIBasedDataAccess_STGC { this, "USE_ROIBASEDACCESS_STGC", true};
269  Gaudi::Property< bool > m_use_RoIBasedDataAccess_MM { this, "USE_ROIBASEDACCESS_MM", true};
270  Gaudi::Property< bool > m_doCalStream { this, "DoCalibrationStream", true};
271  Gaudi::Property< bool > m_calDataScouting { this, "MuonCalDataScouting", false};
272  Gaudi::Property< bool > m_rpcErrToDebugStream { this, "RpcErrToDebugStream", false};
273  Gaudi::Property< bool > m_use_endcapInnerFromBarrel { this, "UseEndcapInnerFromBarrel", false};
274 
275 
276  Gaudi::Property< int > m_esd_rpc_size { this, "ESD_RPC_size", 100 };
277  Gaudi::Property< int > m_esd_tgc_size { this, "ESD_TGC_size", 50 };
278  Gaudi::Property< int > m_esd_mdt_size { this, "ESD_MDT_size", 100 };
279  Gaudi::Property< int > m_esd_csc_size { this, "ESD_CSC_size", 100 };
280  Gaudi::Property< int > m_esd_stgc_size { this, "ESD_STGC_size", 100 };
281  Gaudi::Property< int > m_esd_mm_size { this, "ESD_MM_size", 100 };
282 
283  Gaudi::Property< double > m_rWidth_RPC_Failed { this, "R_WIDTH_RPC_FAILED", 400 };
284  Gaudi::Property< double > m_rWidth_TGC_Failed { this, "R_WIDTH_TGC_FAILED", 200 };
285 
286  Gaudi::Property< double > m_winPt { this, "WinPt", 4.0 };
287 
288  Gaudi::Property< bool > m_insideOut { this, "InsideOutMode", false, "" };
289  Gaudi::Property< bool > m_multiTrack { this, "multitrackMode", false, "" };
290  Gaudi::Property< bool > m_doEndcapForl2mt { this, "doEndcapForl2mt", false, "" };
291  Gaudi::Property< float > m_ftfminPt { this, "FTFminPt", 3500, "pT [MeV] threshold to FTF tracks for L2Muon Inside-out mode" };
292  Gaudi::Property< bool > m_topoRoad { this, "topoRoad", false, "create road in barrel not to highly overlap surrounding L1 RoIs" };
293  Gaudi::Property< float > m_dPhisurrRoI { this, "dPhisurrRoI", 99, "phi range to find surrounding L1 RoIs" };
294  Gaudi::Property< float > m_dEtasurrRoI { this, "dEtasurrRoI", 99, "eta range to find surrounding L1 RoIs" };
295 
296  float getRoiSizeForID(bool isEta, const xAOD::L2StandAloneMuon* muonSA) const;
297 
298  Gaudi::Property< bool > m_allowOksConfig { this, "AllowOksConfig", true};
299  Gaudi::Property< std::string > m_calBufferName { this, "MuonCalBufferName", "/tmp/testOutput"};
300  Gaudi::Property< int > m_calBufferSize { this, "MuonCalBufferSize", 1024*1024};
301 
302  // Enable to fill FS RoI for ID (cosmic run)
303  Gaudi::Property< bool > m_fill_FSIDRoI { this, "FILL_FSIDRoI", false, "Fill FS RoI for ID (will be used in cosmic run)"};
304 
305  Gaudi::Property< bool > m_useRun3Config { this, "UseRun3Config", false, "use Run3 L1Muon EDM; xAOD::MuonRoI"};
306 
307  //adding a part of DataHandle for AthenaMT
308  //ReadHandle xAOD::EventInfo
310  this, "EventInfo", "EventInfo", "Name of the xAOD::EventInfo object"};
311 
312  //ReadHandle MURoIs
314  this, "MuRoIs", "HLT_MURoIs", "Name of the input data from HLTSeeding"};
315 
316  //ReadHandle RecMuonRoIs
318  this, "Run2RecMuonRoI", "HLT_RecMURoIs", "Name of the input data on LVL1::RecMuonRoI produced by HLTSeeding"};
320  this, "RecMuonRoI", "LVL1MuonRoIs", "Name of the input data on xAOD::MuonRoI"};
321 
322  //ReadHandle FTF Tracks
324  this, "TrackParticlesContainerName", "HLT_xAODTracks_Muon", "Name of the input data on xAOD::TrackParticleContainer produced by FTF for Inside-Out mode"};
325 
326  //WriteHandle <xAOD::L2StandAloneMuonContainer>
328  this, "MuonL2SAInfo", "MuonL2SAInfo", "Name of the output data on xAOD::L2StandAloneMuonContainer"};
329 
330  //WriteHandle <xAOD::L2StandAloneMuonContainer>
332  this, "MuonCalibrationStream", "MuonCalibrationStream", "Name of the decisions object attached by MuFastSteering"};
333 
334  //WriteHandle <TrigRoiDescriptor> for ID
336  this, "forID", "forID", "Name of the output data for Inner Detector"};
337 
338  //WriteHandle <TrigRoiDescriptor> for MS
340  this, "forMS", "forMS", "Name of the output data for MS"};
341 
342  //WriteHandle <xAOD::L2CombinedMuonContainer> for Inside-out Mode
344  this, "L2IOCB", "MuonL2CBInfo", "output CB Muon container name"};
345 
346  // Monitor system
347  ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
348 
349 
350 
351 };
352 
353 #endif // MUFASTSTEERING_H
MuFastSteering::m_use_mm
Gaudi::Property< bool > m_use_mm
Definition: MuFastSteering.h:263
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
MuFastSteering::m_use_RoIBasedDataAccess_CSC
Gaudi::Property< bool > m_use_RoIBasedDataAccess_CSC
Definition: MuFastSteering.h:267
MuFastSteering::m_jobOptionsSvc
ServiceHandle< Gaudi::Interfaces::IOptionsSvc > m_jobOptionsSvc
Definition: MuFastSteering.h:253
MuFastSteering::ITIMER_TOTAL_PROCESSING
@ ITIMER_TOTAL_PROCESSING
Definition: MuFastSteering.h:54
mergePhysValFiles.pattern
pattern
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:26
MuFastSteering::m_rpcErrToDebugStream
Gaudi::Property< bool > m_rpcErrToDebugStream
Definition: MuFastSteering.h:272
MuFastSteering::m_cscsegmaker
ToolHandle< TrigL2MuonSA::CscSegmentMaker > m_cscsegmaker
Definition: MuFastSteering.h:246
MuFastSteering::updateMonitor
StatusCode updateMonitor(const LVL1::RecMuonRoI *roi, const TrigL2MuonSA::MdtHits &mdtHits, std::vector< TrigL2MuonSA::TrackPattern > &trackPatterns) const
Update monitoring variables.
Definition: MuFastSteering.cxx:3629
MuFastSteering::storeIDRoiDescriptor
bool storeIDRoiDescriptor(const TrigRoiDescriptor *roids, const TrigL2MuonSA::TrackPattern &pattern, const DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputID) const
Definition: MuFastSteering.cxx:3371
ECRegions
ECRegions
Definition: MuFastSteering.h:42
MuFastSteering::m_dataPreparator
ToolHandle< TrigL2MuonSA::MuFastDataPreparator > m_dataPreparator
Definition: MuFastSteering.h:221
MuFastPatternFinder.h
TrigL2MuonSA::RpcHits
std::vector< RpcHitData > RpcHits
Definition: RpcData.h:57
MuFastSteering::m_dEtasurrRoI
Gaudi::Property< float > m_dEtasurrRoI
Definition: MuFastSteering.h:294
MuFastSteering::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: MuFastSteering.h:309
MuFastSteering::m_trackExtrapolator
ToolHandle< TrigL2MuonSA::MuFastTrackExtrapolator > m_trackExtrapolator
Definition: MuFastSteering.h:229
TrigL2MuonSA::RpcFitResult
Definition: RpcFitResult.h:14
xAOD::L2StandAloneMuon_v2
Class describing standalone muons reconstructed in the LVL2 trigger.
Definition: L2StandAloneMuon_v2.h:36
MuFastSteering
Definition: MuFastSteering.h:45
MuFastSteering::m_trackFitter
ToolHandle< TrigL2MuonSA::MuFastTrackFitter > m_trackFitter
Definition: MuFastSteering.h:227
MuFastSteering::m_calStreamer
ToolHandle< TrigL2MuonSA::MuCalStreamerTool > m_calStreamer
Definition: MuFastSteering.h:239
MuonRoIContainer.h
MuFastSteering::m_outputCBmuonCollKey
SG::WriteHandleKey< xAOD::L2CombinedMuonContainer > m_outputCBmuonCollKey
Definition: MuFastSteering.h:343
MuFastSteering::m_calBufferName
Gaudi::Property< std::string > m_calBufferName
Definition: MuFastSteering.h:299
MuFastSteering::MuFastSteering
MuFastSteering(const std::string &name, ISvcLocator *svc)
Constructor.
Definition: MuFastSteering.cxx:22
MuFastSteering::m_recMuonRoIUtils
TrigL2MuonSA::RecMuonRoIUtils m_recMuonRoIUtils
Definition: MuFastSteering.h:243
MuFastSteering::ITIMER_DATA_PREPARATOR
@ ITIMER_DATA_PREPARATOR
Definition: MuFastSteering.h:48
TrigL2MuonSA::TgcFitResult
Definition: TgcFitResult.h:11
L2CombinedMuonContainer.h
MuFastSteering::m_backExtrapolatorTool
ToolHandle< ITrigMuonBackExtrapolator > m_backExtrapolatorTool
Handle to MuonBackExtrapolator tool.
Definition: MuFastSteering.h:235
MuFastSteering::m_patternFinder
ToolHandle< TrigL2MuonSA::MuFastPatternFinder > m_patternFinder
Definition: MuFastSteering.h:223
TrigL2MuonSA::MdtHits
std::vector< MdtHitData > MdtHits
Definition: MdtData.h:57
TrigL2MuonSA::TgcHits
std::vector< TgcHitData > TgcHits
Definition: TgcData.h:43
MuFastSteering::storeMSRoiDescriptor
bool storeMSRoiDescriptor(const TrigRoiDescriptor *roids, const TrigL2MuonSA::TrackPattern &pattern, const DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputMS) const
Definition: MuFastSteering.cxx:3325
MuFastSteering::m_topoRoad
Gaudi::Property< bool > m_topoRoad
Definition: MuFastSteering.h:292
MuFastSteering::m_scaleRoadBarrelInner
Gaudi::Property< float > m_scaleRoadBarrelInner
Definition: MuFastSteering.h:255
MuFastSteering::m_incidentSvc
ServiceHandle< IIncidentSvc > m_incidentSvc
Definition: MuFastSteering.h:252
MuFastSteering::m_doEndcapForl2mt
Gaudi::Property< bool > m_doEndcapForl2mt
Definition: MuFastSteering.h:290
MuFastSteering::m_stationFitter
ToolHandle< TrigL2MuonSA::MuFastStationFitter > m_stationFitter
Definition: MuFastSteering.h:225
L2StandAloneMuonContainer.h
MuFastSteering::ITIMER_TRACK_FITTER
@ ITIMER_TRACK_FITTER
Definition: MuFastSteering.h:51
TrigRoiDescriptor
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
Definition: TrigRoiDescriptor.h:56
MuFastTrackFitter.h
MuFastSteering::m_muMsContainerKey
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_muMsContainerKey
Definition: MuFastSteering.h:339
MuFastSteering::m_esd_csc_size
Gaudi::Property< int > m_esd_csc_size
Definition: MuFastSteering.h:279
MuFastSteering::m_FTFtrackKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_FTFtrackKey
Definition: MuFastSteering.h:323
SG::ReadHandleKey< xAOD::EventInfo >
MuFastSteering::m_use_rpc
Gaudi::Property< bool > m_use_rpc
Definition: MuFastSteering.h:261
TrigL2MuonSA::CscHits
std::vector< CscHitData > CscHits
Definition: CscData.h:40
TrigL2MuonSA::MdtRegion
Definition: MdtRegion.h:14
MuFastSteering::getRoiSizeForID
float getRoiSizeForID(bool isEta, const xAOD::L2StandAloneMuon *muonSA) const
Definition: MuFastSteering.cxx:3480
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
MuFastSteering::m_fill_FSIDRoI
Gaudi::Property< bool > m_fill_FSIDRoI
Definition: MuFastSteering.h:303
MuFastSteering::m_doCalStream
Gaudi::Property< bool > m_doCalStream
Definition: MuFastSteering.h:270
TrigL2MuonSA::TrackPattern
Definition: TrackData.h:16
MuFastDataPreparator.h
MuFastSteering::m_use_RoIBasedDataAccess_RPC
Gaudi::Property< bool > m_use_RoIBasedDataAccess_RPC
Definition: MuFastSteering.h:265
RecMuonRoIUtils.h
MuFastSteering::m_calDataScouting
Gaudi::Property< bool > m_calDataScouting
Definition: MuFastSteering.h:271
MuFastSteering::m_recRoiCollectionKey
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_recRoiCollectionKey
Definition: MuFastSteering.h:319
GenericMonitoringTool.h
MuFastSteering::m_useRun3Config
Gaudi::Property< bool > m_useRun3Config
Definition: MuFastSteering.h:305
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
LVL1::RecMuonRoI
This class defines the reconstructed Muon ROI.
Definition: RecMuonRoI.h:60
MuFastSteering::handle
virtual void handle(const Incident &incident) override
Definition: MuFastSteering.cxx:168
MuFastSteering::m_use_stgc
Gaudi::Property< bool > m_use_stgc
Definition: MuFastSteering.h:262
MuFastSteering::m_multiTrack
Gaudi::Property< bool > m_multiTrack
Definition: MuFastSteering.h:289
MuFastSteering::m_scaleRoadBarrelMiddle
Gaudi::Property< float > m_scaleRoadBarrelMiddle
Definition: MuFastSteering.h:256
MuFastSteering::m_use_new_segmentfit
Gaudi::Property< bool > m_use_new_segmentfit
Definition: MuFastSteering.h:260
TrigL2MuonSA::MuonRoad
Definition: MuonRoad.h:20
MuFastSteering::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: MuFastSteering.h:347
MuFastSteering::m_ftfminPt
Gaudi::Property< float > m_ftfminPt
Definition: MuFastSteering.h:291
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuFastSteering::ITIMER_STATION_FITTER
@ ITIMER_STATION_FITTER
Definition: MuFastSteering.h:50
MuFastSteering::ITIMER_TRACK_EXTRAPOLATOR
@ ITIMER_TRACK_EXTRAPOLATOR
Definition: MuFastSteering.h:52
MuFastSteering::storeMuonSA
bool storeMuonSA(const LVL1::RecMuonRoI *roi, const TrigRoiDescriptor *roids, const TrigL2MuonSA::MuonRoad &muonRoad, const TrigL2MuonSA::MdtRegion &mdtRegion, const TrigL2MuonSA::RpcHits &rpcHits, const TrigL2MuonSA::TgcHits &tgcHits, const TrigL2MuonSA::RpcFitResult &rpcFitResult, const TrigL2MuonSA::TgcFitResult &tgcFitResult, const TrigL2MuonSA::MdtHits &mdtHits, const TrigL2MuonSA::CscHits &cscHits, const TrigL2MuonSA::StgcHits &stgcHits, const TrigL2MuonSA::MmHits &mmHits, const TrigL2MuonSA::TrackPattern &pattern, DataVector< xAOD::L2StandAloneMuon > &outputTracks, const EventContext &ctx) const
Definition: MuFastSteering.cxx:2478
MuFastSteering::findMultiTrackSignature
StatusCode findMultiTrackSignature(const std::vector< const TrigRoiDescriptor * > &roi, const std::vector< const LVL1::RecMuonRoI * > &muonRoIs, DataVector< xAOD::L2StandAloneMuon > &outputTracks, const bool dynamicDeltaRpc, const EventContext &ctx) const
findMultiTrackSignature(), includes reconstract algorithms for multi-track mode
Definition: MuFastSteering.cxx:1759
xAOD::MuonRoI_v1
Class describing a LVL1 muon region of interest.
Definition: MuonRoI_v1.h:29
WeakBFieldA
@ WeakBFieldA
Definition: MuFastSteering.h:42
MuFastSteering::findMuonSignature
StatusCode findMuonSignature(const std::vector< const TrigRoiDescriptor * > &roi, const std::vector< const LVL1::RecMuonRoI * > &muonRoIs, DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputID, TrigRoiDescriptorCollection &outputMS, const bool dynamicDeltaRpc, const EventContext &ctx) const
findMuonSignature(), includes reconstract algorithms
Definition: MuFastSteering.cxx:525
MuFastSteering::m_roiCollectionKey
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
Definition: MuFastSteering.h:313
CscSegmentMaker.h
MuFastSteering::m_use_endcapInnerFromBarrel
Gaudi::Property< bool > m_use_endcapInnerFromBarrel
Definition: MuFastSteering.h:273
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
MuFastSteering::m_muIdContainerKey
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_muIdContainerKey
Definition: MuFastSteering.h:335
MuFastSteering::L2MuonAlgoMap
int L2MuonAlgoMap(const std::string &name) const
Definition: MuFastSteering.cxx:3463
MuFastSteering::updateOutputObjects
bool updateOutputObjects(const LVL1::RecMuonRoI *roi, const TrigRoiDescriptor *roids, const TrigL2MuonSA::MuonRoad &muonRoad, const TrigL2MuonSA::MdtRegion &mdtRegion, const TrigL2MuonSA::RpcHits &rpcHits, const TrigL2MuonSA::TgcHits &tgcHits, const TrigL2MuonSA::RpcFitResult &rpcFitResult, const TrigL2MuonSA::TgcFitResult &tgcFitResult, const TrigL2MuonSA::MdtHits &mdtHits, const TrigL2MuonSA::CscHits &cscHits, const TrigL2MuonSA::StgcHits &stgcHits, const TrigL2MuonSA::MmHits &mmHits, const std::vector< TrigL2MuonSA::TrackPattern > &trackPatterns, DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputID, TrigRoiDescriptorCollection &outputMS, const EventContext &ctx) const
Called at the end of the algorithm processing to set the steering navigation properly.
Definition: MuFastSteering.cxx:2398
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TrigCompositeAuxContainer.h
MuFastTrackExtrapolator.h
TrigCompositeContainer.h
TrigL2MuonSA::RecMuonRoIUtils
Definition: RecMuonRoIUtils.h:14
MuFastSteering::m_esd_rpc_size
Gaudi::Property< int > m_esd_rpc_size
Definition: MuFastSteering.h:276
AthReentrantAlgorithm.h
MuFastSteering::m_insideOut
Gaudi::Property< bool > m_insideOut
Definition: MuFastSteering.h:288
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
MuFastSteering::m_use_RoIBasedDataAccess_MM
Gaudi::Property< bool > m_use_RoIBasedDataAccess_MM
Definition: MuFastSteering.h:269
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
MuFastSteering::m_esd_tgc_size
Gaudi::Property< int > m_esd_tgc_size
Definition: MuFastSteering.h:277
MuFastSteering::m_ftfRoadDefiner
ToolHandle< TrigL2MuonSA::FtfRoadDefiner > m_ftfRoadDefiner
Definition: MuFastSteering.h:231
MuFastSteering::m_scaleRoadBarrelOuter
Gaudi::Property< float > m_scaleRoadBarrelOuter
Definition: MuFastSteering.h:257
MuFastSteering::m_rWidth_TGC_Failed
Gaudi::Property< double > m_rWidth_TGC_Failed
Definition: MuFastSteering.h:284
MuFastSteering::m_winPt
Gaudi::Property< double > m_winPt
Definition: MuFastSteering.h:286
EventInfo.h
MuFastSteering::initialize
virtual StatusCode initialize() override
Definition: MuFastSteering.cxx:30
MuFastSteering::ITIMER_CALIBRATION_STREAMER
@ ITIMER_CALIBRATION_STREAMER
Definition: MuFastSteering.h:53
MuFastSteering::m_dPhisurrRoI
Gaudi::Property< float > m_dPhisurrRoI
Definition: MuFastSteering.h:293
MuFastSteering::stop
virtual StatusCode stop() override
Definition: MuFastSteering.cxx:150
MuFastSteering::execute
virtual StatusCode execute(const EventContext &ctx) const override
execute(), main code of the algorithm for AthenaMT
Definition: MuFastSteering.cxx:232
TrigL2MuonSA::MmHits
std::vector< MmHitData > MmHits
Definition: MmData.h:47
MuFastStationFitter.h
TrigRoiDescriptorCollection
Definition: TrigRoiDescriptorCollection.h:21
MuFastSteering::ITIMER_PATTERN_FINDER
@ ITIMER_PATTERN_FINDER
Definition: MuFastSteering.h:49
TrigL2MuonSA::StgcHits
std::vector< StgcHitData > StgcHits
Definition: StgcData.h:49
MuFastSteering::m_use_mcLUT
Gaudi::Property< bool > m_use_mcLUT
Definition: MuFastSteering.h:259
MuFastSteering::m_muFastContainerKey
SG::WriteHandleKey< xAOD::L2StandAloneMuonContainer > m_muFastContainerKey
Definition: MuFastSteering.h:327
MuFastSteering::m_run2recRoiCollectionKey
SG::ReadHandleKey< DataVector< LVL1::RecMuonRoI > > m_run2recRoiCollectionKey
Definition: MuFastSteering.h:317
MuFastSteering::findMuonSignatureIO
StatusCode findMuonSignatureIO(const xAOD::TrackParticleContainer &idtracks, const std::vector< const TrigRoiDescriptor * > &roids, const std::vector< const LVL1::RecMuonRoI * > &muonRoIs, DataVector< xAOD::L2CombinedMuon > &outputCBs, DataVector< xAOD::L2StandAloneMuon > &outputSAs, const bool dynamicDeltaRpc, const EventContext &ctx) const
findMuonSignatureIO(), includes reconstract algorithms for inside-out mode
Definition: MuFastSteering.cxx:1138
Bulk
@ Bulk
Definition: MuFastSteering.h:42
WeakBFieldB
@ WeakBFieldB
Definition: MuFastSteering.h:42
TrigRoiDescriptor.h
MuFastSteering::m_rWidth_RPC_Failed
Gaudi::Property< double > m_rWidth_RPC_Failed
Definition: MuFastSteering.h:283
MuFastSteering::m_calBufferSize
Gaudi::Property< int > m_calBufferSize
Definition: MuFastSteering.h:300
MuFastSteering::m_use_RoIBasedDataAccess_MDT
Gaudi::Property< bool > m_use_RoIBasedDataAccess_MDT
Definition: MuFastSteering.h:264
MuFastSteering::m_esd_mdt_size
Gaudi::Property< int > m_esd_mdt_size
Definition: MuFastSteering.h:278
MuFastSteering::m_esd_mm_size
Gaudi::Property< int > m_esd_mm_size
Definition: MuFastSteering.h:281
MuFastSteering::m_allowOksConfig
Gaudi::Property< bool > m_allowOksConfig
Definition: MuFastSteering.h:298
TrackParticleContainer.h
MuFastSteering::m_esd_stgc_size
Gaudi::Property< int > m_esd_stgc_size
Definition: MuFastSteering.h:280
MuFastSteering::m_use_RoIBasedDataAccess_TGC
Gaudi::Property< bool > m_use_RoIBasedDataAccess_TGC
Definition: MuFastSteering.h:266
MuCalStreamerTool.h
MuFastSteering::m_muCompositeContainerKey
SG::WriteHandleKey< xAOD::TrigCompositeContainer > m_muCompositeContainerKey
Definition: MuFastSteering.h:331
ServiceHandle< IIncidentSvc >
FtfRoadDefiner.h
MuFastSteering::m_use_RoIBasedDataAccess_STGC
Gaudi::Property< bool > m_use_RoIBasedDataAccess_STGC
Definition: MuFastSteering.h:268