ATLAS Offline Software
Loading...
Searching...
No Matches
forwardElectronMonTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6//
7// 2014-10-22 Author: Remi Lafaye (Annecy)
8//
10
11#ifndef forwardElectronMonTool_H
12#define forwardElectronMonTool_H
13
14#include "egammaMonToolBase.h"
15
17{
18 public:
19
20 forwardElectronMonTool(const std::string& type, const std::string& name, const IInterface* parent);
21
22 virtual ~forwardElectronMonTool() = default;
23
24 virtual StatusCode initialize() override;
25 virtual StatusCode bookHistograms() override;
26 virtual StatusCode fillHistograms() override;
27
28 private:
29
30 protected:
31 // Properties
32 SG::ReadHandleKey<xAOD::ElectronContainer> m_ForwardElectronContainer{this, "ForwardElectronContainer", "egammaForwardCollection", "Name of the forward electron collection"}; // Container name for forwardElectrons
33
34 // Loose electrons histograms
35 TH1 * m_hN; // Histogram for number of electrons
36 TH1 * m_hEt; // Histogram for electron transverse energies
37 TH1 * m_hEta; // Histogram for electron eta
38 TH1 * m_hPhi; // Histogram for electron phi
39 TH2 * m_hEtaPhi; // Histogram for electron eta,phi for candidates with more than 10 GeV energy
40 //TH1 * m_hTopoEtCone40; // Histogram for calo based isolation energy
41 TH1 * m_hTime; // Histogram for forward cluster time
42
43 // Loose electrons per region histograms
44 std::vector<TH1*> m_hvN; // Histograms for number of electrons
45 std::vector<TH1*> m_hvEt; // Histograms for electron transverse energies
46 std::vector<TH1*> m_hvEta; // Histograms for electron transverse eta
47 std::vector<TH1*> m_hvPhi; // Histograms for electron transverse phi
48 //std::vector<TH1*> m_hvTopoEtCone40; // Histograms for electron calo-based isolation transverse energies
49 std::vector<TH1*> m_hvTime; // Histograms for electron times
50
51 // Loose electron ID per region histograms
52 std::vector<TH1*> m_hvDensity; // energy density
53 std::vector<TH1*> m_hvFrac; // max energy fraction
54 std::vector<TH1*> m_hvLongitu; // longitudinal moment
55 std::vector<TH1*> m_hvLambda; // second lambda
56 std::vector<TH1*> m_hvLateral; // lateral moment
57 std::vector<TH1*> m_hvSecondR; // second R
58 std::vector<TH1*> m_hvCenterL; // center lambda
59
60 // Tight electrons histograms
61 TH1 * m_hTightN; // Histogram for number of electrons
62 TH1 * m_hTightEt; // Histogram for electron transverse energies
63 TH1 * m_hTightEta; // Histogram for electron eta
64 TH1 * m_hTightPhi; // Histogram for electron phi
65 TH2 * m_hTightEtaPhi; // Histogram for electron eta,phi
66 //TH1 * m_hTightTopoEtCone40; // Histogram for calo based isolation energy
67 TH1 * m_hTightTime; // Histogram for forward cluster time
68
69 // Tight electrons per region histograms
70 std::vector<TH1*> m_hvTightN; // Histograms for number of electrons
71 std::vector<TH1*> m_hvTightEt; // Histograms for electron transverse energies
72 std::vector<TH1*> m_hvTightEta; // Histograms for electron transverse eta
73 std::vector<TH1*> m_hvTightPhi; // Histograms for electron transverse phi
74 //std::vector<TH1*> m_hvTightTopoEtCone40; // Histograms for electron calo-based isolation transverse energies
75 std::vector<TH1*> m_hvTightTime; // Histograms for electron times
76
77 // Loose electron ID per region histograms
78 std::vector<TH1*> m_hvTightDensity; // energy density
79 std::vector<TH1*> m_hvTightFrac; // max energy fraction
80 std::vector<TH1*> m_hvTightLongitu; // longitudinal moment
81 std::vector<TH1*> m_hvTightLambda; // second lambda
82 std::vector<TH1*> m_hvTightLateral; // lateral moment
83 std::vector<TH1*> m_hvTightSecondR; // second R
84 std::vector<TH1*> m_hvTightCenterL; // center lambda
85
86 TH1 *m_hLB_N; // Histogram for number of forward electrons vs LB
87 unsigned int m_lumiBlockNumber;
90 unsigned int m_nForwardElectrons;
91
92};
93
94#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
egammaMonToolBase(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode bookHistograms() override
An inheriting class should either override this function or bookHists().
std::vector< TH1 * > m_hvTightFrac
std::vector< TH1 * > m_hvTightTime
virtual StatusCode initialize() override
virtual StatusCode fillHistograms() override
An inheriting class should either override this function or fillHists().
unsigned int m_nForwardElectronsInCurrentLB
std::vector< TH1 * > m_hvSecondR
std::vector< int > m_nForwardElectronsPerLumiBlock
std::vector< TH1 * > m_hvFrac
std::vector< TH1 * > m_hvLambda
std::vector< TH1 * > m_hvCenterL
std::vector< TH1 * > m_hvTightEta
virtual ~forwardElectronMonTool()=default
SG::ReadHandleKey< xAOD::ElectronContainer > m_ForwardElectronContainer
std::vector< TH1 * > m_hvTightCenterL
std::vector< TH1 * > m_hvLateral
std::vector< TH1 * > m_hvTightN
std::vector< TH1 * > m_hvTightLambda
std::vector< TH1 * > m_hvTightSecondR
std::vector< TH1 * > m_hvDensity
std::vector< TH1 * > m_hvTightLongitu
std::vector< TH1 * > m_hvTightDensity
std::vector< TH1 * > m_hvEt
std::vector< TH1 * > m_hvTightPhi
std::vector< TH1 * > m_hvTime
std::vector< TH1 * > m_hvTightEt
std::vector< TH1 * > m_hvEta
std::vector< TH1 * > m_hvLongitu
std::vector< TH1 * > m_hvPhi
forwardElectronMonTool(const std::string &type, const std::string &name, const IInterface *parent)
std::vector< TH1 * > m_hvTightLateral