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
20// Local includes
22
23// Root includes
28#include "xAODEgamma/Photon.h"
30#include "xAODEgamma/Electron.h"
31#include "xAODEgamma/Egamma.h"
33
37
39
41
42#include "CLHEP/Units/SystemOfUnits.h"
44
46
49
50
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
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
94 "EventInfoContainerName", "EventInfo", "Input event information container"};
96 "PhotonContainerName", "Photons", "Input photon container"};
98 "ElectronContainerName", "Electrons", "Input electron container"};
100 "LRTElectronContainerName", "", "Input LRT electron container"};
102 "ElectronContainerFrwdName", "ForwardElectrons", "Input forward electron container"};
104 "TruthParticleContainerName", "TruthParticles", "Input global truth particles"};
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
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
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
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)
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
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
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)
SG::ConstAccessor< T, ALLOC > ConstAccessor
Definition AuxElement.h:569
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()