ATLAS Offline Software
Loading...
Searching...
No Matches
CaloTopoClusterSplitter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5//Dear emacs, this is -*-c++-*-
6
7#ifndef CALOTOPOCLUSTERSPLITTER_H
8#define CALOTOPOCLUSTERSPLITTER_H
38
39class Identifier;
40
42
44
46
48{
49 public:
50
51 CaloTopoClusterSplitter(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 private:
60
62
87 std::string m_neighborOption;
89
100
109
116
136
150
164 std::vector<std::string> m_samplingNames;
165
171 std::set<int> m_validSamplings;
172
179
186
192 std::vector<bool> m_useSampling;
193
201 std::vector<std::string> m_secondarySamplingNames;
202
209
216
223
230 std::vector<bool> m_useSecondarySampling;
231
236
241
242
245
246 Gaudi::Property<bool> m_useGPUCriteria {this, "UseGPUCriteria", false, "Adopt a set of criteria that is consistent with the GPU implementation."};
247};
248
249#endif // CALOTOPOCLUSTERSPLITTER_H
Base class for cluster processing tools called from CaloClusterMaker.
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.
int m_maxSecondarySampling
largest valid secondary sampling found
float m_emShowerScale
typical em shower scale to use for distance criteria in shared cells
int m_minSampling
smallest valid sampling found
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *theClusters) const override
Execute on an entire collection of clusters.
std::string m_neighborOption
type of neighbor relations to use.
float m_minEnergy
local maxima need at least this energy content
virtual StatusCode initialize() override
Gaudi::Property< bool > m_useGPUCriteria
std::vector< bool > m_useSampling
flag for all samplings - true for used ones, false for excluded ones
std::vector< bool > m_useSecondarySampling
flag for all secondary samplings - true for used ones, false for excluded ones
int m_maxSampling
largest valid sampling found
std::vector< std::string > m_secondarySamplingNames
vector of names of the secondary calorimeter samplings to consider.
std::vector< std::string > m_samplingNames
vector of names of the calorimeter samplings to consider.
int m_minSecondarySampling
smallest valid secondary sampling found
std::set< int > m_validSamplings
actual set of samplings to be used
LArNeighbours::neighbourOption m_nOption
bool m_restrictHECIWandFCalNeighbors
if set to true limit the neighbors in HEC IW and FCal2&3.
std::set< int > m_validSecondarySamplings
actual set of secondary samplings to be used
bool m_treatL1PredictedCellsAsGood
if set to true treat cells with a dead OTX which can be predicted by L1 trigger info as good instead ...
CaloTopoClusterSplitter(const std::string &type, const std::string &name, const IInterface *parent)
bool m_absOpt
if set to true, splitter only looks at absolute value of Energy in order to identify potential seed c...
bool m_shareBorderCells
share cells at the border between two local maxima
int m_nCells
local maxima need at least this number of neighbors to become seeds
This is a "hash" representation of an Identifier.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.