ATLAS Offline Software
Loading...
Searching...
No Matches
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
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;
63 TProfile * m_effhIDEt;
64 TProfile * m_effhIDEta;
65 TProfile * m_effhIDPhi;
66
67 // Efficiencies of topoEtCone40 isolation criteria vs pT, eta and phi
68 TH1 * m_hISOEt;
69 TH1 * m_hISOEta;
70 TH1 * m_hISOPhi;
71 TProfile * m_effhISOEt;
72 TProfile * m_effhISOEta;
73 TProfile * m_effhISOPhi;
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;
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
A container of information describing a monitoring object.
Property holding a SG store/key/clid from which a ReadHandle is made.
std::vector< TH1 * > m_hvDeltaPhi2
TH1 * m_hNZcandidates
MonGroup * m_electronEffGroup
std::vector< int > m_nZCandidatessPerRegion
std::vector< TH1 * > m_hvTrackIso
virtual StatusCode initialize() override
virtual StatusCode bookHistograms() override
An inheriting class should either override this function or bookHists().
std::vector< TH1 * > m_hvRe237e277
std::vector< TH1 * > m_hvMass
std::vector< TH1 * > m_hvCoreEM
std::vector< TH1 * > m_hvF1
TProfile * m_effhISOPhi
std::vector< int > m_nZCandidatesPerLumiBlock
unsigned int m_lumiBlockNumber
TProfile * m_effhIDPhi
std::vector< TH1 * > m_hvDeltaEta1
TProfile * m_effhIDEta
std::vector< TH1 * > m_hvF2
MonGroup * m_electronGroup
virtual StatusCode fillHistograms() override
An inheriting class should either override this function or fillHists().
TProfile * m_effhIDEt
ZeeTaPMonTool(const std::string &type, const std::string &name, const IInterface *parent)
unsigned int m_nZCandidates
std::vector< TH1 * > m_hvRe233e237
std::vector< TH1 * > m_hvNOfTRTHits
MonGroup * m_electronIdGroup
MonGroup * m_electronTrkGroup
unsigned int m_nZCandidatesInCurrentLB
float m_ElectronEtCut
std::vector< TH1 * > m_hvNOfSiHits
std::vector< TH1 * > m_hvNOfBLayerHits
MonGroup * m_electronIsoGroup
std::vector< TH1 * > m_hvEoverP
void fillElectronProbe(const xAOD::Electron *el, bool isTight, bool isIso, double mass)
TProfile * m_effhISOEt
TProfile * m_effhISOEta
MonGroup * m_electronLBGroup
SG::ReadHandleKey< xAOD::ElectronContainer > m_ElectronContainer
std::vector< TH1 * > m_hvEhad1
std::vector< TH1 * > m_hvF3
virtual StatusCode procHistograms() override
An inheriting class should either override this function or finalHists().
std::vector< TH1 * > m_hvCaloIso
virtual ~ZeeTaPMonTool()=default
egammaMonToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Electron_v1 Electron
Definition of the current "egamma version".