ATLAS Offline Software
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
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
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
Generated on Sun Dec 22 2024 21:11:27 for ATLAS Offline Software by
1.8.18