ATLAS Offline Software
Loading...
Searching...
No Matches
egPhotonWrtPoint.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6
8#include "xAODEgamma/Egamma.h"
9
11 double z) {
12 std::pair<double, float> RZ1 = {0., 0.};
13 float etaBE1 = ph.caloCluster()->etaBE(1);
14 if(std::abs(etaBE1) < 10) RZ1 = CP::ShowerDepthUtil::getRZ(etaBE1, 1);
15
16 double rCalo = RZ1.first;
17 double zCalo = RZ1.second;
18 double correctedZ = zCalo - z;
19 double eta = rCalo>0. ? std::asinh(correctedZ / rCalo) : ph.eta();
20 return {ph.e() / std::cosh(eta), eta, ph.phi()};
21}
22
24 auto corr = photonWrtPoint::PtEtaPhiWrtZ(ph, z);
25 ph.setPtEtaPhi(corr.pt, corr.eta, corr.phi);
26}
27
Scalar eta() const
pseudorapidity method
#define z
static std::pair< float, float > getRZ(float eta, int sampling)
Shower depth in R,Z for the given sampling.
float etaBE(const unsigned layer) const
Get the eta in one layer of the EM Calo.
virtual double e() const override
The total energy of the particle.
Definition Egamma_v1.cxx:86
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Definition Egamma_v1.cxx:71
void setPtEtaPhi(float pt, float eta, float phi)
set the 4-vec
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
Definition Egamma_v1.cxx:76
const xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
PtEtaPhi PtEtaPhiWrtZ(const xAOD::Egamma &ph, double z)
Function to get the kinematics of a photon cluster wrt (0,0,z0)
void correctForZ(xAOD::Egamma &ph, double z)
Function to modify in place the kinematics of a photon wrt (0,0,z0)
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition Egamma.h:17
egamma clusters kinematics are always wrt the ATLAS frame (0,0,0).