ATLAS Offline Software
Loading...
Searching...
No Matches
CaloTopoTowerMaker.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 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
33
35
37class IChronoStatSvc;
38
40{
41
42 public:
43
44 CaloTopoTowerMaker(const std::string& name, ISvcLocator* pSvcLocator);
45 virtual ~CaloTopoTowerMaker() override;
46 virtual StatusCode initialize() override;
47 virtual StatusCode execute(const EventContext& ctx) const override;
48 virtual StatusCode finalize() override;
49
50 const std::string& getOutputContainerName() const;
51
52 private:
53
58 StatusCode makeContainer();
59
63
67
73 ToolHandle<CaloTowerCollectionProcessor> m_towerMakerTool;
74
80 ToolHandleArray<CaloClusterCollectionProcessor> m_towerCorrectionTools;
81
85 ToolHandle<CaloTowerCollectionProcessor> m_towerCalibratorTool;
86
89
94 //MT-unfriendly:bool m_keep_each_correction;
95
101 bool m_saveSignalState = { true };
102
104 bool m_chronoTools = { false };
105
107 bool m_useLCWCalibration = { true };
108
109
111 const CaloCell_ID* m_caloCellID=nullptr;
112
113};
114#endif // CALOREC_CALOTOPOTOWERMAKER_H
115
116
117
Base class for cluster processing tools called from CaloClusterMaker.
Base class for cluster processing tools called from CaloClusterMaker.
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.
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
bool m_chronoTools
Use ChronotStatSvc to monitor each tool.
virtual StatusCode execute(const EventContext &ctx) const override
bool m_saveSignalState
Keep the individual results of each correction.
ServiceHandle< IChronoStatSvc > m_chrono
Handle to the ChronoStatSvc.
Property holding a SG store/key/clid from which a WriteHandle is made.