ATLAS Offline Software
Reconstruction
egamma
EgammaPhysValMonitoring
src
EgammaPhysValMonitoringTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// EgammaPhysValMonitoringTool.h
6
// Header file for class EgammaPhysValMonitoringTool
7
// Author:
9
#ifndef EGAMMAPHYSVALMONITORING_EGAMMAPHYVALMONITORINGTOOL_H
10
#define EGAMMAPHYSVALMONITORING_EGAMMAPHYVALMONITORINGTOOL_H 1
11
12
// STL includes
13
#include <string>
14
15
// FrameWork includes
16
#include "GaudiKernel/ServiceHandle.h"
17
#include "GaudiKernel/ToolHandle.h"
18
#include "Gaudi/Property.h"
19
20
// Local includes
21
#include "
AthenaMonitoring/ManagedMonitorToolBase.h
"
22
23
// Root includes
24
#include "
ElectronValidationPlots.h
"
25
#include "
LRTElectronValidationPlots.h
"
26
#include "
PhotonValidationPlots.h
"
27
#include "
xAODEgamma/PhotonContainer.h
"
28
#include "
xAODEgamma/Photon.h
"
29
#include "
xAODEgamma/ElectronContainer.h
"
30
#include "
xAODEgamma/Electron.h
"
31
#include "
xAODEgamma/Egamma.h
"
32
#include "
xAODEgamma/EgammaAuxContainer.h
"
33
34
#include "
xAODTruth/TruthParticle.h
"
35
#include "
xAODTruth/TruthParticleContainer.h
"
36
#include "
xAODTruth/TruthParticleAuxContainer.h
"
37
38
#include "
xAODEventInfo/EventInfo.h
"
39
40
#include "
StoreGate/ReadHandleKey.h
"
41
42
#include "CLHEP/Units/SystemOfUnits.h"
43
#include "
CxxUtils/checker_macros.h
"
44
45
#include "
EgammaAnalysisInterfaces/IAsgElectronLikelihoodTool.h
"
46
47
class
IMCTruthClassifier
;
48
namespace
EgammaPhysValMonitoring
{
49
50
51
class
ATLAS_NOT_THREAD_SAFE
EgammaPhysValMonitoringTool
52
:
public
ManagedMonitorToolBase
53
{
55
// Public methods:
57
public
:
58
59
// Copy constructor:
60
62
EgammaPhysValMonitoringTool
(
const
std::string&
type
,
63
const
std::string&
name
,
64
const
IInterface*
parent
);
65
67
virtual
~EgammaPhysValMonitoringTool
() =
default
;
68
69
// Athena algtool's Hooks
70
virtual
StatusCode
initialize
();
71
virtual
StatusCode
bookHistograms();
72
virtual
StatusCode
fillHistograms();
73
virtual
StatusCode
procHistograms();
74
76
// Private data:
78
private
:
79
81
EgammaPhysValMonitoringTool
() =
delete
;
82
83
StatusCode
fillRecoElecHistograms(
const
xAOD::TruthParticleContainer
* truthParticles,
const
xAOD::EventInfo
* eventInfo);
84
StatusCode
fillRecoFrwdElecHistograms(
const
xAOD::TruthParticleContainer
* truthParticles,
const
xAOD::EventInfo
* eventInfo);
85
StatusCode
fillRecoPhotHistograms(
const
xAOD::TruthParticleContainer
* truthParticles,
const
xAOD::EventInfo
* eventInfo);
86
StatusCode
fillLRTElecHistograms(
const
xAOD::TruthParticleContainer
* truthParticles,
const
xAOD::EventInfo
* eventInfo);
87
88
static
const
xAOD::TruthParticle
* Match(
const
xAOD::Egamma
*
particle
,
int
pdg,
89
const
xAOD::TruthParticleContainer
* truthParticles) ;
90
91
92
// Containers
93
SG::ReadHandleKey<xAOD::EventInfo>
m_EventInfoContainerKey {
this
,
94
"EventInfoContainerName"
,
"EventInfo"
,
"Input event information container"
};
95
SG::ReadHandleKey<xAOD::PhotonContainer>
m_photonContainerKey {
this
,
96
"PhotonContainerName"
,
"Photons"
,
"Input photon container"
};
97
SG::ReadHandleKey<xAOD::ElectronContainer>
m_electronContainerKey {
this
,
98
"ElectronContainerName"
,
"Electrons"
,
"Input electron container"
};
99
SG::ReadHandleKey<xAOD::ElectronContainer>
m_lrtelectronContainerKey {
this
,
100
"LRTElectronContainerName"
,
""
,
"Input LRT electron container"
};
101
SG::ReadHandleKey<xAOD::ElectronContainer>
m_electronContainerFrwdKey {
this
,
102
"ElectronContainerFrwdName"
,
"ForwardElectrons"
,
"Input forward electron container"
};
103
SG::ReadHandleKey<xAOD::TruthParticleContainer>
m_truthParticleContainerKey {
this
,
104
"TruthParticleContainerName"
,
"TruthParticles"
,
"Input global truth particles"
};
105
SG::ReadHandleKey<xAOD::TruthParticleContainer>
m_egammaTruthContainerKey {
this
,
106
"EgammaTruthContainerName"
,
"egammaTruthParticles"
,
"Input egamma truth particles"
};
107
108
Gaudi::Property<bool> m_isMC {
this
,
"isMC"
,
false
,
"Should be set from file peeking"
};
109
110
// Hists
111
ElectronValidationPlots
m_oElectronValidationPlots
;
112
PhotonValidationPlots
m_oPhotonValidationPlots
;
113
LRTElectronValidationPlots
m_oLRTElectronValidationPlots
;
114
115
ToolHandle<IMCTruthClassifier> m_truthClassifier {
this
,
116
"MCTruthClassifier"
,
"EMMCTruthClassifier"
,
"Handle of MCTruthClassifier"
};
117
118
ToolHandle<IAsgElectronLikelihoodTool> m_Electron_VeryLooseNoPix_LLHTool{
119
this
,
120
"ElectronLHSelectorVeryLooseNoPix"
,
// Name of the configurable argument
121
"AsgElectronLikelihoodTool/ElectronLHSelectorVeryLooseNoPix"
,
// Default instance of the tool, of the form ToolClass/ToolName
122
"Electron Likelihood Selector VeryLooseNoPix"
// Description
123
};
124
125
ToolHandle<IAsgElectronLikelihoodTool> m_Electron_LooseNoPix_LLHTool{
126
this
,
127
"ElectronLHSelectorLooseNoPix"
,
// Name of the configurable argument
128
"AsgElectronLikelihoodTool/ElectronLHSelectorLooseNoPix"
,
// Default instance of the tool, of the form ToolClass/ToolName
129
"Electron Likelihood Selector LooseNoPix"
// Description
130
};
131
132
ToolHandle<IAsgElectronLikelihoodTool> m_Electron_MediumNoPix_LLHTool{
133
this
,
134
"ElectronLHSelectorMediumNoPix"
,
// Name of the configurable argument
135
"AsgElectronLikelihoodTool/ElectronLHSelectorMediumNoPix"
,
// Default instance of the tool, of the form ToolClass/ToolName
136
"Electron Likelihood Selector Medium"
// Description
137
};
138
139
ToolHandle<IAsgElectronLikelihoodTool> m_Electron_TightNoPix_LLHTool{
140
this
,
141
"ElectronLHSelectorTightNoPix"
,
// Name of the configurable argument
142
"AsgElectronLikelihoodTool/ElectronLHSelectorTightNoPix"
,
// Default instance of the tool, of the form ToolClass/ToolName
143
"Electron Likelihood Selector Tight"
// Description
144
};
145
146
// Aux accessor
147
SG::AuxElement::ConstAccessor<char>
m_acc_electronLLH_VeryLooseNoPix
;
// access LLH decision decorators
148
SG::AuxElement::ConstAccessor<char>
m_acc_electronLLH_LooseNoPix
;
// access LLH decision decorators
149
SG::AuxElement::ConstAccessor<char>
m_acc_electronLLH_MediumNoPix
;
// access LLH decision decorators
150
SG::AuxElement::ConstAccessor<char>
m_acc_electronLLH_TightNoPix
;
// access LLH decision decorators
151
152
Gaudi::Property<bool> m_useOQQuality {
this
,
"useOQQuality"
,
false
,
"Use OQ quality cuts"
};
153
154
};
155
156
}
157
158
#endif //> !EGAMMAPHYSVALMONITORING_EGAMMAPHYVALMONITORINGTOOL_H
159
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
EgammaPhysValMonitoring::EgammaPhysValMonitoringTool::m_acc_electronLLH_MediumNoPix
SG::AuxElement::ConstAccessor< char > m_acc_electronLLH_MediumNoPix
Definition:
EgammaPhysValMonitoringTool.h:149
ElectronValidationPlots.h
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition:
ParticleHypothesis.h:76
PhotonValidationPlots.h
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition:
checker_macros.h:212
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition:
ManagedMonitorToolBase.h:73
initialize
void initialize()
Definition:
run_EoverP.cxx:894
TruthParticleContainer.h
EgammaPhysValMonitoring::EgammaPhysValMonitoringTool::EgammaPhysValMonitoringTool
EgammaPhysValMonitoringTool()=delete
Default constructor:
xAOD::Egamma_v1
Definition:
Egamma_v1.h:56
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition:
ConstAccessor.h:55
EgammaAuxContainer.h
SG::ReadHandleKey< xAOD::EventInfo >
EgammaPhysValMonitoring::EgammaPhysValMonitoringTool::~EgammaPhysValMonitoringTool
virtual ~EgammaPhysValMonitoringTool()=default
Destructor:
EgammaPhysValMonitoring::EgammaPhysValMonitoringTool::m_oPhotonValidationPlots
PhotonValidationPlots m_oPhotonValidationPlots
Definition:
EgammaPhysValMonitoringTool.h:112
EgammaPhysValMonitoring::EgammaPhysValMonitoringTool::m_acc_electronLLH_LooseNoPix
SG::AuxElement::ConstAccessor< char > m_acc_electronLLH_LooseNoPix
Definition:
EgammaPhysValMonitoringTool.h:148
EgammaPhysValMonitoring::EgammaPhysValMonitoringTool::m_acc_electronLLH_VeryLooseNoPix
SG::AuxElement::ConstAccessor< char > m_acc_electronLLH_VeryLooseNoPix
Definition:
EgammaPhysValMonitoringTool.h:147
TruthParticleAuxContainer.h
Egamma.h
ManagedMonitorToolBase.h
IAsgElectronLikelihoodTool.h
ElectronContainer.h
Photon.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition:
TruthParticle_v1.h:37
PhotonValidationPlots
Definition:
PhotonValidationPlots.h:19
test_pyathena.parent
parent
Definition:
test_pyathena.py:15
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:581
LRTElectronValidationPlots
Definition:
LRTElectronValidationPlots.h:19
EgammaPhysValMonitoring::EgammaPhysValMonitoringTool::m_oLRTElectronValidationPlots
LRTElectronValidationPlots m_oLRTElectronValidationPlots
Definition:
EgammaPhysValMonitoringTool.h:113
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:221
EgammaPhysValMonitoring::EgammaPhysValMonitoringTool::m_acc_electronLLH_TightNoPix
SG::AuxElement::ConstAccessor< char > m_acc_electronLLH_TightNoPix
Definition:
EgammaPhysValMonitoringTool.h:150
ElectronValidationPlots
Definition:
ElectronValidationPlots.h:19
EgammaPhysValMonitoring::EgammaPhysValMonitoringTool
Definition:
EgammaPhysValMonitoringTool.h:53
EgammaPhysValMonitoring::EgammaPhysValMonitoringTool::m_oElectronValidationPlots
ElectronValidationPlots m_oElectronValidationPlots
Definition:
EgammaPhysValMonitoringTool.h:111
IMCTruthClassifier
Definition:
IMCTruthClassifier.h:92
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition:
EventInfo_v1.h:43
LRTElectronValidationPlots.h
EgammaPhysValMonitoring
Definition:
EgammaPhysValMonitoringTool.cxx:41
python.CaloScaleNoiseConfig.type
type
Definition:
CaloScaleNoiseConfig.py:78
Electron.h
TruthParticle.h
checker_macros.h
Define macros for attributes used to control the static checker.
PhotonContainer.h
Generated on Thu Nov 7 2024 21:14:17 for ATLAS Offline Software by
1.8.18