ATLAS Offline Software
TrigCaloClusterMonitor.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2002-2024 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 
29 #include "EventInfo/EventInfo.h"
30 
31 
33 {
34 
35  public:
36 
37  TrigCaloClusterMonitor(const std::string & name, ISvcLocator * pSvcLocator);
38 
39  virtual StatusCode initialize() override;
40  virtual StatusCode execute(const EventContext & ctx) const override;
41 
42  private:
43 
44  Gaudi::Property<bool> m_monitorCells{this, "MonitorCells", false, "Whether to monitor cells too."};
45 
46  Gaudi::Property<bool> m_excludeTile{this, "ExcludeTileCells", true, "Whether to exclude TileCal cells from monitoring."};
47  Gaudi::Property<bool> m_useTwoGaussianNoise{this, "TwoGaussianNoise", false, "Use 2-gaussian noise description for TileCal."};
48 
49 
50  Gaudi::Property<float> m_monitoring1thr { this, "Thr1", 2, "First Threshold to pass for cell monitoring" };
51  Gaudi::Property<float> m_monitoring2thr { this, "Thr2", 4, "Second Threshold to pass for cell monitoring" };
52 
53 
54  Gaudi::Property<unsigned int> m_monitorInterval { this, "MonitoringInterval", 1, "Monitor just one every MonitoringInterval events, in case statistics are high enough." };
55 
56  Gaudi::Property<unsigned int> m_monitorCellsInterval { this, "MonitoringCellInterval", 20, "Additional interval in which to monitor the cells, since this is a costlier monitoring." };
57 
58  SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this, "CaloNoiseKey", "totalNoise", "SG Key of CaloNoise data object"};
59 
62  ToolHandle<GenericMonitoringTool> m_moniTool { this, "MonitoringTool", "", "Monitoring tool" };
63 
65  SG::ReadDecorHandleKey<xAOD::EventInfo> m_avgMuKey { this, "averageInteractionsPerCrossingKey", "EventInfo.averageInteractionsPerCrossing", "Decoration for Average Interaction Per Crossing" };
66 
70  SG::ReadHandleKey<CaloCellContainer> m_cellsKey {this, "CellsName", "", "Name(s) of Cell Containers"};
71 
74  "The name of the key in StoreGate for the CaloClusterContainer we want to monitor."};
75 };
76 
77 #endif
TrigCaloClusterMonitor::m_monitoring1thr
Gaudi::Property< float > m_monitoring1thr
Definition: TrigCaloClusterMonitor.h:60
TrigCaloClusterMonitor::m_cellsKey
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
vector of names of the cell containers to use as input.
Definition: TrigCaloClusterMonitor.h:80
TrigCaloClusterMonitor::m_noiseCDOKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Definition: TrigCaloClusterMonitor.h:68
SG::ReadHandleKey< CaloCellContainer >
TrigCaloClusterMonitor::m_monitorInterval
Gaudi::Property< unsigned int > m_monitorInterval
Definition: TrigCaloClusterMonitor.h:64
TrigCaloClusterMonitor::TrigCaloClusterMonitor
TrigCaloClusterMonitor(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigCaloClusterMonitor.cxx:30
TrigCaloClusterMonitor::m_monitorCellsInterval
Gaudi::Property< unsigned int > m_monitorCellsInterval
Definition: TrigCaloClusterMonitor.h:66
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
TrigCaloClusterMonitor::m_avgMuKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_avgMuKey
Event input: To get <mu> from Event Info.
Definition: TrigCaloClusterMonitor.h:75
GenericMonitoringTool.h
TrigCaloClusterMonitor
Definition: TrigCaloClusterMonitor.h:33
TrigCaloClusterMonitor::m_useTwoGaussianNoise
Gaudi::Property< bool > m_useTwoGaussianNoise
Definition: TrigCaloClusterMonitor.h:57
TrigCaloClusterMonitor::m_monitoring2thr
Gaudi::Property< float > m_monitoring2thr
Definition: TrigCaloClusterMonitor.h:61
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:72
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
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:83
CaloCellContainer.h
SG::ReadCondHandleKey< CaloNoise >
TrigCaloClusterMonitor::m_monitorCells
Gaudi::Property< bool > m_monitorCells
Definition: TrigCaloClusterMonitor.h:54
CaloClusterContainer.h
TrigCaloClusterMonitor::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: TrigCaloClusterMonitor.cxx:49
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
TrigCaloClusterMonitor::m_excludeTile
Gaudi::Property< bool > m_excludeTile
Definition: TrigCaloClusterMonitor.h:56
TrigCaloClusterMonitor::initialize
virtual StatusCode initialize() override
Definition: TrigCaloClusterMonitor.cxx:35