ATLAS Offline Software
MuonPhysValMonitoringTool.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 // MuonPhysValMonitoringTool.cxx
6 // Implementation file for class MuonPhysValMonitoringTool
7 // Author: Felix Socher <Felix.Socher@cern.ch>
9 
10 #ifndef MUONPHYSVALMONITORING_MUONPHYSVALMONITORINGTOOL_H
11 #define MUONPHYSVALMONITORING_MUONPHYSVALMONITORINGTOOL_H
12 
13 
14 
16 #include "GaudiKernel/ServiceHandle.h"
20 
21 
24 
27 #include "xAODMuon/Muon.h" //typedef
28 #include "xAODMuon/MuonSegment.h" //typedef
29 #include "xAODMuon/SlowMuon.h" //typedef
30 #include "xAODTrigMuon/L2CombinedMuon.h" //typedef
31 
32 #include "xAODTrigMuon/L2StandAloneMuon.h" //typedef
33 #include "xAODTruth/TruthParticle.h" //typedef
34 #include "xAODTruth/TruthParticleContainer.h" //typedef
35 
36 #include "MuonSegmentValidationPlots.h" //needed for unique_ptr access to deleter
37 #include "MuonHistUtils/MuonSegmentPlots.h" //needed for unique_ptr access to deleter
38 #include "MuonValidationPlots.h" //needed for unique_ptr access to deleter
39 #include "MuonHistUtils/RecoMuonPlotOrganizer.h" //needed for unique_ptr access to deleter
40 #include "MuonHistUtils/TruthMuonPlotOrganizer.h" //needed for unique_ptr access to deleter
41 #include "TrkValHistUtils/PlotBase.h" //for PlotBase, also for typedef of HistData
42 #include "SlowMuonValidationPlots.h" //needed for unique_ptr access to deleter
43 #include "MuonTrackValidationPlots.h" //needed for unique_ptr access to deleter
44 #include "TriggerMuonValidationPlots.h" //needed for unique_ptr access to deleter
45 
46 #include <string>
47 #include <vector>
48 #include <memory>
49 
50 class TString;
51 class TH1F;
52 
53 
54 
55 namespace MuonPhysValMonitoring {
56 
59  // Public methods:
61  public:
62  // Copy constructor:
63 
65  MuonPhysValMonitoringTool(const std::string& type, const std::string& name, const IInterface* parent);
66 
68  virtual ~MuonPhysValMonitoringTool() = default;
69 
70  // Athena algtool's Hooks
71  virtual StatusCode initialize() override;
72  virtual StatusCode bookHistograms() override;
73  virtual StatusCode fillHistograms() override;
74  virtual StatusCode procHistograms() override;
75 
77  // Private data:
79  private:
81 
82  void handleMuon(const xAOD::Muon* mu, const xAOD::SlowMuon* smu = nullptr, float weight = 1.0);
83  void handleSlowMuon(const xAOD::SlowMuon* smu, float weight = 1.0);
84  void handleTruthMuon(const xAOD::TruthParticle* truthMu, float weight = 1.0);
85  void handleMuonTrack(const xAOD::TrackParticle* tp, xAOD::Muon::TrackParticleType type, float weight = 1.0);
86  void handleMuonSegment(const xAOD::MuonSegment* muSeg, float weight = 1.0);
87  void handleTruthMuonSegment(const xAOD::MuonSegment* truthMuSeg, const xAOD::TruthParticleContainer* muonTruthContainer,
88  float weight = 1.0);
89 
90  void handleMuonTrees(const xAOD::EventInfo* eventInfo, bool isData);
91 
92  void handleMuonL1Trigger(const xAOD::MuonRoI* TrigL1mu);
93  void handleMuonL2Trigger(const xAOD::L2StandAloneMuon* L2SAMu);
94  void handleMuonL2Trigger(const xAOD::L2CombinedMuon* L2CBMu);
95  void handleMuonTrigger(const xAOD::Muon* mu);
96  void L2SATriggerResolution();
97  void L2CBTriggerResolution();
98  void EFTriggerResolution();
99 
100  void printMuonDebug(const xAOD::Muon* mu);
101  void printTruthMuonDebug(const xAOD::TruthParticle* truthMu, const xAOD::Muon* mu);
102 
104  const xAOD::Muon* findRecoMuon(const xAOD::TruthParticle* truthMu);
105  const xAOD::SlowMuon* findRecoSlowMuon(const xAOD::TruthParticle* truthMu);
106  const xAOD::MuonSegment* findRecoMuonSegment(const xAOD::MuonSegment* truthMuSeg);
107  std::unique_ptr<xAOD::Muon> getCorrectedMuon(const xAOD::Muon& mu);
108 
110  std::map<std::string, int> m_counterBits;
111  std::vector<std::string> m_muonItems;
112  std::vector<std::string> m_L1Seed;
114 
115  TH1F* findHistogram(const std::vector<HistData>& hists, const std::string& hnameTag, const std::string& hdirTag,
116  const std::string& hNewName);
117  void modifyHistogram(TH1* hist);
118 
119  Gaudi::Property<std::string> m_tracksName{this, "TrackContainerName", "InDetTrackParticles"};
120  Gaudi::Property<std::string> m_fwdtracksName{this, "FwdTrackContainerName", ""};
121  Gaudi::Property<std::string> m_muonsName{this, "MuonContainerName", "Muons"};
122  Gaudi::Property<std::string> m_slowMuonsName{this, "SlowMuonContainerName", "SlowMuons"};
123  Gaudi::Property<std::string> m_muonsTruthName{this, "MuonTruthParticleContainerName", "MuonTruthParticles"};
124  Gaudi::Property<std::string> m_muonTracksName{this, "MuonTrackContainerName", "MuonSpectrometerTrackParticles"};
125  Gaudi::Property<std::string> m_muonExtrapolatedTracksName{this, "MuonExtrapolatedTrackContainerName",
126  "ExtrapolatedMuonTrackParticles"};
127  Gaudi::Property<std::string> m_muonMSOnlyExtrapolatedTracksName{this, "MuonOnlyExtrapolatedTrackContainerName",
128  "MSOnlyExtrapolatedMuonTrackParticles"};
129  Gaudi::Property<std::string> m_muonSegmentsName{this, "MuonSegmentContainerName", "MuonSegments"};
130  Gaudi::Property<std::string> m_muonSegmentsTruthName{this, "MuonTruthSegmentContainerName", "MuonTruthSegments"};
131  Gaudi::Property<std::string> m_muonL1TrigName{this, "L1TrigMuonContainerName", "LVL1MuonRoIs"};
132  Gaudi::Property<std::string> m_muonL2SAName{this, "L2SAMuonContainerName", "HLT_xAOD__L2StandAloneMuonContainer_MuonL2SAInfo"};
133  Gaudi::Property<std::string> m_muonL2CBName{this, "L2CBMuonContainerName", "HLT_xAOD__L2CombinedMuonContainer_MuonL2CBInfo"};
134  Gaudi::Property<std::string> m_muonEFCombTrigName{this, "EFCombTrigMuonContainerName", "HLT_xAOD__MuonContainer_MuonEFInfo"};
135 
136  Gaudi::Property<std::vector<int>> m_selectMuonWPs{
137  this, "SelectMuonWorkingPoints", {xAOD::Muon::Loose, xAOD::Muon::Medium, xAOD::Muon::Tight}};
138  Gaudi::Property<std::vector<unsigned int>> m_selectMuonAuthors{
139  this,
140  "SelectMuonAuthors",
143  Gaudi::Property<bool> m_selectComissioning{this, "SelectComissioningMuons", false};
144  Gaudi::Property<std::vector<std::vector<std::string>>> m_selectHLTMuonItems{this, "SelectHLTMuonItems", {}};
145  Gaudi::Property<std::vector<std::string>> m_L1MuonItems{this, "SelectL1MuonItems", {}};
146  Gaudi::Property<std::vector<unsigned int>> m_selectMuonCategories{
147  this,
148  "SelectMuonCategories",
149  {MUCATEGORY::ALL, MUCATEGORY::PROMPT, MUCATEGORY::INFLIGHT, MUCATEGORY::NONISO, MUCATEGORY::REST}};
150 
151  Gaudi::Property<bool> m_doBinnedResolutionPlots{this, "DoBinnedResolutionPlots", true};
152  Gaudi::Property<bool> m_doTrigMuonValidation{this, "DoTrigMuonValidation", false};
153  Gaudi::Property<bool> m_doTrigMuonL1Validation{this, "DoTrigMuonL1Validation", false};
154  Gaudi::Property<bool> m_doTrigMuonL2Validation{this, "DoTrigMuonL2Validation", false};
155  Gaudi::Property<bool> m_doTrigMuonEFValidation{this, "DoTrigMuonEFValidation", false};
156  Gaudi::Property<bool> m_doMuonTree{this, "DoMuonTree", false};
157  Gaudi::Property<bool> m_isData{this, "IsData", false};
158 
159  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo{this, "EventInfo", "EventInfo", "event info"};
160 
161  // Tools
162  ToolHandle<CP::IMuonSelectionTool> m_muonSelectionTool{this, "MuonSelector", "CP::MuonSelectionTool/MuonSelectionTool"};
163  ToolHandle<Rec::IMuonPrintingTool> m_muonPrinter{this, "MuonPrinter", "Rec::MuonPrintingTool/MuonPrintingTool"};
164  ToolHandle<Trig::TrigDecisionTool> m_trigDec{this, "TrigDecTool", "Trig::TrigDecisionTool/TrigDecisionTool"};
165  ToolHandle<Trk::ITrackSelectorTool> m_trackSelector{this, "TrackSelector", "InDet::InDetDetailedTrackSelectorTool/MuonCombinedInDetDetailedTrackSelectorTool"};
166  ToolHandle<CP::IIsolationSelectionTool> m_isoTool{this, "IsoTool", ""};
167 
168  std::vector<std::string> m_selectMuonCategoriesStr;
170  const xAOD::TruthParticleContainer* muonTruthContainer);
172  bool passesAcceptanceCuts(const xAOD::IParticle* prt);
173  void SplitString(TString x, const TString& delim, std::vector<TString>& v);
174 
175  // Hists
176  std::vector<std::unique_ptr<MuonValidationPlots>> m_muonValidationPlots;
177  std::vector<std::unique_ptr<TriggerMuonValidationPlots>> m_TriggerMuonValidationPlots;
178  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonMSTrackValidationPlots;
179  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonMETrackValidationPlots;
180  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonMSOnlyMETrackValidationPlots;
181  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonIDTrackValidationPlots;
182  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonIDSelectedTrackValidationPlots;
183  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonIDForwardTrackValidationPlots;
184  std::vector<std::unique_ptr<MuonSegmentValidationPlots>> m_muonSegmentValidationPlots;
185  std::unique_ptr<Muon::RecoMuonPlotOrganizer> m_oUnmatchedRecoMuonPlots;
186  std::unique_ptr<Muon::TruthMuonPlotOrganizer> m_oUnmatchedTruthMuonPlots;
187  std::unique_ptr<Muon::RecoMuonTrackPlotOrganizer> m_oUnmatchedRecoMuonTrackPlots;
188  std::unique_ptr<Muon::MuonSegmentPlots> m_oUnmatchedRecoMuonSegmentPlots;
189 
190  std::vector<std::unique_ptr<SlowMuonValidationPlots>> m_slowMuonValidationPlots;
191 
192  // overview hists
193  std::vector<TH1F*> m_h_overview_nObjects;
195  std::vector<TH1F*> m_h_overview_reco_authors;
196 
200 
201  std::vector<const xAOD::TruthParticle*> m_vMatchedTruthMuons;
202  std::vector<const xAOD::Muon*> m_vMatchedMuons;
203  std::vector<const xAOD::SlowMuon*> m_vMatchedSlowMuons;
204  std::vector<const xAOD::TrackParticle*> m_vMatchedMuonTracks;
205  std::vector<const xAOD::MuonSegment*> m_vMatchedMuonSegments;
206  std::vector<const xAOD::TrackParticle*> m_vZmumuIDTracks;
207  std::vector<const xAOD::TrackParticle*> m_vZmumuMETracks;
208  std::vector<const xAOD::Muon*> m_vZmumuMuons;
209  std::vector<const xAOD::Muon*> m_vEFMuons;
210  std::vector<const xAOD::Muon*> m_vEFMuonsSelected;
211  std::vector<const xAOD::L2StandAloneMuon*> m_vL2SAMuons;
212  std::vector<const xAOD::L2StandAloneMuon*> m_vL2SAMuonsSelected;
213  std::vector<const xAOD::L2CombinedMuon*> m_vL2CBMuons;
214  std::vector<const xAOD::L2CombinedMuon*> m_vL2CBMuonsSelected;
215  std::vector<const xAOD::Muon*> m_vRecoMuons;
216  std::vector<const xAOD::Muon*> m_vRecoMuons_EffDen_CB;
217  std::vector<const xAOD::Muon*> m_vRecoMuons_EffDen_MS;
218  std::vector<const xAOD::Muon*> m_vRecoMuons_EffDen;
219 
220  template <class T> const T* getContainer(const std::string& containerName);
221  };
222 
223  template <class T> const T* MuonPhysValMonitoringTool::getContainer(const std::string& containerName) {
224  const T* ptr = evtStore()->retrieve<const T>(containerName);
225  if (!ptr) { ATH_MSG_WARNING("Container '" << containerName << "' could not be retrieved"); }
226  return ptr;
227  }
228 
229 } // namespace MuonPhysValMonitoring
230 
231 #endif //> !MUONPHYSVALMONITORING_MUONPHYSVALMONITORINGTOOL_H
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonExtrapolatedTracksName
Gaudi::Property< std::string > m_muonExtrapolatedTracksName
Definition: MuonPhysValMonitoringTool.h:125
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vRecoMuons_EffDen_MS
std::vector< const xAOD::Muon * > m_vRecoMuons_EffDen_MS
Definition: MuonPhysValMonitoringTool.h:217
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleTruthMuonSegment
void handleTruthMuonSegment(const xAOD::MuonSegment *truthMuSeg, const xAOD::TruthParticleContainer *muonTruthContainer, float weight=1.0)
Definition: MuonPhysValMonitoringTool.cxx:858
LikeEnum::Loose
@ Loose
Definition: LikelihoodEnums.h:12
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_oUnmatchedRecoMuonPlots
std::unique_ptr< Muon::RecoMuonPlotOrganizer > m_oUnmatchedRecoMuonPlots
Definition: MuonPhysValMonitoringTool.h:185
MuonPhysValMonitoring::MuonPhysValMonitoringTool::INFLIGHT
@ INFLIGHT
Definition: MuonPhysValMonitoringTool.h:80
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vMatchedTruthMuons
std::vector< const xAOD::TruthParticle * > m_vMatchedTruthMuons
Definition: MuonPhysValMonitoringTool.h:201
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_h_overview_nObjects
std::vector< TH1F * > m_h_overview_nObjects
Definition: MuonPhysValMonitoringTool.h:193
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vRecoMuons
std::vector< const xAOD::Muon * > m_vRecoMuons
Definition: MuonPhysValMonitoringTool.h:215
xAOD::SlowMuon_v1
Class describing a SlowMuon.
Definition: SlowMuon_v1.h:26
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonL2CBName
Gaudi::Property< std::string > m_muonL2CBName
Definition: MuonPhysValMonitoringTool.h:133
xAOD::MuGirl
@ MuGirl
MuGirl.
Definition: TrackingPrimitives.h:141
L2StandAloneMuon.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonSegmentsName
Gaudi::Property< std::string > m_muonSegmentsName
Definition: MuonPhysValMonitoringTool.h:129
PlotBase
Definition: PlotBase.h:34
MuonPhysValMonitoring::MuonPhysValMonitoringTool::~MuonPhysValMonitoringTool
virtual ~MuonPhysValMonitoringTool()=default
Destructor:
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonSegmentsTruthName
Gaudi::Property< std::string > m_muonSegmentsTruthName
Definition: MuonPhysValMonitoringTool.h:130
MuonPhysValMonitoring::MuonPhysValMonitoringTool::printMuonDebug
void printMuonDebug(const xAOD::Muon *mu)
Definition: MuonPhysValMonitoringTool.cxx:1286
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:73
MuonPhysValMonitoring::MuonPhysValMonitoringTool::MUCATEGORY
MUCATEGORY
Definition: MuonPhysValMonitoringTool.h:80
MuonPhysValMonitoring::MuonPhysValMonitoringTool::findRecoMuonSegment
const xAOD::MuonSegment * findRecoMuonSegment(const xAOD::MuonSegment *truthMuSeg)
Definition: MuonPhysValMonitoringTool.cxx:1362
TruthMuonPlotOrganizer.h
Muon.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vRecoMuons_EffDen_CB
std::vector< const xAOD::Muon * > m_vRecoMuons_EffDen_CB
Definition: MuonPhysValMonitoringTool.h:216
xAOD::L2StandAloneMuon_v2
Class describing standalone muons reconstructed in the LVL2 trigger.
Definition: L2StandAloneMuon_v2.h:36
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_eventInfo
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
Definition: MuonPhysValMonitoringTool.h:159
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_doTrigMuonValidation
Gaudi::Property< bool > m_doTrigMuonValidation
Definition: MuonPhysValMonitoringTool.h:152
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuonTrees
void handleMuonTrees(const xAOD::EventInfo *eventInfo, bool isData)
Definition: MuonPhysValMonitoringTool.cxx:1010
plotmaker.hist
hist
Definition: plotmaker.py:148
L2CombinedMuon.h
TruthParticleContainer.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vEFMuons
std::vector< const xAOD::Muon * > m_vEFMuons
Definition: MuonPhysValMonitoringTool.h:209
MuonSegment.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonMETrackValidationPlots
std::vector< std::unique_ptr< MuonTrackValidationPlots > > m_muonMETrackValidationPlots
Definition: MuonPhysValMonitoringTool.h:179
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonMSOnlyMETrackValidationPlots
std::vector< std::unique_ptr< MuonTrackValidationPlots > > m_muonMSOnlyMETrackValidationPlots
Definition: MuonPhysValMonitoringTool.h:180
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vZmumuIDTracks
std::vector< const xAOD::TrackParticle * > m_vZmumuIDTracks
Definition: MuonPhysValMonitoringTool.h:206
xAOD::MuonSegment_v1
Class describing a MuonSegment.
Definition: MuonSegment_v1.h:33
ParticleTest.tp
tp
Definition: ParticleTest.py:25
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleTruthMuon
void handleTruthMuon(const xAOD::TruthParticle *truthMu, float weight=1.0)
Definition: MuonPhysValMonitoringTool.cxx:957
TrigDecisionTool.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::findRecoMuon
const xAOD::Muon * findRecoMuon(const xAOD::TruthParticle *truthMu)
Definition: MuonPhysValMonitoringTool.cxx:1296
ALL
@ ALL
Definition: sTGCenumeration.h:14
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonValidationPlots
std::vector< std::unique_ptr< MuonValidationPlots > > m_muonValidationPlots
Definition: MuonPhysValMonitoringTool.h:176
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_counterBits
std::map< std::string, int > m_counterBits
Definition: MuonPhysValMonitoringTool.h:110
MuonPhysValMonitoring::MuonPhysValMonitoringTool::procHistograms
virtual StatusCode procHistograms() override
An inheriting class should either override this function or finalHists().
Definition: MuonPhysValMonitoringTool.cxx:1331
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vL2SAMuons
std::vector< const xAOD::L2StandAloneMuon * > m_vL2SAMuons
Definition: MuonPhysValMonitoringTool.h:211
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
SG::ReadHandleKey< xAOD::EventInfo >
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vMatchedMuons
std::vector< const xAOD::Muon * > m_vMatchedMuons
Definition: MuonPhysValMonitoringTool.h:202
MuonPhysValMonitoring::MuonPhysValMonitoringTool::getMuonSegmentTruthCategory
MuonPhysValMonitoringTool::MUCATEGORY getMuonSegmentTruthCategory(const xAOD::MuonSegment *truthMuSeg, const xAOD::TruthParticleContainer *muonTruthContainer)
Definition: MuonPhysValMonitoringTool.cxx:1392
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
MuonParameters::CaloTag
@ CaloTag
Definition: MuonParamDefs.h:64
x
#define x
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_slowMuonsName
Gaudi::Property< std::string > m_slowMuonsName
Definition: MuonPhysValMonitoringTool.h:122
MuonPhysValMonitoring::MuonPhysValMonitoringTool::fillHistograms
virtual StatusCode fillHistograms() override
An inheriting class should either override this function or fillHists().
Definition: MuonPhysValMonitoringTool.cxx:270
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_selectHLTMuonItems
Gaudi::Property< std::vector< std::vector< std::string > > > m_selectHLTMuonItems
Definition: MuonPhysValMonitoringTool.h:144
IMuonPrintingTool.h
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
MuonPhysValMonitoring::MuonPhysValMonitoringTool::EFTriggerResolution
void EFTriggerResolution()
Definition: MuonPhysValMonitoringTool.cxx:1238
MuonParameters::MuTagIMO
@ MuTagIMO
Definition: MuonParamDefs.h:66
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_h_overview_reco_category
TH1F * m_h_overview_reco_category
Definition: MuonPhysValMonitoringTool.h:194
xAOD::L2CombinedMuon_v1
Class describing combined muon reconstructed in the LVL2 trigger.
Definition: L2CombinedMuon_v1.h:41
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonIDTrackValidationPlots
std::vector< std::unique_ptr< MuonTrackValidationPlots > > m_muonIDTrackValidationPlots
Definition: MuonPhysValMonitoringTool.h:181
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuonL2Trigger
void handleMuonL2Trigger(const xAOD::L2StandAloneMuon *L2SAMu)
Definition: MuonPhysValMonitoringTool.cxx:1132
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vMatchedSlowMuons
std::vector< const xAOD::SlowMuon * > m_vMatchedSlowMuons
Definition: MuonPhysValMonitoringTool.h:203
RecoMuonPlotOrganizer.h
IMuonSelectionTool.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonMSOnlyExtrapolatedTracksName
Gaudi::Property< std::string > m_muonMSOnlyExtrapolatedTracksName
Definition: MuonPhysValMonitoringTool.h:127
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuonSegment
void handleMuonSegment(const xAOD::MuonSegment *muSeg, float weight=1.0)
Definition: MuonPhysValMonitoringTool.cxx:874
ManagedMonitorToolBase.h
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonTracksName
Gaudi::Property< std::string > m_muonTracksName
Definition: MuonPhysValMonitoringTool.h:124
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_L1MuonItems
Gaudi::Property< std::vector< std::string > > m_L1MuonItems
Definition: MuonPhysValMonitoringTool.h:145
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_doTrigMuonEFValidation
Gaudi::Property< bool > m_doTrigMuonEFValidation
Definition: MuonPhysValMonitoringTool.h:155
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vMatchedMuonSegments
std::vector< const xAOD::MuonSegment * > m_vMatchedMuonSegments
Definition: MuonPhysValMonitoringTool.h:205
MuonPhysValMonitoring::MuonPhysValMonitoringTool::bookHistograms
virtual StatusCode bookHistograms() override
An inheriting class should either override this function or bookHists().
Definition: MuonPhysValMonitoringTool.cxx:105
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonL1TrigName
Gaudi::Property< std::string > m_muonL1TrigName
Definition: MuonPhysValMonitoringTool.h:131
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_L1Seed
std::vector< std::string > m_L1Seed
Definition: MuonPhysValMonitoringTool.h:112
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonEFCombTrigName
Gaudi::Property< std::string > m_muonEFCombTrigName
Definition: MuonPhysValMonitoringTool.h:134
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuonTrigger
void handleMuonTrigger(const xAOD::Muon *mu)
Definition: MuonPhysValMonitoringTool.cxx:1227
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_isData
Gaudi::Property< bool > m_isData
Definition: MuonPhysValMonitoringTool.h:157
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonIDForwardTrackValidationPlots
std::vector< std::unique_ptr< MuonTrackValidationPlots > > m_muonIDForwardTrackValidationPlots
Definition: MuonPhysValMonitoringTool.h:183
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonSegmentValidationPlots
std::vector< std::unique_ptr< MuonSegmentValidationPlots > > m_muonSegmentValidationPlots
Definition: MuonPhysValMonitoringTool.h:184
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_h_overview_reco_authors
std::vector< TH1F * > m_h_overview_reco_authors
Definition: MuonPhysValMonitoringTool.h:195
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_TriggerMuonValidationPlots
std::vector< std::unique_ptr< TriggerMuonValidationPlots > > m_TriggerMuonValidationPlots
Definition: MuonPhysValMonitoringTool.h:177
MuonPhysValMonitoring::MuonPhysValMonitoringTool::getMuonTruthCategory
MuonPhysValMonitoringTool::MUCATEGORY getMuonTruthCategory(const xAOD::IParticle *prt)
Definition: MuonPhysValMonitoringTool.cxx:1412
MuonTrackValidationPlots.h
xAOD::MuonRoI_v1
Class describing a LVL1 muon region of interest.
Definition: MuonRoI_v1.h:29
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonsName
Gaudi::Property< std::string > m_muonsName
Definition: MuonPhysValMonitoringTool.h:121
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_selectComissioning
Gaudi::Property< bool > m_selectComissioning
Flag to tell whether muons with the comissioning author will be selected or not.
Definition: MuonPhysValMonitoringTool.h:143
test_pyathena.parent
parent
Definition: test_pyathena.py:15
MuonPhysValMonitoring::MuonPhysValMonitoringTool::SplitString
void SplitString(TString x, const TString &delim, std::vector< TString > &v)
Definition: MuonPhysValMonitoringTool.cxx:1696
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_selectMuonAuthors
Gaudi::Property< std::vector< unsigned int > > m_selectMuonAuthors
Definition: MuonPhysValMonitoringTool.h:138
MakeTH3DFromTH2Ds.hists
hists
Definition: MakeTH3DFromTH2Ds.py:72
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonSelectionTool
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
Definition: MuonPhysValMonitoringTool.h:162
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_h_overview_Z_mass_ID
TH1F * m_h_overview_Z_mass_ID
Definition: MuonPhysValMonitoringTool.h:199
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_MSTracks
const xAOD::TrackParticleContainer * m_MSTracks
Definition: MuonPhysValMonitoringTool.h:109
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_selectMuonWPs
Gaudi::Property< std::vector< int > > m_selectMuonWPs
Definition: MuonPhysValMonitoringTool.h:136
MuonPhysValMonitoring::MuonPhysValMonitoringTool::initialize
virtual StatusCode initialize() override
Definition: MuonPhysValMonitoringTool.cxx:75
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_doTrigMuonL1Validation
Gaudi::Property< bool > m_doTrigMuonL1Validation
Definition: MuonPhysValMonitoringTool.h:153
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_SelectedAuthor
int m_SelectedAuthor
Definition: MuonPhysValMonitoringTool.h:113
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonMSTrackValidationPlots
std::vector< std::unique_ptr< MuonTrackValidationPlots > > m_muonMSTrackValidationPlots
Definition: MuonPhysValMonitoringTool.h:178
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_doTrigMuonL2Validation
Gaudi::Property< bool > m_doTrigMuonL2Validation
Definition: MuonPhysValMonitoringTool.h:154
SlowMuon.h
MuonPhysValMonitoring
Definition: MuonPhysValMonitoringTool.cxx:50
MuonSegmentValidationPlots.h
LikeEnum::Tight
@ Tight
Definition: LikelihoodEnums.h:15
TriggerMuonValidationPlots.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vMatchedMuonTracks
std::vector< const xAOD::TrackParticle * > m_vMatchedMuonTracks
Definition: MuonPhysValMonitoringTool.h:204
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonPrinter
ToolHandle< Rec::IMuonPrintingTool > m_muonPrinter
Definition: MuonPhysValMonitoringTool.h:163
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_selectMuonCategoriesStr
std::vector< std::string > m_selectMuonCategoriesStr
Definition: MuonPhysValMonitoringTool.h:168
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_oUnmatchedTruthMuonPlots
std::unique_ptr< Muon::TruthMuonPlotOrganizer > m_oUnmatchedTruthMuonPlots
Definition: MuonPhysValMonitoringTool.h:186
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_selectMuonCategories
Gaudi::Property< std::vector< unsigned int > > m_selectMuonCategories
Definition: MuonPhysValMonitoringTool.h:146
IIsolationSelectionTool.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::printTruthMuonDebug
void printTruthMuonDebug(const xAOD::TruthParticle *truthMu, const xAOD::Muon *mu)
Definition: MuonPhysValMonitoringTool.cxx:1325
MuonPhysValMonitoring::MuonPhysValMonitoringTool
Definition: MuonPhysValMonitoringTool.h:57
MuonPhysValMonitoring::MuonPhysValMonitoringTool::PROMPT
@ PROMPT
Definition: MuonPhysValMonitoringTool.h:80
MuonPhysValMonitoring::MuonPhysValMonitoringTool::L2CBTriggerResolution
void L2CBTriggerResolution()
Definition: MuonPhysValMonitoringTool.cxx:1191
MuonPhysValMonitoring::MuonPhysValMonitoringTool::NONISO
@ NONISO
Definition: MuonPhysValMonitoringTool.h:80
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_oUnmatchedRecoMuonSegmentPlots
std::unique_ptr< Muon::MuonSegmentPlots > m_oUnmatchedRecoMuonSegmentPlots
Definition: MuonPhysValMonitoringTool.h:188
MuonParameters::MuidSA
@ MuidSA
Definition: MuonParamDefs.h:59
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuonTrack
void handleMuonTrack(const xAOD::TrackParticle *tp, xAOD::Muon::TrackParticleType type, float weight=1.0)
Definition: MuonPhysValMonitoringTool.cxx:1021
MuonPhysValMonitoring::MuonPhysValMonitoringTool::passesAcceptanceCuts
bool passesAcceptanceCuts(const xAOD::IParticle *prt)
Definition: MuonPhysValMonitoringTool.cxx:1690
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_trigDec
ToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: MuonPhysValMonitoringTool.h:164
MuonPhysValMonitoring::MuonPhysValMonitoringTool::L2SATriggerResolution
void L2SATriggerResolution()
Definition: MuonPhysValMonitoringTool.cxx:1144
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vL2SAMuonsSelected
std::vector< const xAOD::L2StandAloneMuon * > m_vL2SAMuonsSelected
Definition: MuonPhysValMonitoringTool.h:212
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_fwdtracksName
Gaudi::Property< std::string > m_fwdtracksName
Definition: MuonPhysValMonitoringTool.h:120
MuonPhysValMonitoring::MuonPhysValMonitoringTool::getContainer
const T * getContainer(const std::string &containerName)
Definition: MuonPhysValMonitoringTool.h:223
python.PyAthena.v
v
Definition: PyAthena.py:154
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vL2CBMuons
std::vector< const xAOD::L2CombinedMuon * > m_vL2CBMuons
Definition: MuonPhysValMonitoringTool.h:213
MuonParameters::MuidCo
@ MuidCo
Definition: MuonParamDefs.h:60
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vZmumuMETracks
std::vector< const xAOD::TrackParticle * > m_vZmumuMETracks
Definition: MuonPhysValMonitoringTool.h:207
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_doBinnedResolutionPlots
Gaudi::Property< bool > m_doBinnedResolutionPlots
Definition: MuonPhysValMonitoringTool.h:151
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_doMuonTree
Gaudi::Property< bool > m_doMuonTree
Definition: MuonPhysValMonitoringTool.h:156
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_trackSelector
ToolHandle< Trk::ITrackSelectorTool > m_trackSelector
Definition: MuonPhysValMonitoringTool.h:165
MuonPhysValMonitoring::MuonPhysValMonitoringTool::REST
@ REST
Definition: MuonPhysValMonitoringTool.h:80
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleSlowMuon
void handleSlowMuon(const xAOD::SlowMuon *smu, float weight=1.0)
LikeEnum::Medium
@ Medium
Definition: LikelihoodEnums.h:14
MuonPhysValMonitoring::MuonPhysValMonitoringTool::findRecoSlowMuon
const xAOD::SlowMuon * findRecoSlowMuon(const xAOD::TruthParticle *truthMu)
Definition: MuonPhysValMonitoringTool.cxx:1307
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_h_overview_Z_mass_ME
TH1F * m_h_overview_Z_mass_ME
Definition: MuonPhysValMonitoringTool.h:198
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonL2SAName
Gaudi::Property< std::string > m_muonL2SAName
Definition: MuonPhysValMonitoringTool.h:132
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuonL1Trigger
void handleMuonL1Trigger(const xAOD::MuonRoI *TrigL1mu)
Definition: MuonPhysValMonitoringTool.cxx:1122
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vL2CBMuonsSelected
std::vector< const xAOD::L2CombinedMuon * > m_vL2CBMuonsSelected
Definition: MuonPhysValMonitoringTool.h:214
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_tracksName
Gaudi::Property< std::string > m_tracksName
Definition: MuonPhysValMonitoringTool.h:119
MuonPhysValMonitoring::MuonPhysValMonitoringTool::bookValidationPlots
StatusCode bookValidationPlots(PlotBase &valPlots)
Definition: MuonPhysValMonitoringTool.cxx:238
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_oUnmatchedRecoMuonTrackPlots
std::unique_ptr< Muon::RecoMuonTrackPlotOrganizer > m_oUnmatchedRecoMuonTrackPlots
Definition: MuonPhysValMonitoringTool.h:187
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonsTruthName
Gaudi::Property< std::string > m_muonsTruthName
Definition: MuonPhysValMonitoringTool.h:123
MuonPhysValMonitoring::MuonPhysValMonitoringTool::MuonPhysValMonitoringTool
MuonPhysValMonitoringTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition: MuonPhysValMonitoringTool.cxx:66
MuonSegmentPlots.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vRecoMuons_EffDen
std::vector< const xAOD::Muon * > m_vRecoMuons_EffDen
Definition: MuonPhysValMonitoringTool.h:218
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vZmumuMuons
std::vector< const xAOD::Muon * > m_vZmumuMuons
Definition: MuonPhysValMonitoringTool.h:208
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonIDSelectedTrackValidationPlots
std::vector< std::unique_ptr< MuonTrackValidationPlots > > m_muonIDSelectedTrackValidationPlots
Definition: MuonPhysValMonitoringTool.h:182
MuonPhysValMonitoring::MuonPhysValMonitoringTool::modifyHistogram
void modifyHistogram(TH1 *hist)
Definition: MuonPhysValMonitoringTool.cxx:1445
TruthParticle.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuon
void handleMuon(const xAOD::Muon *mu, const xAOD::SlowMuon *smu=nullptr, float weight=1.0)
Definition: MuonPhysValMonitoringTool.cxx:890
ITrackSelectorTool.h
PlotBase.h
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_slowMuonValidationPlots
std::vector< std::unique_ptr< SlowMuonValidationPlots > > m_slowMuonValidationPlots
Definition: MuonPhysValMonitoringTool.h:190
MuonPhysValMonitoring::MuonPhysValMonitoringTool::ALL
@ ALL
Definition: MuonPhysValMonitoringTool.h:80
SlowMuonValidationPlots.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonItems
std::vector< std::string > m_muonItems
Definition: MuonPhysValMonitoringTool.h:111
MuonValidationPlots.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_h_overview_Z_mass
TH1F * m_h_overview_Z_mass
Definition: MuonPhysValMonitoringTool.h:197
MuonPhysValMonitoring::MuonPhysValMonitoringTool::findHistogram
TH1F * findHistogram(const std::vector< HistData > &hists, const std::string &hnameTag, const std::string &hdirTag, const std::string &hNewName)
Definition: MuonPhysValMonitoringTool.cxx:1377
MuonPhysValMonitoring::MuonPhysValMonitoringTool::getCorrectedMuon
std::unique_ptr< xAOD::Muon > getCorrectedMuon(const xAOD::Muon &mu)
Definition: MuonPhysValMonitoringTool.cxx:1425
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vEFMuonsSelected
std::vector< const xAOD::Muon * > m_vEFMuonsSelected
Definition: MuonPhysValMonitoringTool.h:210
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_isoTool
ToolHandle< CP::IIsolationSelectionTool > m_isoTool
Definition: MuonPhysValMonitoringTool.h:166