ATLAS Offline Software
PhotonPointingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef PhotonVertexSelection_PhotonPointingTool_h
6 #define PhotonVertexSelection_PhotonPointingTool_h
7 
8 // Framework includes
10 
11 // Local includes
13 
14 // EDM includes
16 
17 // Data handles
21 
22 // Forward declarations
23 class TH1F;
24 
25 namespace CP {
26 
34  class PhotonPointingTool : public virtual IPhotonPointingTool,
35  public asg::AsgMetadataTool {
36 
39 
40  private:
43 
45  this,
46  "EventInfo",
47  "EventInfo",
48  "SG key of xAOD::EventInfo"
49  };
50 
51  //Write decoration handle keys
56 
57 
58  private:
60  float getCorrectedZ(float zPointing, float etas2) const;
61  bool m_isMC{};
63  std::string m_zvertexDecorName;
64  std::string m_errzDecorName;
66  std::string m_HPV_errzDecorName;
67  std::string m_ContainerName;
68 
69  public:
70  PhotonPointingTool(const std::string &name);
71  virtual ~PhotonPointingTool();
72 
75 
77  virtual StatusCode initialize();
78 
80 
83 
86 
88  std::pair<float, float> getCaloPointing(const xAOD::Egamma *egamma) const ;
89 
91  std::pair<float, float> getConvPointing(const xAOD::Photon *photon) const ;
93 
94  }; // class PhotonPointingTool
95 
96 } // namespace CP
97 
98 
99 #endif // PhotonVertexSelection_PhotonPointingTool_H
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
CP::PhotonPointingTool::m_isMC
bool m_isMC
Definition: PhotonPointingTool.h:61
CurrentContext.h
CP::PhotonPointingTool
Implementation for the photon pointing tool.
Definition: PhotonPointingTool.h:35
CP::PhotonPointingTool::PhotonPointingTool
PhotonPointingTool(const std::string &name)
Definition: PhotonPointingTool.cxx:30
CP::PhotonPointingTool::getCaloPointing
std::pair< float, float > getCaloPointing(const xAOD::Egamma *egamma) const
Return calo pointing variables.
Definition: PhotonPointingTool.cxx:174
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
CP::PhotonPointingTool::m_zOscFileData
std::string m_zOscFileData
Definition: PhotonPointingTool.h:62
CP::PhotonPointingTool::m_zOscFileMC
std::string m_zOscFileMC
Definition: PhotonPointingTool.h:62
SG::ReadHandleKey< xAOD::EventInfo >
CP::PhotonPointingTool::m_zvertexDecorName
std::string m_zvertexDecorName
Definition: PhotonPointingTool.h:63
CP::IPhotonPointingTool
Definition: IPhotonPointingTool.h:18
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:49
egamma
Definition: egamma.h:58
CP::PhotonPointingTool::m_HPV_errz
SG::WriteDecorHandleKey< xAOD::EgammaContainer > m_HPV_errz
Definition: PhotonPointingTool.h:55
EgammaContainer.h
CP::PhotonPointingTool::m_HPV_zvertexDecorName
std::string m_HPV_zvertexDecorName
Definition: PhotonPointingTool.h:65
CP::PhotonPointingTool::initialize
virtual StatusCode initialize()
Function initialising the tool.
Definition: PhotonPointingTool.cxx:51
CP::PhotonPointingTool::m_errzDecorName
std::string m_errzDecorName
Definition: PhotonPointingTool.h:64
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
CP::PhotonPointingTool::m_HPV_errzDecorName
std::string m_HPV_errzDecorName
Definition: PhotonPointingTool.h:66
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
WriteDecorHandle.h
Handle class for adding a decoration to an object.
CP::PhotonPointingTool::m_errz
SG::WriteDecorHandleKey< xAOD::EgammaContainer > m_errz
Definition: PhotonPointingTool.h:53
CP::PhotonPointingTool::m_zCorrection
TH1F * m_zCorrection
Create a proper constructor for Athena.
Definition: PhotonPointingTool.h:42
CP::PhotonPointingTool::getCorrectedZ
float getCorrectedZ(float zPointing, float etas2) const
Definition: PhotonPointingTool.cxx:167
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
CP::PhotonPointingTool::m_evtInfo
SG::ReadHandleKey< xAOD::EventInfo > m_evtInfo
Definition: PhotonPointingTool.h:44
CP::PhotonPointingTool::~PhotonPointingTool
virtual ~PhotonPointingTool()
Definition: PhotonPointingTool.cxx:45
xAOD::photon
@ photon
Definition: TrackingPrimitives.h:200
xAOD::Photon_v1
Definition: Photon_v1.h:37
asg::AsgMetadataTool
Base class for dual-use tools that provide file metadata access.
Definition: AsgMetadataTool.h:48
CP::PhotonPointingTool::updatePointingAuxdata
StatusCode updatePointingAuxdata(const xAOD::EgammaContainer &egammas) const
Add calo and conversion (HPV) pointing variables.
Definition: PhotonPointingTool.cxx:115
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
CP::PhotonPointingTool::m_HPV_zvertex
SG::WriteDecorHandleKey< xAOD::EgammaContainer > m_HPV_zvertex
Definition: PhotonPointingTool.h:54
AsgMetadataTool.h
CP::PhotonPointingTool::getConvPointing
std::pair< float, float > getConvPointing(const xAOD::Photon *photon) const
Return conversion (HPV) pointing variables.
Definition: PhotonPointingTool.cxx:225
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
IPhotonPointingTool.h
CP::PhotonPointingTool::m_ContainerName
std::string m_ContainerName
Definition: PhotonPointingTool.h:67
CP::PhotonPointingTool::m_zvertex
SG::WriteDecorHandleKey< xAOD::EgammaContainer > m_zvertex
Definition: PhotonPointingTool.h:52