ATLAS Offline Software
Loading...
Searching...
No Matches
PhysValMET.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5// PhysValMET.h
6// Header file for class PhysValMET
7// Author: Daniel Buescher <daniel.buescher@cern.ch>, Philipp Mogg <philipp.mogg@cern.ch>
9#ifndef MISSINGETDQA_PHYSVALMET_H
10#define MISSINGETDQA_PHYSVALMET_H 1
11
12// STL includes
13#include <string>
14
15// FrameWork includes
16#include "GaudiKernel/ServiceHandle.h"
17
18// Local includes
20
27
28#include "AsgTools/ToolHandle.h"
29
30// Root includes
31#include "TH1.h"
32
33// Forward declaration
34class IMETMaker;
39}
40
41
42namespace MissingEtDQA {
43
46{
48 // Public methods:
50 public:
51
52 // Copy constructor:
53
55 PhysValMET( const std::string& type,
56 const std::string& name,
57 const IInterface* parent);
58
60 virtual ~PhysValMET();
61
62 // Athena algtool's Hooks
63 virtual StatusCode initialize();
64 virtual StatusCode bookHistograms();
65 virtual StatusCode fillHistograms();
66 virtual StatusCode procHistograms();
67
68
70 // Const methods:
72
74 // Non-const methods:
76
77
79 // Private data:
81 private:
85
88
89 // Containers
90 std::string m_eleColl;
91 std::string m_gammaColl;
92 std::string m_tauColl;
93 std::string m_muonColl;
94 std::string m_mapname;
95 std::string m_corename;
96
97 // Methods
98 bool Accept(const xAOD::Electron* el);
99 bool Accept(const xAOD::Photon* ph);
100 bool Accept(const xAOD::TauJet* tau);
101 bool Accept(const xAOD::Muon* muon);
102 bool Accept(const xAOD::Jet* jet, double JvtCut, ToolHandle<IJetUpdateJvt>* jvtTool);
103
104 // vector of collections
105 std::vector <std::string> m_types;
106
107 // vector of terms
108 std::vector <std::string> m_terms;
109
110 // Map for names
111 std::map <std::string,std::string> m_names;
112
113 // Hists
114 TH1D *m_MET_Track = nullptr, *m_MET_Track_x = nullptr, *m_MET_Track_y = nullptr, *m_MET_Track_phi = nullptr, *m_MET_Track_sum = nullptr;
117 TH1D *m_MET_Calo = nullptr, *m_MET_Calo_x = nullptr, *m_MET_Calo_y = nullptr, *m_MET_Calo_phi = nullptr, *m_MET_Calo_sum = nullptr;
118
119 //Maps
120 std::map<std::string,std::vector<TH1D*> > m_MET_Ref;
121 std::map<std::string,std::vector<TH1D*> > m_MET_Ref_x;
122 std::map<std::string,std::vector<TH1D*> > m_MET_Ref_y;
123 std::map<std::string,std::vector<TH1D*> > m_MET_Ref_phi;
124 std::map<std::string,std::vector<TH1D*> > m_MET_Ref_sum;
125 std::map<std::string,std::vector<TH1D*> > m_MET_Diff_Ref;
126 std::map<std::string,std::vector<TH1D*> > m_MET_Diff_Ref_x;
127 std::map<std::string,std::vector<TH1D*> > m_MET_Diff_Ref_y;
128 std::map<std::string,std::vector<TH1D*> > m_MET_Diff_Ref_phi;
129 std::map<std::string,std::vector<TH1D*> > m_MET_Diff_Ref_sum;
130 std::map<std::string,std::vector<TH1D*> > m_MET_Cumu_Ref;
131 std::map<std::string,std::vector<TH1D*> > m_MET_Resolution_Ref;
132 std::map<std::string,std::vector<TH1D*> > m_MET_Significance_Ref;
133 std::map<std::string,std::vector<TH1D*> > m_MET_dPhi_Ref;
134 std::map<std::string,std::vector<TH2D*> > m_MET_CorrFinalTrk_Ref;
135 std::map<std::string,std::vector<TH2D*> > m_MET_CorrFinalClus_Ref;
136 std::map<std::string,std::vector<TH1D*> > m_MET_Reb;
137 std::map<std::string,std::vector<TH1D*> > m_MET_Reb_x;
138 std::map<std::string,std::vector<TH1D*> > m_MET_Reb_y;
139 std::map<std::string,std::vector<TH1D*> > m_MET_Reb_phi;
140 std::map<std::string,std::vector<TH1D*> > m_MET_Reb_sum;
141 std::map<std::string,std::vector<TH1D*> > m_MET_Diff_Reb;
142 std::map<std::string,std::vector<TH1D*> > m_MET_Diff_Reb_x;
143 std::map<std::string,std::vector<TH1D*> > m_MET_Diff_Reb_y;
144 std::map<std::string,std::vector<TH1D*> > m_MET_Diff_Reb_phi;
145 std::map<std::string,std::vector<TH1D*> > m_MET_Diff_Reb_sum;
146 std::map<std::string,std::vector<TH1D*> > m_MET_Cumu_Reb;
147 std::map<std::string,std::vector<TH1D*> > m_MET_Resolution_Reb;
148 std::map<std::string,std::vector<TH1D*> > m_MET_Significance_Reb;
149 std::map<std::string,std::vector<TH1D*> > m_MET_dPhi_Reb;
150 std::map<std::string,std::vector<TH2D*> > m_MET_CorrFinalTrk_Reb;
151 std::map<std::string,std::vector<TH2D*> > m_MET_CorrFinalClus_Reb;
152
153 std::vector<std::string> m_dir_met;
154
155 ToolHandle<CP::IMuonSelectionTool> m_muonSelTool {this, "MuonSelectionTool", "", "Muon selection tool"};
156 ToolHandle<IAsgElectronLikelihoodTool> m_elecSelLHTool {this, "ElectronLHSelectionTool", "", "Electron likelihood selection tool"};
157 ToolHandle<IAsgPhotonIsEMSelector> m_photonSelIsEMTool {this, "PhotonIsEMSelectionTool" , "", "Photon selection tool"};
158 ToolHandle<IJetUpdateJvt> m_jvtToolEM {this, "JVTToolEMTopo", "", "JVT tool for EMTopo jets"};
159 ToolHandle<IJetUpdateJvt> m_jvtToolPFlow {this, "JVTToolEMPFlow", "", "JVT tool forEMPFlow jets"};
160 ToolHandle<IMETMaker> m_metmakerTopo {this, "METMakerTopo", "", "METMaker for EMTopo jets"};
161 ToolHandle<IMETMaker> m_metmakerPFlow {this, "METMakerPFlow", "", "METMaker for EMPFlow jets"};
162 ToolHandle<TauAnalysisTools::ITauSelectionTool> m_tauSelTool{this, "TauSelectionTool", "", "Tau selection tool"};
163 ToolHandle<IMETMaker>* m_metmaker;
164};
165
166}
167
168#endif //> !MISSINGETDQA_PHYSVALMET_H
Interface to tool to select electrons.
Interface to tool to select photons.
ManagedMonitorToolBase(const std::string &type, const std::string &name, const IInterface *parent)
std::map< std::string, std::vector< TH1D * > > m_MET_Reb
Definition PhysValMET.h:136
std::map< std::string, std::vector< TH1D * > > m_MET_Ref
Definition PhysValMET.h:120
ToolHandle< CP::IMuonSelectionTool > m_muonSelTool
Definition PhysValMET.h:155
std::map< std::string, std::vector< TH1D * > > m_MET_Diff_Ref
Definition PhysValMET.h:125
std::vector< std::string > m_terms
Definition PhysValMET.h:108
std::map< std::string, std::vector< TH1D * > > m_MET_Diff_Reb_y
Definition PhysValMET.h:143
std::map< std::string, std::vector< TH1D * > > m_MET_Diff_Ref_x
Definition PhysValMET.h:126
std::map< std::string, std::vector< TH1D * > > m_MET_Reb_phi
Definition PhysValMET.h:139
ToolHandle< IMETMaker > * m_metmaker
Definition PhysValMET.h:163
std::map< std::string, std::vector< TH1D * > > m_MET_Cumu_Ref
Definition PhysValMET.h:130
std::map< std::string, std::vector< TH1D * > > m_MET_Reb_x
Definition PhysValMET.h:137
std::map< std::string, std::vector< TH1D * > > m_MET_Significance_Reb
Definition PhysValMET.h:148
std::map< std::string, std::vector< TH1D * > > m_MET_Diff_Ref_y
Definition PhysValMET.h:127
ToolHandle< IMETMaker > m_metmakerPFlow
Definition PhysValMET.h:161
std::map< std::string, std::vector< TH1D * > > m_MET_Reb_y
Definition PhysValMET.h:138
virtual StatusCode bookHistograms()
An inheriting class should either override this function or bookHists().
std::vector< std::string > m_types
Definition PhysValMET.h:105
virtual ~PhysValMET()
Destructor:
std::map< std::string, std::vector< TH1D * > > m_MET_Resolution_Reb
Definition PhysValMET.h:147
ToolHandle< TauAnalysisTools::ITauSelectionTool > m_tauSelTool
Definition PhysValMET.h:162
std::map< std::string, std::vector< TH1D * > > m_MET_Reb_sum
Definition PhysValMET.h:140
std::map< std::string, std::vector< TH1D * > > m_MET_Diff_Reb_x
Definition PhysValMET.h:142
std::map< std::string, std::vector< TH1D * > > m_MET_Ref_y
Definition PhysValMET.h:122
std::map< std::string, std::string > m_names
Definition PhysValMET.h:111
std::map< std::string, std::vector< TH2D * > > m_MET_CorrFinalClus_Reb
Definition PhysValMET.h:151
std::map< std::string, std::vector< TH1D * > > m_MET_Ref_x
Definition PhysValMET.h:121
std::map< std::string, std::vector< TH1D * > > m_MET_Diff_Reb_phi
Definition PhysValMET.h:144
ToolHandle< IJetUpdateJvt > m_jvtToolEM
Definition PhysValMET.h:158
std::map< std::string, std::vector< TH1D * > > m_MET_Significance_Ref
Definition PhysValMET.h:132
PhysValMET(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
std::vector< std::string > m_dir_met
Definition PhysValMET.h:153
std::map< std::string, std::vector< TH1D * > > m_MET_Diff_Ref_phi
Definition PhysValMET.h:128
std::map< std::string, std::vector< TH2D * > > m_MET_CorrFinalTrk_Reb
Definition PhysValMET.h:150
std::map< std::string, std::vector< TH1D * > > m_MET_Ref_sum
Definition PhysValMET.h:124
ToolHandle< IJetUpdateJvt > m_jvtToolPFlow
Definition PhysValMET.h:159
ToolHandle< IMETMaker > m_metmakerTopo
Definition PhysValMET.h:160
std::map< std::string, std::vector< TH1D * > > m_MET_Cumu_Reb
Definition PhysValMET.h:146
std::map< std::string, std::vector< TH1D * > > m_MET_Diff_Reb_sum
Definition PhysValMET.h:145
virtual StatusCode initialize()
std::map< std::string, std::vector< TH1D * > > m_MET_dPhi_Reb
Definition PhysValMET.h:149
PhysValMET()
Default constructor:
std::map< std::string, std::vector< TH1D * > > m_MET_Resolution_Ref
Definition PhysValMET.h:131
ToolHandle< IAsgElectronLikelihoodTool > m_elecSelLHTool
Definition PhysValMET.h:156
std::map< std::string, std::vector< TH2D * > > m_MET_CorrFinalClus_Ref
Definition PhysValMET.h:135
std::map< std::string, std::vector< TH1D * > > m_MET_Ref_phi
Definition PhysValMET.h:123
std::map< std::string, std::vector< TH1D * > > m_MET_Diff_Reb
Definition PhysValMET.h:141
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
bool Accept(const xAOD::Electron *el)
ToolHandle< IAsgPhotonIsEMSelector > m_photonSelIsEMTool
Definition PhysValMET.h:157
std::map< std::string, std::vector< TH1D * > > m_MET_Diff_Ref_sum
Definition PhysValMET.h:129
std::map< std::string, std::vector< TH2D * > > m_MET_CorrFinalTrk_Ref
Definition PhysValMET.h:134
std::map< std::string, std::vector< TH1D * > > m_MET_dPhi_Ref
Definition PhysValMET.h:133
Interface for tau selector tool.
Jet_v1 Jet
Definition of the current "jet version".
TauJet_v3 TauJet
Definition of the current "tau version".
Muon_v1 Muon
Reference the current persistent version:
Photon_v1 Photon
Definition of the current "egamma version".
Electron_v1 Electron
Definition of the current "egamma version".