ATLAS Offline Software
Loading...
Searching...
No Matches
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
15
16// Include the interfaces
17#include "AsgTools/IAsgTool.h"
18
19// Forward declarations
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.
30namespace xAOD {
45}
46
47
48
49class IEGammaAmbiguityTool : virtual public asg::IAsgTool
50{
52
53public:
54
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
#define ASG_TOOL_INTERFACE(CLASSNAME)
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.
virtual bool accept(const xAOD::Egamma &egamma) const =0
Accept or reject egamma object based on ambiguity resolution.
virtual unsigned int ambiguityResolve(const xAOD::Egamma &egamma) const =0
Redo the ambiguity resolution of central electrons and photons and return AuthorElectron,...
virtual ~IEGammaAmbiguityTool()
Virtual Destructor.
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...
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
elec/gamma data class.
Definition egamma.h:58
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition Egamma.h:17