ATLAS Offline Software
Loading...
Searching...
No Matches
LArCalibPedMonAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LARCALIBPEDMONALG_H
6#define LARCALIBPEDMONALG_H
7
9
10
15
19
20#include <string>
21#include <vector>
22#include <map>
23#include <cstdint>
24#include <atomic>
25
26class LArOnlineID;
27
29{
30 public:
31 LArCalibPedMonAlg(const std::string& name,ISvcLocator* pSvcLocator );
32
34 virtual ~LArCalibPedMonAlg() = default;
35
37 virtual StatusCode initialize() override;
38
39
41 virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
42
43 private:
44
45 // keys to access info
46 SG::ReadHandleKey<LArAccumulatedDigitContainer> m_accDigitContainerKey{this,"LArAccumulatedDigitContainerKey","","SG key of LArAccumulatedDigitContainer read from Bytestream"};
47 SG::ReadHandleKey<LArFebHeaderContainer> m_hdrContKey{this, "LArFebHeaderKey", "LArFebHeader"};
48 SG::ReadHandleKey<LArFebErrorSummary> m_lArFebErrorSummaryKey{this, "LArFebErrorSummaryKey", "LArFebErrorSummary"};
49 SG::ReadDecorHandleKey<xAOD::EventInfo> m_eventInfoDecorKey{this, "LArStatusFlag", "EventInfo.larFlags", "Key for EventInfo object"};
50
51 // Properties
52 Gaudi::Property<bool> m_ignoreMissingHeaderEMB{this, "IgnoreMissingHeaderEMB", false};
53 Gaudi::Property<bool> m_ignoreMissingHeaderPS{this, "IgnoreMissingHeaderPS", false};
54 Gaudi::Property<std::vector<std::string> > m_partitions {this, "PartitionNames", {} };
55 Gaudi::Property<std::vector<std::string> > m_SubDetNames{this, "SubDetNames", {} };
56 //MonGroup(s) name
57 Gaudi::Property<std::string> m_MonGroupName {this,"LArPedGroupName","LArPedMonGroup"};
58
59 /* Histogram grouping (part) */
60 std::vector<std::map<std::string,int> > m_histoGroups;
61
62 // Id helper
64 void fillErrorsSummary(unsigned int partitNb_2,int ft,int slot,uint16_t error, bool lar_inerror, std::bitset<13> &rejectionBits, bool &currentFebStatus , bool &eventRejected) const;
65 unsigned int returnPartition(int be,int pn,int ft,int sl) const;
66 mutable std::atomic<int> m_nbOfFebBlocksTotal;
67};
68
69#endif
70
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.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< std::vector< std::string > > m_partitions
Gaudi::Property< bool > m_ignoreMissingHeaderEMB
unsigned int returnPartition(int be, int pn, int ft, int sl) const
Gaudi::Property< std::string > m_MonGroupName
std::atomic< int > m_nbOfFebBlocksTotal
const LArOnlineID * m_onlineHelper
Gaudi::Property< bool > m_ignoreMissingHeaderPS
void fillErrorsSummary(unsigned int partitNb_2, int ft, int slot, uint16_t error, bool lar_inerror, std::bitset< 13 > &rejectionBits, bool &currentFebStatus, bool &eventRejected) const
std::vector< std::map< std::string, int > > m_histoGroups
Gaudi::Property< std::vector< std::string > > m_SubDetNames
virtual ~LArCalibPedMonAlg()=default
Default destructor.
SG::ReadHandleKey< LArFebHeaderContainer > m_hdrContKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
SG::ReadHandleKey< LArFebErrorSummary > m_lArFebErrorSummaryKey
SG::ReadHandleKey< LArAccumulatedDigitContainer > m_accDigitContainerKey
virtual StatusCode fillHistograms(const EventContext &ctx) const override
Called each event.
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.
void initialize()