ATLAS Offline Software
TrigCaloClusterMaker.h
Go to the documentation of this file.
1 
2 // Hi Emacs ! this is -*- C++ -*-
3 
4 /*
5  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
6 */
7 
8 /********************************************************************
9  *
10  * NAME: TrigCaloClusterMaker
11  * PACKAGE: Trigger/TrigAlgorithms/TrigCaloRec
12  *
13  * AUTHOR: P.A. Delsart
14  * CREATED: August 2006
15  *
16  * Builds Clusters from CaloCell in a ROI using offline calo tools.
17  * Works currently only for CaloTopoCluster and SWClusters. (hard coded hack...)
18  *********************************************************************/
19 #ifndef TRIGCALOREC_TRIGCALOCLUSTERMAKER_H
20 #define TRIGCALOREC_TRIGCALOCLUSTERMAKER_H
21 
23 #include "CaloEvent/CaloClusterContainer.h"
28 #include "GaudiKernel/ToolHandle.h"
32 #include "EventInfo/EventInfo.h"
33 
34 
36 
37  public:
38 
39  TrigCaloClusterMaker(const std::string& name, ISvcLocator* pSvcLocator);
40 
41  virtual StatusCode initialize() override;
42  virtual StatusCode execute(const EventContext& ctx) const override;
43 
44  private:
45 
46  ToolHandleArray<CaloClusterCollectionProcessor> m_clusterMakers
47  { this, "ClusterMakerTools", {}, "" };
48  ToolHandleArray<CaloClusterProcessor> m_clusterCorrections
49  { this, "ClusterCorrectionTools", {}, "" };
50 
51  // Following used for testing only :
52  //bool m_useMeaningfullNames;
53  std::string m_clustersOutputName;
54 
56  "Cells", // property name
57  "cells", // default value of StoreGate key
58  "input CaloCellContainer "};
59 
61  "CaloClusters", // property name
62  "caloclusters", // default value of StoreGate key
63  "output CaloClusterContainer"};
64 
65  // This is to write out the cells container so it is available at later steps
67  "CellLinks",
68  "celllinks",
69  "Output cell links"};
70 
71 
72  ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
73 
74  Gaudi::Property<SG::WriteDecorHandleKey<xAOD::CaloClusterContainer> > m_mDecor_ncells { this,
75  "Decor_ncells", // decorator name
76  "nCells", // default value
77  "Decorator containing the number of cells associated to a cluster"};
78 
79  // adding noise handle for monitoring purposes
80  SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"};
81  // Still for monitoring purposes
82  Gaudi::Property<bool> m_monCells { this, "MonCells", false, "Do I monitor the cells I receive" };
83  Gaudi::Property<float> m_1thr { this, "Thr1", 2, "First Threshold to pass" };
84  Gaudi::Property<float> m_2thr { this, "Thr2", 4, "Second Threshold to pass" };
85  //Event input: To get <mu> from Event Info
86  SG::ReadDecorHandleKey<xAOD::EventInfo> m_avgMuKey { this, "averageInteractionsPerCrossingKey", "EventInfo.averageInteractionsPerCrossing", "Decoration for Average Interaction Per Crossing" };
87 
88  bool m_isSW{false};
89 };
90 #endif
TrigCaloClusterMaker::m_clusterMakers
ToolHandleArray< CaloClusterCollectionProcessor > m_clusterMakers
Definition: TrigCaloClusterMaker.h:57
CaloClusterProcessor.h
Base class for cluster processing tools called from CaloClusterMaker that operate on individual clust...
TrigCaloClusterMaker::m_clusterCorrections
ToolHandleArray< CaloClusterProcessor > m_clusterCorrections
Definition: TrigCaloClusterMaker.h:59
TrigCaloClusterMaker::m_outputClustersKey
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_outputClustersKey
Definition: TrigCaloClusterMaker.h:70
TrigCaloClusterMaker
Definition: TrigCaloClusterMaker.h:35
TrigCaloClusterMaker::m_mDecor_ncells
Gaudi::Property< SG::WriteDecorHandleKey< xAOD::CaloClusterContainer > > m_mDecor_ncells
Definition: TrigCaloClusterMaker.h:84
TrigCaloClusterMaker::m_1thr
Gaudi::Property< float > m_1thr
Definition: TrigCaloClusterMaker.h:93
TrigCaloClusterMaker::m_inputCellsKey
SG::ReadHandleKey< CaloCellContainer > m_inputCellsKey
Definition: TrigCaloClusterMaker.h:65
SG::ReadHandleKey< CaloCellContainer >
TrigCaloClusterMaker::m_monCells
Gaudi::Property< bool > m_monCells
Definition: TrigCaloClusterMaker.h:92
TrigCaloClusterMaker::TrigCaloClusterMaker
TrigCaloClusterMaker(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigCaloClusterMaker.cxx:41
TrigCaloClusterMaker::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: TrigCaloClusterMaker.cxx:105
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
TrigCaloClusterMaker::m_2thr
Gaudi::Property< float > m_2thr
Definition: TrigCaloClusterMaker.h:94
TrigCaloClusterMaker::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TrigCaloClusterMaker.h:82
GenericMonitoringTool.h
SG::WriteHandleKey< xAOD::CaloClusterContainer >
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrigCaloClusterMaker::m_avgMuKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_avgMuKey
Definition: TrigCaloClusterMaker.h:96
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CaloNoise.h
CaloClusterCollectionProcessor.h
Base class for cluster processing tools called from CaloClusterMaker.
SG::ReadCondHandleKey< CaloNoise >
TrigCaloClusterMaker::m_clustersOutputName
std::string m_clustersOutputName
Definition: TrigCaloClusterMaker.h:63
CaloClusterContainer.h
ReadDecorHandle.h
Handle class for reading a decoration on an object.
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
TrigCaloClusterMaker::m_clusterCellLinkOutput
SG::WriteHandleKey< CaloClusterCellLinkContainer > m_clusterCellLinkOutput
Definition: TrigCaloClusterMaker.h:76
TrigCaloClusterMaker::m_isSW
bool m_isSW
Definition: TrigCaloClusterMaker.h:98
TrigCaloClusterMaker::initialize
virtual StatusCode initialize() override
Definition: TrigCaloClusterMaker.cxx:54
TrigCaloClusterMaker::m_noiseCDOKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Definition: TrigCaloClusterMaker.h:90