ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
egamma
egammaPerformance
src
electronMonTool.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-01-29 Author: Bertrand LAFORGE (LPNHE Paris)
9
//
11
12
#ifndef electronMonTool_H
13
#define electronMonTool_H
14
15
#include "
AthenaMonitoring/AthenaMonManager.h
"
16
#include "GaudiKernel/MsgStream.h"
17
#include "GaudiKernel/StatusCode.h"
18
#include "
StoreGate/StoreGateSvc.h
"
19
#include "TH1F.h"
20
#include "TH2F.h"
21
#include "
egammaMonToolBase.h
"
22
#include "
xAODEgamma/Electron.h
"
23
#include "
xAODEgamma/ElectronContainer.h
"
24
#include "
xAODEgamma/ElectronxAODHelpers.h
"
25
#include "
xAODEventInfo/EventInfo.h
"
26
#include <iostream>
27
#include <string>
28
#include <utility>
29
#include <vector>
30
31
struct
electronHist
:
egammaBaseHist
32
{
33
bool
m_fullHistoList
;
34
35
enum
electronType
36
{
37
LhMedium
=0,
38
CbLoose
,
39
LhLoose
,
40
LhTight
,
41
CbTight
,
42
NumberOfTypesToMonitor
43
};
44
45
// electron ID per region histograms
46
std::vector<TH1*>
m_hvEoverP
{};
47
48
// electrons per region histograms
49
std::vector<TH1*>
m_hvDeltaEta1
{};
// electron track histograms
50
std::vector<TH1*>
m_hvDeltaPhi2
{};
51
std::vector<TH1*>
m_hvNOfBLayerHits
{};
52
std::vector<TH1*>
m_hvNOfSiHits
{};
53
std::vector<TH1*>
m_hvNOfTRTHits
{};
54
std::vector<TH1*>
m_hvNOfTRTHighThresholdHits
{};
55
std::vector<TH1*>
m_hvd0
{};
56
57
// Monitoring per lumiblock
58
unsigned
int
m_nElectronsInCurrentLB
{};
59
unsigned
int
m_nElectrons
{};
60
std::vector<int>
m_nElectronsPerLumiBlock
{};
61
std::vector<int>
m_nElectronsPerRegion
{};
62
63
electronHist
(
const
std::string& name,
bool
FullHistoList)
64
:
egammaBaseHist
(name)
65
{
66
m_fullHistoList
= FullHistoList;
67
}
68
};
69
70
class
electronMonTool
:
public
egammaMonToolBase
71
{
72
public
:
73
electronMonTool
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent);
74
75
virtual
~electronMonTool
();
76
77
virtual
StatusCode
initialize
()
override
;
78
virtual
StatusCode
bookHistograms
()
override
;
79
virtual
StatusCode
bookHistogramsForOneElectronType
(
electronHist
& myHist);
80
81
virtual
StatusCode
fillHistograms
(
const
EventContext& ctx)
override
;
82
virtual
StatusCode
fillHistogramsForOneElectron
(
xAOD::ElectronContainer::const_iterator
e_iter,
83
electronHist
& myHist);
84
85
protected
:
86
SG::ReadHandleKey<xAOD::ElectronContainer>
m_ElectronContainer
{
this
,
"ElectronContainer"
,
"Electrons"
,
"Name of the electron collection"
};
// Container name for electrons
87
88
electronHist
*
m_LhLooseElectrons
;
// LH Loose electrons histograms
89
electronHist
*
m_LhMediumElectrons
;
// LH Medium electrons histograms
90
electronHist
*
m_CbLooseElectrons
;
// Medium cut based electrons histograms
91
electronHist
*
m_LhTightElectrons
;
// LH Tight electrons histograms
92
electronHist
*
m_CbTightElectrons
;
// Cut based Tight electrons histograms
93
94
MonGroup
*
m_electronGroup
{};
95
MonGroup
*
m_electronTrkGroup
{};
96
MonGroup
*
m_electronIdGroup
{};
97
MonGroup
*
m_electronLBGroup
{};
98
};
99
100
#endif
AthenaMonManager.h
ElectronxAODHelpers.h
ElectronContainer.h
Electron.h
StoreGateSvc.h
DataVector< xAOD::Electron_v1 >::const_iterator
DataModel_detail::const_iterator< DataVector > const_iterator
Definition
DataVector.h:838
ManagedMonitorToolBase::MonGroup
A container of information describing a monitoring object.
Definition
ManagedMonitorToolBase.h:138
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
egammaMonToolBase::egammaMonToolBase
egammaMonToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition
egammaMonToolBase.cxx:29
electronMonTool::m_LhLooseElectrons
electronHist * m_LhLooseElectrons
Definition
electronMonTool.h:88
electronMonTool::m_ElectronContainer
SG::ReadHandleKey< xAOD::ElectronContainer > m_ElectronContainer
Definition
electronMonTool.h:86
electronMonTool::m_LhTightElectrons
electronHist * m_LhTightElectrons
Definition
electronMonTool.h:91
electronMonTool::initialize
virtual StatusCode initialize() override
Definition
electronMonTool.cxx:103
electronMonTool::m_electronLBGroup
MonGroup * m_electronLBGroup
Definition
electronMonTool.h:97
electronMonTool::electronMonTool
electronMonTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
electronMonTool.cxx:77
electronMonTool::fillHistogramsForOneElectron
virtual StatusCode fillHistogramsForOneElectron(xAOD::ElectronContainer::const_iterator e_iter, electronHist &myHist)
Definition
electronMonTool.cxx:191
electronMonTool::bookHistogramsForOneElectronType
virtual StatusCode bookHistogramsForOneElectronType(electronHist &myHist)
Definition
electronMonTool.cxx:110
electronMonTool::m_LhMediumElectrons
electronHist * m_LhMediumElectrons
Definition
electronMonTool.h:89
electronMonTool::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) override
An inheriting class should either override this function or fillHists().
Definition
electronMonTool.cxx:344
electronMonTool::~electronMonTool
virtual ~electronMonTool()
Definition
electronMonTool.cxx:92
electronMonTool::m_CbTightElectrons
electronHist * m_CbTightElectrons
Definition
electronMonTool.h:92
electronMonTool::bookHistograms
virtual StatusCode bookHistograms() override
An inheriting class should either override this function or bookHists().
Definition
electronMonTool.cxx:171
electronMonTool::m_electronGroup
MonGroup * m_electronGroup
Definition
electronMonTool.h:94
electronMonTool::m_electronIdGroup
MonGroup * m_electronIdGroup
Definition
electronMonTool.h:96
electronMonTool::m_CbLooseElectrons
electronHist * m_CbLooseElectrons
Definition
electronMonTool.h:90
electronMonTool::m_electronTrkGroup
MonGroup * m_electronTrkGroup
Definition
electronMonTool.h:95
egammaMonToolBase.h
type
egammaBaseHist::egammaBaseHist
egammaBaseHist(std::string name)
Definition
egammaMonToolBase.h:65
electronHist
Definition
electronMonTool.h:32
electronHist::m_fullHistoList
bool m_fullHistoList
Definition
electronMonTool.h:33
electronHist::m_nElectronsPerLumiBlock
std::vector< int > m_nElectronsPerLumiBlock
Definition
electronMonTool.h:60
electronHist::electronHist
electronHist(const std::string &name, bool FullHistoList)
Definition
electronMonTool.h:63
electronHist::m_nElectrons
unsigned int m_nElectrons
Definition
electronMonTool.h:59
electronHist::m_hvd0
std::vector< TH1 * > m_hvd0
Definition
electronMonTool.h:55
electronHist::m_hvNOfSiHits
std::vector< TH1 * > m_hvNOfSiHits
Definition
electronMonTool.h:52
electronHist::electronType
electronType
Definition
electronMonTool.h:36
electronHist::CbTight
@ CbTight
Definition
electronMonTool.h:41
electronHist::LhLoose
@ LhLoose
Definition
electronMonTool.h:39
electronHist::LhTight
@ LhTight
Definition
electronMonTool.h:40
electronHist::CbLoose
@ CbLoose
Definition
electronMonTool.h:38
electronHist::LhMedium
@ LhMedium
Definition
electronMonTool.h:37
electronHist::NumberOfTypesToMonitor
@ NumberOfTypesToMonitor
Definition
electronMonTool.h:42
electronHist::m_nElectronsPerRegion
std::vector< int > m_nElectronsPerRegion
Definition
electronMonTool.h:61
electronHist::m_nElectronsInCurrentLB
unsigned int m_nElectronsInCurrentLB
Definition
electronMonTool.h:58
electronHist::m_hvNOfTRTHighThresholdHits
std::vector< TH1 * > m_hvNOfTRTHighThresholdHits
Definition
electronMonTool.h:54
electronHist::m_hvDeltaPhi2
std::vector< TH1 * > m_hvDeltaPhi2
Definition
electronMonTool.h:50
electronHist::m_hvEoverP
std::vector< TH1 * > m_hvEoverP
Definition
electronMonTool.h:46
electronHist::m_hvNOfBLayerHits
std::vector< TH1 * > m_hvNOfBLayerHits
Definition
electronMonTool.h:51
electronHist::m_hvDeltaEta1
std::vector< TH1 * > m_hvDeltaEta1
Definition
electronMonTool.h:49
electronHist::m_hvNOfTRTHits
std::vector< TH1 * > m_hvNOfTRTHits
Definition
electronMonTool.h:53
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0