ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloRec
src
CaloTopoTowerAlgorithm.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef CALOREC_CALOTOPOTOWERALGORITHM_H
6
#define CALOREC_CALOTOPOTOWERALGORITHM_H
23
24
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
25
#include "GaudiKernel/ToolHandle.h"
26
27
#include "
CaloUtils/CaloTopoTowerBuilderToolBase.h
"
28
#include "
CaloIdentifier/CaloCell_ID.h
"
29
#include "
CaloEvent/CaloCell2ClusterMap.h
"
30
#include "
CaloEvent/CaloCellContainer.h
"
31
#include "CaloEvent/CaloClusterContainer.h"
32
#include "CaloEvent/CaloTowerContainer.h"
33
#include "
CaloEvent/CaloTopoTowerContainer.h
"
34
#include "
StoreGate/ReadHandleKey.h
"
35
#include "
StoreGate/WriteHandleKey.h
"
36
#include <string>
37
#include <vector>
38
39
class
ICaloTopoTowerBuilderToolBase
;
40
41
class
CaloTopoTowerAlgorithm
:
public
AthReentrantAlgorithm
42
{
43
public
:
44
45
typedef
CaloTopoTowerBuilderToolBase
tool_type
;
46
typedef
std::vector<tool_type*>
tool_store
;
47
typedef
tool_store::const_iterator
tool_iterator
;
48
50
CaloTopoTowerAlgorithm
(
const
std::string& name, ISvcLocator* pService);
51
52
virtual
~CaloTopoTowerAlgorithm
();
53
55
virtual
StatusCode
initialize
()
override
;
56
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
57
virtual
StatusCode
finalize
()
override
;
58
59
protected
:
60
62
// Properties //
64
65
// link output container
66
Gaudi::Property<bool>
m_genericLink
{
this
,
"GenericLinked"
,
true
};
67
68
// tool collection
69
std::vector<std::string>
m_toolNames
;
70
ToolHandleArray<ICaloTopoTowerBuilderToolBase>
m_ptools
{
this
,
"TowerBuilderTools"
, {}};
71
73
// Stores and Services //
75
76
// list of tools
77
tool_store
m_tools
;
78
80
// CaloTopoTowerContainer variables
81
// Container name strings
82
SG::ReadHandleKey<CaloCellContainer>
m_cellContainerKey
{
this
,
"CellContainerName"
,
"AllCalo"
};
83
SG::ReadHandleKey<CaloClusterContainer>
m_clusterKey
{
this
,
"ClusterContainerName"
,
"CaloTopoClusters"
};
84
SG::ReadHandleKey<CaloCell2ClusterMap>
m_cellToClusterMapKey
{
this
,
"Cell2ClusterMapName"
,
"CaloCell2TopoCluster"
};
85
SG::ReadHandleKey<CaloTowerContainer>
m_towerContainerKey
{
this
,
"InputTowerContainerName"
,
"CmbTower"
};
86
SG::WriteHandleKey<CaloTopoTowerContainer>
m_newTowerContainerKey
{
this
,
"OutputTowerContainerName"
,
"TopoTower"
};
87
88
// Selection criteria
89
Gaudi::Property<double>
m_minimumCellEnergy
{
this
,
"MinimumCellEnergy"
, -1000000000.0};
90
Gaudi::Property<double>
m_minimumClusterEnergy
{
this
,
"MinimumClusterEnergy"
, -1000000000.0};
91
Gaudi::Property<bool>
m_useCellWeights
{
this
,
"useCellWeight"
,
true
};
92
93
// Noise tool stuff
94
Gaudi::Property<float>
m_noiseSigma
{
this
,
"DefaultNoiseSigma"
, 10.0};
95
Gaudi::Property<float>
m_cellESignificanceThreshold
{
this
,
"CellEnergySignificance"
, -1.f};
96
97
// Type definitions
98
// typedef Navigable<CaloClusterContainer> nav_t;
99
100
// List of calorimeters from which to use cells
101
Gaudi::Property<std::vector<std::string>>
m_includedCalos
{
this
,
"IncludedCalos"
, {}};
102
std::vector<CaloCell_ID::SUBCALO>
m_caloIndices
;
103
bool
m_caloSelection
{
false
};
104
105
//END CaloTopoTowerContainer variables
107
};
108
#endif
AthReentrantAlgorithm.h
CaloCell2ClusterMap.h
CaloCellContainer.h
CaloCell_ID.h
CaloTopoTowerBuilderToolBase.h
CaloTopoTowerContainer.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
CaloTopoTowerAlgorithm::m_genericLink
Gaudi::Property< bool > m_genericLink
Definition
CaloTopoTowerAlgorithm.h:66
CaloTopoTowerAlgorithm::m_towerContainerKey
SG::ReadHandleKey< CaloTowerContainer > m_towerContainerKey
Definition
CaloTopoTowerAlgorithm.h:85
CaloTopoTowerAlgorithm::tool_type
CaloTopoTowerBuilderToolBase tool_type
Definition
CaloTopoTowerAlgorithm.h:45
CaloTopoTowerAlgorithm::tool_iterator
tool_store::const_iterator tool_iterator
Definition
CaloTopoTowerAlgorithm.h:47
CaloTopoTowerAlgorithm::m_toolNames
std::vector< std::string > m_toolNames
Definition
CaloTopoTowerAlgorithm.h:69
CaloTopoTowerAlgorithm::tool_store
std::vector< tool_type * > tool_store
Definition
CaloTopoTowerAlgorithm.h:46
CaloTopoTowerAlgorithm::m_includedCalos
Gaudi::Property< std::vector< std::string > > m_includedCalos
Definition
CaloTopoTowerAlgorithm.h:101
CaloTopoTowerAlgorithm::m_minimumCellEnergy
Gaudi::Property< double > m_minimumCellEnergy
Definition
CaloTopoTowerAlgorithm.h:89
CaloTopoTowerAlgorithm::initialize
virtual StatusCode initialize() override
inherited from Algorithm
Definition
CaloTopoTowerAlgorithm.cxx:26
CaloTopoTowerAlgorithm::m_useCellWeights
Gaudi::Property< bool > m_useCellWeights
Definition
CaloTopoTowerAlgorithm.h:91
CaloTopoTowerAlgorithm::m_minimumClusterEnergy
Gaudi::Property< double > m_minimumClusterEnergy
Definition
CaloTopoTowerAlgorithm.h:90
CaloTopoTowerAlgorithm::m_caloSelection
bool m_caloSelection
Definition
CaloTopoTowerAlgorithm.h:103
CaloTopoTowerAlgorithm::m_clusterKey
SG::ReadHandleKey< CaloClusterContainer > m_clusterKey
Definition
CaloTopoTowerAlgorithm.h:83
CaloTopoTowerAlgorithm::m_caloIndices
std::vector< CaloCell_ID::SUBCALO > m_caloIndices
Definition
CaloTopoTowerAlgorithm.h:102
CaloTopoTowerAlgorithm::m_cellContainerKey
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
Definition
CaloTopoTowerAlgorithm.h:82
CaloTopoTowerAlgorithm::m_tools
tool_store m_tools
Definition
CaloTopoTowerAlgorithm.h:77
CaloTopoTowerAlgorithm::m_noiseSigma
Gaudi::Property< float > m_noiseSigma
Definition
CaloTopoTowerAlgorithm.h:94
CaloTopoTowerAlgorithm::CaloTopoTowerAlgorithm
CaloTopoTowerAlgorithm(const std::string &name, ISvcLocator *pService)
Algorithm constructor.
Definition
CaloTopoTowerAlgorithm.cxx:13
CaloTopoTowerAlgorithm::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
CaloTopoTowerAlgorithm.cxx:130
CaloTopoTowerAlgorithm::m_ptools
ToolHandleArray< ICaloTopoTowerBuilderToolBase > m_ptools
Definition
CaloTopoTowerAlgorithm.h:70
CaloTopoTowerAlgorithm::m_cellToClusterMapKey
SG::ReadHandleKey< CaloCell2ClusterMap > m_cellToClusterMapKey
Definition
CaloTopoTowerAlgorithm.h:84
CaloTopoTowerAlgorithm::m_newTowerContainerKey
SG::WriteHandleKey< CaloTopoTowerContainer > m_newTowerContainerKey
Definition
CaloTopoTowerAlgorithm.h:86
CaloTopoTowerAlgorithm::~CaloTopoTowerAlgorithm
virtual ~CaloTopoTowerAlgorithm()
CaloTopoTowerAlgorithm::finalize
virtual StatusCode finalize() override
Definition
CaloTopoTowerAlgorithm.cxx:272
CaloTopoTowerAlgorithm::m_cellESignificanceThreshold
Gaudi::Property< float > m_cellESignificanceThreshold
Definition
CaloTopoTowerAlgorithm.h:95
CaloTopoTowerBuilderToolBase
CaloTopoTowerBuilderToolBase is abstract base class for tower builders.
Definition
CaloTopoTowerBuilderToolBase.h:20
ICaloTopoTowerBuilderToolBase
Definition
ICaloTopoTowerBuilderToolBase.h:32
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
Generated on
for ATLAS Offline Software by
1.17.0