ATLAS Offline Software
Loading...
Searching...
No Matches
PPMSimBSMonitorAlgorithm.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef TRIGT1CALOMONITORING_PPMSIMBSMONITORALGORITHM_H
5#define TRIGT1CALOMONITORING_PPMSIMBSMONITORALGORITHM_H
6
10
19
20
22public:PPMSimBSMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
23 virtual ~PPMSimBSMonitorAlgorithm()=default;
24 virtual StatusCode initialize() override;
25 virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
26
28 struct MonitorTT {
30 double phiScaled{};
31 double phi1d{};
32 int jepET{};
33 double maxADC{};
34 };
35
36
37private:
38 typedef std::vector<int> ErrorVector;
39
40 StringProperty m_packageName{this,"PackageName","PPMSimBSMonitor","group name for histogramming"};
41
44
45 ToolHandle<LVL1::IL1TriggerTowerToolRun3> m_ttTool{this,"L1TriggerTowerToolRun3", "LVL1::L1TriggerTowerToolRun3/L1TriggerTowerToolRun3", "L1TriggerTowerToolRun3"};
46
48 Gaudi::Property<double> m_phiScaleTT{this, "phiScaleTT", 32./M_PI, "Scale factor to convert trigger tower phi to integer binning"};
49 Gaudi::Property<int> m_simulationADCCut{this, "SimulationADCCut", 36, "Minimum ADC cut to avoid unnecessary simulation"};
50
51
52
53 // Error vector StoreGate key
54 SG::WriteHandleKey<std::vector<int>> m_errorLocation{this,"ErrorLocation","L1CaloPPMSimBSMismatchVector","ErrorVector"};
55
56
57 // L1CaloCond rel22
58 SG::ReadCondHandleKey<L1CaloRunParametersContainer> m_runParametersContainer{ this, "InputKeyRunParameters", "L1CaloRunParametersContainer"};
59
61 StatusCode makePPMTower( const xAOD::TriggerTower* tt,
62 std::vector<MonitorTT> &vecMonTT) const;
63
64 StatusCode fillPPMEtaPhi( MonitorTT &monTT,
65 const std::string& groupName,
66 const std::string& weightName,
67 double weight) const;
68
69
70 // count number of error events per lumiblock across threads for each type of error
71 mutable std::mutex m_mutex{};
72 mutable std::map<uint32_t, int> m_errorLB_tt_counter ATLAS_THREAD_SAFE;
73
74
75
76};
77#endif
78
#define M_PI
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
static const std::string xAODTriggerTowerLocation
SG::ReadCondHandleKey< L1CaloRunParametersContainer > m_runParametersContainer
Gaudi::Property< int > m_simulationADCCut
virtual ~PPMSimBSMonitorAlgorithm()=default
SG::WriteHandleKey< std::vector< int > > m_errorLocation
ToolHandle< LVL1::IL1TriggerTowerToolRun3 > m_ttTool
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
std::map< uint32_t, int > m_errorLB_tt_counter ATLAS_THREAD_SAFE
Gaudi::Property< double > m_phiScaleTT
Properties.
SG::ReadHandleKey< xAOD::TriggerTowerContainer > m_xAODTriggerTowerContainerName
container keys including steering parameter and description
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
TriggerTower_v2 TriggerTower
Define the latest version of the TriggerTower class.
void initialize()
Struct to contain PPM trigger tower info.
int jepET
phi for 1d phi distributions (taking into account granularity in eta)
double phi1d
phi for 2d maps with integer bins (taking into account granularity in eta)