ATLAS Offline Software
MuonPhysValMonitoringTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 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 
19 
20 
24 
27 
29 #include "xAODMuon/MuonContainer.h"
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 
65 
67  virtual ~MuonPhysValMonitoringTool() = default;
68 
69  // Athena algtool's Hooks
70  virtual StatusCode initialize() override;
71  virtual StatusCode bookHistograms() override;
72  virtual StatusCode fillHistograms() override;
73  virtual StatusCode procHistograms() override;
74 
76  // Private data:
78  private:
80 
81  void handleMuon(const xAOD::Muon* mu, const xAOD::SlowMuon* smu = nullptr, float weight = 1.0);
82  void handleSlowMuon(const xAOD::SlowMuon* smu, float weight = 1.0);
83  void handleTruthMuon(const xAOD::TruthParticle* truthMu, float weight = 1.0);
84  void handleMuonTrack(const xAOD::TrackParticle* tp, xAOD::Muon::TrackParticleType type, float weight = 1.0);
85  void handleMuonSegment(const xAOD::MuonSegment* muSeg, float weight = 1.0);
86  void handleTruthMuonSegment(const xAOD::MuonSegment* truthMuSeg, const xAOD::TruthParticleContainer* muonTruthContainer,
87  float weight = 1.0);
88 
89  void handleMuonL1Trigger(const xAOD::MuonRoI* TrigL1mu);
90  void handleMuonL2Trigger(const xAOD::L2StandAloneMuon* L2SAMu);
91  void handleMuonL2Trigger(const xAOD::L2CombinedMuon* L2CBMu);
92  void handleMuonTrigger(const xAOD::Muon* mu);
93  void L2SATriggerResolution();
94  void L2CBTriggerResolution();
95  void EFTriggerResolution();
96 
97  void printMuonDebug(const xAOD::Muon* mu);
98  void printTruthMuonDebug(const xAOD::TruthParticle* truthMu, const xAOD::Muon* mu);
99 
101  const xAOD::Muon* findRecoMuon(const xAOD::TruthParticle* truthMu);
102  const xAOD::SlowMuon* findRecoSlowMuon(const xAOD::TruthParticle* truthMu);
103  const xAOD::MuonSegment* findRecoMuonSegment(const xAOD::MuonSegment* truthMuSeg);
104  std::unique_ptr<xAOD::Muon> getCorrectedMuon(const xAOD::Muon& mu);
105 
107  std::map<std::string, int> m_counterBits;
108  std::vector<std::string> m_muonItems;
109  std::vector<std::string> m_L1Seed;
111 
112  TH1F* findHistogram(const std::vector<HistData>& hists, const std::string& hnameTag, const std::string& hdirTag,
113  const std::string& hNewName);
114  void modifyHistogram(TH1* hist);
123 
124  TrackContKey_t m_tracksName{this, "TrackContainerName", "InDetTrackParticles"};
125  TrackContKey_t m_fwdtracksName{this, "FwdTrackContainerName", ""};
126  MuonContKey_t m_muonsName{this, "MuonContainerName", "Muons"};
127  SlowContKey_t m_slowMuonsName{this, "SlowMuonContainerName", "SlowMuons"};
128  TruthPartKey_t m_muonsTruthName{this, "MuonTruthParticleContainerName", "MuonTruthParticles"};
129  TrackContKey_t m_muonTracksName{this, "MuonTrackContainerName", "MuonSpectrometerTrackParticles"};
130  TrackContKey_t m_muonExtrapolatedTracksName{this, "MuonExtrapolatedTrackContainerName", "ExtrapolatedMuonTrackParticles"};
131  TrackContKey_t m_muonMSOnlyExtrapolatedTracksName{this, "MuonOnlyExtrapolatedTrackContainerName",
132  "MSOnlyExtrapolatedMuonTrackParticles"};
133 
134  SegmentContKey_t m_muonSegmentsName{this, "MuonSegmentContainerName", "MuonSegments"};
135  SegmentContKey_t m_muonSegmentsTruthName{this, "MuonTruthSegmentContainerName", "MuonTruthSegments"};
136  MuonROIContKey_t m_muonL1TrigName{this, "L1TrigMuonContainerName", "LVL1MuonRoIs"};
137  L2SAContKey_t m_muonL2SAName{this, "L2SAMuonContainerName", "HLT_xAOD__L2StandAloneMuonContainer_MuonL2SAInfo"};
138  L2CBContKey_t m_muonL2CBName{this, "L2CBMuonContainerName", "HLT_xAOD__L2CombinedMuonContainer_MuonL2CBInfo"};
139  MuonContKey_t m_muonEFCombTrigName{this, "EFCombTrigMuonContainerName", "HLT_xAOD__MuonContainer_MuonEFInfo"};
140 
142 
143  Gaudi::Property<std::vector<int>> m_selectMuonWPs{
144  this, "SelectMuonWorkingPoints", {xAOD::Muon::Loose, xAOD::Muon::Medium, xAOD::Muon::Tight}};
145  Gaudi::Property<std::vector<unsigned int>> m_selectMuonAuthors{
146  this,
147  "SelectMuonAuthors",
150  Gaudi::Property<bool> m_selectComissioning{this, "SelectComissioningMuons", false};
151  Gaudi::Property<std::vector<std::vector<std::string>>> m_selectHLTMuonItems{this, "SelectHLTMuonItems", {}};
152  Gaudi::Property<std::vector<std::string>> m_L1MuonItems{this, "SelectL1MuonItems", {}};
153  Gaudi::Property<std::vector<unsigned int>> m_selectMuonCategories{
154  this,
155  "SelectMuonCategories",
156  {MUCATEGORY::ALL, MUCATEGORY::PROMPT, MUCATEGORY::INFLIGHT, MUCATEGORY::NONISO, MUCATEGORY::REST}};
157 
158  Gaudi::Property<bool> m_doBinnedResolutionPlots{this, "DoBinnedResolutionPlots", true};
159  Gaudi::Property<bool> m_doTrigMuonValidation{this, "DoTrigMuonValidation", false};
160  Gaudi::Property<bool> m_doTrigMuonL1Validation{this, "DoTrigMuonL1Validation", false};
161  Gaudi::Property<bool> m_doTrigMuonL2Validation{this, "DoTrigMuonL2Validation", false};
162  Gaudi::Property<bool> m_doTrigMuonEFValidation{this, "DoTrigMuonEFValidation", false};
163  Gaudi::Property<bool> m_isData{this, "IsData", false};
164 
165  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo{this, "EventInfo", "EventInfo", "event info"};
166 
167  // Tools
168  ToolHandle<CP::IMuonSelectionTool> m_muonSelectionTool{this, "MuonSelector", "CP::MuonSelectionTool/MuonSelectionTool"};
169  ToolHandle<Rec::IMuonPrintingTool> m_muonPrinter{this, "MuonPrinter", "Rec::MuonPrintingTool/MuonPrintingTool"};
170  ToolHandle<Trig::TrigDecisionTool> m_trigDec{this, "TrigDecTool", "Trig::TrigDecisionTool/TrigDecisionTool"};
171  ToolHandle<Trk::ITrackSelectorTool> m_trackSelector{this, "TrackSelector", "InDet::InDetDetailedTrackSelectorTool/MuonCombinedInDetDetailedTrackSelectorTool"};
172  ToolHandle<CP::IIsolationSelectionTool> m_isoTool{this, "IsoTool", ""};
173 
174  std::vector<std::string> m_selectMuonCategoriesStr;
176  const xAOD::TruthParticleContainer* muonTruthContainer);
178  bool passesAcceptanceCuts(const xAOD::IParticle* prt);
179  void SplitString(TString x, const TString& delim, std::vector<TString>& v);
180 
181  // Hists
182  std::vector<std::unique_ptr<MuonValidationPlots>> m_muonValidationPlots;
183  std::vector<std::unique_ptr<TriggerMuonValidationPlots>> m_TriggerMuonValidationPlots;
184  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonMSTrackValidationPlots;
185  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonMETrackValidationPlots;
186  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonMSOnlyMETrackValidationPlots;
187  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonIDTrackValidationPlots;
188  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonIDSelectedTrackValidationPlots;
189  std::vector<std::unique_ptr<MuonTrackValidationPlots>> m_muonIDForwardTrackValidationPlots;
190  std::vector<std::unique_ptr<MuonSegmentValidationPlots>> m_muonSegmentValidationPlots;
191  std::unique_ptr<Muon::RecoMuonPlotOrganizer> m_oUnmatchedRecoMuonPlots;
192  std::unique_ptr<Muon::TruthMuonPlotOrganizer> m_oUnmatchedTruthMuonPlots;
193  std::unique_ptr<Muon::RecoMuonTrackPlotOrganizer> m_oUnmatchedRecoMuonTrackPlots;
194  std::unique_ptr<Muon::MuonSegmentPlots> m_oUnmatchedRecoMuonSegmentPlots;
195 
196  std::vector<std::unique_ptr<SlowMuonValidationPlots>> m_slowMuonValidationPlots;
197 
198  // overview hists
199  std::vector<TH1F*> m_h_overview_nObjects;
201  std::vector<TH1F*> m_h_overview_reco_authors;
202 
206 
207  std::vector<const xAOD::TruthParticle*> m_vMatchedTruthMuons;
208  std::vector<const xAOD::Muon*> m_vMatchedMuons;
209  std::vector<const xAOD::SlowMuon*> m_vMatchedSlowMuons;
210  std::vector<const xAOD::TrackParticle*> m_vMatchedMuonTracks;
211  std::vector<const xAOD::MuonSegment*> m_vMatchedMuonSegments;
212  std::vector<const xAOD::TrackParticle*> m_vZmumuIDTracks;
213  std::vector<const xAOD::TrackParticle*> m_vZmumuMETracks;
214  std::vector<const xAOD::Muon*> m_vZmumuMuons;
215  std::vector<const xAOD::Muon*> m_vEFMuons;
216  std::vector<const xAOD::Muon*> m_vEFMuonsSelected;
217  std::vector<const xAOD::L2StandAloneMuon*> m_vL2SAMuons;
218  std::vector<const xAOD::L2StandAloneMuon*> m_vL2SAMuonsSelected;
219  std::vector<const xAOD::L2CombinedMuon*> m_vL2CBMuons;
220  std::vector<const xAOD::L2CombinedMuon*> m_vL2CBMuonsSelected;
221  std::vector<const xAOD::Muon*> m_vRecoMuons;
222  std::vector<const xAOD::Muon*> m_vRecoMuons_EffDen_CB;
223  std::vector<const xAOD::Muon*> m_vRecoMuons_EffDen_MS;
224  std::vector<const xAOD::Muon*> m_vRecoMuons_EffDen;
225 
226  template <class ContType> StatusCode retrieveContainer(const EventContext& ctx,
228  const ContType* & container) const;
229  };
230 
231 
232 
233 } // namespace MuonPhysValMonitoring
234 
235 #endif //> !MUONPHYSVALMONITORING_MUONPHYSVALMONITORINGTOOL_H
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vRecoMuons_EffDen_MS
std::vector< const xAOD::Muon * > m_vRecoMuons_EffDen_MS
Definition: MuonPhysValMonitoringTool.h:223
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:866
LikeEnum::Loose
@ Loose
Definition: LikelihoodEnums.h:12
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_oUnmatchedRecoMuonPlots
std::unique_ptr< Muon::RecoMuonPlotOrganizer > m_oUnmatchedRecoMuonPlots
Definition: MuonPhysValMonitoringTool.h:191
MuonPhysValMonitoring::MuonPhysValMonitoringTool::INFLIGHT
@ INFLIGHT
Definition: MuonPhysValMonitoringTool.h:79
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_fwdtracksName
TrackContKey_t m_fwdtracksName
Definition: MuonPhysValMonitoringTool.h:125
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vMatchedTruthMuons
std::vector< const xAOD::TruthParticle * > m_vMatchedTruthMuons
Definition: MuonPhysValMonitoringTool.h:207
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_h_overview_nObjects
std::vector< TH1F * > m_h_overview_nObjects
Definition: MuonPhysValMonitoringTool.h:199
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vRecoMuons
std::vector< const xAOD::Muon * > m_vRecoMuons
Definition: MuonPhysValMonitoringTool.h:221
xAOD::SlowMuon_v1
Class describing a SlowMuon.
Definition: SlowMuon_v1.h:26
xAOD::MuGirl
@ MuGirl
MuGirl.
Definition: TrackingPrimitives.h:142
PlotBase
Definition: PlotBase.h:34
MuonPhysValMonitoring::MuonPhysValMonitoringTool::~MuonPhysValMonitoringTool
virtual ~MuonPhysValMonitoringTool()=default
Destructor:
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_tracksName
TrackContKey_t m_tracksName
Definition: MuonPhysValMonitoringTool.h:124
MuonPhysValMonitoring::MuonPhysValMonitoringTool::printMuonDebug
void printMuonDebug(const xAOD::Muon *mu)
Definition: MuonPhysValMonitoringTool.cxx:1280
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:73
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonL2SAName
L2SAContKey_t m_muonL2SAName
Definition: MuonPhysValMonitoringTool.h:137
MuonPhysValMonitoring::MuonPhysValMonitoringTool::MUCATEGORY
MUCATEGORY
Definition: MuonPhysValMonitoringTool.h:79
MuonPhysValMonitoring::MuonPhysValMonitoringTool::findRecoMuonSegment
const xAOD::MuonSegment * findRecoMuonSegment(const xAOD::MuonSegment *truthMuSeg)
Definition: MuonPhysValMonitoringTool.cxx:1349
TruthMuonPlotOrganizer.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vRecoMuons_EffDen_CB
std::vector< const xAOD::Muon * > m_vRecoMuons_EffDen_CB
Definition: MuonPhysValMonitoringTool.h:222
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:165
MuonRoIContainer.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonExtrapolatedTracksName
TrackContKey_t m_muonExtrapolatedTracksName
Definition: MuonPhysValMonitoringTool.h:130
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_doTrigMuonValidation
Gaudi::Property< bool > m_doTrigMuonValidation
Definition: MuonPhysValMonitoringTool.h:159
plotmaker.hist
hist
Definition: plotmaker.py:148
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonL1TrigName
MuonROIContKey_t m_muonL1TrigName
Definition: MuonPhysValMonitoringTool.h:136
TruthParticleContainer.h
L2CombinedMuonContainer.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vEFMuons
std::vector< const xAOD::Muon * > m_vEFMuons
Definition: MuonPhysValMonitoringTool.h:215
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonMETrackValidationPlots
std::vector< std::unique_ptr< MuonTrackValidationPlots > > m_muonMETrackValidationPlots
Definition: MuonPhysValMonitoringTool.h:185
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonMSOnlyMETrackValidationPlots
std::vector< std::unique_ptr< MuonTrackValidationPlots > > m_muonMSOnlyMETrackValidationPlots
Definition: MuonPhysValMonitoringTool.h:186
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonEFCombTrigName
MuonContKey_t m_muonEFCombTrigName
Definition: MuonPhysValMonitoringTool.h:139
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vZmumuIDTracks
std::vector< const xAOD::TrackParticle * > m_vZmumuIDTracks
Definition: MuonPhysValMonitoringTool.h:212
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:965
L2StandAloneMuonContainer.h
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
TrigDecisionTool.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::findRecoMuon
const xAOD::Muon * findRecoMuon(const xAOD::TruthParticle *truthMu)
Definition: MuonPhysValMonitoringTool.cxx:1290
ALL
@ ALL
Definition: sTGCenumeration.h:14
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonValidationPlots
std::vector< std::unique_ptr< MuonValidationPlots > > m_muonValidationPlots
Definition: MuonPhysValMonitoringTool.h:182
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_counterBits
std::map< std::string, int > m_counterBits
Definition: MuonPhysValMonitoringTool.h:107
MuonPhysValMonitoring::MuonPhysValMonitoringTool::procHistograms
virtual StatusCode procHistograms() override
An inheriting class should either override this function or finalHists().
Definition: MuonPhysValMonitoringTool.cxx:1324
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vL2SAMuons
std::vector< const xAOD::L2StandAloneMuon * > m_vL2SAMuons
Definition: MuonPhysValMonitoringTool.h:217
SG::ReadHandleKey< xAOD::TrackParticleContainer >
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vMatchedMuons
std::vector< const xAOD::Muon * > m_vMatchedMuons
Definition: MuonPhysValMonitoringTool.h:208
MuonPhysValMonitoring::MuonPhysValMonitoringTool::getMuonSegmentTruthCategory
MuonPhysValMonitoringTool::MUCATEGORY getMuonSegmentTruthCategory(const xAOD::MuonSegment *truthMuSeg, const xAOD::TruthParticleContainer *muonTruthContainer)
Definition: MuonPhysValMonitoringTool.cxx:1379
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::fillHistograms
virtual StatusCode fillHistograms() override
An inheriting class should either override this function or fillHists().
Definition: MuonPhysValMonitoringTool.cxx:298
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_selectHLTMuonItems
Gaudi::Property< std::vector< std::vector< std::string > > > m_selectHLTMuonItems
Definition: MuonPhysValMonitoringTool.h:151
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonsTruthName
TruthPartKey_t m_muonsTruthName
Definition: MuonPhysValMonitoringTool.h:128
IMuonPrintingTool.h
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
MuonPhysValMonitoring::MuonPhysValMonitoringTool::EFTriggerResolution
void EFTriggerResolution()
Definition: MuonPhysValMonitoringTool.cxx:1232
MuonParameters::MuTagIMO
@ MuTagIMO
Definition: MuonParamDefs.h:66
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_h_overview_reco_category
TH1F * m_h_overview_reco_category
Definition: MuonPhysValMonitoringTool.h:200
MuonSegmentContainer.h
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:187
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuonL2Trigger
void handleMuonL2Trigger(const xAOD::L2StandAloneMuon *L2SAMu)
Definition: MuonPhysValMonitoringTool.cxx:1126
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:190
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vMatchedSlowMuons
std::vector< const xAOD::SlowMuon * > m_vMatchedSlowMuons
Definition: MuonPhysValMonitoringTool.h:209
RecoMuonPlotOrganizer.h
IMuonSelectionTool.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::retrieveContainer
StatusCode retrieveContainer(const EventContext &ctx, const SG::ReadHandleKey< ContType > &key, const ContType *&container) const
Definition: MuonPhysValMonitoringTool.cxx:46
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuonSegment
void handleMuonSegment(const xAOD::MuonSegment *muSeg, float weight=1.0)
Definition: MuonPhysValMonitoringTool.cxx:882
ManagedMonitorToolBase.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_L1MuonItems
Gaudi::Property< std::vector< std::string > > m_L1MuonItems
Definition: MuonPhysValMonitoringTool.h:152
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_doTrigMuonEFValidation
Gaudi::Property< bool > m_doTrigMuonEFValidation
Definition: MuonPhysValMonitoringTool.h:162
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vMatchedMuonSegments
std::vector< const xAOD::MuonSegment * > m_vMatchedMuonSegments
Definition: MuonPhysValMonitoringTool.h:211
MuonPhysValMonitoring::MuonPhysValMonitoringTool::bookHistograms
virtual StatusCode bookHistograms() override
An inheriting class should either override this function or bookHists().
Definition: MuonPhysValMonitoringTool.cxx:133
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_L1Seed
std::vector< std::string > m_L1Seed
Definition: MuonPhysValMonitoringTool.h:109
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuonTrigger
void handleMuonTrigger(const xAOD::Muon *mu)
Definition: MuonPhysValMonitoringTool.cxx:1221
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_isData
Gaudi::Property< bool > m_isData
Definition: MuonPhysValMonitoringTool.h:163
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonIDForwardTrackValidationPlots
std::vector< std::unique_ptr< MuonTrackValidationPlots > > m_muonIDForwardTrackValidationPlots
Definition: MuonPhysValMonitoringTool.h:189
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_slowMuonsName
SlowContKey_t m_slowMuonsName
Definition: MuonPhysValMonitoringTool.h:127
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonSegmentValidationPlots
std::vector< std::unique_ptr< MuonSegmentValidationPlots > > m_muonSegmentValidationPlots
Definition: MuonPhysValMonitoringTool.h:190
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:201
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_TriggerMuonValidationPlots
std::vector< std::unique_ptr< TriggerMuonValidationPlots > > m_TriggerMuonValidationPlots
Definition: MuonPhysValMonitoringTool.h:183
MuonPhysValMonitoring::MuonPhysValMonitoringTool::getMuonTruthCategory
MuonPhysValMonitoringTool::MUCATEGORY getMuonTruthCategory(const xAOD::IParticle *prt)
Definition: MuonPhysValMonitoringTool.cxx:1399
MuonTrackValidationPlots.h
xAOD::MuonRoI_v1
Class describing a LVL1 muon region of interest.
Definition: MuonRoI_v1.h:29
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:150
MuonPhysValMonitoring::MuonPhysValMonitoringTool::SplitString
void SplitString(TString x, const TString &delim, std::vector< TString > &v)
Definition: MuonPhysValMonitoringTool.cxx:1681
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_selectMuonAuthors
Gaudi::Property< std::vector< unsigned int > > m_selectMuonAuthors
Definition: MuonPhysValMonitoringTool.h:145
MakeTH3DFromTH2Ds.hists
hists
Definition: MakeTH3DFromTH2Ds.py:72
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonSelectionTool
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
Definition: MuonPhysValMonitoringTool.h:168
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_h_overview_Z_mass_ID
TH1F * m_h_overview_Z_mass_ID
Definition: MuonPhysValMonitoringTool.h:205
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_MSTracks
const xAOD::TrackParticleContainer * m_MSTracks
Definition: MuonPhysValMonitoringTool.h:106
ManagedMonitorToolBase::ManagedMonitorToolBase
ManagedMonitorToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition: ManagedMonitorToolBase.cxx:338
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_selectMuonWPs
Gaudi::Property< std::vector< int > > m_selectMuonWPs
Definition: MuonPhysValMonitoringTool.h:143
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonSegmentsName
SegmentContKey_t m_muonSegmentsName
Definition: MuonPhysValMonitoringTool.h:134
MuonPhysValMonitoring::MuonPhysValMonitoringTool::initialize
virtual StatusCode initialize() override
Definition: MuonPhysValMonitoringTool.cxx:65
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_doTrigMuonL1Validation
Gaudi::Property< bool > m_doTrigMuonL1Validation
Definition: MuonPhysValMonitoringTool.h:160
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_SelectedAuthor
int m_SelectedAuthor
Definition: MuonPhysValMonitoringTool.h:110
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonMSTrackValidationPlots
std::vector< std::unique_ptr< MuonTrackValidationPlots > > m_muonMSTrackValidationPlots
Definition: MuonPhysValMonitoringTool.h:184
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_doTrigMuonL2Validation
Gaudi::Property< bool > m_doTrigMuonL2Validation
Definition: MuonPhysValMonitoringTool.h:161
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonSegmentsTruthName
SegmentContKey_t m_muonSegmentsTruthName
Definition: MuonPhysValMonitoringTool.h:135
MuonPhysValMonitoring
Definition: MuonPhysValMonitoringTool.cxx:41
MuonSegmentValidationPlots.h
SlowMuonContainer.h
LikeEnum::Tight
@ Tight
Definition: LikelihoodEnums.h:15
TriggerMuonValidationPlots.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vMatchedMuonTracks
std::vector< const xAOD::TrackParticle * > m_vMatchedMuonTracks
Definition: MuonPhysValMonitoringTool.h:210
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonsName
MuonContKey_t m_muonsName
Definition: MuonPhysValMonitoringTool.h:126
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonPrinter
ToolHandle< Rec::IMuonPrintingTool > m_muonPrinter
Definition: MuonPhysValMonitoringTool.h:169
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_selectMuonCategoriesStr
std::vector< std::string > m_selectMuonCategoriesStr
Definition: MuonPhysValMonitoringTool.h:174
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_oUnmatchedTruthMuonPlots
std::unique_ptr< Muon::TruthMuonPlotOrganizer > m_oUnmatchedTruthMuonPlots
Definition: MuonPhysValMonitoringTool.h:192
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonTracksName
TrackContKey_t m_muonTracksName
Definition: MuonPhysValMonitoringTool.h:129
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonMSOnlyExtrapolatedTracksName
TrackContKey_t m_muonMSOnlyExtrapolatedTracksName
Definition: MuonPhysValMonitoringTool.h:131
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_selectMuonCategories
Gaudi::Property< std::vector< unsigned int > > m_selectMuonCategories
Definition: MuonPhysValMonitoringTool.h:153
IIsolationSelectionTool.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::printTruthMuonDebug
void printTruthMuonDebug(const xAOD::TruthParticle *truthMu, const xAOD::Muon *mu)
Definition: MuonPhysValMonitoringTool.cxx:1318
MuonPhysValMonitoring::MuonPhysValMonitoringTool
Definition: MuonPhysValMonitoringTool.h:57
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_decorDep
SG::ReadDecorHandleKeyArray< xAOD::IParticleContainer > m_decorDep
Definition: MuonPhysValMonitoringTool.h:141
MuonPhysValMonitoring::MuonPhysValMonitoringTool::PROMPT
@ PROMPT
Definition: MuonPhysValMonitoringTool.h:79
MuonPhysValMonitoring::MuonPhysValMonitoringTool::L2CBTriggerResolution
void L2CBTriggerResolution()
Definition: MuonPhysValMonitoringTool.cxx:1185
MuonPhysValMonitoring::MuonPhysValMonitoringTool::NONISO
@ NONISO
Definition: MuonPhysValMonitoringTool.h:79
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_oUnmatchedRecoMuonSegmentPlots
std::unique_ptr< Muon::MuonSegmentPlots > m_oUnmatchedRecoMuonSegmentPlots
Definition: MuonPhysValMonitoringTool.h:194
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:1015
MuonPhysValMonitoring::MuonPhysValMonitoringTool::passesAcceptanceCuts
bool passesAcceptanceCuts(const xAOD::IParticle *prt)
Definition: MuonPhysValMonitoringTool.cxx:1675
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_trigDec
ToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: MuonPhysValMonitoringTool.h:170
MuonPhysValMonitoring::MuonPhysValMonitoringTool::L2SATriggerResolution
void L2SATriggerResolution()
Definition: MuonPhysValMonitoringTool.cxx:1138
EventInfo.h
MuonContainer.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vL2SAMuonsSelected
std::vector< const xAOD::L2StandAloneMuon * > m_vL2SAMuonsSelected
Definition: MuonPhysValMonitoringTool.h:218
python.PyAthena.v
v
Definition: PyAthena.py:154
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vL2CBMuons
std::vector< const xAOD::L2CombinedMuon * > m_vL2CBMuons
Definition: MuonPhysValMonitoringTool.h:219
MuonParameters::MuidCo
@ MuidCo
Definition: MuonParamDefs.h:60
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vZmumuMETracks
std::vector< const xAOD::TrackParticle * > m_vZmumuMETracks
Definition: MuonPhysValMonitoringTool.h:213
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_doBinnedResolutionPlots
Gaudi::Property< bool > m_doBinnedResolutionPlots
Definition: MuonPhysValMonitoringTool.h:158
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_trackSelector
ToolHandle< Trk::ITrackSelectorTool > m_trackSelector
Definition: MuonPhysValMonitoringTool.h:171
MuonPhysValMonitoring::MuonPhysValMonitoringTool::REST
@ REST
Definition: MuonPhysValMonitoringTool.h:79
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:1301
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_h_overview_Z_mass_ME
TH1F * m_h_overview_Z_mass_ME
Definition: MuonPhysValMonitoringTool.h:204
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuonL1Trigger
void handleMuonL1Trigger(const xAOD::MuonRoI *TrigL1mu)
Definition: MuonPhysValMonitoringTool.cxx:1116
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vL2CBMuonsSelected
std::vector< const xAOD::L2CombinedMuon * > m_vL2CBMuonsSelected
Definition: MuonPhysValMonitoringTool.h:220
MuonPhysValMonitoring::MuonPhysValMonitoringTool::bookValidationPlots
StatusCode bookValidationPlots(PlotBase &valPlots)
Definition: MuonPhysValMonitoringTool.cxx:266
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_oUnmatchedRecoMuonTrackPlots
std::unique_ptr< Muon::RecoMuonTrackPlotOrganizer > m_oUnmatchedRecoMuonTrackPlots
Definition: MuonPhysValMonitoringTool.h:193
MuonSegmentPlots.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vRecoMuons_EffDen
std::vector< const xAOD::Muon * > m_vRecoMuons_EffDen
Definition: MuonPhysValMonitoringTool.h:224
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vZmumuMuons
std::vector< const xAOD::Muon * > m_vZmumuMuons
Definition: MuonPhysValMonitoringTool.h:214
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:188
MuonPhysValMonitoring::MuonPhysValMonitoringTool::modifyHistogram
void modifyHistogram(TH1 *hist)
Definition: MuonPhysValMonitoringTool.cxx:1432
MuonPhysValMonitoring::MuonPhysValMonitoringTool::handleMuon
void handleMuon(const xAOD::Muon *mu, const xAOD::SlowMuon *smu=nullptr, float weight=1.0)
Definition: MuonPhysValMonitoringTool.cxx:898
ITrackSelectorTool.h
PlotBase.h
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:51
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_slowMuonValidationPlots
std::vector< std::unique_ptr< SlowMuonValidationPlots > > m_slowMuonValidationPlots
Definition: MuonPhysValMonitoringTool.h:196
MuonPhysValMonitoring::MuonPhysValMonitoringTool::ALL
@ ALL
Definition: MuonPhysValMonitoringTool.h:79
SlowMuonValidationPlots.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonItems
std::vector< std::string > m_muonItems
Definition: MuonPhysValMonitoringTool.h:108
ReadDecorHandleKeyArray.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_muonL2CBName
L2CBContKey_t m_muonL2CBName
Definition: MuonPhysValMonitoringTool.h:138
MuonValidationPlots.h
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_h_overview_Z_mass
TH1F * m_h_overview_Z_mass
Definition: MuonPhysValMonitoringTool.h:203
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:1364
MuonPhysValMonitoring::MuonPhysValMonitoringTool::getCorrectedMuon
std::unique_ptr< xAOD::Muon > getCorrectedMuon(const xAOD::Muon &mu)
Definition: MuonPhysValMonitoringTool.cxx:1412
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_vEFMuonsSelected
std::vector< const xAOD::Muon * > m_vEFMuonsSelected
Definition: MuonPhysValMonitoringTool.h:216
MuonPhysValMonitoring::MuonPhysValMonitoringTool::m_isoTool
ToolHandle< CP::IIsolationSelectionTool > m_isoTool
Definition: MuonPhysValMonitoringTool.h:172