Loading [MathJax]/extensions/tex2jax.js
 |
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"
71 const std::vector<const xAOD::MuonRoI*>& muonRoIs,
76 const bool dynamicDeltaRpc,
77 const EventContext& ctx )
const;
81 const std::vector<const TrigRoiDescriptor*>& roids,
82 const std::vector<const xAOD::MuonRoI*>& muonRoIs,
85 const bool dynamicDeltaRpc,
86 const EventContext& ctx )
const;
90 const std::vector<const xAOD::MuonRoI*>& muonRoIs,
92 const bool dynamicDeltaRpc,
93 const EventContext& ctx)
const;
97 virtual void handle(
const Incident& incident)
override;
117 const std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns,
121 const EventContext& ctx)
const;
137 const EventContext& ctx)
const;
155 std::vector<TrigL2MuonSA::TrackPattern>& trackPatterns )
const;
163 this,
"DataPreparator",
"TrigL2MuonSA::MuFastDataPreparator",
"data preparator" };
165 this,
"PatternFinder",
"TrigL2MuonSA::MuFastPatternFinder",
"pattern finder" };
167 this,
"StationFitter",
"TrigL2MuonSA::MuFastStationFitter",
"station fitter" };
169 this,
"TrackFitter",
"TrigL2MuonSA::MuFastTrackFitter",
"track fitter" };
171 this,
"TrackExtrapolator",
"TrigL2MuonSA::MuFastTrackExtrapolator",
"track extrapolator" };
173 this,
"FtfRoadDefiner",
"TrigL2MuonSA::FtfRoadDefiner",
"ftf road definer" };
177 this,
"BackExtrapolator",
"TrigMuonBackExtrapolator",
"public tool for back extrapolating the muon tracks to the IV" };
181 this,
"CalibrationStreamer",
"TrigL2MuonSA::MuCalStreamerTool",
"calibration stream" };
188 this,
"CscSegmentMaker",
"TrigL2MuonSA::CscSegmentMaker",
"" };
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};
227 Gaudi::Property< double >
m_winPt {
this,
"WinPt", 4.0 };
229 Gaudi::Property< bool >
m_insideOut {
this,
"InsideOutMode",
false,
"" };
230 Gaudi::Property< bool >
m_multiTrack {
this,
"multitrackMode",
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" };
240 Gaudi::Property< std::string >
m_calBufferName {
this,
"MuonCalBufferName",
"/tmp/testOutput"};
244 Gaudi::Property< bool >
m_fill_FSIDRoI {
this,
"FILL_FSIDRoI",
false,
"Fill FS RoI for ID (will be used in cosmic run)"};
246 Gaudi::Property< bool >
m_useRun3Config {
this,
"UseRun3Config",
false,
"use Run3 L1Muon EDM; xAOD::MuonRoI"};
251 this,
"EventInfo",
"EventInfo",
"Name of the xAOD::EventInfo object"};
255 this,
"MuRoIs",
"HLT_MURoIs",
"Name of the input data from HLTSeeding"};
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"};
265 this,
"TrackParticlesContainerName",
"HLT_xAODTracks_Muon",
"Name of the input data on xAOD::TrackParticleContainer produced by FTF for Inside-Out mode"};
269 this,
"MuonL2SAInfo",
"MuonL2SAInfo",
"Name of the output data on xAOD::L2StandAloneMuonContainer"};
273 this,
"MuonCalibrationStream",
"MuonCalibrationStream",
"Name of the decisions object attached by MuFastSteering"};
277 this,
"forID",
"forID",
"Name of the output data for Inner Detector"};
281 this,
"forMS",
"forMS",
"Name of the output data for MS"};
285 this,
"L2IOCB",
"MuonL2CBInfo",
"output CB Muon container name"};
288 ToolHandle< GenericMonitoringTool >
m_monTool {
this,
"MonTool",
"",
"Monitoring tool" };
294 #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
ToolHandle< TrigL2MuonSA::CscSegmentMaker > m_cscsegmaker
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
bool storeIDRoiDescriptor(const TrigRoiDescriptor *roids, const TrigL2MuonSA::TrackPattern &pattern, const DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputID) const
ToolHandle< TrigL2MuonSA::MuFastDataPreparator > m_dataPreparator
@ ITIMER_TRACK_EXTRAPOLATOR
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
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
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
@ ITIMER_CALIBRATION_STREAMER
Gaudi::Property< bool > m_doCalStream
Gaudi::Property< bool > m_use_RoIBasedDataAccess_RPC
Gaudi::Property< bool > m_calDataScouting
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_recRoiCollectionKey
@ ITIMER_TOTAL_PROCESSING
StatusCode updateMonitor(const xAOD::MuonRoI *roi, const TrigL2MuonSA::MdtHits &mdtHits, std::vector< TrigL2MuonSA::TrackPattern > &trackPatterns) const
Update monitoring variables.
Gaudi::Property< bool > m_useRun3Config
Property holding a SG store/key/clid from which a WriteHandle is made.
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.
Class describing a LVL1 muon region of interest.
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
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
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
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
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.
std::vector< MmHitData > MmHits
std::vector< StgcHitData > StgcHits
Gaudi::Property< bool > m_use_mcLUT
SG::WriteHandleKey< xAOD::L2StandAloneMuonContainer > m_muFastContainerKey
SG::ReadHandleKey< DataVector< LVL1::RecMuonRoI > > m_run2recRoiCollectionKey
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
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
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