ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
egamma
egammaTrackTools
src
CaloCluster_OnTrackBuilder.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef CALOCLUSTER_ONTRACKBUILER_H
6
#define CALOCLUSTER_ONTRACKBUILER_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "CaloGeoHelpers/CaloSampling.h"
10
#include "
CaloIdentifier/CaloCell_ID.h
"
11
#include "
EventPrimitives/EventPrimitives.h
"
12
#include "GaudiKernel/ToolHandle.h"
13
#include "
egammaInterfaces/ICaloCluster_OnTrackBuilder.h
"
14
15
#include "
StoreGate/ReadHandleKey.h
"
16
17
namespace
Trk
{
18
class
CaloCluster_OnTrack
;
19
class
Surface
;
20
class
LocalParameters
;
21
}
22
23
#include "
CaloDetDescr/CaloDetDescrManager.h
"
24
#include "
CaloEvent/CaloCellContainer.h
"
25
#include "
CaloTrackingGeometry/ICaloSurfaceBuilder.h
"
26
#include "
xAODCaloEvent/CaloClusterFwd.h
"
27
#include "
xAODEgamma/EgammaFwd.h
"
28
#include "
egammaUtils/eg_resolution.h
"
29
class
CaloDetDescrManager
;
30
31
class
CaloCluster_OnTrackBuilder
32
:
public
AthAlgTool
33
,
virtual
public
ICaloCluster_OnTrackBuilder
34
{
35
public
:
37
CaloCluster_OnTrackBuilder
(
const
std::string&,
38
const
std::string&,
39
const
IInterface*);
40
41
CaloCluster_OnTrackBuilder
();
42
~CaloCluster_OnTrackBuilder
() =
default
;
43
44
// standard Athena methods
45
virtual
StatusCode
initialize
() override final;
46
virtual StatusCode
finalize
() override final;
47
48
virtual
std
::
unique_ptr
<
Trk
::CaloCluster_OnTrack>
buildClusterOnTrack
(
49
const
EventContext& ctx,
50
const
xAOD
::
CaloCluster
* cl,
51
int
charge
= 0)
const
override final;
52
53
private
:
54
std
::
unique_ptr
<
Trk
::Surface>
getCaloSurface
(
55
const
xAOD
::
CaloCluster
* cluster,
56
const
CaloDetDescrManager
* caloDDMgr)
const
;
57
58
Trk
::LocalParameters
getClusterLocalParameters
(
59
const
xAOD
::
CaloCluster
* cluster,
60
const
Trk
::Surface* surf,
61
int
charge
)
const
;
62
63
Amg
::MatrixX
getClusterErrorMatrix
(
64
const
xAOD
::
CaloCluster
* cluster,
65
const
Trk
::Surface& surf,
66
int
charge
)
const
;
67
69
ToolHandle<
ICaloSurfaceBuilder
>
m_calosurf
{
70
this
,
71
"CaloSurfaceBuilder"
,
72
"CaloSurfaceBuilder"
,
73
"Tool to build calorimeter layer surfaces"
74
};
75
SG::ReadCondHandleKey<CaloDetDescrManager>
m_caloMgrKey
{
76
this
,
77
"CaloDetDescrManager"
,
78
"CaloDetDescrManager"
79
};
80
84
Gaudi::Property<bool>
m_useClusterEnergy
{
this
,
"UseClusterEnergy"
,
true
};
85
Gaudi::Property<bool>
m_useClusterPhi
{
this
,
"UseClusterPhi"
,
true
};
86
Gaudi::Property<bool>
m_useClusterEta
{
this
,
"UseClusterEta"
,
false
};
87
89
std::unique_ptr<eg_resolution>
m_eg_resol
{};
90
};
91
92
#endif
// CALOCLUSTER_ONTRACKBUILER_H
AthAlgTool.h
charge
double charge(const T &p)
Definition
AtlasPID.h:1003
CaloCellContainer.h
CaloCell_ID.h
CaloClusterFwd.h
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
EgammaFwd.h
EventPrimitives.h
ICaloCluster_OnTrackBuilder.h
ICaloSurfaceBuilder.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
CaloCluster_OnTrackBuilder::CaloCluster_OnTrackBuilder
CaloCluster_OnTrackBuilder()
CaloCluster_OnTrackBuilder::getClusterLocalParameters
Trk::LocalParameters getClusterLocalParameters(const xAOD::CaloCluster *cluster, const Trk::Surface *surf, int charge) const
Definition
CaloCluster_OnTrackBuilder.cxx:147
CaloCluster_OnTrackBuilder::m_useClusterEta
Gaudi::Property< bool > m_useClusterEta
Definition
CaloCluster_OnTrackBuilder.h:86
CaloCluster_OnTrackBuilder::~CaloCluster_OnTrackBuilder
~CaloCluster_OnTrackBuilder()=default
CaloCluster_OnTrackBuilder::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition
CaloCluster_OnTrackBuilder.h:75
CaloCluster_OnTrackBuilder::getCaloSurface
std::unique_ptr< Trk::Surface > getCaloSurface(const xAOD::CaloCluster *cluster, const CaloDetDescrManager *caloDDMgr) const
Definition
CaloCluster_OnTrackBuilder.cxx:126
CaloCluster_OnTrackBuilder::getClusterErrorMatrix
Amg::MatrixX getClusterErrorMatrix(const xAOD::CaloCluster *cluster, const Trk::Surface &surf, int charge) const
Definition
CaloCluster_OnTrackBuilder.cxx:206
CaloCluster_OnTrackBuilder::m_calosurf
ToolHandle< ICaloSurfaceBuilder > m_calosurf
Tool to build calorimeter layer surfaces.
Definition
CaloCluster_OnTrackBuilder.h:69
CaloCluster_OnTrackBuilder::finalize
virtual StatusCode finalize() override final
Definition
CaloCluster_OnTrackBuilder.cxx:85
CaloCluster_OnTrackBuilder::initialize
virtual StatusCode initialize() override final
Definition
CaloCluster_OnTrackBuilder.cxx:76
CaloCluster_OnTrackBuilder::m_useClusterEnergy
Gaudi::Property< bool > m_useClusterEnergy
Which cluster measurements to use in order to add constraints by default we are interested in the one...
Definition
CaloCluster_OnTrackBuilder.h:84
CaloCluster_OnTrackBuilder::CaloCluster_OnTrackBuilder
CaloCluster_OnTrackBuilder(const std::string &, const std::string &, const IInterface *)
Constructor with AlgTool parameters.
Definition
CaloCluster_OnTrackBuilder.cxx:67
CaloCluster_OnTrackBuilder::m_useClusterPhi
Gaudi::Property< bool > m_useClusterPhi
Definition
CaloCluster_OnTrackBuilder.h:85
CaloCluster_OnTrackBuilder::buildClusterOnTrack
virtual std::unique_ptr< Trk::CaloCluster_OnTrack > buildClusterOnTrack(const EventContext &ctx, const xAOD::CaloCluster *cl, int charge=0) const override final
Definition
CaloCluster_OnTrackBuilder.cxx:91
CaloCluster_OnTrackBuilder::m_eg_resol
std::unique_ptr< eg_resolution > m_eg_resol
helper for returning energy resolution
Definition
CaloCluster_OnTrackBuilder.h:89
CaloCluster
Principal data class for CaloCell clusters.
Definition
Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:79
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition
CaloDetDescrManager.h:469
ICaloCluster_OnTrackBuilder
Definition
ICaloCluster_OnTrackBuilder.h:20
ICaloSurfaceBuilder
Interface to CaloSurfaceBuilder.
Definition
ICaloSurfaceBuilder.h:43
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
Trk::CaloCluster_OnTrack
Class to handle Cluster On Tracks (ROT) for CaloClusters, it inherits from the common MeasurementBase...
Definition
CaloCluster_OnTrack.h:32
Trk::LocalParameters
Definition
LocalParameters.h:100
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
unique_ptr
STL class.
eg_resolution.h
const
Amg
Definition of ATLAS Math & Geometry primitives (Amg).
Definition
AmgStringHelpers.h:19
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
std
STL namespace.
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0