ATLAS Offline Software
IEGammaAmbiguityTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef EGAMMAANALYSISINTERFACES__IEGammaAmbiguityTool__
6 #define EGAMMAANALYSISINTERFACES__IEGammaAmbiguityTool__
7 
16 // Include the interfaces
17 #include "AsgTools/IAsgTool.h"
18 
19 // Forward declarations
21 #include "xAODTracking/VertexFwd.h"
23 #include "xAODEgamma/EgammaFwd.h"
25 
26 //This will need to be copied over to EgammaEnums.h
27 //under xAODEgamma
28 //Plus Set/Get true Accessor methods when we have
29 //finalise the design.
30 namespace xAOD {
31  namespace AmbiguityTool {
34  electron = 0,
41  photon=7,
43  };
44  }
45 }
46 
47 
48 
49 class IEGammaAmbiguityTool : virtual public asg::IAsgTool
50 {
52 
53 public:
54 
56  virtual ~IEGammaAmbiguityTool() {};
57 
59  virtual unsigned int ambiguityResolve(const xAOD::CaloCluster* cluster,
60  const xAOD::Vertex* vx,
62 
67  virtual unsigned int ambiguityResolve(const xAOD::CaloCluster* cluster,
68  const xAOD::Vertex* vx,
69  const xAOD::TrackParticle* tp) const = 0;
70 
74  virtual unsigned int ambiguityResolve(const xAOD::Egamma& egamma) const = 0;
75 
77  virtual bool accept( const xAOD::Egamma& egamma) const = 0;
78 
79 }; // End: class definition
80 
81 
82 #endif
83 
EgammaFwd.h
xAOD::AmbiguityTool::unknown
@ unknown
Definition: IEGammaAmbiguityTool.h:42
IEGammaAmbiguityTool::ambiguityResolve
virtual unsigned int ambiguityResolve(const xAOD::CaloCluster *cluster, const xAOD::Vertex *vx, const xAOD::TrackParticle *tp, xAOD::AmbiguityTool::AmbiguityType &type) const =0
Return value: AuthorElectron, AuthorPhoton, AuthorAmbiguous, AuthorUnknown.
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
ParticleTest.tp
tp
Definition: ParticleTest.py:25
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
EgammaContainerFwd.h
egamma
Definition: egamma.h:58
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
xAOD::AmbiguityTool::electron
@ electron
Definition: IEGammaAmbiguityTool.h:34
CaloClusterFwd.h
xAOD::AmbiguityTool::ambiguousVertexEoverPBetterThanTrackEoverP
@ ambiguousVertexEoverPBetterThanTrackEoverP
Definition: IEGammaAmbiguityTool.h:40
xAOD::AmbiguityTool::ambiguousTrackEoverPBetterThanVertexEoverP
@ ambiguousTrackEoverPBetterThanVertexEoverP
Definition: IEGammaAmbiguityTool.h:35
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IEGammaAmbiguityTool::~IEGammaAmbiguityTool
virtual ~IEGammaAmbiguityTool()
Virtual Destructor.
Definition: IEGammaAmbiguityTool.h:56
IAsgTool.h
xAOD::AmbiguityTool::AmbiguityType
AmbiguityType
Definition: IEGammaAmbiguityTool.h:33
xAOD::AmbiguityTool::photon
@ photon
Definition: IEGammaAmbiguityTool.h:41
IEGammaAmbiguityTool::accept
virtual bool accept(const xAOD::Egamma &egamma) const =0
Accept or reject egamma object based on ambiguity resolution.
xAOD::AmbiguityTool::ambiguousNoInnermost
@ ambiguousNoInnermost
Definition: IEGammaAmbiguityTool.h:39
IEGammaAmbiguityTool::ambiguityResolve
virtual unsigned int ambiguityResolve(const xAOD::Egamma &egamma) const =0
Redo the ambiguity resolution of central electrons and photons and return AuthorElectron,...
IEGammaAmbiguityTool::ambiguityResolve
virtual unsigned int ambiguityResolve(const xAOD::CaloCluster *cluster, const xAOD::Vertex *vx, const xAOD::TrackParticle *tp) const =0
Return value: AuthorElectron, AuthorPhoton, AuthorAmbiguous, AuthorUnknown Needed because of cliets i...
xAOD::AmbiguityTool::ambiguousTrackHighEoverP
@ ambiguousTrackHighEoverP
Definition: IEGammaAmbiguityTool.h:37
VertexFwd.h
xAOD::AmbiguityTool::ambiguousTrackNoPixel
@ ambiguousTrackNoPixel
Definition: IEGammaAmbiguityTool.h:38
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrackParticleFwd.h
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
xAOD::AmbiguityTool::ambiguousTrackLowPt
@ ambiguousTrackLowPt
Definition: IEGammaAmbiguityTool.h:36
IEGammaAmbiguityTool
Definition: IEGammaAmbiguityTool.h:50