ATLAS Offline Software
Loading...
Searching...
No Matches
CaloTopoTowerMaker.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//Dear emacs, this is -*-c++-*-
6
7#ifndef CALOREC_CALOTOPOTOWERMAKER_H
8#define CALOREC_CALOTOPOTOWERMAKER_H
9
23
25
26#include "GaudiKernel/ToolHandle.h"
27#include "GaudiKernel/ServiceHandle.h"
28
29// -- interfaces
35
37
38class IChronoStatSvc;
39
41{
42
43 public:
44
45 CaloTopoTowerMaker(const std::string& name, ISvcLocator* pSvcLocator);
46 virtual ~CaloTopoTowerMaker() override;
47 virtual StatusCode initialize() override;
48 virtual StatusCode execute(const EventContext& ctx) const override;
49 virtual StatusCode finalize() override;
50
51 const std::string& getOutputContainerName() const;
52
53 private:
54
59 StatusCode makeContainer();
60
64
68
74 ToolHandle<CaloTowerCollectionProcessor> m_towerMakerTool{this, "TowerMakerTool", ""};
75
81 ToolHandleArray<CaloClusterCollectionProcessor> m_towerCorrectionTools{this, "TowerCorrectionTools", {}};
82
86 ToolHandle<CaloTowerCollectionProcessor> m_towerCalibratorTool{this, "TowerCalibratorTool", ""};
87
90
95 //MT-unfriendly:bool m_keep_each_correction;
96
102 Gaudi::Property<bool> m_saveSignalState{this, "SaveUncalibratedSignalState", true};
103
105 Gaudi::Property<bool> m_chronoTools{this, "ChronoTools", false};
106
108 Gaudi::Property<bool> m_useLCWCalibration{this, "UseLCWCalibration", true};
109
110
112 const CaloCell_ID* m_caloCellID=nullptr;
113
114};
115#endif // CALOREC_CALOTOPOTOWERMAKER_H
116
117
118
Base class for cluster processing tools called from CaloClusterMaker.
Base class for cluster processing tools called from CaloClusterMaker.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
ToolHandle< CaloTowerCollectionProcessor > m_towerCalibratorTool
Tower calibrator(s).
virtual ~CaloTopoTowerMaker() override
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_towerOutput
the name of the key in StoreGate for the output CaloClusterContainer
ToolHandle< CaloTowerCollectionProcessor > m_towerMakerTool
Tower makers.
const CaloCell_ID * m_caloCellID
Identifier helper.
StatusCode makeContainer()
Method to create a CaloClusterContainer together with it's AuxStore and Link container.
Gaudi::Property< bool > m_useLCWCalibration
Use LCW calibration for topo-towers (default is true).
virtual StatusCode initialize() override
SG::WriteHandleKey< CaloClusterCellLinkContainer > m_towerCellLinkOutput
the name of the key in StoreGate for the output CaloClusterCellLinkContainer
const std::string & getOutputContainerName() const
CaloTopoTowerMaker(const std::string &name, ISvcLocator *pSvcLocator)
ToolHandleArray< CaloClusterCollectionProcessor > m_towerCorrectionTools
Tower (cluster) moment makers.
virtual StatusCode finalize() override
Gaudi::Property< bool > m_saveSignalState
Keep the individual results of each correction.
Gaudi::Property< bool > m_chronoTools
Use ChronotStatSvc to monitor each tool.
virtual StatusCode execute(const EventContext &ctx) const override
ServiceHandle< IChronoStatSvc > m_chrono
Handle to the ChronoStatSvc.
Property holding a SG store/key/clid from which a WriteHandle is made.