ATLAS Offline Software
MuonValidationPlots.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONPHYSVALMONITORING_MUONVALIDATIONPLOTS_H
6 #define MUONPHYSVALMONITORING_MUONVALIDATIONPLOTS_H
7 
13 #include "xAODMuon/Muon.h"
14 #include "xAODMuon/MuonContainer.h"
16 
17 class MuonValidationPlots : public PlotBase {
18 public:
19  MuonValidationPlots(PlotBase* pParent, const std::string& sDir, std::vector<int> wps, std::vector<unsigned int> authors, bool isData,
20  bool doBinnedResolutionPlots, bool doSplitSAFMuons, bool doMuonTree = false);
21 
23  void fill(const xAOD::Muon& mu, float weight = 1.0);
24  bool isGoodTruthTrack(const xAOD::TruthParticle& truthMu);
25  void fill(const xAOD::TruthParticle& truthMu, float weight = 1.0);
26  void fill(const xAOD::TruthParticle* truthMu, const xAOD::Muon* mu, const xAOD::TrackParticleContainer* MSTracks, float weight = 1.0);
28  void fillTreeBranches(const xAOD::Muon& mu);
29  void fillTreeBranches(const xAOD::TruthParticle& truthMu);
30  void fillTreeBranches(const xAOD::TruthParticle* truthMu, const xAOD::Muon* mu, const xAOD::TrackParticleContainer* MSTracks);
31  void fillTree(const xAOD::EventInfo* eventInfo, bool isData);
32 
33  std::vector<int> m_selectedWPs;
34  std::vector<unsigned int> m_selectedAuthors;
35  std::vector<std::string> m_truthSelections;
36 
37  std::unique_ptr<Muon::RecoMuonPlotOrganizer> m_oRecoMuonPlots;
38  std::unique_ptr<Muon::TruthRelatedMuonPlotOrganizer> m_oTruthRelatedMuonPlots;
39  std::vector<std::unique_ptr<Muon::RecoMuonPlotOrganizer>> m_oRecoMuonPlots_perQuality;
40  std::vector<std::unique_ptr<Muon::RecoMuonPlotOrganizer>> m_oRecoMuonPlots_perAuthor;
41  std::vector<std::unique_ptr<Muon::TruthRelatedMuonPlotOrganizer>> m_oTruthRelatedMuonPlots_perQuality;
42  std::vector<std::unique_ptr<Muon::TruthRelatedMuonPlotOrganizer>> m_oTruthRelatedMuonPlots_perAuthor;
43  std::vector<std::unique_ptr<Muon::TruthMuonPlotOrganizer>> m_oTruthMuonPlots;
44 
45  std::vector<std::unique_ptr<Muon::TruthRelatedMuonPlotOrganizer>> m_oTruthRelatedMuonPlots_SiAssocFwrdMu;
46  std::vector<std::unique_ptr<Muon::RecoMuonPlotOrganizer>> m_oRecoMuonPlots_SiAssocFwrdMu;
47 
48 private:
49  void fillRecoMuonPlots(const xAOD::Muon& mu, float weight = 1.0);
50  void fillTruthMuonPlots(const xAOD::TruthParticle& truthMu, float weight = 1.0);
51 
52  bool m_isData;
54 
55  std::unique_ptr<Muon::MuonTree> m_MuonTree;
56 };
57 
58 #endif
MuonValidationPlots::fillRecoMuonPlots
void fillRecoMuonPlots(const xAOD::Muon &mu, float weight=1.0)
Definition: MuonValidationPlots.cxx:96
MuonValidationPlots::MuonValidationPlots
MuonValidationPlots(PlotBase *pParent, const std::string &sDir, std::vector< int > wps, std::vector< unsigned int > authors, bool isData, bool doBinnedResolutionPlots, bool doSplitSAFMuons, bool doMuonTree=false)
Definition: MuonValidationPlots.cxx:14
MuonValidationPlots::fillTruthMuonPlots
void fillTruthMuonPlots(const xAOD::TruthParticle &truthMu, float weight=1.0)
Definition: MuonValidationPlots.cxx:130
MuonValidationPlots::m_truthSelections
std::vector< std::string > m_truthSelections
Definition: MuonValidationPlots.h:35
MuonValidationPlots::fillTree
void fillTree(const xAOD::EventInfo *eventInfo, bool isData)
Definition: MuonValidationPlots.cxx:202
MuonValidationPlots::m_selectedWPs
std::vector< int > m_selectedWPs
Definition: MuonValidationPlots.h:33
PlotBase
Definition: PlotBase.h:33
MuonValidationPlots::m_MuonTree
std::unique_ptr< Muon::MuonTree > m_MuonTree
Definition: MuonValidationPlots.h:55
TruthMuonPlotOrganizer.h
Muon.h
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
MuonValidationPlots::~MuonValidationPlots
virtual ~MuonValidationPlots()
MuonValidationPlots::m_oRecoMuonPlots_perQuality
std::vector< std::unique_ptr< Muon::RecoMuonPlotOrganizer > > m_oRecoMuonPlots_perQuality
Definition: MuonValidationPlots.h:39
MuonValidationPlots::m_oRecoMuonPlots
std::unique_ptr< Muon::RecoMuonPlotOrganizer > m_oRecoMuonPlots
Definition: MuonValidationPlots.h:37
MuonTree.h
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
MuonValidationPlots::m_isData
bool m_isData
Definition: MuonValidationPlots.h:52
RecoMuonPlotOrganizer.h
MuonValidationPlots::m_oTruthRelatedMuonPlots
std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > m_oTruthRelatedMuonPlots
Definition: MuonValidationPlots.h:38
MuonValidationPlots::m_oRecoMuonPlots_perAuthor
std::vector< std::unique_ptr< Muon::RecoMuonPlotOrganizer > > m_oRecoMuonPlots_perAuthor
Definition: MuonValidationPlots.h:40
MuonValidationPlots::m_selectedAuthors
std::vector< unsigned int > m_selectedAuthors
Definition: MuonValidationPlots.h:34
MuonValidationPlots::getMuonTree
Muon::MuonTree * getMuonTree()
Definition: MuonValidationPlots.cxx:183
MuonValidationPlots::fill
void fill(const xAOD::Muon &mu, float weight=1.0)
Definition: MuonValidationPlots.cxx:137
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:41
MuonValidationPlots::m_doSeparateSAFMuons
bool m_doSeparateSAFMuons
Definition: MuonValidationPlots.h:53
DataVector< xAOD::TrackParticle_v1 >
MuonValidationPlots::fillTreeBranches
void fillTreeBranches(const xAOD::Muon &mu)
Definition: MuonValidationPlots.cxx:185
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
MuonContainer.h
TruthRelatedMuonPlotOrganizer.h
MuonValidationPlots::m_oTruthRelatedMuonPlots_perQuality
std::vector< std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > > m_oTruthRelatedMuonPlots_perQuality
Definition: MuonValidationPlots.h:41
MuonValidationPlots::m_oTruthRelatedMuonPlots_perAuthor
std::vector< std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > > m_oTruthRelatedMuonPlots_perAuthor
Definition: MuonValidationPlots.h:42
python.grid.isData
def isData(dataset)
Definition: grid.py:491
MuonValidationPlots::m_oTruthRelatedMuonPlots_SiAssocFwrdMu
std::vector< std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > > m_oTruthRelatedMuonPlots_SiAssocFwrdMu
Definition: MuonValidationPlots.h:45
MuonValidationPlots::isGoodTruthTrack
bool isGoodTruthTrack(const xAOD::TruthParticle &truthMu)
Definition: MuonValidationPlots.cxx:209
TruthParticle.h
MuonValidationPlots
Definition: MuonValidationPlots.h:17
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
Muon::MuonTree
Definition: MuonTree.h:20
MuonValidationPlots::m_oTruthMuonPlots
std::vector< std::unique_ptr< Muon::TruthMuonPlotOrganizer > > m_oTruthMuonPlots
Definition: MuonValidationPlots.h:43
MuonValidationPlots::m_oRecoMuonPlots_SiAssocFwrdMu
std::vector< std::unique_ptr< Muon::RecoMuonPlotOrganizer > > m_oRecoMuonPlots_SiAssocFwrdMu
Definition: MuonValidationPlots.h:46