ATLAS Offline Software
Loading...
Searching...
No Matches
CaloClusterMomentsMaker_DigiHSTruth.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4//Dear emacs, this is -*-c++-*-
5#ifndef CALOCLUSTERMOMENTSMAKER_DIGIHSTRUTH_H
6#define CALOCLUSTERMOMENTSMAKER_DIGIHSTRUTH_H
32
33#include "GaudiKernel/ToolHandle.h"
34
35class CaloCell_ID;
36
44#include "CLHEP/Units/SystemOfUnits.h"
45
46#include <string>
47#include <vector>
48
50{
51 public:
52 CaloClusterMomentsMaker_DigiHSTruth(const std::string& type, const std::string& name,
53 const IInterface* parent);
54
56 virtual StatusCode execute(const EventContext& ctx,
57 xAOD::CaloClusterContainer* theClusColl) const override final;
58 virtual StatusCode initialize() override;
59 virtual StatusCode finalize() override;
60
61
62 private:
63
70 Gaudi::Property<std::vector<std::string>> m_momentsNames{this, "MomentsNames", {}};
71
78 std::vector<xAOD::CaloCluster::MomentType> m_validMoments;
79
80 const CaloCell_ID* m_calo_id{nullptr};
81
84 Gaudi::Property<double> m_maxAxisAngle{this, "MaxAxisAngle", 20*CLHEP::deg};
85
92 Gaudi::Property<double> m_minRLateral{this, "MinRLateral", 4*CLHEP::cm};
93
102 Gaudi::Property<double> m_minLLongitudinal{this, "MinLLongitudinal", 10*CLHEP::cm};
103
110 Gaudi::Property<double> m_minBadLArQuality{this, "MinBadLArQuality", 4000};
111
114
117
120
124 Gaudi::Property<bool> m_twoGaussianNoise{this, "TwoGaussianNoise", false};
125
126 ToolHandle<CaloDepthTool> m_caloDepthTool{"CaloDepthTool", this};
127
129 this,
130 "CaloDetDescrManager",
131 "CaloDetDescrManager"
132 };
133
134 SG::ReadHandleKey<CaloCellContainer> m_signalCellKey{this,"SignalCells","AllCalo_DigiHSTruth"};
135
138 SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"};
139 ToolHandle<ILArHVFraction> m_larHVFraction{this, "LArHVFraction", "LArHVFraction", "Tool Handle for LArHVFraction"};
140
142 Gaudi::Property<std::string> m_momentsNamesAOD{this, "AODMomentsNames", ""};
146 Gaudi::Property<bool> m_absOpt{this, "WeightingOfNegClusters", false};
147
150 bool m_secondTime = { false };
151
154 Gaudi::Property<double> m_etaInnerWheel{this, "EMECAbsEtaWheelTransition", 2.52};
155
156 Gaudi::Property<bool> m_useGPUCriteria {this, "UseGPUCriteria", false, "Adopt a set of criteria that is consistent with the GPU implementation."};
157};
158
159#endif // CALOCLUSTERMOMENTSMAKER_H
Base class for cluster processing tools called from CaloClusterMaker.
Declaration of CaloDepthTool.
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:
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *collection) const =0
Execute on an entire collection of clusters.
Gaudi::Property< double > m_etaInnerWheel
Transition from outer to inner wheel in EME2.
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Key of the CaloNoise Conditions data object.
Gaudi::Property< bool > m_absOpt
if set to true use abs E value of cells to calculate
bool m_secondTime
Retrieve second moment of cell times and store as moment.
SG::ReadHandleKey< CaloCellContainer > m_signalCellKey
bool m_calculateLArHVFraction
Set to true to calculate E and N of cells affected by LAr HV corrections.
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *theClusColl) const override final
Execute on an entire collection of clusters.
bool m_calculateIsolation
Set to true if cluster isolation is to be calculated.
Gaudi::Property< double > m_minLLongitudinal
the minimal in the definition of the Longitudinal moment
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Gaudi::Property< double > m_minRLateral
the minimal in the definition of the Lateral moment
Gaudi::Property< bool > m_twoGaussianNoise
if set to true use 2-gaussian noise description for TileCal
Gaudi::Property< std::vector< std::string > > m_momentsNames
vector holding the input list of names of moments to calculate.
Gaudi::Property< std::string > m_momentsNamesAOD
Not used anymore (with xAOD), but required when configured from COOL.
Gaudi::Property< double > m_maxAxisAngle
the maximal allowed deviation from the IP-to-ClusterCenter-axis.
Gaudi::Property< double > m_minBadLArQuality
the minimal cell quality in the LAr for declaring a cell bad
bool m_calculateSignificance
Set to true if significance moments are need.
CaloClusterMomentsMaker_DigiHSTruth(const std::string &type, const std::string &name, const IInterface *parent)
std::vector< xAOD::CaloCluster::MomentType > m_validMoments
set of moments which will be calculated.
Property holding a SG store/key/clid from which a ReadHandle is made.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.