ATLAS Offline Software
CaloCellsCounterCPU.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 //
4 // Dear emacs, this is -*- c++ -*-
5 //
6 
7 #ifndef CALORECGPU_CALOCELLSCOUNTERCPU_H
8 #define CALORECGPU_CALOCELLSCOUNTERCPU_H
9 
12 #include <string>
13 
17 
18 class CaloCell_ID;
19 
28  public AthAlgTool, virtual public CaloClusterCollectionProcessor
29 {
30  public:
31 
32  CaloCellsCounterCPU(const std::string & type, const std::string & name, const IInterface * parent);
33 
35 
36  virtual StatusCode initialize() override;
37 
38  virtual StatusCode execute (const EventContext& ctx, xAOD::CaloClusterContainer* cluster_collection) const override;
39 
40  virtual ~CaloCellsCounterCPU() = default;
41 
42  private:
43 
44 
49  Gaudi::Property<std::string> m_savePath{this, "SavePath", "./cell_counts", "Path to where the files should be saved"};
50 
54  Gaudi::Property<std::string> m_filePrefix{this, "FilePrefix", "", "Prefix of the saved files"};
55 
59  Gaudi::Property<std::string> m_fileSuffix{this, "FileSuffix", "", "Suffix of the saved files"};
60 
64  Gaudi::Property<unsigned int> m_numWidth{this, "NumberWidth", 9, "The number of digits to reserve for the events"};
65 
69  SG::ReadHandleKey<CaloCellContainer> m_cellsKey {this, "CellsName", "", "Name(s) of Cell Containers"};
70 
74  SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this, "CaloNoiseKey", "totalNoise", "SG Key of CaloNoise data object"};
75 
79  Gaudi::Property<float> m_seedThreshold {this, "SeedThresholdOnEorAbsEinSigma", 4., "Seed threshold (in units of noise Sigma)"};
80 
84  Gaudi::Property<float> m_growThreshold {this, "NeighborThresholdOnEorAbsEinSigma", 2., "Neighbor (grow) threshold (in units of noise Sigma)"};
85 
89  Gaudi::Property<float> m_cellThreshold {this, "CellThresholdOnEorAbsEinSigma", 0., "Cell (terminal) threshold (in units of noise Sigma)"};
90 
91  //TO DO: Consider non-absolute SNR...
92 
96  const CaloCell_ID* m_calo_id {nullptr};
97 
98 };
99 
100 #endif //CALORECGPU_CALOCELLSCOUNTERCPU_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
CaloCellsCounterCPU::m_fileSuffix
Gaudi::Property< std::string > m_fileSuffix
The suffix of the saved files.
Definition: CaloCellsCounterCPU.h:59
CaloCellsCounterCPU
Outputs counts of cells, both by type and cluster presence, with each cluster being identified by its...
Definition: CaloCellsCounterCPU.h:29
CaloClusterCollectionProcessor::execute
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *collection) const =0
Execute on an entire collection of clusters.
CaloCellsCounterCPU::m_cellThreshold
Gaudi::Property< float > m_cellThreshold
Value to consider for the seed threshold.
Definition: CaloCellsCounterCPU.h:89
CaloCellsCounterCPU::m_cellsKey
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
vector of names of the cell containers to use as input.
Definition: CaloCellsCounterCPU.h:69
CaloCellsCounterCPU::~CaloCellsCounterCPU
virtual ~CaloCellsCounterCPU()=default
CaloClusterCollectionProcessor
Definition: CaloClusterCollectionProcessor.h:32
SG::ReadHandleKey< CaloCellContainer >
CaloCellsCounterCPU::m_seedThreshold
Gaudi::Property< float > m_seedThreshold
Value to consider for the seed threshold.
Definition: CaloCellsCounterCPU.h:79
CaloCellsCounterCPU::initialize
virtual StatusCode initialize() override
Definition: CaloCellsCounterCPU.cxx:25
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
CaloCellsCounterCPU::m_savePath
Gaudi::Property< std::string > m_savePath
The path specifying the folder to which the files should be saved.
Definition: CaloCellsCounterCPU.h:49
CaloNoise.h
CaloClusterCollectionProcessor.h
Base class for cluster processing tools called from CaloClusterMaker.
CaloCellsCounterCPU::m_calo_id
const CaloCell_ID * m_calo_id
Pointer to Calo ID Helper.
Definition: CaloCellsCounterCPU.h:96
SG::ReadCondHandleKey< CaloNoise >
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CaloCellsCounterCPU::m_numWidth
Gaudi::Property< unsigned int > m_numWidth
The number of digits to reserve for the events.
Definition: CaloCellsCounterCPU.h:64
CaloCellsCounterCPU::CaloCellsCounterCPU
CaloCellsCounterCPU(const std::string &type, const std::string &name, const IInterface *parent)
Definition: CaloCellsCounterCPU.cxx:18
CaloCellsCounterCPU::m_noiseCDOKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Key of the CaloNoise Conditions data object.
Definition: CaloCellsCounterCPU.h:74
AthAlgTool
Definition: AthAlgTool.h:26
CaloCellsCounterCPU::execute
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *cluster_collection) const override
Execute on an entire collection of clusters.
Definition: CaloCellsCounterCPU.cxx:62
CaloCellsCounterCPU::m_filePrefix
Gaudi::Property< std::string > m_filePrefix
The prefix of the saved files.
Definition: CaloCellsCounterCPU.h:54
CaloCellsCounterCPU::m_growThreshold
Gaudi::Property< float > m_growThreshold
Value to consider for the seed threshold.
Definition: CaloCellsCounterCPU.h:84