|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRIGL2MUONSA_MUFASTSTEERING_H
6 #define TRIGL2MUONSA_MUFASTSTEERING_H
9 #include "GaudiKernel/ToolHandle.h"
10 #include "GaudiKernel/ServiceHandle.h"
38 #include "GaudiKernel/IIncidentListener.h"
72 const std::vector<const LVL1::RecMuonRoI*>& muonRoIs,
76 const bool dynamicDeltaRpc,
77 const EventContext& ctx )
const;
80 const std::vector<const xAOD::MuonRoI*>& muonRoIs,
84 const bool dynamicDeltaRpc,
85 const EventContext& ctx )
const;
89 const std::vector<const TrigRoiDescriptor*>& roids,
90 const std::vector<const LVL1::RecMuonRoI*>& muonRoIs,
93 const bool dynamicDeltaRpc,
94 const EventContext& ctx )
const;
97 const std::vector<const TrigRoiDescriptor*>& roids,
98 const std::vector<const xAOD::MuonRoI*>& muonRoIs,
101 const bool dynamicDeltaRpc,
102 const EventContext& ctx )
const;
106 const std::vector<const LVL1::RecMuonRoI*>& muonRoIs,
108 const bool dynamicDeltaRpc,
109 const EventContext& ctx)
const;
112 const std::vector<const xAOD::MuonRoI*>& muonRoIs,
114 const bool dynamicDeltaRpc,
115 const EventContext& ctx)
const;
119 virtual void handle(
const Incident& incident)
override;
139 const std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns,
143 const EventContext& ctx)
const;
157 const std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns,
161 const EventContext& ctx)
const;
177 const EventContext& ctx)
const;
193 const EventContext& ctx)
const;
211 std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns )
const;
214 std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns )
const;
222 this,
"DataPreparator",
"TrigL2MuonSA::MuFastDataPreparator",
"data preparator" };
224 this,
"PatternFinder",
"TrigL2MuonSA::MuFastPatternFinder",
"pattern finder" };
226 this,
"StationFitter",
"TrigL2MuonSA::MuFastStationFitter",
"station fitter" };
228 this,
"TrackFitter",
"TrigL2MuonSA::MuFastTrackFitter",
"track fitter" };
230 this,
"TrackExtrapolator",
"TrigL2MuonSA::MuFastTrackExtrapolator",
"track extrapolator" };
232 this,
"FtfRoadDefiner",
"TrigL2MuonSA::FtfRoadDefiner",
"ftf road definer" };
236 this,
"BackExtrapolator",
"TrigMuonBackExtrapolator",
"public tool for back extrapolating the muon tracks to the IV" };
240 this,
"CalibrationStreamer",
"TrigL2MuonSA::MuCalStreamerTool",
"calibration stream" };
247 this,
"CscSegmentMaker",
"TrigL2MuonSA::CscSegmentMaker",
"" };
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};
286 Gaudi::Property< double >
m_winPt {
this,
"WinPt", 4.0 };
288 Gaudi::Property< bool >
m_insideOut {
this,
"InsideOutMode",
false,
"" };
289 Gaudi::Property< bool >
m_multiTrack {
this,
"multitrackMode",
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" };
299 Gaudi::Property< std::string >
m_calBufferName {
this,
"MuonCalBufferName",
"/tmp/testOutput"};
303 Gaudi::Property< bool >
m_fill_FSIDRoI {
this,
"FILL_FSIDRoI",
false,
"Fill FS RoI for ID (will be used in cosmic run)"};
305 Gaudi::Property< bool >
m_useRun3Config {
this,
"UseRun3Config",
false,
"use Run3 L1Muon EDM; xAOD::MuonRoI"};
310 this,
"EventInfo",
"EventInfo",
"Name of the xAOD::EventInfo object"};
314 this,
"MuRoIs",
"HLT_MURoIs",
"Name of the input data from HLTSeeding"};
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"};
324 this,
"TrackParticlesContainerName",
"HLT_xAODTracks_Muon",
"Name of the input data on xAOD::TrackParticleContainer produced by FTF for Inside-Out mode"};
328 this,
"MuonL2SAInfo",
"MuonL2SAInfo",
"Name of the output data on xAOD::L2StandAloneMuonContainer"};
332 this,
"MuonCalibrationStream",
"MuonCalibrationStream",
"Name of the decisions object attached by MuFastSteering"};
336 this,
"forID",
"forID",
"Name of the output data for Inner Detector"};
340 this,
"forMS",
"forMS",
"Name of the output data for MS"};
344 this,
"L2IOCB",
"MuonL2CBInfo",
"output CB Muon container name"};
347 ToolHandle< GenericMonitoringTool >
m_monTool {
this,
"MonTool",
"",
"Monitoring tool" };
353 #endif // MUFASTSTEERING_H
Gaudi::Property< bool > m_use_mm
Property holding a SG store/key/clid from which a ReadHandle is made.
Gaudi::Property< bool > m_use_RoIBasedDataAccess_CSC
ServiceHandle< Gaudi::Interfaces::IOptionsSvc > m_jobOptionsSvc
Gaudi::Property< bool > m_rpcErrToDebugStream
@ ITIMER_CALIBRATION_STREAMER
ToolHandle< TrigL2MuonSA::CscSegmentMaker > m_cscsegmaker
StatusCode updateMonitor(const LVL1::RecMuonRoI *roi, const TrigL2MuonSA::MdtHits &mdtHits, std::vector< TrigL2MuonSA::TrackPattern > &trackPatterns) const
Update monitoring variables.
bool storeIDRoiDescriptor(const TrigRoiDescriptor *roids, const TrigL2MuonSA::TrackPattern &pattern, const DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputID) const
ToolHandle< TrigL2MuonSA::MuFastDataPreparator > m_dataPreparator
std::vector< RpcHitData > RpcHits
Gaudi::Property< float > m_dEtasurrRoI
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
ToolHandle< TrigL2MuonSA::MuFastTrackExtrapolator > m_trackExtrapolator
Class describing standalone muons reconstructed in the LVL2 trigger.
ToolHandle< TrigL2MuonSA::MuFastTrackFitter > m_trackFitter
ToolHandle< TrigL2MuonSA::MuCalStreamerTool > m_calStreamer
SG::WriteHandleKey< xAOD::L2CombinedMuonContainer > m_outputCBmuonCollKey
Gaudi::Property< std::string > m_calBufferName
MuFastSteering(const std::string &name, ISvcLocator *svc)
Constructor.
TrigL2MuonSA::RecMuonRoIUtils m_recMuonRoIUtils
ToolHandle< ITrigMuonBackExtrapolator > m_backExtrapolatorTool
Handle to MuonBackExtrapolator tool.
ToolHandle< TrigL2MuonSA::MuFastPatternFinder > m_patternFinder
std::vector< MdtHitData > MdtHits
std::vector< TgcHitData > TgcHits
bool storeMSRoiDescriptor(const TrigRoiDescriptor *roids, const TrigL2MuonSA::TrackPattern &pattern, const DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputMS) const
Gaudi::Property< bool > m_topoRoad
Gaudi::Property< float > m_scaleRoadBarrelInner
ServiceHandle< IIncidentSvc > m_incidentSvc
Gaudi::Property< bool > m_doEndcapForl2mt
ToolHandle< TrigL2MuonSA::MuFastStationFitter > m_stationFitter
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_muMsContainerKey
Gaudi::Property< int > m_esd_csc_size
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_FTFtrackKey
Gaudi::Property< bool > m_use_rpc
std::vector< CscHitData > CscHits
float getRoiSizeForID(bool isEta, const xAOD::L2StandAloneMuon *muonSA) const
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< bool > m_fill_FSIDRoI
Gaudi::Property< bool > m_doCalStream
Gaudi::Property< bool > m_use_RoIBasedDataAccess_RPC
Gaudi::Property< bool > m_calDataScouting
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_recRoiCollectionKey
Gaudi::Property< bool > m_useRun3Config
Property holding a SG store/key/clid from which a WriteHandle is made.
This class defines the reconstructed Muon ROI.
virtual void handle(const Incident &incident) override
Gaudi::Property< bool > m_use_stgc
Gaudi::Property< bool > m_multiTrack
Gaudi::Property< float > m_scaleRoadBarrelMiddle
Gaudi::Property< bool > m_use_new_segmentfit
ToolHandle< GenericMonitoringTool > m_monTool
Gaudi::Property< float > m_ftfminPt
::StatusCode StatusCode
StatusCode definition for legacy code.
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
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
Class describing a LVL1 muon region of interest.
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
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
Gaudi::Property< bool > m_use_endcapInnerFromBarrel
AthROOTErrorHandlerSvc * svc
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_muIdContainerKey
int L2MuonAlgoMap(const std::string &name) const
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.
Gaudi::Property< int > m_esd_rpc_size
Gaudi::Property< bool > m_insideOut
Property holding a SG store/key/clid from which a WriteHandle is made.
Gaudi::Property< bool > m_use_RoIBasedDataAccess_MM
Gaudi::Property< int > m_esd_tgc_size
@ ITIMER_TRACK_EXTRAPOLATOR
ToolHandle< TrigL2MuonSA::FtfRoadDefiner > m_ftfRoadDefiner
Gaudi::Property< float > m_scaleRoadBarrelOuter
Gaudi::Property< double > m_rWidth_TGC_Failed
Gaudi::Property< double > m_winPt
virtual StatusCode initialize() override
Gaudi::Property< float > m_dPhisurrRoI
virtual StatusCode stop() override
virtual StatusCode execute(const EventContext &ctx) const override
execute(), main code of the algorithm for AthenaMT
std::vector< MmHitData > MmHits
std::vector< StgcHitData > StgcHits
Gaudi::Property< bool > m_use_mcLUT
SG::WriteHandleKey< xAOD::L2StandAloneMuonContainer > m_muFastContainerKey
@ ITIMER_TOTAL_PROCESSING
SG::ReadHandleKey< DataVector< LVL1::RecMuonRoI > > m_run2recRoiCollectionKey
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
Gaudi::Property< double > m_rWidth_RPC_Failed
Gaudi::Property< int > m_calBufferSize
Gaudi::Property< bool > m_use_RoIBasedDataAccess_MDT
Gaudi::Property< int > m_esd_mdt_size
Gaudi::Property< int > m_esd_mm_size
Gaudi::Property< bool > m_allowOksConfig
Gaudi::Property< int > m_esd_stgc_size
Gaudi::Property< bool > m_use_RoIBasedDataAccess_TGC
SG::WriteHandleKey< xAOD::TrigCompositeContainer > m_muCompositeContainerKey
Gaudi::Property< bool > m_use_RoIBasedDataAccess_STGC