ATLAS Offline Software
Loading...
Searching...
No Matches
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
21
22// Local includes
24
25// Root includes
30#include "xAODEgamma/Photon.h"
32#include "xAODEgamma/Electron.h"
33#include "xAODEgamma/Egamma.h"
35
39
41
43
44#include "CLHEP/Units/SystemOfUnits.h"
46
48
51
52
55{
57 // Public methods:
59 public:
60
61 // Copy constructor:
62
64 EgammaPhysValMonitoringTool( const std::string& type,
65 const std::string& name,
66 const IInterface* parent );
67
69 virtual ~EgammaPhysValMonitoringTool() = default;
70
71 // Athena algtool's Hooks
72 virtual StatusCode initialize();
73 virtual StatusCode bookHistograms();
74 virtual StatusCode fillHistograms(const EventContext& ctx);
75 virtual StatusCode procHistograms();
76
78 // Private data:
80 private:
81
84
85 StatusCode fillRecoElecHistograms(const xAOD::TruthParticleContainer* truthParticles, const xAOD::EventInfo* eventInfo);
86 StatusCode fillRecoFrwdElecHistograms(const xAOD::TruthParticleContainer* truthParticles, const xAOD::EventInfo* eventInfo);
87 StatusCode fillRecoPhotHistograms(const xAOD::TruthParticleContainer* truthParticles, const xAOD::EventInfo* eventInfo);
88 StatusCode fillLRTElecHistograms(const xAOD::TruthParticleContainer* truthParticles, const xAOD::EventInfo* eventInfo);
89
90 static const xAOD::TruthParticle* Match(const xAOD::Egamma* particle, int pdg,
91 const xAOD::TruthParticleContainer* truthParticles) ;
92
93
94 // Containers
96 "EventInfoContainerName", "EventInfo", "Input event information container"};
98 "PhotonContainerName", "Photons", "Input photon container"};
100 "ElectronContainerName", "Electrons", "Input electron container"};
102 "LRTElectronContainerName", "", "Input LRT electron container"};
104 "ElectronContainerFrwdName", "ForwardElectrons", "Input forward electron container"};
106 "TruthParticleContainerName", "TruthParticles", "Input global truth particles"};
108 "EgammaTruthContainerName", "egammaTruthParticles", "Input egamma truth particles"};
109
110 Gaudi::Property<bool> m_isMC {this, "isMC", false, "Should be set from file peeking"};
111
112 // Hists
116
117 ToolHandle<IMCTruthClassifier> m_truthClassifier {this,
118 "MCTruthClassifier", "EMMCTruthClassifier", "Handle of MCTruthClassifier"};
119
120 ToolHandle<IAsgElectronLikelihoodTool> m_Electron_VeryLooseNoPix_LLHTool{
121 this,
122 "ElectronLHSelectorVeryLooseNoPix", // Name of the configurable argument
123 "AsgElectronLikelihoodTool/ElectronLHSelectorVeryLooseNoPix", // Default instance of the tool, of the form ToolClass/ToolName
124 "Electron Likelihood Selector VeryLooseNoPix" // Description
125 };
126
127 ToolHandle<IAsgElectronLikelihoodTool> m_Electron_LooseNoPix_LLHTool{
128 this,
129 "ElectronLHSelectorLooseNoPix", // Name of the configurable argument
130 "AsgElectronLikelihoodTool/ElectronLHSelectorLooseNoPix", // Default instance of the tool, of the form ToolClass/ToolName
131 "Electron Likelihood Selector LooseNoPix" // Description
132 };
133
134 ToolHandle<IAsgElectronLikelihoodTool> m_Electron_MediumNoPix_LLHTool{
135 this,
136 "ElectronLHSelectorMediumNoPix", // Name of the configurable argument
137 "AsgElectronLikelihoodTool/ElectronLHSelectorMediumNoPix", // Default instance of the tool, of the form ToolClass/ToolName
138 "Electron Likelihood Selector Medium" // Description
139 };
140
141 ToolHandle<IAsgElectronLikelihoodTool> m_Electron_TightNoPix_LLHTool{
142 this,
143 "ElectronLHSelectorTightNoPix", // Name of the configurable argument
144 "AsgElectronLikelihoodTool/ElectronLHSelectorTightNoPix", // Default instance of the tool, of the form ToolClass/ToolName
145 "Electron Likelihood Selector Tight" // Description
146 };
147
148 // Aux accessor
149 SG::AuxElement::ConstAccessor<char> m_acc_electronLLH_VeryLooseNoPix; // access LLH decision decorators
150 SG::AuxElement::ConstAccessor<char> m_acc_electronLLH_LooseNoPix; // access LLH decision decorators
151 SG::AuxElement::ConstAccessor<char> m_acc_electronLLH_MediumNoPix; // access LLH decision decorators
152 SG::AuxElement::ConstAccessor<char> m_acc_electronLLH_TightNoPix; // access LLH decision decorators
153
154 Gaudi::Property<bool> m_useOQQuality {this, "useOQQuality", false, "Use OQ quality cuts"};
155
156};
157
158}
159
160#endif //> !EGAMMAPHYSVALMONITORING_EGAMMAPHYVALMONITORINGTOOL_H
161
Property holding a SG store/key/clid from which a ReadHandle is made.
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthParticleContainerKey
EgammaPhysValMonitoringTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
SG::AuxElement::ConstAccessor< char > m_acc_electronLLH_VeryLooseNoPix
virtual ~EgammaPhysValMonitoringTool()=default
Destructor:
StatusCode fillRecoPhotHistograms(const xAOD::TruthParticleContainer *truthParticles, const xAOD::EventInfo *eventInfo)
StatusCode fillRecoElecHistograms(const xAOD::TruthParticleContainer *truthParticles, const xAOD::EventInfo *eventInfo)
virtual StatusCode fillHistograms(const EventContext &ctx)
An inheriting class should either override this function or fillHists().
static const xAOD::TruthParticle * Match(const xAOD::Egamma *particle, int pdg, const xAOD::TruthParticleContainer *truthParticles)
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronContainerKey
ToolHandle< IAsgElectronLikelihoodTool > m_Electron_LooseNoPix_LLHTool
SG::ReadHandleKey< xAOD::PhotonContainer > m_photonContainerKey
EgammaPhysValMonitoringTool()=delete
Default constructor:
SG::AuxElement::ConstAccessor< char > m_acc_electronLLH_MediumNoPix
ToolHandle< IAsgElectronLikelihoodTool > m_Electron_TightNoPix_LLHTool
ToolHandle< IAsgElectronLikelihoodTool > m_Electron_MediumNoPix_LLHTool
StatusCode fillRecoFrwdElecHistograms(const xAOD::TruthParticleContainer *truthParticles, const xAOD::EventInfo *eventInfo)
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronContainerFrwdKey
StatusCode fillLRTElecHistograms(const xAOD::TruthParticleContainer *truthParticles, const xAOD::EventInfo *eventInfo)
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
SG::AuxElement::ConstAccessor< char > m_acc_electronLLH_TightNoPix
virtual StatusCode bookHistograms()
An inheriting class should either override this function or bookHists().
ToolHandle< IAsgElectronLikelihoodTool > m_Electron_VeryLooseNoPix_LLHTool
SG::ReadHandleKey< xAOD::ElectronContainer > m_lrtelectronContainerKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_egammaTruthContainerKey
SG::AuxElement::ConstAccessor< char > m_acc_electronLLH_LooseNoPix
ManagedMonitorToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Property holding a SG store/key/clid from which a ReadHandle is made.
EventInfo_v1 EventInfo
Definition of the latest event info version.
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition Egamma.h:17
TruthParticle_v1 TruthParticle
Typedef to implementation.
TruthParticleContainer_v1 TruthParticleContainer
Declare the latest version of the truth particle container.
void initialize()