ATLAS Offline Software
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 
22 public: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 
37 private:
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 
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 
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
L1CaloCoolChannelId.h
PPMSimBSMonitorAlgorithm::MonitorTT::jepET
int jepET
phi for 1d phi distributions (taking into account granularity in eta)
Definition: PPMSimBSMonitorAlgorithm.h:32
PPMSimBSMonitorAlgorithm::fillPPMEtaPhi
StatusCode fillPPMEtaPhi(MonitorTT &monTT, const std::string &groupName, const std::string &weightName, double weight) const
Definition: PPMSimBSMonitorAlgorithm.cxx:399
PPMSimBSMonitorAlgorithm::~PPMSimBSMonitorAlgorithm
virtual ~PPMSimBSMonitorAlgorithm()=default
PPMSimBSMonitorAlgorithm::MonitorTT
Struct to contain PPM trigger tower info.
Definition: PPMSimBSMonitorAlgorithm.h:28
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
RunTileMonitoring.groupName
groupName
Definition: RunTileMonitoring.py:158
TriggerTowerContainer.h
M_PI
#define M_PI
Definition: ActiveFraction.h:11
ITrigT1CaloMonErrorTool.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
PPMSimBSMonitorAlgorithm::m_simulationADCCut
Gaudi::Property< int > m_simulationADCCut
Definition: PPMSimBSMonitorAlgorithm.h:49
PPMSimBSMonitorAlgorithm::MonitorTT::tower
const xAOD::TriggerTower * tower
Definition: PPMSimBSMonitorAlgorithm.h:29
PPMSimBSMonitorAlgorithm::makePPMTower
StatusCode makePPMTower(const xAOD::TriggerTower *tt, std::vector< MonitorTT > &vecMonTT) const
Helper functions.
Definition: PPMSimBSMonitorAlgorithm.cxx:373
PPMSimBSMonitorAlgorithm::m_phiScaleTT
Gaudi::Property< double > m_phiScaleTT
Properties.
Definition: PPMSimBSMonitorAlgorithm.h:48
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PPMSimBSMonitorAlgorithm::m_mutex
std::mutex m_mutex
Definition: PPMSimBSMonitorAlgorithm.h:71
AthMonitorAlgorithm.h
L1CaloRunParametersContainer.h
xAOD::TriggerTower_v2
Description of TriggerTower_v2.
Definition: TriggerTower_v2.h:49
IL1TriggerTowerToolRun3.h
PPMSimBSMonitorAlgorithm
Definition: PPMSimBSMonitorAlgorithm.py:1
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
PPMSimBSMonitorAlgorithm::ErrorVector
std::vector< int > ErrorVector
Definition: PPMSimBSMonitorAlgorithm.h:38
L1CaloRunParameters.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
PPMSimBSMonitorAlgorithm::m_runParametersContainer
SG::ReadCondHandleKey< L1CaloRunParametersContainer > m_runParametersContainer
Definition: PPMSimBSMonitorAlgorithm.h:58
LVL1::TrigT1CaloDefs::xAODTriggerTowerLocation
static const std::string xAODTriggerTowerLocation
Definition: TrigT1CaloDefs.h:36
TrigT1CaloDefs.h
PPMSimBSMonitorAlgorithm::PPMSimBSMonitorAlgorithm
PPMSimBSMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: PPMSimBSMonitorAlgorithm.cxx:9
SG::ReadCondHandleKey< L1CaloRunParametersContainer >
IL1TriggerTowerTool.h
PPMSimBSMonitorAlgorithm::m_xAODTriggerTowerContainerName
SG::ReadHandleKey< xAOD::TriggerTowerContainer > m_xAODTriggerTowerContainerName
container keys including steering parameter and description
Definition: PPMSimBSMonitorAlgorithm.h:43
PPMSimBSMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: PPMSimBSMonitorAlgorithm.cxx:33
PPMSimBSMonitorAlgorithm::MonitorTT::phi1d
double phi1d
phi for 2d maps with integer bins (taking into account granularity in eta)
Definition: PPMSimBSMonitorAlgorithm.h:31
PPMSimBSMonitorAlgorithm::MonitorTT::phiScaled
double phiScaled
Definition: PPMSimBSMonitorAlgorithm.h:30
PPMSimBSMonitorAlgorithm::m_errorLocation
SG::WriteHandleKey< std::vector< int > > m_errorLocation
Definition: PPMSimBSMonitorAlgorithm.h:54
PPMSimBSMonitorAlgorithm::ATLAS_THREAD_SAFE
std::map< uint32_t, int > m_errorLB_tt_counter ATLAS_THREAD_SAFE
Definition: PPMSimBSMonitorAlgorithm.h:72
PPMSimBSMonitorAlgorithm::m_ttTool
ToolHandle< LVL1::IL1TriggerTowerToolRun3 > m_ttTool
Definition: PPMSimBSMonitorAlgorithm.h:45
PPMSimBSMonitorAlgorithm::m_packageName
StringProperty m_packageName
Definition: PPMSimBSMonitorAlgorithm.h:40
PPMSimBSMonitorAlgorithm::MonitorTT::maxADC
double maxADC
Definition: PPMSimBSMonitorAlgorithm.h:33
TileDCSDataPlotter.tt
tt
Definition: TileDCSDataPlotter.py:874
PPMSimBSMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: PPMSimBSMonitorAlgorithm.cxx:14