5#ifndef LARMONITORING_LARFEBMONALG_H
6#define LARMONITORING_LARFEBMONALG_H
31 LArFEBMonAlg(
const std::string& name, ISvcLocator* pSvcLocator);
34 virtual StatusCode
initialize() override final;
35 virtual StatusCode fillHistograms(
const EventContext& ctx)
const override final;
42 {
this,
"Run1DSPThresholdsKey",
"",
"SG key for DSP thresholds, run1"};
44 {
this,
"Run2DSPThresholdsKey",
"",
"SG key for DSP thresholds, run2"};
50 Gaudi::Property<std::vector<std::string> >
m_excoscalo{
this,
"ExcludeInCosmicCalo",{},
"Triggers excluded in CosmicCalo stream"};
51 Gaudi::Property<std::vector<std::string> >
m_streams{
this,
"Streams", {},
"Which streams to monitor, if empty, only simple profile per partition (offline case)"};
52 Gaudi::Property<std::vector<std::string> >
m_partitions {
this,
"PartitionNames", {} };
53 Gaudi::Property<std::vector<std::string> >
m_SubDetNames{
this,
"SubDetNames", {} };
55 Gaudi::Property<std::string>
m_monGroupName {
this,
"MonGroup",
"FEBMon",
"LArLARFEBMonGroup"};
67 typedef std::map<std::pair<unsigned int, unsigned int>,
unsigned int >
MaskedFebs;
69 void fillErrorsSummary(
unsigned int partitNb_2,
int ft,
int slot,uint16_t
error,
bool lar_inerror, std::bitset<13> &rejectionBits,
bool ¤tFebStatus ,
bool &eventRejected)
const;
LArBadXCont< LArBadFeb > LArBadFebCont
A LArRawConditionsContainer holding thresholds used by the DSP.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< std::vector< std::string > > m_partitions
Gaudi::Property< int > m_nFEBnominal
Gaudi::Property< std::string > m_monGroupName
SG::ReadHandleKey< LArFebErrorSummary > m_lArFebErrorSummaryKey
std::map< std::pair< unsigned int, unsigned int >, unsigned int > MaskedFebs
StatusCode procHistograms()
bool m_dspThrDone ATLAS_THREAD_SAFE
SG::ReadCondHandleKey< LArBadFebCont > m_BFKey
Gaudi::Property< bool > m_ignoreMissingHeaderPS
SG::ReadCondHandleKey< AthenaAttributeList > m_run2DSPThresholdsKey
Gaudi::Property< std::vector< std::string > > m_excoscalo
SG::ReadHandleKey< LArFebHeaderContainer > m_hdrContKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
Gaudi::Property< bool > m_ignoreMissingHeaderEMB
std::atomic< int > m_nbOfFebBlocksTotal
std::vector< std::map< std::string, int > > m_histoGroups
void plotMaskedFEB() const
unsigned int returnPartition(int be, int pn, int ft, int sl) const
Gaudi::Property< std::vector< std::string > > m_streams
void fillErrorsSummary(unsigned int partitNb_2, int ft, int slot, uint16_t error, bool lar_inerror, std::bitset< 13 > &rejectionBits, bool ¤tFebStatus, bool &eventRejected) const
const LArOnlineID * m_onlineHelper
Gaudi::Property< std::vector< std::string > > m_SubDetNames
SG::ReadCondHandleKey< LArDSPThresholdsComplete > m_run1DSPThresholdsKey
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.