ATLAS Offline Software
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 
17 namespace Trk {
19 class Surface;
20 class LocalParameters;
21 }
22 
27 #include "xAODEgamma/EgammaFwd.h"
30 
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 
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 
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 
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
CaloCluster_OnTrackBuilder::getClusterLocalParameters
Trk::LocalParameters getClusterLocalParameters(const xAOD::CaloCluster *cluster, const Trk::Surface *surf, int charge) const
Definition: CaloCluster_OnTrackBuilder.cxx:147
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
CaloCluster_OnTrackBuilder::m_useClusterEta
Gaudi::Property< bool > m_useClusterEta
Definition: CaloCluster_OnTrackBuilder.h:86
EgammaFwd.h
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
CaloCluster_OnTrackBuilder::CaloCluster_OnTrackBuilder
CaloCluster_OnTrackBuilder()
Trk::MeasurementBaseType::CaloCluster_OnTrack
@ CaloCluster_OnTrack
Definition: MeasurementBase.h:53
CaloCluster_OnTrackBuilder::~CaloCluster_OnTrackBuilder
~CaloCluster_OnTrackBuilder()=default
CaloCluster_OnTrackBuilder::initialize
virtual StatusCode initialize() override final
Definition: CaloCluster_OnTrackBuilder.cxx:76
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
CaloCluster_OnTrackBuilder::getCaloSurface
std::unique_ptr< Trk::Surface > getCaloSurface(const xAOD::CaloCluster *cluster, const CaloDetDescrManager *caloDDMgr) const
Definition: CaloCluster_OnTrackBuilder.cxx:126
CaloCluster_OnTrackBuilder::finalize
virtual StatusCode finalize() override final
Definition: CaloCluster_OnTrackBuilder.cxx:85
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
ICaloSurfaceBuilder
Definition: ICaloSurfaceBuilder.h:44
CaloCluster_OnTrackBuilder::m_eg_resol
std::unique_ptr< eg_resolution > m_eg_resol
helper for returning energy resolution
Definition: CaloCluster_OnTrackBuilder.h:89
CaloCluster_OnTrackBuilder::m_useClusterPhi
Gaudi::Property< bool > m_useClusterPhi
Definition: CaloCluster_OnTrackBuilder.h:85
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
CaloCluster_OnTrackBuilder::getClusterErrorMatrix
Amg::MatrixX getClusterErrorMatrix(const xAOD::CaloCluster *cluster, const Trk::Surface &surf, int charge) const
Definition: CaloCluster_OnTrackBuilder.cxx:206
CaloCell_ID.h
eg_resolution.h
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
ICaloCluster_OnTrackBuilder.h
CaloClusterFwd.h
CaloCluster_OnTrackBuilder::m_calosurf
ToolHandle< ICaloSurfaceBuilder > m_calosurf
Tool to build calorimeter layer surfaces.
Definition: CaloCluster_OnTrackBuilder.h:69
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
CaloCluster
Principal data class for CaloCell clusters.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:79
CaloCluster_OnTrackBuilder::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: CaloCluster_OnTrackBuilder.h:75
EventPrimitives.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
ICaloSurfaceBuilder.h
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
ICaloCluster_OnTrackBuilder
Definition: ICaloCluster_OnTrackBuilder.h:20
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
charge
double charge(const T &p)
Definition: AtlasPID.h:494
CaloCellContainer.h
SG::ReadCondHandleKey< CaloDetDescrManager >
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
CaloCluster_OnTrackBuilder
Definition: CaloCluster_OnTrackBuilder.h:34
AthAlgTool
Definition: AthAlgTool.h:26
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
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26