ATLAS Offline Software
Loading...
Searching...
No Matches
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
25#include "GaudiKernel/ToolHandle.h"
26
31#include "CaloEvent/CaloClusterContainer.h"
32#include "CaloEvent/CaloTowerContainer.h"
36#include <string>
37#include <vector>
38
40
42{
43 public:
44
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
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
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
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< bool > m_genericLink
SG::ReadHandleKey< CaloTowerContainer > m_towerContainerKey
CaloTopoTowerBuilderToolBase tool_type
tool_store::const_iterator tool_iterator
std::vector< std::string > m_toolNames
std::vector< tool_type * > tool_store
Gaudi::Property< std::vector< std::string > > m_includedCalos
Gaudi::Property< double > m_minimumCellEnergy
virtual StatusCode initialize() override
inherited from Algorithm
Gaudi::Property< bool > m_useCellWeights
Gaudi::Property< double > m_minimumClusterEnergy
SG::ReadHandleKey< CaloClusterContainer > m_clusterKey
std::vector< CaloCell_ID::SUBCALO > m_caloIndices
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
Gaudi::Property< float > m_noiseSigma
CaloTopoTowerAlgorithm(const std::string &name, ISvcLocator *pService)
Algorithm constructor.
virtual StatusCode execute(const EventContext &ctx) const override
ToolHandleArray< ICaloTopoTowerBuilderToolBase > m_ptools
SG::ReadHandleKey< CaloCell2ClusterMap > m_cellToClusterMapKey
SG::WriteHandleKey< CaloTopoTowerContainer > m_newTowerContainerKey
virtual ~CaloTopoTowerAlgorithm()
virtual StatusCode finalize() override
Gaudi::Property< float > m_cellESignificanceThreshold
CaloTopoTowerBuilderToolBase is abstract base class for tower builders.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.