ATLAS Offline Software
TriggerMuonValidationPlots.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONPHYSVALMONITORING_TRIGGERMUONVALIDATIONPLOTS_H
6 #define MUONPHYSVALMONITORING_TRIGGERMUONVALIDATIONPLOTS_H
7 
10 #include "ResoTriggerMuonPlots.h"
11 #include "TriggerEfficiencyPlots.h"
12 #include "xAODMuon/Muon.h"
14 #include "xAODMuon/MuonContainer.h"
17 #include "xAODTrigger/MuonRoI.h"
18 
20 public:
21  TriggerMuonValidationPlots(PlotBase* pParent, const std::string& sDir, std::vector<unsigned int> authors, bool isData,
22  bool doTrigMuonL1Validation, bool doTrigMuonL2Validation, bool doTrigMuonEFValidation,
23  std::vector<std::vector<std::string>> ChainSeed, std::vector<std::string> L1MuonItems);
24 
27  void fill(const xAOD::MuonRoI& TrigL1mu);
28  void fill(const xAOD::L2StandAloneMuon& L2SAmu);
29  void fill(const xAOD::L2CombinedMuon& L2CBmu);
30  void fill(const xAOD::Muon& Trigmu);
31  void fill(const xAOD::Muon& Trigmu, const xAOD::Muon& Recomu);
32  void fill(const xAOD::L2StandAloneMuon& L2SAmu, const xAOD::Muon& Recomu);
33  void fill(const xAOD::L2CombinedMuon& L2CBmu, const xAOD::Muon& Recomu);
34  void fillNumEff(const xAOD::Muon& Trigmu, const std::string& selectedChain);
35  void fillDenEff(const xAOD::Muon& Trigmu, const std::string& selectedChain);
36  void fillNumL1Eff(const xAOD::Muon& Trigmu, const std::string& selectedChain);
37  void fillDenL1Eff(const xAOD::Muon& Trigmu, const std::string& selectedChain);
38  void fillFeatPlots(const xAOD::Muon& Trigmu, const std::string& selectedChain);
39  void fillFeatPlots(const xAOD::MuonRoI& TrigL1mu, const std::string& selectedChain);
40  void fillDenRELEff(const xAOD::Muon& Trigmu, const std::string& selectedChain);
41  void fillNumRELEff(const xAOD::Muon& Trigmu, const std::string& selectedChain);
42 
43  std::vector<unsigned int> m_selectedAuthors;
44  std::vector<std::string> m_chains;
45  std::vector<std::string> m_seeds;
46  std::unique_ptr<L1TriggerMuonPlots> m_oL1TriggerMuonPlots{};
47  std::vector<std::unique_ptr<HLTriggerMuonPlots>> m_oEFTriggerMuonPlots;
48  std::vector<std::unique_ptr<HLTriggerMuonPlots>> m_oL2TriggerMuonPlots;
49  std::vector<std::unique_ptr<ResoTriggerMuonPlots>> m_oEFTriggerMuonBarrelResolutionPlots;
50  std::vector<std::unique_ptr<ResoTriggerMuonPlots>> m_oEFTriggerMuonEndcapsResolutionPlots;
51  std::vector<std::unique_ptr<ResoTriggerMuonPlots>> m_oEFTriggerMuonResolutionPlots;
52  std::vector<std::unique_ptr<ResoTriggerMuonPlots>> m_oL2TriggerMuonBarrelResolutionPlots;
53  std::vector<std::unique_ptr<ResoTriggerMuonPlots>> m_oL2TriggerMuonEndcapsResolutionPlots;
54  std::vector<std::unique_ptr<ResoTriggerMuonPlots>> m_oL2TriggerMuonResolutionPlots;
55  std::vector<std::unique_ptr<TriggerEfficiencyPlots>> m_oL1TriggerChainEfficiencyPlots;
56  std::vector<std::unique_ptr<TriggerEfficiencyPlots>> m_oL1TriggerChainBarrelEfficiencyPlots;
57  std::vector<std::unique_ptr<TriggerEfficiencyPlots>> m_oL1TriggerChainEndcapsEfficiencyPlots;
58  std::vector<std::unique_ptr<TriggerEfficiencyPlots>> m_oEFTriggerChainEfficiencyPlots;
59  std::vector<std::unique_ptr<TriggerEfficiencyPlots>> m_oEFTriggerChainBarrelEfficiencyPlots;
60  std::vector<std::unique_ptr<TriggerEfficiencyPlots>> m_oEFTriggerChainEndcapsEfficiencyPlots;
61  std::vector<std::unique_ptr<TriggerEfficiencyPlots>> m_oEFTriggerChainRELEfficiencyPlots;
62  std::vector<std::unique_ptr<TriggerEfficiencyPlots>> m_oEFTriggerChainBarrelRELEfficiencyPlots;
63  std::vector<std::unique_ptr<TriggerEfficiencyPlots>> m_oEFTriggerChainEndcapsRELEfficiencyPlots;
64 
65 private:
66  void fillTriggerMuonPlots(const xAOD::Muon& Trigmu);
67  void fillTriggerMuonPlots(const xAOD::Muon& Trigmu, const xAOD::Muon& Recomu);
68  void fillTriggerMuonPlots(const xAOD::L2StandAloneMuon& L2SAmu, const xAOD::Muon& Recomu);
69  void fillTriggerMuonPlots(const xAOD::L2CombinedMuon& L2CBmu, const xAOD::Muon& Recomu);
70  void fillTriggerMuonPlots(const xAOD::MuonRoI& TrigL1mu);
71  void fillTriggerMuonPlots(const xAOD::L2StandAloneMuon& L2SAmu);
72  void fillTriggerMuonPlots(const xAOD::L2CombinedMuon& L2CBmu);
73  float findTrigTreshold(const TString& chain);
74 
78  std::vector<std::vector<std::string>> m_ChainSeed;
79  std::vector<std::string> m_L1MuonItems;
80 };
81 
82 #endif
L2StandAloneMuon.h
runLayerRecalibration.chain
chain
Definition: runLayerRecalibration.py:175
TriggerMuonValidationPlots::fillNumRELEff
void fillNumRELEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
Definition: TriggerMuonValidationPlots.cxx:251
TriggerMuonValidationPlots::m_seeds
std::vector< std::string > m_seeds
Definition: TriggerMuonValidationPlots.h:45
PlotBase
Definition: PlotBase.h:33
TriggerMuonValidationPlots::m_oEFTriggerChainBarrelEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainBarrelEfficiencyPlots
Definition: TriggerMuonValidationPlots.h:59
Muon.h
xAOD::L2StandAloneMuon_v2
Class describing standalone muons reconstructed in the LVL2 trigger.
Definition: L2StandAloneMuon_v2.h:36
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
L2CombinedMuon.h
TriggerMuonValidationPlots::PlateauTreshold
float PlateauTreshold
Definition: TriggerMuonValidationPlots.h:25
TriggerMuonValidationPlots::fillNumEff
void fillNumEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
Definition: TriggerMuonValidationPlots.cxx:151
TriggerMuonValidationPlots::m_oEFTriggerChainBarrelRELEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainBarrelRELEfficiencyPlots
Definition: TriggerMuonValidationPlots.h:62
TriggerMuonValidationPlots::m_oEFTriggerMuonEndcapsResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonEndcapsResolutionPlots
Definition: TriggerMuonValidationPlots.h:50
TriggerMuonValidationPlots::fill
void fill(const xAOD::MuonRoI &TrigL1mu)
Definition: TriggerMuonValidationPlots.cxx:145
TriggerMuonValidationPlots::m_oL1TriggerChainEndcapsEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainEndcapsEfficiencyPlots
Definition: TriggerMuonValidationPlots.h:57
TriggerMuonValidationPlots::m_oL1TriggerMuonPlots
std::unique_ptr< L1TriggerMuonPlots > m_oL1TriggerMuonPlots
Definition: TriggerMuonValidationPlots.h:46
TriggerMuonValidationPlots
Definition: TriggerMuonValidationPlots.h:19
TriggerMuonValidationPlots::m_chains
std::vector< std::string > m_chains
Definition: TriggerMuonValidationPlots.h:44
TriggerMuonValidationPlots::m_oEFTriggerChainEndcapsRELEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEndcapsRELEfficiencyPlots
Definition: TriggerMuonValidationPlots.h:63
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
HLTriggerMuonPlots.h
xAOD::L2CombinedMuon_v1
Class describing combined muon reconstructed in the LVL2 trigger.
Definition: L2CombinedMuon_v1.h:41
MuonAuxContainer.h
TriggerMuonValidationPlots::m_oEFTriggerChainEndcapsEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEndcapsEfficiencyPlots
Definition: TriggerMuonValidationPlots.h:60
TriggerMuonValidationPlots::fillDenEff
void fillDenEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
Definition: TriggerMuonValidationPlots.cxx:163
TriggerMuonValidationPlots::m_ChainSeed
std::vector< std::vector< std::string > > m_ChainSeed
Definition: TriggerMuonValidationPlots.h:78
TriggerMuonValidationPlots::m_oL2TriggerMuonPlots
std::vector< std::unique_ptr< HLTriggerMuonPlots > > m_oL2TriggerMuonPlots
Definition: TriggerMuonValidationPlots.h:48
TriggerMuonValidationPlots::m_oL1TriggerChainBarrelEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainBarrelEfficiencyPlots
Definition: TriggerMuonValidationPlots.h:56
xAOD::MuonRoI_v1
Class describing a LVL1 muon region of interest.
Definition: MuonRoI_v1.h:33
TriggerMuonValidationPlots::m_doTrigMuonEFValidation
bool m_doTrigMuonEFValidation
Definition: TriggerMuonValidationPlots.h:77
TriggerMuonValidationPlots::m_doTrigMuonL1Validation
bool m_doTrigMuonL1Validation
Definition: TriggerMuonValidationPlots.h:75
TriggerMuonValidationPlots::TriggerMuonValidationPlots
TriggerMuonValidationPlots(PlotBase *pParent, const std::string &sDir, std::vector< unsigned int > authors, bool isData, bool doTrigMuonL1Validation, bool doTrigMuonL2Validation, bool doTrigMuonEFValidation, std::vector< std::vector< std::string >> ChainSeed, std::vector< std::string > L1MuonItems)
Definition: TriggerMuonValidationPlots.cxx:10
TriggerMuonValidationPlots::fillDenRELEff
void fillDenRELEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
Definition: TriggerMuonValidationPlots.cxx:237
TriggerMuonValidationPlots::m_oEFTriggerMuonBarrelResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonBarrelResolutionPlots
Definition: TriggerMuonValidationPlots.h:49
ResoTriggerMuonPlots.h
TriggerMuonValidationPlots::m_doTrigMuonL2Validation
bool m_doTrigMuonL2Validation
Definition: TriggerMuonValidationPlots.h:76
TriggerMuonValidationPlots::m_L1MuonItems
std::vector< std::string > m_L1MuonItems
Definition: TriggerMuonValidationPlots.h:79
TriggerMuonValidationPlots::m_oL1TriggerChainEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainEfficiencyPlots
Definition: TriggerMuonValidationPlots.h:55
TriggerMuonValidationPlots::fillTriggerMuonPlots
void fillTriggerMuonPlots(const xAOD::Muon &Trigmu)
Definition: TriggerMuonValidationPlots.cxx:101
TriggerMuonValidationPlots::fillNumL1Eff
void fillNumL1Eff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
Definition: TriggerMuonValidationPlots.cxx:189
TriggerEfficiencyPlots.h
MuonContainer.h
TriggerMuonValidationPlots::m_oL2TriggerMuonResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonResolutionPlots
Definition: TriggerMuonValidationPlots.h:54
TriggerMuonValidationPlots::m_oL2TriggerMuonEndcapsResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonEndcapsResolutionPlots
Definition: TriggerMuonValidationPlots.h:53
TriggerMuonValidationPlots::fillDenL1Eff
void fillDenL1Eff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
Definition: TriggerMuonValidationPlots.cxx:201
MuonRoI.h
TriggerMuonValidationPlots::findTrigTreshold
float findTrigTreshold(const TString &chain)
Definition: TriggerMuonValidationPlots.cxx:265
python.grid.isData
def isData(dataset)
Definition: grid.py:491
TriggerMuonValidationPlots::fillFeatPlots
void fillFeatPlots(const xAOD::Muon &Trigmu, const std::string &selectedChain)
Definition: TriggerMuonValidationPlots.cxx:177
TriggerMuonValidationPlots::m_oEFTriggerMuonPlots
std::vector< std::unique_ptr< HLTriggerMuonPlots > > m_oEFTriggerMuonPlots
Definition: TriggerMuonValidationPlots.h:47
L1TriggerMuonPlots.h
TriggerMuonValidationPlots::m_oEFTriggerMuonResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonResolutionPlots
Definition: TriggerMuonValidationPlots.h:51
TriggerMuonValidationPlots::m_oEFTriggerChainEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEfficiencyPlots
Definition: TriggerMuonValidationPlots.h:58
TriggerMuonValidationPlots::m_oEFTriggerChainRELEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainRELEfficiencyPlots
Definition: TriggerMuonValidationPlots.h:61
TriggerMuonValidationPlots::~TriggerMuonValidationPlots
virtual ~TriggerMuonValidationPlots()
TriggerMuonValidationPlots::m_oL2TriggerMuonBarrelResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonBarrelResolutionPlots
Definition: TriggerMuonValidationPlots.h:52
TriggerMuonValidationPlots::m_selectedAuthors
std::vector< unsigned int > m_selectedAuthors
Definition: TriggerMuonValidationPlots.h:43