ATLAS Offline Software
Loading...
Searching...
No Matches
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
12#include "xAODMuon/Muon.h"
17#include "xAODTrigger/MuonRoI.h"
18
20public:
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
65private:
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);
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
PlotBase(PlotBase *parent, const std::string &sDir)
Definition PlotBase.cxx:29
void fillNumEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainBarrelEfficiencyPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonBarrelResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonBarrelResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonEndcapsResolutionPlots
std::vector< std::unique_ptr< HLTriggerMuonPlots > > m_oL2TriggerMuonPlots
void fillDenRELEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainRELEfficiencyPlots
void fillNumL1Eff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
void fillTriggerMuonPlots(const xAOD::Muon &Trigmu)
virtual ~TriggerMuonValidationPlots()
std::vector< std::unique_ptr< HLTriggerMuonPlots > > m_oEFTriggerMuonPlots
std::vector< std::string > m_seeds
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainBarrelEfficiencyPlots
void fillDenEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEfficiencyPlots
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)
void fillFeatPlots(const xAOD::Muon &Trigmu, const std::string &selectedChain)
std::vector< unsigned int > m_selectedAuthors
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEndcapsEfficiencyPlots
std::vector< std::string > m_chains
std::vector< std::vector< std::string > > m_ChainSeed
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainEndcapsEfficiencyPlots
void fillDenL1Eff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEndcapsRELEfficiencyPlots
float findTrigTreshold(const TString &chain)
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonEndcapsResolutionPlots
std::vector< std::string > m_L1MuonItems
void fill(const xAOD::MuonRoI &TrigL1mu)
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainEfficiencyPlots
std::unique_ptr< L1TriggerMuonPlots > m_oL1TriggerMuonPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonResolutionPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainBarrelRELEfficiencyPlots
void fillNumRELEff(const xAOD::Muon &Trigmu, const std::string &selectedChain)
L2CombinedMuon_v1 L2CombinedMuon
Define the latest version of the muon CB class.
Muon_v1 Muon
Reference the current persistent version:
L2StandAloneMuon_v2 L2StandAloneMuon
Define the latest version of the muon SA class.
MuonRoI_v1 MuonRoI
Definition MuonRoI.h:15