ATLAS Offline Software
Loading...
Searching...
No Matches
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
9#include "CaloGeoHelpers/CaloSampling.h"
12#include "GaudiKernel/ToolHandle.h"
14
16
17namespace Trk {
19class Surface;
20class LocalParameters;
21}
22
30
32 : public AthAlgTool
33 , virtual public ICaloCluster_OnTrackBuilder
34{
35public:
37 CaloCluster_OnTrackBuilder(const std::string&,
38 const std::string&,
39 const IInterface*);
40
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,
51 int charge = 0) const override final;
52
55 const xAOD::CaloCluster* cluster,
57
58 Trk::LocalParameters getClusterLocalParameters(
59 const xAOD::CaloCluster* cluster,
60 const Trk::Surface* surf,
61 int charge) const;
62
64 const xAOD::CaloCluster* cluster,
65 const Trk::Surface& surf,
66 int charge) const;
67
70 this,
71 "CaloSurfaceBuilder",
72 "CaloSurfaceBuilder",
73 "Tool to build calorimeter layer surfaces"
74 };
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
double charge(const T &p)
Definition AtlasPID.h:997
Definition of CaloDetDescrManager.
Property holding a SG store/key/clid from which a ReadHandle is made.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Trk::LocalParameters getClusterLocalParameters(const xAOD::CaloCluster *cluster, const Trk::Surface *surf, int charge) const
Gaudi::Property< bool > m_useClusterEta
~CaloCluster_OnTrackBuilder()=default
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
std::unique_ptr< Trk::Surface > getCaloSurface(const xAOD::CaloCluster *cluster, const CaloDetDescrManager *caloDDMgr) const
Amg::MatrixX getClusterErrorMatrix(const xAOD::CaloCluster *cluster, const Trk::Surface &surf, int charge) const
ToolHandle< ICaloSurfaceBuilder > m_calosurf
Tool to build calorimeter layer surfaces.
virtual StatusCode finalize() override final
virtual StatusCode initialize() override final
Gaudi::Property< bool > m_useClusterEnergy
Which cluster measurements to use in order to add constraints by default we are interested in the one...
CaloCluster_OnTrackBuilder(const std::string &, const std::string &, const IInterface *)
Constructor with AlgTool parameters.
Gaudi::Property< bool > m_useClusterPhi
virtual std::unique_ptr< Trk::CaloCluster_OnTrack > buildClusterOnTrack(const EventContext &ctx, const xAOD::CaloCluster *cl, int charge=0) const override final
std::unique_ptr< eg_resolution > m_eg_resol
helper for returning energy resolution
Principal data class for CaloCell clusters.
This class provides the client interface for accessing the detector description information common to...
Interface to CaloSurfaceBuilder.
Class to handle Cluster On Tracks (ROT) for CaloClusters, it inherits from the common MeasurementBase...
Abstract Base Class for tracking surfaces.
STL class.
Definition of ATLAS Math & Geometry primitives (Amg)
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
#define private