ATLAS Offline Software
Loading...
Searching...
No Matches
CaloClusterMaker.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5//Dear emacs, this is -*-c++-*-
6
7#ifndef CALOREC_CALOCLUSTERMAKER_H
8#define CALOREC_CALOCLUSTERMAKER_H
9
27
29#include "GaudiKernel/ToolHandle.h"
31
33
35class IChronoStatSvc;
36
38{
39
40 public:
41
42 CaloClusterMaker(const std::string& name, ISvcLocator* pSvcLocator);
43 virtual ~CaloClusterMaker() override;
44 virtual StatusCode initialize() override;
45 virtual StatusCode execute(const EventContext& ctx) const override;
46 virtual StatusCode finalize() override;
47
48 const std::string& getOutputContainerName() const;
49
50 private:
51
56 StatusCode makeContainer();
57
58
62
66
72 //std::vector<std::string> m_clusterMakerNames;
73 ToolHandleArray<CaloClusterCollectionProcessor> m_clusterMakerTools;
74
76 //std::vector<CaloClusterCollectionProcessor*> m_clusterMakerPointers;
77
83 //std::vector<std::string> m_clusterCorrectionNames;
84 ToolHandleArray<CaloClusterCollectionProcessor> m_clusterCorrectionTools;
85
86 //Handle to the ChronoStatSvc
88
95
98
99
102 Gaudi::Property<bool> m_writeTriggerSpecificInfo{this, "WriteTriggerSpecificInfo", false, "Write some trigger-specific decorations and use the trigger auxiliary container."};
103
106 SG::WriteDecorHandleKey<xAOD::CaloClusterContainer> m_mDecor_ncells {this, "Decor_ncells", "nCells", "Decorator containing the number of cells associated to a cluster"};
107};
108#endif // CALOREC_CALOCLUSTERMAKER_H
109
110
111
Base class for cluster processing tools called from CaloClusterMaker.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
virtual StatusCode initialize() override
CaloClusterMaker(const std::string &name, ISvcLocator *pSvcLocator)
ToolHandleArray< CaloClusterCollectionProcessor > m_clusterCorrectionTools
the actual list of tools corresponding to above names
bool m_chronoTools
Use ChronotStatSvc to monitor each tool.
StatusCode makeContainer()
Method to create a CaloClusterContainer together with it's AuxStore and Link container.
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_clusterOutput
the name of the key in StoreGate for the output CaloClusterContainer
bool m_saveSignalState
controls saving the uncalibrated signal state just before the first CaloClusterCorrectionTool is invo...
ToolHandleArray< CaloClusterCollectionProcessor > m_clusterMakerTools
a list of names for tools to make clusters
virtual ~CaloClusterMaker() override
virtual StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< CaloClusterCellLinkContainer > m_clusterCellLinkOutput
the name of the key in StoreGate for the output CaloClusterCellLinkContainer
virtual StatusCode finalize() override
ServiceHandle< IChronoStatSvc > m_chrono
const std::string & getOutputContainerName() const
Gaudi::Property< bool > m_writeTriggerSpecificInfo
If true, writes some trigger-specific decorations.
SG::WriteDecorHandleKey< xAOD::CaloClusterContainer > m_mDecor_ncells
Key to the handle for writing the number of cells as a decoration.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.