ATLAS Offline Software
Loading...
Searching...
No Matches
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
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::ReadDecorHandleKey< xAOD::EventInfo > m_avgMuKey
Event input: To get <mu> from Event Info.
Gaudi::Property< bool > m_excludeTile
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
TrigCaloClusterMonitor(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_clustersKey
The name of the key in StoreGate for the CaloClusterContainer we want to monitor.
virtual StatusCode execute(const EventContext &ctx) const override
virtual StatusCode initialize() override
Gaudi::Property< unsigned int > m_monitorCellsInterval
Gaudi::Property< float > m_monitoring2thr
Gaudi::Property< float > m_monitoring1thr
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
vector of names of the cell containers to use as input.
Gaudi::Property< bool > m_monitorCells
Gaudi::Property< bool > m_useTwoGaussianNoise
Gaudi::Property< unsigned int > m_monitorInterval
ToolHandle< GenericMonitoringTool > m_moniTool
Monitoring tool.