ATLAS Offline Software
EGammaAmbiguityTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // Dear emacs, this is -*-c++-*-
6 #ifndef __EGammaAmbiguityTool__
7 #define __EGammaAmbiguityTool__
8 
16 // Atlas includes
17 #include "AsgTools/AsgTool.h"
20 
22  virtual public IEGammaAmbiguityTool
23 {
25 
26 public:
28  EGammaAmbiguityTool(const std::string& myname);
29 
30 
32  virtual ~EGammaAmbiguityTool() = default;
33 
34 
35 public:
37  virtual StatusCode initialize() override final;
38 
41  virtual unsigned int ambiguityResolve(
42  const xAOD::CaloCluster* cluster,
43  const xAOD::Vertex* vx,
45  xAOD::AmbiguityTool::AmbiguityType& type) const override final;
46 
51  virtual unsigned int ambiguityResolve(
52  const xAOD::CaloCluster* cluster,
53  const xAOD::Vertex* vx,
54  const xAOD::TrackParticle* tp) const override final;
55 
59  virtual unsigned int ambiguityResolve(const xAOD::Egamma& egamma) const override final;
60 
64  virtual bool accept( const xAOD::Egamma& egamma) const override final;
65 
71 
75 
78 
81 
82 private:
83 
91  float m_minPtCut;
98 }; // End: class definition
99 
100 #endif
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
EGammaAmbiguityTool::m_maxDeltaR_innermost
float m_maxDeltaR_innermost
Maximum value for Rconv - RfirstHit for Si+Si conversions where both tracks have innermost hits.
Definition: EGammaAmbiguityTool.h:93
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition: Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
EGammaAmbiguityTool::m_MinNoSiHits
int m_MinNoSiHits
Minimum number of silicon hits to be an electron and not a photon.
Definition: EGammaAmbiguityTool.h:85
EGammaAmbiguityTool::ambiguityResolve
virtual unsigned int ambiguityResolve(const xAOD::CaloCluster *cluster, const xAOD::Vertex *vx, const xAOD::TrackParticle *tp, xAOD::AmbiguityTool::AmbiguityType &type) const override final
Return value: AuthorElectron, AuthorPhoton, AuthorAmbiguous, AuthorUnknown.
Definition: EGammaAmbiguityTool.cxx:75
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition: AsgToolMacros.h:77
EGammaAmbiguityTool::nTrkWithInnermostPixelHits
size_t nTrkWithInnermostPixelHits(const xAOD::Vertex &vx) const
Return the number of tracks with "innermost pixel hits" (see above) in the given vertex.
Definition: EGammaAmbiguityTool.cxx:330
Egamma
Definition: ClusMomentumPlots.cxx:11
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
EgammaContainerFwd.h
EGammaAmbiguityTool::accept
virtual bool accept(const xAOD::Egamma &egamma) const override final
Accept or reject egamma object based on ambiguity resolution (e.g.
Definition: EGammaAmbiguityTool.cxx:288
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
EGammaAmbiguityTool::hasInnermostPixelHit
bool hasInnermostPixelHit(const xAOD::TrackParticle &tp) const
Return true if track has innermost pixel hit or next-to-innermost in case innermost is not expected o...
Definition: EGammaAmbiguityTool.cxx:308
egamma
Definition: egamma.h:58
IEGammaAmbiguityTool.h
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
EGammaAmbiguityTool
Electron / photon ambiguity resolution. Dual-use version.
Definition: EGammaAmbiguityTool.h:23
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EGammaAmbiguityTool::m_acceptAmbiguous
bool m_acceptAmbiguous
@When used as a selector reject/accpet ambiguous cases
Definition: EGammaAmbiguityTool.h:97
CaloCluster
Principal data class for CaloCell clusters.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:79
EGammaAmbiguityTool::initialize
virtual StatusCode initialize() override final
Gaudi Service Interface method implementations.
Definition: EGammaAmbiguityTool.cxx:68
EGammaAmbiguityTool::m_MinNoPixHits
int m_MinNoPixHits
Minimum number of pixel hits to be an electron and not a photon.
Definition: EGammaAmbiguityTool.h:87
xAOD::AmbiguityTool::AmbiguityType
AmbiguityType
Definition: IEGammaAmbiguityTool.h:33
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
EGammaAmbiguityTool::~EGammaAmbiguityTool
virtual ~EGammaAmbiguityTool()=default
Standard destructor.
EGammaAmbiguityTool::passDeltaR_innermost
bool passDeltaR_innermost(const xAOD::Vertex &vx) const
Return true if the vertex passes the requirement on Rconv - RfirstHit.
Definition: EGammaAmbiguityTool.cxx:351
EGammaAmbiguityTool::isInVertex
bool isInVertex(const xAOD::TrackParticle &, const xAOD::Vertex &) const
Return true if the given TrackParticle is part of the vertex.
Definition: EGammaAmbiguityTool.cxx:341
EGammaAmbiguityTool::m_noVertexNoInnermostAsAmb
bool m_noVertexNoInnermostAsAmb
no vertex && no innermost hit -> amb.
Definition: EGammaAmbiguityTool.h:95
EGammaAmbiguityTool::EGammaAmbiguityTool
EGammaAmbiguityTool(const std::string &myname)
Standard constructor.
Definition: EGammaAmbiguityTool.cxx:38
EGammaAmbiguityTool::m_minPtCut
float m_minPtCut
Minimum Pt, less that this is ambiguous.
Definition: EGammaAmbiguityTool.h:91
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
AsgTool.h
IEGammaAmbiguityTool
Definition: IEGammaAmbiguityTool.h:50
EGammaAmbiguityTool::m_maxEoverPCut
float m_maxEoverPCut
Maximum EoverP, more that this is ambiguous.
Definition: EGammaAmbiguityTool.h:89