Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
70  StatusCode findMuonSignature(const std::vector<const TrigRoiDescriptor*>& roi,
71  const std::vector<const xAOD::MuonRoI*>& muonRoIs,
73  xAOD::TrigCompositeContainer& outputMuonCal,
76  const bool dynamicDeltaRpc,
77  const EventContext& ctx ) const;
78 
81  const std::vector<const TrigRoiDescriptor*>& roids,
82  const std::vector<const xAOD::MuonRoI*>& muonRoIs,
85  const bool dynamicDeltaRpc,
86  const EventContext& ctx ) const;
87 
89  StatusCode findMultiTrackSignature(const std::vector<const TrigRoiDescriptor*>& roi,
90  const std::vector<const xAOD::MuonRoI*>& muonRoIs,
92  const bool dynamicDeltaRpc,
93  const EventContext& ctx) const;
94 
95  int L2MuonAlgoMap(const std::string& name) const;
96 
97  virtual void handle(const Incident& incident) override;
98 
99  protected:
100 
105  bool updateOutputObjects(const xAOD::MuonRoI* roi,
106  const TrigRoiDescriptor* roids,
107  const TrigL2MuonSA::MuonRoad& muonRoad,
108  const TrigL2MuonSA::MdtRegion& mdtRegion,
109  const TrigL2MuonSA::RpcHits& rpcHits,
110  const TrigL2MuonSA::TgcHits& tgcHits,
111  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
112  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
113  const TrigL2MuonSA::MdtHits& mdtHits,
114  const TrigL2MuonSA::CscHits& cscHits,
115  const TrigL2MuonSA::StgcHits& stgcHits,
116  const TrigL2MuonSA::MmHits& mmHits,
117  const std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns,
119  TrigRoiDescriptorCollection& outputID,
120  TrigRoiDescriptorCollection& outputMS,
121  const EventContext& ctx) const;
122 
123  bool storeMuonSA(const xAOD::MuonRoI* roi,
124  const TrigRoiDescriptor* roids,
125  const TrigL2MuonSA::MuonRoad& muonRoad,
126  const TrigL2MuonSA::MdtRegion& mdtRegion,
127  const TrigL2MuonSA::RpcHits& rpcHits,
128  const TrigL2MuonSA::TgcHits& tgcHits,
129  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
130  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
131  const TrigL2MuonSA::MdtHits& mdtHits,
132  const TrigL2MuonSA::CscHits& cscHits,
133  const TrigL2MuonSA::StgcHits& stgcHits,
134  const TrigL2MuonSA::MmHits& mmHits,
137  const EventContext& ctx) const;
138 
139  bool storeMSRoiDescriptor(const TrigRoiDescriptor* roids,
141  const DataVector<xAOD::L2StandAloneMuon>& outputTracks,
142  TrigRoiDescriptorCollection& outputMS) const;
143 
144 
145  bool storeIDRoiDescriptor(const TrigRoiDescriptor* roids,
147  const DataVector<xAOD::L2StandAloneMuon>& outputTracks,
148  TrigRoiDescriptorCollection& outputID) const;
149 
154  const TrigL2MuonSA::MdtHits& mdtHits,
155  std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns ) const;
156 
157 
158 
159  protected:
160 
161  // Tools
162  ToolHandle<TrigL2MuonSA::MuFastDataPreparator> m_dataPreparator {
163  this, "DataPreparator", "TrigL2MuonSA::MuFastDataPreparator", "data preparator" };
164  ToolHandle<TrigL2MuonSA::MuFastPatternFinder> m_patternFinder {
165  this, "PatternFinder", "TrigL2MuonSA::MuFastPatternFinder", "pattern finder" };
166  ToolHandle<TrigL2MuonSA::MuFastStationFitter> m_stationFitter {
167  this, "StationFitter", "TrigL2MuonSA::MuFastStationFitter", "station fitter" };
168  ToolHandle<TrigL2MuonSA::MuFastTrackFitter> m_trackFitter {
169  this, "TrackFitter", "TrigL2MuonSA::MuFastTrackFitter", "track fitter" };
170  ToolHandle<TrigL2MuonSA::MuFastTrackExtrapolator> m_trackExtrapolator {
171  this, "TrackExtrapolator", "TrigL2MuonSA::MuFastTrackExtrapolator", "track extrapolator" };
172  ToolHandle<TrigL2MuonSA::FtfRoadDefiner> m_ftfRoadDefiner {
173  this, "FtfRoadDefiner", "TrigL2MuonSA::FtfRoadDefiner", "ftf road definer" };
174 
176  ToolHandle<ITrigMuonBackExtrapolator> m_backExtrapolatorTool {
177  this, "BackExtrapolator", "TrigMuonBackExtrapolator", "public tool for back extrapolating the muon tracks to the IV" };
178 
179  // calibration streamer tool
180  ToolHandle<TrigL2MuonSA::MuCalStreamerTool> m_calStreamer {
181  this, "CalibrationStreamer", "TrigL2MuonSA::MuCalStreamerTool", "calibration stream" };
182 
183  // Utils
185 
186  //Tools for CSC
187  ToolHandle<TrigL2MuonSA::CscSegmentMaker> m_cscsegmaker {
188  this, "CscSegmentMaker", "TrigL2MuonSA::CscSegmentMaker", "" };
189 
190 
191  private:
192 
193  ServiceHandle< IIncidentSvc > m_incidentSvc{this, "IncidentSvc", "IncidentSvc"};
194  ServiceHandle<Gaudi::Interfaces::IOptionsSvc> m_jobOptionsSvc {this, "JobOptionsSvc", "JobOptionsSvc", "Job options service to retrieve DataFlowConfig" };
195  // Property
196  Gaudi::Property< float > m_scaleRoadBarrelInner { this, "Scale_Road_BarrelInner", 1 };
197  Gaudi::Property< float > m_scaleRoadBarrelMiddle { this, "Scale_Road_BarrelMiddle", 1 };
198  Gaudi::Property< float > m_scaleRoadBarrelOuter { this, "Scale_Road_BarrelOuter", 1 };
199 
200  Gaudi::Property< bool > m_use_mcLUT { this, "UseLUTForMC", true};
201  Gaudi::Property< bool > m_use_new_segmentfit { this, "USE_NEW_SEGMENTFIT", true};
202  Gaudi::Property< bool > m_use_rpc { this, "USE_RPC", true};
203  Gaudi::Property< bool > m_use_stgc { this, "USE_STGC", true};
204  Gaudi::Property< bool > m_use_mm { this, "USE_MM", true};
205  Gaudi::Property< bool > m_use_RoIBasedDataAccess_MDT { this, "USE_ROIBASEDACCESS_MDT", true};
206  Gaudi::Property< bool > m_use_RoIBasedDataAccess_RPC { this, "USE_ROIBASEDACCESS_RPC", true};
207  Gaudi::Property< bool > m_use_RoIBasedDataAccess_TGC { this, "USE_ROIBASEDACCESS_TGC", true};
208  Gaudi::Property< bool > m_use_RoIBasedDataAccess_CSC { this, "USE_ROIBASEDACCESS_CSC", true};
209  Gaudi::Property< bool > m_use_RoIBasedDataAccess_STGC { this, "USE_ROIBASEDACCESS_STGC", true};
210  Gaudi::Property< bool > m_use_RoIBasedDataAccess_MM { this, "USE_ROIBASEDACCESS_MM", true};
211  Gaudi::Property< bool > m_doCalStream { this, "DoCalibrationStream", true};
212  Gaudi::Property< bool > m_calDataScouting { this, "MuonCalDataScouting", false};
213  Gaudi::Property< bool > m_rpcErrToDebugStream { this, "RpcErrToDebugStream", false};
214  Gaudi::Property< bool > m_use_endcapInnerFromBarrel { this, "UseEndcapInnerFromBarrel", false};
215 
216 
217  Gaudi::Property< int > m_esd_rpc_size { this, "ESD_RPC_size", 100 };
218  Gaudi::Property< int > m_esd_tgc_size { this, "ESD_TGC_size", 50 };
219  Gaudi::Property< int > m_esd_mdt_size { this, "ESD_MDT_size", 100 };
220  Gaudi::Property< int > m_esd_csc_size { this, "ESD_CSC_size", 100 };
221  Gaudi::Property< int > m_esd_stgc_size { this, "ESD_STGC_size", 100 };
222  Gaudi::Property< int > m_esd_mm_size { this, "ESD_MM_size", 100 };
223 
224  Gaudi::Property< double > m_rWidth_RPC_Failed { this, "R_WIDTH_RPC_FAILED", 400 };
225  Gaudi::Property< double > m_rWidth_TGC_Failed { this, "R_WIDTH_TGC_FAILED", 200 };
226 
227  Gaudi::Property< double > m_winPt { this, "WinPt", 4.0 };
228 
229  Gaudi::Property< bool > m_insideOut { this, "InsideOutMode", false, "" };
230  Gaudi::Property< bool > m_multiTrack { this, "multitrackMode", false, "" };
231  Gaudi::Property< bool > m_doEndcapForl2mt { this, "doEndcapForl2mt", false, "" };
232  Gaudi::Property< float > m_ftfminPt { this, "FTFminPt", 3500, "pT [MeV] threshold to FTF tracks for L2Muon Inside-out mode" };
233  Gaudi::Property< bool > m_topoRoad { this, "topoRoad", false, "create road in barrel not to highly overlap surrounding L1 RoIs" };
234  Gaudi::Property< float > m_dPhisurrRoI { this, "dPhisurrRoI", 99, "phi range to find surrounding L1 RoIs" };
235  Gaudi::Property< float > m_dEtasurrRoI { this, "dEtasurrRoI", 99, "eta range to find surrounding L1 RoIs" };
236 
237  float getRoiSizeForID(bool isEta, const xAOD::L2StandAloneMuon* muonSA) const;
238 
239  Gaudi::Property< bool > m_allowOksConfig { this, "AllowOksConfig", true};
240  Gaudi::Property< std::string > m_calBufferName { this, "MuonCalBufferName", "/tmp/testOutput"};
241  Gaudi::Property< int > m_calBufferSize { this, "MuonCalBufferSize", 1024*1024};
242 
243  // Enable to fill FS RoI for ID (cosmic run)
244  Gaudi::Property< bool > m_fill_FSIDRoI { this, "FILL_FSIDRoI", false, "Fill FS RoI for ID (will be used in cosmic run)"};
245 
246  Gaudi::Property< bool > m_useRun3Config { this, "UseRun3Config", false, "use Run3 L1Muon EDM; xAOD::MuonRoI"};
247 
248  //adding a part of DataHandle for AthenaMT
249  //ReadHandle xAOD::EventInfo
251  this, "EventInfo", "EventInfo", "Name of the xAOD::EventInfo object"};
252 
253  //ReadHandle MURoIs
255  this, "MuRoIs", "HLT_MURoIs", "Name of the input data from HLTSeeding"};
256 
257  //ReadHandle RecMuonRoIs
259  this, "Run2RecMuonRoI", "HLT_RecMURoIs", "Name of the input data on LVL1::RecMuonRoI produced by HLTSeeding"};
261  this, "RecMuonRoI", "LVL1MuonRoIs", "Name of the input data on xAOD::MuonRoI"};
262 
263  //ReadHandle FTF Tracks
265  this, "TrackParticlesContainerName", "HLT_xAODTracks_Muon", "Name of the input data on xAOD::TrackParticleContainer produced by FTF for Inside-Out mode"};
266 
267  //WriteHandle <xAOD::L2StandAloneMuonContainer>
269  this, "MuonL2SAInfo", "MuonL2SAInfo", "Name of the output data on xAOD::L2StandAloneMuonContainer"};
270 
271  //WriteHandle <xAOD::L2StandAloneMuonContainer>
273  this, "MuonCalibrationStream", "MuonCalibrationStream", "Name of the decisions object attached by MuFastSteering"};
274 
275  //WriteHandle <TrigRoiDescriptor> for ID
277  this, "forID", "forID", "Name of the output data for Inner Detector"};
278 
279  //WriteHandle <TrigRoiDescriptor> for MS
281  this, "forMS", "forMS", "Name of the output data for MS"};
282 
283  //WriteHandle <xAOD::L2CombinedMuonContainer> for Inside-out Mode
285  this, "L2IOCB", "MuonL2CBInfo", "output CB Muon container name"};
286 
287  // Monitor system
288  ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
289 
290 
291 
292 };
293 
294 #endif // MUFASTSTEERING_H
MuFastSteering::m_use_mm
Gaudi::Property< bool > m_use_mm
Definition: MuFastSteering.h:204
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:208
MuFastSteering::m_jobOptionsSvc
ServiceHandle< Gaudi::Interfaces::IOptionsSvc > m_jobOptionsSvc
Definition: MuFastSteering.h:194
mergePhysValFiles.pattern
pattern
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:26
MuFastSteering::m_rpcErrToDebugStream
Gaudi::Property< bool > m_rpcErrToDebugStream
Definition: MuFastSteering.h:213
MuFastSteering::m_cscsegmaker
ToolHandle< TrigL2MuonSA::CscSegmentMaker > m_cscsegmaker
Definition: MuFastSteering.h:187
MuFastSteering::storeMuonSA
bool storeMuonSA(const xAOD::MuonRoI *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:1378
MuFastSteering::storeIDRoiDescriptor
bool storeIDRoiDescriptor(const TrigRoiDescriptor *roids, const TrigL2MuonSA::TrackPattern &pattern, const DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputID) const
Definition: MuFastSteering.cxx:1848
ECRegions
ECRegions
Definition: MuFastSteering.h:42
MuFastSteering::m_dataPreparator
ToolHandle< TrigL2MuonSA::MuFastDataPreparator > m_dataPreparator
Definition: MuFastSteering.h:162
MuFastSteering::ITIMER_TRACK_EXTRAPOLATOR
@ ITIMER_TRACK_EXTRAPOLATOR
Definition: MuFastSteering.h:52
MuFastPatternFinder.h
TrigL2MuonSA::RpcHits
std::vector< RpcHitData > RpcHits
Definition: RpcData.h:57
MuFastSteering::ITIMER_DATA_PREPARATOR
@ ITIMER_DATA_PREPARATOR
Definition: MuFastSteering.h:48
MuFastSteering::m_dEtasurrRoI
Gaudi::Property< float > m_dEtasurrRoI
Definition: MuFastSteering.h:235
MuFastSteering::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: MuFastSteering.h:250
MuFastSteering::m_trackExtrapolator
ToolHandle< TrigL2MuonSA::MuFastTrackExtrapolator > m_trackExtrapolator
Definition: MuFastSteering.h:170
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:168
MuFastSteering::m_calStreamer
ToolHandle< TrigL2MuonSA::MuCalStreamerTool > m_calStreamer
Definition: MuFastSteering.h:180
MuonRoIContainer.h
MuFastSteering::m_outputCBmuonCollKey
SG::WriteHandleKey< xAOD::L2CombinedMuonContainer > m_outputCBmuonCollKey
Definition: MuFastSteering.h:284
MuFastSteering::m_calBufferName
Gaudi::Property< std::string > m_calBufferName
Definition: MuFastSteering.h:240
MuFastSteering::MuFastSteering
MuFastSteering(const std::string &name, ISvcLocator *svc)
Constructor.
Definition: MuFastSteering.cxx:23
MuFastSteering::m_recMuonRoIUtils
TrigL2MuonSA::RecMuonRoIUtils m_recMuonRoIUtils
Definition: MuFastSteering.h:184
TrigL2MuonSA::TgcFitResult
Definition: TgcFitResult.h:11
L2CombinedMuonContainer.h
MuFastSteering::m_backExtrapolatorTool
ToolHandle< ITrigMuonBackExtrapolator > m_backExtrapolatorTool
Handle to MuonBackExtrapolator tool.
Definition: MuFastSteering.h:176
MuFastSteering::m_patternFinder
ToolHandle< TrigL2MuonSA::MuFastPatternFinder > m_patternFinder
Definition: MuFastSteering.h:164
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:1802
MuFastSteering::m_topoRoad
Gaudi::Property< bool > m_topoRoad
Definition: MuFastSteering.h:233
MuFastSteering::m_scaleRoadBarrelInner
Gaudi::Property< float > m_scaleRoadBarrelInner
Definition: MuFastSteering.h:196
MuFastSteering::m_incidentSvc
ServiceHandle< IIncidentSvc > m_incidentSvc
Definition: MuFastSteering.h:193
MuFastSteering::m_doEndcapForl2mt
Gaudi::Property< bool > m_doEndcapForl2mt
Definition: MuFastSteering.h:231
MuFastSteering::m_stationFitter
ToolHandle< TrigL2MuonSA::MuFastStationFitter > m_stationFitter
Definition: MuFastSteering.h:166
L2StandAloneMuonContainer.h
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:280
MuFastSteering::m_esd_csc_size
Gaudi::Property< int > m_esd_csc_size
Definition: MuFastSteering.h:220
MuFastSteering::findMuonSignatureIO
StatusCode findMuonSignatureIO(const xAOD::TrackParticleContainer &idtracks, const std::vector< const TrigRoiDescriptor * > &roids, const std::vector< const xAOD::MuonRoI * > &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:720
MuFastSteering::m_FTFtrackKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_FTFtrackKey
Definition: MuFastSteering.h:264
MuFastSteering::ITIMER_TRACK_FITTER
@ ITIMER_TRACK_FITTER
Definition: MuFastSteering.h:51
SG::ReadHandleKey< xAOD::EventInfo >
MuFastSteering::m_use_rpc
Gaudi::Property< bool > m_use_rpc
Definition: MuFastSteering.h:202
TrigL2MuonSA::CscHits
std::vector< CscHitData > CscHits
Definition: CscData.h:40
TrigL2MuonSA::MdtRegion
Definition: MdtRegion.h:15
MuFastSteering::getRoiSizeForID
float getRoiSizeForID(bool isEta, const xAOD::L2StandAloneMuon *muonSA) const
Definition: MuFastSteering.cxx:1957
MuFastSteering::ITIMER_PATTERN_FINDER
@ ITIMER_PATTERN_FINDER
Definition: MuFastSteering.h:49
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
MuFastSteering::m_fill_FSIDRoI
Gaudi::Property< bool > m_fill_FSIDRoI
Definition: MuFastSteering.h:244
MuFastSteering::ITIMER_CALIBRATION_STREAMER
@ ITIMER_CALIBRATION_STREAMER
Definition: MuFastSteering.h:53
MuFastSteering::m_doCalStream
Gaudi::Property< bool > m_doCalStream
Definition: MuFastSteering.h:211
TrigL2MuonSA::TrackPattern
Definition: TrackData.h:16
MuFastDataPreparator.h
MuFastSteering::m_use_RoIBasedDataAccess_RPC
Gaudi::Property< bool > m_use_RoIBasedDataAccess_RPC
Definition: MuFastSteering.h:206
RecMuonRoIUtils.h
MuFastSteering::m_calDataScouting
Gaudi::Property< bool > m_calDataScouting
Definition: MuFastSteering.h:212
MuFastSteering::m_recRoiCollectionKey
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_recRoiCollectionKey
Definition: MuFastSteering.h:260
GenericMonitoringTool.h
MuFastSteering::ITIMER_TOTAL_PROCESSING
@ ITIMER_TOTAL_PROCESSING
Definition: MuFastSteering.h:54
MuFastSteering::updateMonitor
StatusCode updateMonitor(const xAOD::MuonRoI *roi, const TrigL2MuonSA::MdtHits &mdtHits, std::vector< TrigL2MuonSA::TrackPattern > &trackPatterns) const
Update monitoring variables.
Definition: MuFastSteering.cxx:2106
MuFastSteering::m_useRun3Config
Gaudi::Property< bool > m_useRun3Config
Definition: MuFastSteering.h:246
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
MuFastSteering::handle
virtual void handle(const Incident &incident) override
Definition: MuFastSteering.cxx:169
MuFastSteering::m_use_stgc
Gaudi::Property< bool > m_use_stgc
Definition: MuFastSteering.h:203
MuFastSteering::m_multiTrack
Gaudi::Property< bool > m_multiTrack
Definition: MuFastSteering.h:230
MuFastSteering::m_scaleRoadBarrelMiddle
Gaudi::Property< float > m_scaleRoadBarrelMiddle
Definition: MuFastSteering.h:197
MuFastSteering::m_use_new_segmentfit
Gaudi::Property< bool > m_use_new_segmentfit
Definition: MuFastSteering.h:201
TrigL2MuonSA::MuonRoad
Definition: MuonRoad.h:20
MuFastSteering::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: MuFastSteering.h:288
MuFastSteering::m_ftfminPt
Gaudi::Property< float > m_ftfminPt
Definition: MuFastSteering.h:232
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::MuonRoI_v1
Class describing a LVL1 muon region of interest.
Definition: MuonRoI_v1.h:29
WeakBFieldA
@ WeakBFieldA
Definition: MuFastSteering.h:42
MuFastSteering::findMultiTrackSignature
StatusCode findMultiTrackSignature(const std::vector< const TrigRoiDescriptor * > &roi, const std::vector< const xAOD::MuonRoI * > &muonRoIs, DataVector< xAOD::L2StandAloneMuon > &outputTracks, const bool dynamicDeltaRpc, const EventContext &ctx) const
findMultiTrackSignature(), includes reconstract algorithms for multi-track mode
Definition: MuFastSteering.cxx:1025
MuFastSteering::m_roiCollectionKey
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
Definition: MuFastSteering.h:254
CscSegmentMaker.h
MuFastSteering::m_use_endcapInnerFromBarrel
Gaudi::Property< bool > m_use_endcapInnerFromBarrel
Definition: MuFastSteering.h:214
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
MuFastSteering::m_muIdContainerKey
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_muIdContainerKey
Definition: MuFastSteering.h:276
MuFastSteering::L2MuonAlgoMap
int L2MuonAlgoMap(const std::string &name) const
Definition: MuFastSteering.cxx:1940
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
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:217
AthReentrantAlgorithm.h
MuFastSteering::m_insideOut
Gaudi::Property< bool > m_insideOut
Definition: MuFastSteering.h:229
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:210
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
MuFastSteering::m_esd_tgc_size
Gaudi::Property< int > m_esd_tgc_size
Definition: MuFastSteering.h:218
MuFastSteering::m_ftfRoadDefiner
ToolHandle< TrigL2MuonSA::FtfRoadDefiner > m_ftfRoadDefiner
Definition: MuFastSteering.h:172
MuFastSteering::m_scaleRoadBarrelOuter
Gaudi::Property< float > m_scaleRoadBarrelOuter
Definition: MuFastSteering.h:198
MuFastSteering::m_rWidth_TGC_Failed
Gaudi::Property< double > m_rWidth_TGC_Failed
Definition: MuFastSteering.h:225
MuFastSteering::m_winPt
Gaudi::Property< double > m_winPt
Definition: MuFastSteering.h:227
EventInfo.h
MuFastSteering::initialize
virtual StatusCode initialize() override
Definition: MuFastSteering.cxx:31
MuFastSteering::m_dPhisurrRoI
Gaudi::Property< float > m_dPhisurrRoI
Definition: MuFastSteering.h:234
MuFastSteering::stop
virtual StatusCode stop() override
Definition: MuFastSteering.cxx:151
MuFastSteering::execute
virtual StatusCode execute(const EventContext &ctx) const override
execute(), main code of the algorithm for AthenaMT
Definition: MuFastSteering.cxx:233
MuFastSteering::updateOutputObjects
bool updateOutputObjects(const xAOD::MuonRoI *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:1340
MuFastSteering::ITIMER_STATION_FITTER
@ ITIMER_STATION_FITTER
Definition: MuFastSteering.h:50
TrigL2MuonSA::MmHits
std::vector< MmHitData > MmHits
Definition: MmData.h:47
MuFastStationFitter.h
TrigRoiDescriptorCollection
Definition: TrigRoiDescriptorCollection.h:21
TrigL2MuonSA::StgcHits
std::vector< StgcHitData > StgcHits
Definition: StgcData.h:49
MuFastSteering::m_use_mcLUT
Gaudi::Property< bool > m_use_mcLUT
Definition: MuFastSteering.h:200
MuFastSteering::m_muFastContainerKey
SG::WriteHandleKey< xAOD::L2StandAloneMuonContainer > m_muFastContainerKey
Definition: MuFastSteering.h:268
MuFastSteering::m_run2recRoiCollectionKey
SG::ReadHandleKey< DataVector< LVL1::RecMuonRoI > > m_run2recRoiCollectionKey
Definition: MuFastSteering.h:258
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:224
MuFastSteering::m_calBufferSize
Gaudi::Property< int > m_calBufferSize
Definition: MuFastSteering.h:241
MuFastSteering::m_use_RoIBasedDataAccess_MDT
Gaudi::Property< bool > m_use_RoIBasedDataAccess_MDT
Definition: MuFastSteering.h:205
MuFastSteering::m_esd_mdt_size
Gaudi::Property< int > m_esd_mdt_size
Definition: MuFastSteering.h:219
MuFastSteering::findMuonSignature
StatusCode findMuonSignature(const std::vector< const TrigRoiDescriptor * > &roi, const std::vector< const xAOD::MuonRoI * > &muonRoIs, DataVector< xAOD::L2StandAloneMuon > &outputTracks, xAOD::TrigCompositeContainer &outputMuonCal, TrigRoiDescriptorCollection &outputID, TrigRoiDescriptorCollection &outputMS, const bool dynamicDeltaRpc, const EventContext &ctx) const
findMuonSignature(), includes reconstract algorithms
Definition: MuFastSteering.cxx:389
MuFastSteering::m_esd_mm_size
Gaudi::Property< int > m_esd_mm_size
Definition: MuFastSteering.h:222
MuFastSteering::m_allowOksConfig
Gaudi::Property< bool > m_allowOksConfig
Definition: MuFastSteering.h:239
TrackParticleContainer.h
MuFastSteering::m_esd_stgc_size
Gaudi::Property< int > m_esd_stgc_size
Definition: MuFastSteering.h:221
MuFastSteering::m_use_RoIBasedDataAccess_TGC
Gaudi::Property< bool > m_use_RoIBasedDataAccess_TGC
Definition: MuFastSteering.h:207
MuCalStreamerTool.h
MuFastSteering::m_muCompositeContainerKey
SG::WriteHandleKey< xAOD::TrigCompositeContainer > m_muCompositeContainerKey
Definition: MuFastSteering.h:272
ServiceHandle< IIncidentSvc >
FtfRoadDefiner.h
MuFastSteering::m_use_RoIBasedDataAccess_STGC
Gaudi::Property< bool > m_use_RoIBasedDataAccess_STGC
Definition: MuFastSteering.h:209