ATLAS Offline Software
ZeeTaPMonTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 //
7 // 2014-05-21 Author: Remi Lafaye (Annecy)
8 // 2015-05-15 Author: Bertrand Laforge (LPNHE, Paris)
9 //
11 
12 #ifndef ZeeTaPMonTool_H
13 #define ZeeTaPMonTool_H
14 
15 #include "egammaMonToolBase.h"
16 #include "xAODEgamma/Electron.h"
17 
19 {
20  public:
21 
22  ZeeTaPMonTool(const std::string& type, const std::string& name, const IInterface* parent);
23 
24  virtual ~ZeeTaPMonTool() = default;
25 
26  virtual StatusCode initialize() override;
27  virtual StatusCode bookHistograms() override;
28  virtual StatusCode fillHistograms() override;
29  virtual StatusCode procHistograms() override;
30 
31  private:
32  void fillElectronProbe(const xAOD::Electron *el, bool isTight, bool isIso, double mass);
33 
34  protected:
35 
36  // Properties
37  SG::ReadHandleKey<xAOD::ElectronContainer> m_ElectronContainer{this, "ElectronContainer", "Electrons", "Name of the electron collection"}; // Container name for electrons
38  float m_MassPeak;
43 
44  // Number of Z candidates vs leading electron eta
45 
47 
54 
55  // Zee mass distributions
56  std::vector<TH1*> m_hvMass;
57  TH1 * m_hMass; // Histogram for Mass of Z candidates
58 
59  // Efficiencies of LHTight vs pT, eta and phi
60  TH1 * m_hIDEt;
61  TH1 * m_hIDEta;
62  TH1 * m_hIDPhi;
66 
67  // Efficiencies of topoEtCone40 isolation criteria vs pT, eta and phi
68  TH1 * m_hISOEt;
69  TH1 * m_hISOEta;
70  TH1 * m_hISOPhi;
74 
75  // Loose electrons histograms
76  TH1 * m_hN; // Histogram for number of electrons
77  TH1 * m_hEt; // Histogram for electron transverse energies
78  TH1 * m_hEta; // Histogram for electron eta
79  TH1 * m_hPhi; // Histogram for electron phi
80  TH2 * m_hEtaPhi; // Histogram for electron eta,phi
81 
82  // electron tracks
83  std::vector<TH1*> m_hvDeltaEta1;
84  std::vector<TH1*> m_hvDeltaPhi2;
85  std::vector<TH1*> m_hvNOfBLayerHits;
86  std::vector<TH1*> m_hvNOfSiHits;
87  std::vector<TH1*> m_hvNOfTRTHits;
88 
89  // electron ID
90  std::vector<TH1*> m_hvEhad1;
91  std::vector<TH1*> m_hvEoverP;
92  std::vector<TH1*> m_hvCoreEM;
93  std::vector<TH1*> m_hvF1;
94  std::vector<TH1*> m_hvF2;
95  std::vector<TH1*> m_hvF3;
96  std::vector<TH1*> m_hvRe233e237;
97  std::vector<TH1*> m_hvRe237e277;
98 
99  // electron ISO
100  std::vector<TH1*> m_hvCaloIso;
101  std::vector<TH1*> m_hvTrackIso;
102 
103  // Monitoring per lumiblock
104 
105  unsigned int m_lumiBlockNumber;
107  std::vector<int> m_nZCandidatesPerLumiBlock;
108  std::vector<int> m_nZCandidatessPerRegion;
109  unsigned int m_nZCandidates;
110 
111  TH1 *m_hLB_N; // Histogram for number of electrons vs LB
112 
113 };
114 
115 #endif
ZeeTaPMonTool::m_hPhi
TH1 * m_hPhi
Definition: ZeeTaPMonTool.h:79
ZeeTaPMonTool::m_electronEffGroup
MonGroup * m_electronEffGroup
Definition: ZeeTaPMonTool.h:53
ZeeTaPMonTool::m_nZCandidatesPerLumiBlock
std::vector< int > m_nZCandidatesPerLumiBlock
Definition: ZeeTaPMonTool.h:107
ZeeTaPMonTool::m_hvEhad1
std::vector< TH1 * > m_hvEhad1
Definition: ZeeTaPMonTool.h:90
ZeeTaPMonTool::m_effhIDEt
TProfile * m_effhIDEt
Definition: ZeeTaPMonTool.h:63
ZeeTaPMonTool::m_hvMass
std::vector< TH1 * > m_hvMass
Definition: ZeeTaPMonTool.h:56
ZeeTaPMonTool::m_hvF1
std::vector< TH1 * > m_hvF1
Definition: ZeeTaPMonTool.h:93
ZeeTaPMonTool::ZeeTaPMonTool
ZeeTaPMonTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: ZeeTaPMonTool.cxx:31
ZeeTaPMonTool::fillHistograms
virtual StatusCode fillHistograms() override
An inheriting class should either override this function or fillHists().
Definition: ZeeTaPMonTool.cxx:155
Base_Fragment.mass
mass
Definition: Sherpa_i/share/common/Base_Fragment.py:59
ZeeTaPMonTool::m_hEta
TH1 * m_hEta
Definition: ZeeTaPMonTool.h:78
ZeeTaPMonTool::m_hvRe237e277
std::vector< TH1 * > m_hvRe237e277
Definition: ZeeTaPMonTool.h:97
ZeeTaPMonTool::m_nZCandidates
unsigned int m_nZCandidates
Definition: ZeeTaPMonTool.h:109
ZeeTaPMonTool::m_hvDeltaPhi2
std::vector< TH1 * > m_hvDeltaPhi2
Definition: ZeeTaPMonTool.h:84
ZeeTaPMonTool::m_ElectronEtCut
float m_ElectronEtCut
Definition: ZeeTaPMonTool.h:39
ZeeTaPMonTool
Definition: ZeeTaPMonTool.h:19
ZeeTaPMonTool::m_hNZcandidates
TH1 * m_hNZcandidates
Definition: ZeeTaPMonTool.h:46
ZeeTaPMonTool::m_effhIDPhi
TProfile * m_effhIDPhi
Definition: ZeeTaPMonTool.h:65
ZeeTaPMonTool::m_hMass
TH1 * m_hMass
Definition: ZeeTaPMonTool.h:57
ZeeTaPMonTool::initialize
virtual StatusCode initialize() override
Definition: ZeeTaPMonTool.cxx:72
egammaMonToolBase.h
ZeeTaPMonTool::m_MassLowerCut
float m_MassLowerCut
Definition: ZeeTaPMonTool.h:40
ZeeTaPMonTool::m_electronLBGroup
MonGroup * m_electronLBGroup
Definition: ZeeTaPMonTool.h:52
ZeeTaPMonTool::m_hvEoverP
std::vector< TH1 * > m_hvEoverP
Definition: ZeeTaPMonTool.h:91
SG::ReadHandleKey< xAOD::ElectronContainer >
ZeeTaPMonTool::m_electronIsoGroup
MonGroup * m_electronIsoGroup
Definition: ZeeTaPMonTool.h:51
ZeeTaPMonTool::m_effhISOPhi
TProfile * m_effhISOPhi
Definition: ZeeTaPMonTool.h:73
ZeeTaPMonTool::m_hISOEta
TH1 * m_hISOEta
Definition: ZeeTaPMonTool.h:69
egammaMonToolBase
Definition: egammaMonToolBase.h:72
ZeeTaPMonTool::m_hN
TH1 * m_hN
Definition: ZeeTaPMonTool.h:76
ManagedMonitorToolBase::MonGroup
A container of information describing a monitoring object.
Definition: ManagedMonitorToolBase.h:137
ZeeTaPMonTool::fillElectronProbe
void fillElectronProbe(const xAOD::Electron *el, bool isTight, bool isIso, double mass)
Definition: ZeeTaPMonTool.cxx:299
ZeeTaPMonTool::m_nZCandidatessPerRegion
std::vector< int > m_nZCandidatessPerRegion
Definition: ZeeTaPMonTool.h:108
ZeeTaPMonTool::m_MassUpperCut
float m_MassUpperCut
Definition: ZeeTaPMonTool.h:41
ZeeTaPMonTool::m_effhISOEta
TProfile * m_effhISOEta
Definition: ZeeTaPMonTool.h:72
ZeeTaPMonTool::m_hvNOfSiHits
std::vector< TH1 * > m_hvNOfSiHits
Definition: ZeeTaPMonTool.h:86
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
ZeeTaPMonTool::m_effhISOEt
TProfile * m_effhISOEt
Definition: ZeeTaPMonTool.h:71
ZeeTaPMonTool::m_hvNOfTRTHits
std::vector< TH1 * > m_hvNOfTRTHits
Definition: ZeeTaPMonTool.h:87
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
ZeeTaPMonTool::m_electronTrkGroup
MonGroup * m_electronTrkGroup
Definition: ZeeTaPMonTool.h:49
ZeeTaPMonTool::m_hvCaloIso
std::vector< TH1 * > m_hvCaloIso
Definition: ZeeTaPMonTool.h:100
ZeeTaPMonTool::bookHistograms
virtual StatusCode bookHistograms() override
An inheriting class should either override this function or bookHists().
Definition: ZeeTaPMonTool.cxx:79
ZeeTaPMonTool::m_ElectronContainer
SG::ReadHandleKey< xAOD::ElectronContainer > m_ElectronContainer
Definition: ZeeTaPMonTool.h:37
ZeeTaPMonTool::m_electronIdGroup
MonGroup * m_electronIdGroup
Definition: ZeeTaPMonTool.h:50
ZeeTaPMonTool::~ZeeTaPMonTool
virtual ~ZeeTaPMonTool()=default
ZeeTaPMonTool::m_hEtaPhi
TH2 * m_hEtaPhi
Definition: ZeeTaPMonTool.h:80
ZeeTaPMonTool::m_hLB_N
TH1 * m_hLB_N
Definition: ZeeTaPMonTool.h:111
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
ZeeTaPMonTool::m_hIDEta
TH1 * m_hIDEta
Definition: ZeeTaPMonTool.h:61
xAOD::Electron_v1
Definition: Electron_v1.h:34
ZeeTaPMonTool::m_nZCandidatesInCurrentLB
unsigned int m_nZCandidatesInCurrentLB
Definition: ZeeTaPMonTool.h:106
ZeeTaPMonTool::m_hISOPhi
TH1 * m_hISOPhi
Definition: ZeeTaPMonTool.h:70
ZeeTaPMonTool::m_hISOEt
TH1 * m_hISOEt
Definition: ZeeTaPMonTool.h:68
ZeeTaPMonTool::m_hvCoreEM
std::vector< TH1 * > m_hvCoreEM
Definition: ZeeTaPMonTool.h:92
ZeeTaPMonTool::m_hvNOfBLayerHits
std::vector< TH1 * > m_hvNOfBLayerHits
Definition: ZeeTaPMonTool.h:85
ZeeTaPMonTool::m_hvF2
std::vector< TH1 * > m_hvF2
Definition: ZeeTaPMonTool.h:94
ZeeTaPMonTool::m_PhiBinning
int m_PhiBinning
Definition: ZeeTaPMonTool.h:42
ZeeTaPMonTool::m_electronGroup
MonGroup * m_electronGroup
Definition: ZeeTaPMonTool.h:48
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
ZeeTaPMonTool::m_hEt
TH1 * m_hEt
Definition: ZeeTaPMonTool.h:77
ZeeTaPMonTool::m_hvF3
std::vector< TH1 * > m_hvF3
Definition: ZeeTaPMonTool.h:95
ZeeTaPMonTool::m_effhIDEta
TProfile * m_effhIDEta
Definition: ZeeTaPMonTool.h:64
ZeeTaPMonTool::m_hvRe233e237
std::vector< TH1 * > m_hvRe233e237
Definition: ZeeTaPMonTool.h:96
Electron.h
ZeeTaPMonTool::m_lumiBlockNumber
unsigned int m_lumiBlockNumber
Definition: ZeeTaPMonTool.h:105
ZeeTaPMonTool::m_hvDeltaEta1
std::vector< TH1 * > m_hvDeltaEta1
Definition: ZeeTaPMonTool.h:83
ZeeTaPMonTool::m_hIDEt
TH1 * m_hIDEt
Definition: ZeeTaPMonTool.h:60
ZeeTaPMonTool::m_MassPeak
float m_MassPeak
Definition: ZeeTaPMonTool.h:38
ZeeTaPMonTool::procHistograms
virtual StatusCode procHistograms() override
An inheriting class should either override this function or finalHists().
Definition: ZeeTaPMonTool.cxx:433
ZeeTaPMonTool::m_hIDPhi
TH1 * m_hIDPhi
Definition: ZeeTaPMonTool.h:62
ZeeTaPMonTool::m_hvTrackIso
std::vector< TH1 * > m_hvTrackIso
Definition: ZeeTaPMonTool.h:101