ATLAS Offline Software
Loading...
Searching...
No Matches
TileMonitorAlgorithm.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TILEMONITORING_TILEMONITORALGORITHM_H
6#define TILEMONITORING_TILEMONITORALGORITHM_H
7
9#include "Identifier/Identifier.h"
11
12class CaloCell;
13class TileID;
14
18
20
21 public:
22
23 TileMonitorAlgorithm(const std::string& name, ISvcLocator* svcLocator)
24 :AthMonitorAlgorithm(name, svcLocator), m_l1TriggerIndices(9, -1) {}
25
27 virtual ~TileMonitorAlgorithm() = default;
28 virtual StatusCode initialize() override;
29 virtual StatusCode fillHistograms(const EventContext& ctx) const override = 0;
30
37
43
49 PART_EBC, PART_ALL, MAX_PART}; // ROS - 1
50
56 std::vector<int> getL1TriggerIndices(uint32_t lvl1TriggerType) const;
57
63 L1TriggerTypeBit getL1TriggerTypeBit(int lvl1TriggerIdx) const;
64
68 int getNumberOfL1Triggers(void) const {return m_fillHistogramsForL1Triggers.size();};
69
75 bool isPhysicsEvent(uint32_t lvl1TriggerType) const;
76
81 Partition getPartition(const CaloCell* cell, const TileID* tileID) const;
82
87 Partition getPartition(Identifier id, const TileID* tileID) const;
88
93 Partition getPartition(IdentifierHash hash, const TileID* tileID) const;
94
95
96 private:
97
98 L1TriggerTypeBit getL1TriggerTypeBitFromName(const std::string& triggerBitName) const;
99
100 Gaudi::Property<std::vector<std::string>> m_fillHistogramsForL1Triggers{this,
101 "fillHistogramsForL1Triggers", {}, "Fill histograms per given L1 trigger types"};
102
103 std::vector<L1TriggerTypeBit> m_l1Triggers;
104 std::vector<int> m_l1TriggerIndices;
105 std::vector<std::string> m_l1TriggerBitNames{"bit0_RNDM", "bit1_ZeroBias", "bit2_L1CAL", "bit3_MUON",
106 "bit4_RPC", "bit5_FTK", "bti6_CTP", "bit7_Calib", "AnyPhysTrig"};
107};
108
109
110#endif // TILEMONITORING_TILEMONITORALGORITHM_H
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Data object for each calorimeter readout cell.
Definition CaloCell.h:57
This is a "hash" representation of an Identifier.
Helper class for TileCal offline identifiers.
Definition TileID.h:67
std::vector< int > m_l1TriggerIndices
std::vector< L1TriggerTypeBit > m_l1Triggers
int getNumberOfL1Triggers(void) const
Return number of L1 triggers for which histograms should be filled.
AuxiliarySampling
Describes Tile auxiliary sampling.
virtual StatusCode fillHistograms(const EventContext &ctx) const override=0
adds event to the monitoring histograms
Partition
Describes Tile partitions (ROS - 1)
Gaudi::Property< std::vector< std::string > > m_fillHistogramsForL1Triggers
L1TriggerTypeBit getL1TriggerTypeBitFromName(const std::string &triggerBitName) const
virtual StatusCode initialize() override
initialize
virtual ~TileMonitorAlgorithm()=default
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
std::vector< int > getL1TriggerIndices(uint32_t lvl1TriggerType) const
Return indices of histograms to be filled according fired L1 trigger type.
L1TriggerTypeBit
Describes L1 trigger type bits.
TileMonitorAlgorithm(const std::string &name, ISvcLocator *svcLocator)
L1TriggerTypeBit getL1TriggerTypeBit(int lvl1TriggerIdx) const
Return Level1 Trigger type bit according trigger index.
bool isPhysicsEvent(uint32_t lvl1TriggerType) const
Return true if it is physics event or false for calibration event.
Partition getPartition(const CaloCell *cell, const TileID *tileID) const
Return Partition for Tile cell or MAX_PART otherwise.
std::vector< std::string > m_l1TriggerBitNames