ATLAS Offline Software
TrigCaloClusterMonitor.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 //
4 // Dear emacs, this is -*- c++ -*-
5 //
6 
7 #ifndef TRIGCALOREC_TRIGCALOCLUSTERMONITOR_H
8 #define TRIGCALOREC_TRIGCALOCLUSTERMONITOR_H
9 
10 /********************************************************************
11  *
12  * NAME: TrigCaloClusterMonitor
13  * PACKAGE: Trigger/TrigAlgorithms/TrigCaloRec
14  *
15  * AUTHOR: Nuno Fernandes
16  * CREATED: September 2024
17  *
18  * Stores the relevant information for monitoring topological clustering
19  * through monitored variables.
20  *********************************************************************/
21 
22 
28 
29 
31 {
32 
33  public:
34 
35  TrigCaloClusterMonitor(const std::string & name, ISvcLocator * pSvcLocator);
36 
37  virtual StatusCode initialize() override;
38  virtual StatusCode execute(const EventContext & ctx) const override;
39 
40  private:
41 
42  Gaudi::Property<bool> m_monitorCells{this, "MonitorCells", false, "Whether to monitor cells too."};
43 
44  Gaudi::Property<bool> m_excludeTile{this, "ExcludeTileCells", true, "Whether to exclude TileCal cells from monitoring."};
45  Gaudi::Property<bool> m_useTwoGaussianNoise{this, "TwoGaussianNoise", false, "Use 2-gaussian noise description for TileCal."};
46 
47 
48  Gaudi::Property<float> m_monitoring1thr { this, "Thr1", 2, "First Threshold to pass for cell monitoring" };
49  Gaudi::Property<float> m_monitoring2thr { this, "Thr2", 4, "Second Threshold to pass for cell monitoring" };
50 
51 
52  Gaudi::Property<unsigned int> m_monitorInterval { this, "MonitoringInterval", 1, "Monitor just one every MonitoringInterval events, in case statistics are high enough." };
53 
54  Gaudi::Property<unsigned int> m_monitorCellsInterval { this, "MonitoringCellInterval", 20, "Additional interval in which to monitor the cells, since this is a costlier monitoring." };
55 
56  SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this, "CaloNoiseKey", "totalNoise", "SG Key of CaloNoise data object"};
57 
60  ToolHandle<GenericMonitoringTool> m_moniTool { this, "MonitoringTool", "", "Monitoring tool" };
61 
63  SG::ReadDecorHandleKey<xAOD::EventInfo> m_avgMuKey { this, "averageInteractionsPerCrossingKey", "EventInfo.averageInteractionsPerCrossing", "Decoration for Average Interaction Per Crossing" };
64 
68  SG::ReadHandleKey<CaloCellContainer> m_cellsKey {this, "CellsName", "", "Name(s) of Cell Containers"};
69 
72  "The name of the key in StoreGate for the CaloClusterContainer we want to monitor."};
73 };
74 
75 #endif
TrigCaloClusterMonitor::m_monitoring1thr
Gaudi::Property< float > m_monitoring1thr
Definition: TrigCaloClusterMonitor.h:58
TrigCaloClusterMonitor::m_cellsKey
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
vector of names of the cell containers to use as input.
Definition: TrigCaloClusterMonitor.h:78
TrigCaloClusterMonitor::m_noiseCDOKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Definition: TrigCaloClusterMonitor.h:66
SG::ReadHandleKey< CaloCellContainer >
TrigCaloClusterMonitor::m_monitorInterval
Gaudi::Property< unsigned int > m_monitorInterval
Definition: TrigCaloClusterMonitor.h:62
TrigCaloClusterMonitor::TrigCaloClusterMonitor
TrigCaloClusterMonitor(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigCaloClusterMonitor.cxx:33
TrigCaloClusterMonitor::m_monitorCellsInterval
Gaudi::Property< unsigned int > m_monitorCellsInterval
Definition: TrigCaloClusterMonitor.h:64
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
TrigCaloClusterMonitor::m_avgMuKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_avgMuKey
Event input: To get <mu> from Event Info.
Definition: TrigCaloClusterMonitor.h:73
GenericMonitoringTool.h
TrigCaloClusterMonitor
Definition: TrigCaloClusterMonitor.h:31
TrigCaloClusterMonitor::m_useTwoGaussianNoise
Gaudi::Property< bool > m_useTwoGaussianNoise
Definition: TrigCaloClusterMonitor.h:55
TrigCaloClusterMonitor::m_monitoring2thr
Gaudi::Property< float > m_monitoring2thr
Definition: TrigCaloClusterMonitor.h:59
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrigCaloClusterMonitor::m_moniTool
ToolHandle< GenericMonitoringTool > m_moniTool
Monitoring tool.
Definition: TrigCaloClusterMonitor.h:70
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
CaloNoise.h
TrigCaloClusterMonitor::m_clustersKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_clustersKey
The name of the key in StoreGate for the CaloClusterContainer we want to monitor.
Definition: TrigCaloClusterMonitor.h:81
CaloCellContainer.h
SG::ReadCondHandleKey< CaloNoise >
TrigCaloClusterMonitor::m_monitorCells
Gaudi::Property< bool > m_monitorCells
Definition: TrigCaloClusterMonitor.h:52
CaloClusterContainer.h
TrigCaloClusterMonitor::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: TrigCaloClusterMonitor.cxx:54
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
TrigCaloClusterMonitor::m_excludeTile
Gaudi::Property< bool > m_excludeTile
Definition: TrigCaloClusterMonitor.h:54
TrigCaloClusterMonitor::initialize
virtual StatusCode initialize() override
Definition: TrigCaloClusterMonitor.cxx:38