ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Interfaces
EgammaAnalysisInterfaces
EgammaAnalysisInterfaces
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
20
#include "
xAODCaloEvent/CaloClusterFwd.h
"
21
#include "
xAODTracking/VertexFwd.h
"
22
#include "
xAODTracking/TrackParticleFwd.h
"
23
#include "
xAODEgamma/EgammaFwd.h
"
24
#include "
xAODEgamma/EgammaContainerFwd.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
{
33
enum
AmbiguityType
{
34
electron
= 0,
35
ambiguousTrackEoverPBetterThanVertexEoverP
=1,
36
ambiguousTrackLowPt
=2,
37
ambiguousTrackHighEoverP
=3,
38
ambiguousTrackNoPixel
=4,
39
ambiguousNoInnermost
=5,
40
ambiguousVertexEoverPBetterThanTrackEoverP
=6,
41
photon
=7,
42
unknown
=8,
43
};
44
}
45
}
46
47
48
49
class
IEGammaAmbiguityTool
:
virtual
public
asg::IAsgTool
50
{
51
ASG_TOOL_INTERFACE
(
IEGammaAmbiguityTool
)
52
53
public
:
54
56
virtual
~IEGammaAmbiguityTool
() {};
57
59
virtual
unsigned
int
ambiguityResolve
(
const
xAOD::CaloCluster
* cluster,
60
const
xAOD::Vertex
* vx,
61
const
xAOD::TrackParticle
* tp,
xAOD::AmbiguityTool::AmbiguityType
&
type
)
const
= 0;
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
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition
AsgToolMacros.h:40
CaloClusterFwd.h
EgammaContainerFwd.h
EgammaFwd.h
IAsgTool.h
TrackParticleFwd.h
VertexFwd.h
IEGammaAmbiguityTool
Definition
IEGammaAmbiguityTool.h:50
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.
IEGammaAmbiguityTool::accept
virtual bool accept(const xAOD::Egamma &egamma) const =0
Accept or reject egamma object based on ambiguity resolution.
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::~IEGammaAmbiguityTool
virtual ~IEGammaAmbiguityTool()
Virtual Destructor.
Definition
IEGammaAmbiguityTool.h:56
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...
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition
IAsgTool.h:41
egamma
elec/gamma data class.
Definition
egamma.h:59
xAOD::AmbiguityTool
Definition
IEGammaAmbiguityTool.h:31
xAOD::AmbiguityTool::AmbiguityType
AmbiguityType
Definition
IEGammaAmbiguityTool.h:33
xAOD::AmbiguityTool::ambiguousTrackNoPixel
@ ambiguousTrackNoPixel
Definition
IEGammaAmbiguityTool.h:38
xAOD::AmbiguityTool::photon
@ photon
Definition
IEGammaAmbiguityTool.h:41
xAOD::AmbiguityTool::ambiguousTrackEoverPBetterThanVertexEoverP
@ ambiguousTrackEoverPBetterThanVertexEoverP
Definition
IEGammaAmbiguityTool.h:35
xAOD::AmbiguityTool::ambiguousTrackHighEoverP
@ ambiguousTrackHighEoverP
Definition
IEGammaAmbiguityTool.h:37
xAOD::AmbiguityTool::electron
@ electron
Definition
IEGammaAmbiguityTool.h:34
xAOD::AmbiguityTool::ambiguousTrackLowPt
@ ambiguousTrackLowPt
Definition
IEGammaAmbiguityTool.h:36
xAOD::AmbiguityTool::unknown
@ unknown
Definition
IEGammaAmbiguityTool.h:42
xAOD::AmbiguityTool::ambiguousNoInnermost
@ ambiguousNoInnermost
Definition
IEGammaAmbiguityTool.h:39
xAOD::AmbiguityTool::ambiguousVertexEoverPBetterThanTrackEoverP
@ ambiguousVertexEoverPBetterThanTrackEoverP
Definition
IEGammaAmbiguityTool.h:40
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
xAOD::CaloCluster
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloCluster.h:19
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
xAOD::Egamma
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition
Egamma.h:17
type
Generated on
for ATLAS Offline Software by
1.17.0