ATLAS Offline Software
Loading...
Searching...
No Matches
CaloClusterMomentsMaker.h
Go to the documentation of this file.
1
2/*
3 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
4*/
5
6//Dear emacs, this is -*-c++-*-
7#ifndef CALOCLUSTERMOMENTSMAKER_H
8#define CALOCLUSTERMOMENTSMAKER_H
34
35#include "GaudiKernel/ToolHandle.h"
36
37class CaloCell_ID;
38
45
46#include <string>
47#include <vector>
48
50{
51 public:
52 CaloClusterMomentsMaker(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 private:
62
69 std::vector<std::string> m_momentsNames;
70
77 std::vector<xAOD::CaloCluster::MomentType> m_validMoments;
78
80
84
92
102
110
113
116
119
124
125 ToolHandle<CaloDepthTool> m_caloDepthTool;
126
128 this,
129 "CaloDetDescrManager",
130 "CaloDetDescrManager"
131 };
132
133
136 SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"};
137
138 ToolHandle<ILArHVFraction> m_larHVFraction;
139
141 std::string m_momentsNamesAOD;
142
147
150 bool m_secondTime = { false };
151
154 bool m_nCellsPerSampling = { false };
155
158 double m_etaInnerWheel = { 2.52 };
159
160
161 Gaudi::Property<bool> m_useGPUCriteria {this, "UseGPUCriteria", false, "Adopt a set of criteria that is consistent with the GPU implementation."};
162};
163
164#endif // CALOCLUSTERMOMENTSMAKER_H
Base class for cluster processing tools called from CaloClusterMaker.
Declaration of CaloDepthTool.
Definition of CaloDetDescrManager.
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.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
double m_maxAxisAngle
the maximal allowed deviation from the IP-to-ClusterCenter-axis.
bool m_calculateIsolation
Set to true if cluster isolation is to be calculated.
double m_minRLateral
the minimal in the definition of the Lateral moment
bool m_calculateSignificance
Set to true if significance moments are need.
bool m_calculateLArHVFraction
Set to true to calculate E and N of cells affected by LAr HV corrections.
bool m_secondTime
Retrieve second moment of cell times and store as moment.
ToolHandle< CaloDepthTool > m_caloDepthTool
std::vector< xAOD::CaloCluster::MomentType > m_validMoments
set of moments which will be calculated.
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *theClusColl) const override final
Execute on an entire collection of clusters.
CaloClusterMomentsMaker(const std::string &type, const std::string &name, const IInterface *parent)
std::string m_momentsNamesAOD
Not used anymore (with xAOD), but required when configured from COOL.
Gaudi::Property< bool > m_useGPUCriteria
bool m_absOpt
if set to true use abs E value of cells to calculate cluster moments
bool m_nCellsPerSampling
store number of cells per sampling layer as moment
double m_minLLongitudinal
the minimal in the definition of the Longitudinal moment
std::vector< std::string > m_momentsNames
vector holding the input list of names of moments to calculate.
double m_etaInnerWheel
Transition from outer to inner wheel in EME2.
double m_minBadLArQuality
the minimal cell quality in the LAr for declaring a cell bad
bool m_twoGaussianNoise
if set to true use 2-gaussian noise description for TileCal
virtual StatusCode finalize() override
ToolHandle< ILArHVFraction > m_larHVFraction
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Key of the CaloNoise Conditions data object.
virtual StatusCode initialize() override
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.