ATLAS Offline Software
Loading...
Searching...
No Matches
LArNoisyROSummary.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LArNoisyROSummary_h
6#define LArNoisyROSummary_h
7
10
11#include <vector>
12#include <stdint.h>
13
14
26
28{
29 public:
30 // bit masks to set bitpattern according to which partition flagged the event
33 EMECAMask=0x10, EMECCMask=0x20,
34 EMBAMask=0x40, EMBCMask=0x80};
35
36 //* Constructor */
38
40
41 //** clear internal data (useful for ARA that does not unpack to a new object every time) */
42 void clear();
43
44
45 //** Set the list of noisy FEBs via the FEB HWIdentifiers */
46 void set_noisy_febs(const std::vector<HWIdentifier>& );
47
48 //** add a FEB to the bad FEB list */
49 void add_noisy_feb(HWIdentifier febid);
50
51 //** Set the list of MNB Tight FEBs via the FEB HWIdentifiers */
52 void set_MNBTight_febs(const std::vector<HWIdentifier>& );
53
54 //** add an MNB Tight FEB to the bad FEB list */
56
57 //** Set the list of MNB Tight_PsVeto FEBs via the FEB HWIdentifiers */
58 void set_MNBTight_PsVeto_febs(const std::vector<HWIdentifier>& );
59
60 //** add an MNB Tight_PsVeto FEB to the bad FEB list */
62
63 //** Set the list of MNB Tight FEBs via the FEB HWIdentifiers */
64 void set_MNBLoose_febs(const std::vector<HWIdentifier>& );
65
66 //** add an MNB Tight FEB to the bad FEB list */
68
69 //** Set the list of noisy preamps: for each FEB identifier via HWIdentifier keep the noisy preamps as the first channel number for that preamp */
70 void set_noisy_preamps(const std::vector< std::pair<HWIdentifier, std::vector<int> > >&);
71
72 //** add noisy preamp as FEB id + first channel for preamp */
73 void add_noisy_preamp(HWIdentifier febid, int channel);
74
75 //** add a HVline to the bad HVlines list */
77
78
79 //** set Partition bit pattern for bad FEB flagging **//
80 void SetBadFEBFlaggedPartitions(uint8_t bitpattern) { m_BadFEBFlaggedPartitions = bitpattern;}
81
82 //** set Partition bit pattern for bad FEB flagging - Weighted computation**//
83 void SetBadFEB_WFlaggedPartitions(uint8_t bitpattern) { m_BadFEB_WFlaggedPartitions = bitpattern;}
84
85 //** set Partition bit pattern for saturated cells medium criteria flagging **//
86 void SetSatMediumFlaggedPartitions(uint8_t bitpattern) { m_SatMediumFlaggedPartitions = bitpattern;}
87
88 //** set Partition bit pattern for saturated cells tight criteria flagging **//
89 void SetSatTightFlaggedPartitions(uint8_t bitpattern) { m_SatTightFlaggedPartitions = bitpattern;}
90
91 //** Set Partition bit pattern for mini-noise-burst flagging (tight) **/
92 void SetMNBTightFlaggedPartitions(uint8_t bitpattern) { m_MNBTightFlaggedPartitions=bitpattern; }
93
94 //** Set Partition bit pattern for mini-noise-burst flagging **/
95 void SetMNBLooseFlaggedPartitions(uint8_t bitpattern) { m_MNBLooseFlaggedPartitions=bitpattern; }
96
97 //** Set Partition bit pattern for mini-noise-burst flagging (tight_psveto) **/
99
100 //** set Partition bit pattern for bad hvlines flagging **//
101 void SetBadHVlinesPartitions(uint8_t bitpattern) { m_BadHVlinesPartitions = bitpattern;}
102
103
104 //** retrieve noisy FEBs by id */
105 const std::vector<HWIdentifier>& get_noisy_febs() const;
106
107 //** retrieve MNB Tight FEBs by id */
108 const std::vector<HWIdentifier>& get_MNBTight_febs() const;
109
110 //** retrieve MNB Tight FEBs by id */
111 const std::vector<HWIdentifier>& get_MNBTight_PsVeto_febs() const;
112
113 //** retrieve MNB Loose FEBs by id */
114 const std::vector<HWIdentifier>& get_MNBLoose_febs() const;
115
116 //** retrieve noisy preamplifiers */
117 const std::vector<std::pair<HWIdentifier, std::vector<int> > >& get_noisy_preamps() const;
118
119 //** Partition bit map for bad FEB flagging **//
121
122 //** Partition bit map for bad FEB flagging - Weighted computation**//
124
125 //** Partition bit map for saturated cells medium criteria flagging **//
127
128 //** Partition bit map for saturated cells tight criteria flagging **//
130
131 //** Partition bit map for mini-noise-burst flagging **//
133
134 //** Partition bit map for mini-noise-burst flagging (tight) **//
136
137 //** Partition bit map for mini-noise-burst flagging (tight_psveto) **//
139
140 //** Partition bit map for HV line flagging **//
142
143 //** retrieve noisy HVlines */
144 const std::vector<HWIdentifier>& get_noisy_hvlines() const;
145
146
147 private:
148
149 //** List of noisy FEBs */
150 std::vector<HWIdentifier> m_noisy_febs;
151
152 //** List of MNB Tight FEBs */
153 std::vector<HWIdentifier> m_MNBTight_febs;
154
155 //** List of MNB Tight FEBs */
156 std::vector<HWIdentifier> m_MNBTight_PsVeto_febs;
157
158 //** List of MNB Loose FEBs */
159 std::vector<HWIdentifier> m_MNBLoose_febs;
160
161 //** List of noisy preamps, for each FEB identifier via HWIdentifier keep the noisy preamps as the first channel number for that preamp */
162 std::vector< std::pair<HWIdentifier, std::vector<int> > > m_noisy_preamps;
163
164 //** List of noisy HVlines */
165 std::vector<HWIdentifier> m_noisy_hvlines;
166
171
172 //** Flags for Mini-noise-bursts */
176
177
178 //** Flags for HV lines noise bursts
180
181};
182
183
184CLASS_DEF( LArNoisyROSummary , 112588521 , 4 )
185
186
187#endif
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Summary information for noisy LAr preamp / FEBs.
void add_MNBTight_feb(HWIdentifier febid)
std::vector< HWIdentifier > m_noisy_hvlines
const std::vector< HWIdentifier > & get_MNBTight_PsVeto_febs() const
uint8_t m_MNBLooseFlaggedPartitions
uint8_t BadFEB_WFlaggedPartitions() const
std::vector< HWIdentifier > m_MNBTight_febs
void add_MNBLoose_feb(HWIdentifier febid)
std::vector< HWIdentifier > m_MNBLoose_febs
uint8_t MNBTight_PsVetoFlaggedPartitions() const
const std::vector< HWIdentifier > & get_MNBTight_febs() const
uint8_t HVlineFlaggedPartitions() const
void add_noisy_preamp(HWIdentifier febid, int channel)
std::vector< std::pair< HWIdentifier, std::vector< int > > > m_noisy_preamps
void add_MNBTight_PsVeto_feb(HWIdentifier febid)
void SetMNBTight_PsVetoFlaggedPartitions(uint8_t bitpattern)
std::vector< HWIdentifier > m_noisy_febs
void SetMNBLooseFlaggedPartitions(uint8_t bitpattern)
uint8_t MNBTightFlaggedPartitions() const
void set_MNBTight_PsVeto_febs(const std::vector< HWIdentifier > &)
uint8_t BadFEBFlaggedPartitions() const
void SetMNBTightFlaggedPartitions(uint8_t bitpattern)
void SetSatTightFlaggedPartitions(uint8_t bitpattern)
std::vector< HWIdentifier > m_MNBTight_PsVeto_febs
void SetBadFEB_WFlaggedPartitions(uint8_t bitpattern)
uint8_t m_BadFEB_WFlaggedPartitions
void SetBadFEBFlaggedPartitions(uint8_t bitpattern)
void SetSatMediumFlaggedPartitions(uint8_t bitpattern)
uint8_t MNBLooseFlaggedPartitions() const
void set_noisy_preamps(const std::vector< std::pair< HWIdentifier, std::vector< int > > > &)
void set_MNBLoose_febs(const std::vector< HWIdentifier > &)
uint8_t m_SatMediumFlaggedPartitions
void SetBadHVlinesPartitions(uint8_t bitpattern)
uint8_t SatMediumFlaggedPartitions() const
uint8_t m_MNBTight_PsVetoFlaggedPartitions
const std::vector< HWIdentifier > & get_MNBLoose_febs() const
uint8_t m_MNBTightFlaggedPartitions
void add_noisy_hvline(HWIdentifier hvid)
const std::vector< HWIdentifier > & get_noisy_febs() const
const std::vector< std::pair< HWIdentifier, std::vector< int > > > & get_noisy_preamps() const
uint8_t m_SatTightFlaggedPartitions
const std::vector< HWIdentifier > & get_noisy_hvlines() const
void set_MNBTight_febs(const std::vector< HWIdentifier > &)
uint8_t SatTightFlaggedPartitions() const
void set_noisy_febs(const std::vector< HWIdentifier > &)
void add_noisy_feb(HWIdentifier febid)