ATLAS Offline Software
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 
26 class 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 
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
LArCalibDigitContainer.h
LArCalibPedMonAlg::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition: LArCalibPedMonAlg.h:63
PlotCalibFromCool.ft
ft
Definition: PlotCalibFromCool.py:329
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
LArCalibPedMonAlg::m_SubDetNames
Gaudi::Property< std::vector< std::string > > m_SubDetNames
Definition: LArCalibPedMonAlg.h:55
LArAccumulatedDigitContainer.h
SG::ReadHandleKey< LArAccumulatedDigitContainer >
LArCalibPedMonAlg::m_histoGroups
std::vector< std::map< std::string, int > > m_histoGroups
Definition: LArCalibPedMonAlg.h:60
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
python.ZdcRecConfig.pn
pn
Definition: ZdcRecConfig.py:357
LArCalibPedMonAlg::m_nbOfFebBlocksTotal
std::atomic< int > m_nbOfFebBlocksTotal
Definition: LArCalibPedMonAlg.h:66
LArCalibPedMonAlg::m_partitions
Gaudi::Property< std::vector< std::string > > m_partitions
Definition: LArCalibPedMonAlg.h:54
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
LArCalibPedMonAlg::fillErrorsSummary
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
Definition: LArCalibPedMonAlg.cxx:221
LArCalibPedMonAlg::m_MonGroupName
Gaudi::Property< std::string > m_MonGroupName
Definition: LArCalibPedMonAlg.h:57
LArCalibPedMonAlg
Definition: LArCalibPedMonAlg.py:1
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthMonitorAlgorithm.h
LArCalibPedMonAlg::LArCalibPedMonAlg
LArCalibPedMonAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArCalibPedMonAlg.cxx:12
LArAccumulatedCalibDigitContainer.h
LArCalibPedMonAlg::m_eventInfoDecorKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
Definition: LArCalibPedMonAlg.h:49
LArFebHeaderContainer.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArOnlineID
Definition: LArOnlineID.h:20
LArCalibPedMonAlg::~LArCalibPedMonAlg
virtual ~LArCalibPedMonAlg()=default
Default destructor.
LArCalibPedMonAlg::m_accDigitContainerKey
SG::ReadHandleKey< LArAccumulatedDigitContainer > m_accDigitContainerKey
Definition: LArCalibPedMonAlg.h:46
LArCalibPedMonAlg::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
Called each event.
Definition: LArCalibPedMonAlg.cxx:52
LArCalibPedMonAlg::returnPartition
unsigned int returnPartition(int be, int pn, int ft, int sl) const
Definition: LArCalibPedMonAlg.cxx:210
LArCalibPedMonAlg::initialize
virtual StatusCode initialize() override
Overwrite dummy method from AlgTool.
Definition: LArCalibPedMonAlg.cxx:19
LArCalibPedMonAlg::m_hdrContKey
SG::ReadHandleKey< LArFebHeaderContainer > m_hdrContKey
Definition: LArCalibPedMonAlg.h:47
LArFebErrorSummary.h
LArCalibPedMonAlg::m_ignoreMissingHeaderEMB
Gaudi::Property< bool > m_ignoreMissingHeaderEMB
Definition: LArCalibPedMonAlg.h:52
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
LArCalibPedMonAlg::m_lArFebErrorSummaryKey
SG::ReadHandleKey< LArFebErrorSummary > m_lArFebErrorSummaryKey
Definition: LArCalibPedMonAlg.h:48
error
Definition: IImpactPoint3dEstimator.h:70
PlotCalibFromCool.be
be
Definition: PlotCalibFromCool.py:398
LArCalibPedMonAlg::m_ignoreMissingHeaderPS
Gaudi::Property< bool > m_ignoreMissingHeaderPS
Definition: LArCalibPedMonAlg.h:53