ATLAS Offline Software
Loading...
Searching...
No Matches
TgcRawDataMonitorAlgorithm.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TGCRAWDATAMONITORING_TGCRAWDATAMONITORALGORITHM_H
6#define TGCRAWDATAMONITORING_TGCRAWDATAMONITORALGORITHM_H
7
9#include "GaudiKernel/ServiceHandle.h"
10#include "GaudiKernel/ToolHandle.h"
11
24#include "TrigConfData/L1Menu.h"
27#include <memory>
28#include <vector>
29#include <set>
30
32 public:
33 TgcRawDataMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
34 virtual ~TgcRawDataMonitorAlgorithm()=default;
35 virtual StatusCode initialize() override;
36 virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
37
43 int timing{}; // -2,-1,0(current BC),+1,+2
45 TimedMuonRoI(const xAOD::MuonRoI* muonroi, int bcid = 0){
46 timing = bcid;
47 muonRoI = muonroi;
48 }
49 };
50 struct TimedMuon{
51 const xAOD::Muon* muon{};
52 std::vector<double> extPosZ;
53 std::vector<TVector3> extPos;
54 std::vector<TVector3> extVec;
55 std::set<int> matchedL1ThrExclusive;
57 std::set<int> matchedL1ThrInclusive;
59 std::set<std::string> matchedL1Items;
63 bool passGoodMF{};
65 void clear(){
66 extPosZ.clear();
67 extPos.clear();
68 extVec.clear();
73 matchedL1Items.clear();
74 }
75 };
76 struct ExtPos{
77 double extPosZ{};
80 int matched{};
81 const xAOD::Muon* muon{};
82 std::set<std::string> passedChambers;
83 std::set<std::string> chambersHasHit;
84 std::map<std::string,std::set<double>> residuals;
85 };
87 double eta{};
88 double phi{};
89 double matched{};
90 double matchedQ{};
91 double matchedF{};
92 double matchedC{};
93 double matchedH{};
94 double matchedEI{};
95 double matchedTile{};
96 double matchedRPC{};
97 double matchedNSW{};
98 };
100 int slSector{-999}; // SL sector ID
101 double roiEta{-999}; // SL RoI at the current BC and with matched offline muon
102 double roiPhi{-999};
103 int roiNum{-999};
104 int deltaBcid{-999}; // BCID difference between SL and TMDB
105 int deltaTiming{-999}; // Signal timing difference between SL and TMDB
106 int tmdbDecisions{-999}; // TMDB signal decisions for modules 0..3 (D5 only, D6 only, D5+D6)
107 int bcid{-999};
108 int bunch{-999};
109 int currBc{0};
110 int goodBcid0{0};
111 int goodBcid1{0};
112 int goodBcid2{0};
114 };
116 int slSector{-999};
117 int slInput{-999};
118 int slInputIndex{-999};
119 double roiEta{-999};
120 double roiPhi{-999};
121 int roiNum{-999};
122 int isForward{-999};
123 int isAside{-999};
124 double deltaR{-999};
125 int deltaBcid{-999}; // BCID difference between SL and NSW
126 int deltaTiming{-999}; // Signal timing difference between SL and NSW
127 int R{-999};
128 int Phi{-999};
129 int deltaTheta{-999};
130 int bcid{-999};
131 int bunch{-999};
132 int currBc{0};
133 int goodBcid0{0};
134 int goodBcid1{0};
135 int goodBcid2{0};
137 int bcmask{0};
138 };
140 int slSector{-999};
141 double roiEta{-999};
142 double roiPhi{-999};
143 int roiNum{-999};
144 int deltaBcid{-999};
145 int deltaTiming{-999};
146 int rpcEta{-999};
147 int rpcPhi{-999};
148 int rpcDEta{-999};
149 int rpcDPhi{-999};
150 int bcid{-999};
151 int bunch{-999};
152 int currBc{0};
153 int goodBcid0{0};
154 int goodBcid1{0};
155 int goodBcid2{0};
157 };
159 int slSector{-999};
160 double roiEta{-999};
161 double roiPhi{-999};
162 int roiNum{-999};
163 int deltaTiming{-999};
164 int bunch{-999};
165 int currBc{0};
167 };
168 struct TgcTrig{
169 int lb{};
170 double x_In{};
171 double y_In{};
172 double z_In{};
173 double x_Out{};
174 double y_Out{};
175 double z_Out{};
176 double eta{};
177 double phi{};
178 double etain{};
179 double etaout{};
180 double width_In{};
181 double width_Out{};
182 double width_R{};
183 double width_Phi{};
184 int isAside{};
186 int isStrip{};
187 int isInner{};
189 int type{};
192 int sector{};
193 int roi{};
194 int pt{};
195 int delta{};
196 int sub{};
197 int veto{};
198 int bunch{};
199 int inner{};
202 int isBiased{};
203 int bcid{};
204 std::vector<TgcTrigTile*> tile;
205 std::vector<TgcTrigNsw*> nsw;
206 std::vector<TgcTrigNsw*> nsw_unique;
207 std::vector<TgcTrigRpc*> rpc;
208 std::vector<TgcTrigEifi*> eifi;
209 };
211 std::string trigItem;
212 std::string title;
213 long unsigned int multiplicity{};
214 int rpcThr{};
215 int tgcThr{};
216 int sys{};//system: 1 for barrel, 2 for endcap, 3 for forward
218 int charge{};
219 bool tgcF{}; // full-station flag
220 bool tgcC{}; // inner-coincidence flag
221 bool tgcH{}; // hot roi mask flag
222 bool rpcR{}; // masking feet trigger
223 bool rpcM{}; // isMoreCand
224 double eta{};
225 double phi{};
226 unsigned int roiWord{};
227 };
228
229 double getNswRindexFromEta(const double& eta) const;
230
231 private:
232 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
233
234 SG::ReadHandleKey<TrigConf::L1Menu> m_L1MenuKey {this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu","L1 Menu key"};
235 SG::ReadDecorHandleKey<xAOD::MuonRoIContainer> m_thresholdPatternsKey{this,"MuRoIThresholdPatternsKey","LVL1MuonRoIs.thresholdPatterns","Name of the muon RoI container decoration for the threshold patterns"};
236 BooleanProperty m_monitorThresholdPatterns{this,"MonitorThresholdPatterns",true,"start monitoring tirgger threshold patterns"};
237 StringProperty m_thrPatternList{this,"ThrPatternList","MU4,MU6,MU10,MU11,MU20,MU21","list of single L1MU items to be monitored by the threshold pattern"};
238 StringProperty m_streamerFilter{this,"StreamerFilter","","Streamer filter such as HLT_noalg_MU14FCH"};
239
240 SG::ReadHandleKey<xAOD::MuonContainer> m_MuonContainerKey{this,"MuonContainerName","Muons","Offline muon track container"};
241 SG::ReadHandleKey<xAOD::MuonRoIContainer> m_MuonRoIContainerKey{this,"MuonRoIContainerName","LVL1MuonRoIs","L1 muon RoI container"};
242 SG::ReadHandleKey<xAOD::MuonRoIContainer> m_MuonRoIContainerBCm2Key{this,"MuonRoIContainerBCm2Name","LVL1MuonRoIsBCm2","L1 muon RoI container at -2BC"};
243 SG::ReadHandleKey<xAOD::MuonRoIContainer> m_MuonRoIContainerBCm1Key{this,"MuonRoIContainerBCm1Name","LVL1MuonRoIsBCm1","L1 muon RoI container at -1BC"};
244 SG::ReadHandleKey<xAOD::MuonRoIContainer> m_MuonRoIContainerBCp1Key{this,"MuonRoIContainerBCp1Name","LVL1MuonRoIsBCp1","L1 muon RoI container at +1BC"};
245 SG::ReadHandleKey<xAOD::MuonRoIContainer> m_MuonRoIContainerBCp2Key{this,"MuonRoIContainerBCp2Name","LVL1MuonRoIsBCp2","L1 muon RoI container at +2BC"};
246
247 SG::ReadHandleKey<Muon::TgcPrepDataContainer> m_TgcPrepDataContainerKey{this,"TgcPrepDataContainerName","TGC_MeasurementsAllBCs","current BC TGC PRD"};
248 SG::ReadHandleKey<Muon::TgcCoinDataContainer> m_TgcCoinDataContainerPrevBCKey{this,"TgcCoinDataContainerPrevBCName","TrigT1CoinDataCollectionPriorBC","TGC Coin Data Container PrevBC"};
249 SG::ReadHandleKey<Muon::TgcCoinDataContainer> m_TgcCoinDataContainerCurrBCKey{this,"TgcCoinDataContainerCurrBCName","TrigT1CoinDataCollection","TGC Coin Data Container CurrBC"};
250 SG::ReadHandleKey<Muon::TgcCoinDataContainer> m_TgcCoinDataContainerNextBCKey{this,"TgcCoinDataContainerNextBCName","TrigT1CoinDataCollectionNextBC","TGC Coin Data Container NextBC"};
251 SG::ReadHandleKey<Muon::TgcCoinDataContainer> m_TgcCoinDataContainerNextNextBCKey{this,"TgcCoinDataContainerNextNextBCName","TrigT1CoinDataCollectionNextNextBC","TGC Coin Data Container NextNextBC"};
252 SG::ReadHandleKey<xAOD::VertexContainer> m_PrimaryVertexContainerKey{this,"PrimaryVertexContainerName","PrimaryVertices","Primary Vertex Container"};
253
254 DoubleProperty m_muonToPVdz{this,"MuonToPVdz",50.,"Window size in deltaZ between muon track and primary vertex"};
255 DoubleProperty m_muonToPVdzOffset{this,"MuonToPVdzOffset",0.,"Offset of deltaZ between muon track and primary vertex"};
256 DoubleProperty m_muonToPVdca{this,"MuonToPVdca",0.5,"Distance to closest approach of muon track to primary vertex"};
257 BooleanProperty m_doExpressProcessing{this,"doExpressProcessing",false,"Processing express_express data"};
258 StringProperty m_packageName{this,"PackageName","TgcRawDataMonitor","group name for histograming"};
259 StringProperty m_ctpDecMonList{this,"CtpDecisionMoniorList","Tit:L1_2MU4,Mul:2,HLT:HLT_2mu4,RPC:1,TGC:1;","list of L1MU items to be monitored for before/after CTP decision"};
260 BooleanProperty m_monitorTriggerMultiplicity{this,"MonitorTriggerMultiplicity",false,"start monitoring tirgger multiplicity performance"};
261 BooleanProperty m_printAvailableMuonTriggers{this,"PrintAvailableMuonTriggers",false,"debugging purpose. print out all available muon triggers in the event"};
262 BooleanProperty m_TagAndProbe{this,"TagAndProbe",true,"switch to perform tag-and-probe method"};
263 BooleanProperty m_TagAndProbeZmumu{this,"TagAndProbeZmumu",false,"switch to perform tag-and-probe method Z->mumu"};
264 BooleanProperty m_tagMuonInDifferentSystem{this,"TagMuonInDifferentSystem",false,"restrict the tag muons to be only in the other system (barrel or endcap)"};
265 BooleanProperty m_anaTgcPrd{this,"AnaTgcPrd",false,"switch to perform analysis on TGC PRD"};
266 BooleanProperty m_anaTgcCoin{this,"AnaTgcCoin",false,"switch to perform analysis on TGC Coin"};
267 BooleanProperty m_fillGapByGapHistograms{this,"FillGapByGapHistograms",true,"filling gap-by-gap histograms (many many)"};
268 BooleanProperty m_anaOfflMuon{this,"AnaOfflMuon",true,"switch to perform analysis on xAOD::Muon"};
269 BooleanProperty m_offlMuonCutOnMuonType{this,"OfflMuonCutOnMuonType",true,"applying cut on offline muon muonType"};
270 BooleanProperty m_offlMuonCutOnAuthor{this,"OfflMuonCutOnAuthor",true,"applying cut on offline muon author"};
271 BooleanProperty m_offlMuonCutOnQuality{this,"OfflMuonCutOnQuality",true,"applying cut on offline muon quality"};
272 BooleanProperty m_anaMuonRoI{this,"AnaMuonRoI",true,"switch to perform analysis on xAOD::LVL1MuonRoI"};
273 DoubleProperty m_trigMatchWindow{this,"TrigMatchingWindow",0.2,"Window size in R for trigger matching"};
274 DoubleProperty m_l1trigMatchWindowPt15{this,"L1TrigMatchingWindowPt15",0.15,"Window size in R for L1 trigger matching for 15GeV muons"};
275 DoubleProperty m_l1trigMatchWindowPt10a{this,"L1TrigMatchingWindowPt10a",0.3,"Window size in R for L1 trigger matching for 10GeV(a) muons"};
276 DoubleProperty m_l1trigMatchWindowPt10b{this,"L1TrigMatchingWindowPt10b",-0.01,"Window size in R for L1 trigger matching for 10GeV(b) muons"};
277 DoubleProperty m_l1trigMatchWindowPt0a{this,"L1TrigMatchingWindowPt0a",0.36,"Window size in R for L1 trigger matching for 0GeV(a) muons"};
278 DoubleProperty m_l1trigMatchWindowPt0b{this,"L1TrigMatchingWindowPt0b",-0.0016,"Window size in R for L1 trigger matching for 0GeV(b) muons"};
279 DoubleProperty m_isolationWindow{this,"IsolationWindow",1.0,"Window size in R for isolation with other muons"};
280 BooleanProperty m_requireIsolated{this,"RequireIsolated",true,"Probe muon should be isolated from other muons"};
281 BooleanProperty m_useIDTrackForExtrapolation{this,"UseIDTrackForExtrapolation",false,"Use InnerDetectorTrackParticle for extrapolation"};
282 BooleanProperty m_useMSTrackForExtrapolation{this,"UseMSTrackForExtrapolation",false,"Use MuonSpectrometerTrackParticle for extrapolation"};
283 BooleanProperty m_useCBTrackForExtrapolation{this,"UseCBTrackForExtrapolation",false,"CombinedTrackParticle for extrapolation"};
284 BooleanProperty m_useExtMSTrackForExtrapolation{this,"UseExtMSTrackForExtrapolation",false,"Use ExtrapolatedMuonSpectrometerTrackParticle for extrapolation"};
285 BooleanProperty m_useMSOnlyExtMSTrackForExtrapolation{this,"UseMSOnlyExtMSTrackForExtrapolation",false,"Use MSOnlyExtrapolatedMuonSpectrometerTrackParticle for extrapolation"};
286 BooleanProperty m_useDirectPrimaryTrackForExtrapolation{this,"UseDirectPrimaryTrackForExtrapolation",true,"Use DirectPrimaryTrackForExtrapolation for extrapolation"};
287 BooleanProperty m_useOnlyCombinedMuons{this,"UseOnlyCombinedMuons",false,"use only CombinedMuons"};
288 BooleanProperty m_useOnlyMuidCoStacoMuons{this,"UseOnlyMuidCoStacoMuons",false,"use only MuidCo and Staco Muons"};
289 BooleanProperty m_useMuonSelectorTool{this,"UseMuonSelectorTool",true,"use MuonSelectorTool"};
290 DoubleProperty m_pTCutOnExtrapolation{this,"pTCutOnExtrapolation",5000.,"pT [in MeV] cut on the extrapolation tracks"};
291 DoubleProperty m_pTCutOnTrigExtrapolation{this,"pTCutOnTrigExtrapolation",20000.,"pT [in MeV] cut on the extrapolation tracks for trigger validation"};
292 DoubleProperty m_M1_Z{this,"M1_Z",13436.5,"z-position of TGC M1-station in mm for track extrapolate"};
293 DoubleProperty m_M2_Z{this,"M2_Z",14728.2,"z-position of TGC M2-station in mm for track extrapolate"};
294 DoubleProperty m_M3_Z{this,"M3_Z",15148.2,"z-position of TGC M3-station in mm for track extrapolate"};
295 DoubleProperty m_EI_Z{this,"EI_Z",7364.7,"z-position of TGC EI-station in mm for track extrapolate"};
296 DoubleProperty m_FI_Z{this,"FI_Z",6978.2,"z-position of TGC FI-station in mm for track extrapolate"};
297 DoubleProperty m_muonMass{this,"MuonMass",ParticleConstants::muonMassInMeV,"muon invariant mass in MeV"};
298 DoubleProperty m_zMass{this,"ZMass",91187.6,"muon invariant mass in MeV"};
299 DoubleProperty m_zMassWindow{this,"ZMassWindow",10000,"muon invariant mass half-window in MeV"};
300 DoubleProperty m_endcapPivotPlaneMinimumRadius{this,"endcapPivotPlaneMinimumRadius",0.,"minimum radius of pivot plane in endcap region"};
301 DoubleProperty m_endcapPivotPlaneMaximumRadius{this,"endcapPivotPlaneMaximumRadius", 11977.,"maximum radius of pivot plane in endcap region"};
302 DoubleProperty m_barrelPivotPlaneHalfLength{this,"barrelPivotPlaneHalfLength", 9500.,"half length of pivot plane in barrel region"};
303 DoubleProperty m_residualWindow{this,"ResidualWindow", 200.,"Window size in mm between hit position and track-extrapolated position"};
304 DoubleProperty m_dPhiCutOnM3{this,"dPhiCutOnM3", 0.2,"Window size in delta phi on M3 between hit position and track-extrapolated position"};
305 DoubleProperty m_dRCutOnM3{this,"dRCutOnM3", 3000.,"Window size in delta R (radious) on M3 between hit position and track-extrapolated position"};
306 IntegerProperty m_nHitsInOtherBWTGCWire{this,"nHitsInOtherTGCWire",3,"Number of hits in other BW-TGC wire channels"};
307 IntegerProperty m_nHitsInOtherBWTGCStrip{this,"nHitsInOtherTGCStrip",2,"Number of hits in other BW-TGC strip channels"};
308 BooleanProperty m_dumpFullChannelList{this,"DumpFullChannelList",false,"Dump full channel list"};
309 StringProperty m_maskChannelFileName{this,"MaskChannelFileName","","Name of file for mask channels"};
310 DoubleProperty m_NswDeltaRCut{this,"NswDeltaRCut", 20.,"Window size in delta R for NSW-TGC matching"};
311
312 std::vector<double> m_extZposition;
313 std::vector<CtpDecMonObj> m_CtpDecMonObj;
314 std::set<std::string> m_thrMonList;
315 std::set<std::string> m_maskChannelList;
316
317 using MonVariables=std::vector < std::reference_wrapper < Monitored::IMonitoredVariable >>;
318 void fillTgcCoin(const std::string&,
319 const std::vector<TgcTrig>&,
320 std::vector<Monitored::ObjectsCollection<std::vector<TgcTrig>, double>>&,
321 MonVariables&) const;
322 void fillTgcCoinEff(const std::string&,
323 const std::vector<TgcTrig>&,
324 const std::vector<ExtPos>&,
325 std::vector<ExtTrigInfo>&,
326 std::vector<Monitored::ObjectsCollection<std::vector<ExtTrigInfo>, double>>&,
327 MonVariables&) const;
328 double getMatchingWindow(const xAOD::Muon* muon) const;
329
330 ToolHandle<IGoodRunsListSelectorTool> m_GoodRunsListSelectorTool{this,"GRLTool","GoodRunsListSelectorTool","GoodRunsListSelectorTool"};
331 ToolHandle<Trk::IExtrapolator> m_extrapolator{this,"TrackExtrapolator","Trk::Extrapolator/AtlasExtrapolator","Track extrapolator"};
332 ToolHandle<ITgcRawDataMonitorTool> m_tgcMonTool{this,"TgcRawDataMonitorTool","TgcDawDataMonitorTool","TgcRawDataMonitorTool"};
333 ToolHandle<CP::IMuonSelectionTool> m_muonSelectionTool{this,"MuonSelectionTool","CP::MuonSelectionTool/MuonSelectionTool","MuonSelectionTool"};
334 SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_DetectorManagerKey {this, "DetectorManagerKey","MuonDetectorManager","Key of input MuonDetectorManager condition data"};
335 StatusCode printOutAvailableMuonTriggers() const;
336 std::set<std::string> checkTriggerInfo() const;
337 const xAOD::Vertex* getPrimaryVertex( const EventContext& ctx) const ;
338 std::vector<TgcRawDataMonitorAlgorithm::TimedMuonRoI> getRegionsOfInterest( const EventContext& ctx) const;
339 void fillRoiHistograms(const std::vector<TgcRawDataMonitorAlgorithm::TimedMuonRoI> & roiVec, const EventContext& ctx) const;
340 void fillHistogramsAfterTriggerDecision(std::vector<TgcRawDataMonitorAlgorithm::TimedMuonRoI> & roiVec) const;
341 void fillThresholdPatternHistograms(std::map<std::string,std::vector<const xAOD::MuonRoI*>> & menuAndRoIs, const std::vector < TimedMuon > & mymuons, const EventContext& ctx) const;
342 void fillTgcPrdHistograms(Monitored::Scalar<int> & mon_bcid, Monitored::Scalar<int> & mon_pileup, Monitored::Scalar<int> & mon_lb, std::map < std::string, std::vector< ExtPos > > & extpositions, const EventContext & ctx) const;
343 void fillMuonRoisInThresholdPattern(std::map<const xAOD::MuonRoI*,std::set<std::string>> &, std::map<std::string,std::vector<const xAOD::MuonRoI*>> &, std::vector<TimedMuonRoI> & AllBCMuonRoIs, const EventContext & ctx) const;
344};
345#endif
Scalar eta() const
pseudorapidity method
A number of constexpr particle constants to avoid hardcoding them directly in various places.
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Monitoring of object collections (internal)
Declare a monitored scalar variable.
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonContainerKey
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_MuonRoIContainerBCm2Key
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_MuonRoIContainerKey
std::vector< CtpDecMonObj > m_CtpDecMonObj
void fillTgcCoinEff(const std::string &, const std::vector< TgcTrig > &, const std::vector< ExtPos > &, std::vector< ExtTrigInfo > &, std::vector< Monitored::ObjectsCollection< std::vector< ExtTrigInfo >, double > > &, MonVariables &) const
virtual ~TgcRawDataMonitorAlgorithm()=default
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_MuonRoIContainerBCm1Key
SG::ReadHandleKey< xAOD::VertexContainer > m_PrimaryVertexContainerKey
double getMatchingWindow(const xAOD::Muon *muon) const
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
void fillTgcCoin(const std::string &, const std::vector< TgcTrig > &, std::vector< Monitored::ObjectsCollection< std::vector< TgcTrig >, double > > &, MonVariables &) const
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_MuonRoIContainerBCp2Key
std::set< std::string > m_maskChannelList
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_MuonRoIContainerBCp1Key
SG::ReadHandleKey< Muon::TgcCoinDataContainer > m_TgcCoinDataContainerNextNextBCKey
SG::ReadHandleKey< Muon::TgcPrepDataContainer > m_TgcPrepDataContainerKey
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
SG::ReadHandleKey< Muon::TgcCoinDataContainer > m_TgcCoinDataContainerNextBCKey
SG::ReadDecorHandleKey< xAOD::MuonRoIContainer > m_thresholdPatternsKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
SG::ReadHandleKey< Muon::TgcCoinDataContainer > m_TgcCoinDataContainerCurrBCKey
BooleanProperty m_useDirectPrimaryTrackForExtrapolation
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
std::vector< std::reference_wrapper< Monitored::IMonitoredVariable > > MonVariables
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
ToolHandle< ITgcRawDataMonitorTool > m_tgcMonTool
ToolHandle< IGoodRunsListSelectorTool > m_GoodRunsListSelectorTool
ToolHandle< Trk::IExtrapolator > m_extrapolator
SG::ReadHandleKey< Muon::TgcCoinDataContainer > m_TgcCoinDataContainerPrevBCKey
Eigen::Matrix< double, 3, 1 > Vector3D
constexpr double muonMassInMeV
the mass of the muon (in MeV)
Vertex_v1 Vertex
Define the latest version of the vertex class.
Muon_v1 Muon
Reference the current persistent version:
MuonRoI_v1 MuonRoI
Definition MuonRoI.h:15
void initialize()
std::map< std::string, std::set< double > > residuals
TimedMuonRoI(const xAOD::MuonRoI *muonroi, int bcid=0)