ATLAS Offline Software
Loading...
Searching...
No Matches
CaloTopoClusterMaker.h
Go to the documentation of this file.
1//Dear emacs, this is -*-c++-*-
2/*
3 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
4*/
5
6#ifndef CALOTOPOCLUSTERMAKER_H
7#define CALOTOPOCLUSTERMAKER_H
32
34
43
44class Identifier;
46
47
49public:
50
51 CaloTopoClusterMaker(const std::string& type, const std::string& name,
52 const IInterface* parent);
53
55 virtual StatusCode execute(const EventContext& ctx,
56 xAOD::CaloClusterContainer* theClusters) const override;
57 virtual StatusCode initialize() override;
58
59 void getClusterSize();
60
61private:
62
63 inline bool passCellTimeCut(const CaloCell*, const CaloCellContainer*) const;
64
66
71
81 std::vector<std::string> m_caloNames;
82
89
107
118
128
129
133
137
138
142
146
150
154
158
162
163
166
167 SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"};
168
169
170 //SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
171
196 std::string m_neighborOption;
198
209
218
228
236
244
252
260
265
270
275
280
285
290
295
300
305
311
312
323 std::vector<std::string> m_samplingNames;
324
330 std::set<int> m_validSamplings;
331
339
347
353 std::vector<bool> m_useSampling;
354
357
358
361
362 Gaudi::Property<bool> m_useGPUCriteria {this, "UseGPUCriteria", false, "Adopt a set of criteria that is consistent with the GPU implementation."};
363};
364
365#endif // CALOTOPOCLUSTERMAKER_HH
Base class for cluster processing tools called from CaloClusterMaker.
Handle class for reading from StoreGate.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Container class for CaloCell.
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
Data object for each calorimeter readout cell.
Definition CaloCell.h:57
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *collection) const =0
Execute on an entire collection of clusters.
This class groups all DetDescr information related to a CaloCell.
Gaudi::Property< bool > m_useGPUCriteria
float m_xtalkDeltaT
additional max.
float m_seedThresholdOnEorAbsEinSigma
cells with start a cluster
bool m_xtalkEM2D
if set to true, the time window is softened in the EMB2 and EME2_OW due to xtalk from all 2D neighors
bool m_subcaloUsed[CaloCell_ID::NSUBCALO]
Flag which subdetectors are to be used.
float m_xtalkEtaEratio
cut on Eneighbor/E to revover out of time layer 2 cell close in eta to energetic neighor cell
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Key of the CaloNoise Conditions data object.
bool m_twogaussiannoise
if set to true use 2-gaussian noise description for TileCal
bool m_xtalkEM3
if set to true we extend the time window for direct layer 3 neighbors of high energy layer 2 cells
bool m_treatL1PredictedCellsAsGood
if set to true treat cells with a dead OTX which can be predicted by L1 trigger info as good instead ...
bool m_cellCutsInAbsE
if set to true cell cuts are on and .
float m_neighborThresholdOnEorAbsEinSigma
cells with extend the cluster
std::string m_neighborOption
type of neighbor relations to use.
bool m_clusterCutsInAbsE
if set to true final cluster cuts are on .
bool passCellTimeCut(const CaloCell *, const CaloCellContainer *) const
bool m_xtalkEMEta
if set to true, the time window is softened in the EMB2 and EME2_OW due to xtalk from direct neighbou...
float m_xtalk2Eratio2
cut on Eneighbor/E to revover out of time cell close to energetic second phi neighbor cell
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
vector of names of the cell containers to use as input.
bool m_useTimeCutUpperLimit
if set to true, the time cut is not applied on cell of large significance
int m_maxSampling
largest valid seed sampling found
CaloTopoClusterMaker(const std::string &type, const std::string &name, const IInterface *parent)
const CaloCell_ID * m_calo_id
float m_cellThresholdOnEorAbsEinSigma
all cells have to satisfy
bool m_neighborCutsInAbsE
if set to true neighbor cuts are on and .
float m_timeCutUpperLimit
upper limit on the energy significance, for applying the cell time cut
float m_seedThresholdOnTAbs
threshold used for timing cut on seed cells.
float m_clusterEtorAbsEtCut
cut on the final cluster.
std::vector< std::string > m_caloNames
vector of names of the calorimeters to consider.
float m_xtalk2Eratio1
cut on Eneighbor/E to revover out of time cell close to energetic first phi neighbor cell
bool m_xtalkEM2
if set to true, the time window is softened in the EMB2 and EME2_OW due to xtalk from direct neighbou...
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *theClusters) const override
Execute on an entire collection of clusters.
virtual StatusCode initialize() override
std::set< int > m_validSamplings
actual set of samplings to be used for seeds
LArNeighbours::neighbourOption m_nOption
std::vector< std::string > m_samplingNames
vector of names of the calorimeter samplings to consider for seeds.
bool m_restrictPSNeighbors
if set to true limit the neighbors in presampler Barrel and Endcap.
bool m_xtalkEM2n
if set to true (together with m_xtalkEM2) we also extend the time window for 2nd phi neighbors
std::vector< bool > m_useSampling
flag for all samplings - true for used ones, false for excluded ones
int m_minSampling
smallest valid seed sampling found
bool m_seedCutsInT
if set to true, time cut is applied to seed cells, no cut otherwise
bool m_seedCutsInAbsE
if set to true seed cuts are on and .
float m_xtalk3Eratio
cut on Eneighbor/E to revover out of time layer 3cell close to energetic previous sampling neighbor
float m_xtalk2DEratio
cut on Eneighbor/E to remove out of time layer layer2 all 2D neighbors
bool m_restrictHECIWandFCalNeighbors
if set to true limit the neighbors in HEC IW and FCal2&3.
bool m_cutOOTseed
if set to true, seed cells failing the time cut are also excluded from cluster at all
xAOD::CaloCluster::ClusterSize m_clusterSize
Cluster size enum. Set based on energy cut jobO.
This is a "hash" representation of an Identifier.
Property holding a SG store/key/clid from which a ReadHandle is made.
ClusterSize
Enumeration to identify different cluster sizes.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.