ATLAS Offline Software
PhotonxAODHelpers.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef XAOD_PHOTONXAODHELPERS_H
8 #define XAOD_PHOTONXAODHELPERS_H
9 #include "xAODEgamma/PhotonFwd.h"
10 #include "xAODTracking/VertexFwd.h"
12 #include "xAODEgamma/EgammaEnums.h"
14 
15 #include <cstddef>
16 #include <set>
17 #include <vector>
18 
19 namespace xAOD {
20 
21  namespace EgammaHelpers{
22 
24  bool isConvertedPhoton(const xAOD::Photon *ph, bool excludeTRT = false);
25 
28 
31 
33  std::size_t numberOfSiTracks(const xAOD::Photon *eg);
34 
36  std::size_t numberOfSiTracks(const xAOD::Vertex *vx);
37 
39  std::size_t numberOfSiTracks(const xAOD::EgammaParameters::ConversionType convType);
40 
42  float conversionRadius(const xAOD::Vertex* vx);
43 
45  float conversionRadius(const xAOD::Photon* ph);
46 
48  Amg::Vector3D momentumAtVertex(const xAOD::Photon*, bool debug = false);
49 
51  Amg::Vector3D momentumAtVertex(const xAOD::Vertex&, bool debug = false);
52 
53 
57  //isolation interface,
59  std::set<const xAOD::TrackParticle*> getTrackParticles(const xAOD::Photon* ph,
60  bool useBremAssoc = true);
61 
66  std::vector<const xAOD::TrackParticle*> getTrackParticlesVec(const xAOD::Photon* ph,
67  bool useBremAssoc = true);
68 
69 
70  } //namaspace EgammaHelpers
71 
72 } // namespace xAOD
73 
74 #endif // XAOD_PHOTONXAODHELPERS_H
ParticleTest.eg
eg
Definition: ParticleTest.py:29
PhotonFwd.h
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::EgammaHelpers::getTrackParticles
std::set< const xAOD::TrackParticle * > getTrackParticles(const xAOD::Egamma *eg, bool useBremAssoc=true, bool allParticles=true)
Return a list of all or only the best TrackParticle associated to the object.
Definition: EgammaxAODHelpers.cxx:120
xAOD::EgammaParameters::ConversionType
ConversionType
Definition: EgammaEnums.h:268
xAOD::EgammaHelpers::getTrackParticlesVec
std::vector< const xAOD::TrackParticle * > getTrackParticlesVec(const xAOD::Egamma *eg, bool useBremAssoc=true, bool allParticles=true)
Return a list of all or only the best TrackParticle associated to the object.
Definition: EgammaxAODHelpers.cxx:141
GeoPrimitives.h
xAOD::EgammaHelpers::numberOfSiTracks
std::size_t numberOfSiTracks(const xAOD::Photon *eg)
return the number of Si tracks in the conversion
Definition: PhotonxAODHelpers.cxx:58
xAOD::EgammaHelpers::isConvertedPhoton
bool isConvertedPhoton(const xAOD::Egamma *eg, bool excludeTRT=false)
is the object a converted photon
Definition: EgammaxAODHelpers.cxx:25
xAOD::EgammaHelpers::momentumAtVertex
Amg::Vector3D momentumAtVertex(const xAOD::Photon *, bool debug=false)
return the momentum at the vertex (which can be 0)
Definition: PhotonxAODHelpers.cxx:89
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
xAOD::EgammaHelpers::conversionRadius
float conversionRadius(const xAOD::Vertex *vx)
return the conversion radius or 9999.
Definition: PhotonxAODHelpers.cxx:77
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
VertexFwd.h
EgammaEnums.h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
xAOD::Photon_v1
Definition: Photon_v1.h:37
TrackParticleFwd.h
xAOD::EgammaHelpers::conversionType
xAOD::EgammaParameters::ConversionType conversionType(const xAOD::Photon *ph)
return the photon conversion type (see EgammaEnums)
Definition: PhotonxAODHelpers.cxx:27