ATLAS Offline Software
LArNoisyROSummary.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 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 {
27  public:
28  // bit masks to set bitpattern according to which partition flagged the event
30  HECAMask=0x4, HECCMask=0x8,
31  EMECAMask=0x10, EMECCMask=0x20,
32  EMBAMask=0x40, EMBCMask=0x80};
33 
34  //* Constructor */
36 
38 
39  //** clear internal data (useful for ARA that does not unpack to a new object every time) */
40  void clear();
41 
42 
43  //** Set the list of noisy FEBs via the FEB HWIdentifiers */
44  void set_noisy_febs(const std::vector<HWIdentifier>& );
45 
46  //** add a FEB to the bad FEB list */
47  void add_noisy_feb(HWIdentifier febid);
48 
49  //** Set the list of MNB Tight FEBs via the FEB HWIdentifiers */
50  void set_MNBTight_febs(const std::vector<HWIdentifier>& );
51 
52  //** add an MNB Tight FEB to the bad FEB list */
53  void add_MNBTight_feb(HWIdentifier febid);
54 
55  //** Set the list of MNB Tight_PsVeto FEBs via the FEB HWIdentifiers */
56  void set_MNBTight_PsVeto_febs(const std::vector<HWIdentifier>& );
57 
58  //** add an MNB Tight_PsVeto FEB to the bad FEB list */
60 
61  //** Set the list of MNB Tight FEBs via the FEB HWIdentifiers */
62  void set_MNBLoose_febs(const std::vector<HWIdentifier>& );
63 
64  //** add an MNB Tight FEB to the bad FEB list */
65  void add_MNBLoose_feb(HWIdentifier febid);
66 
67  //** Set the list of noisy preamps: for each FEB identifier via HWIdentifier keep the noisy preamps as the first channel number for that preamp */
68  void set_noisy_preamps(const std::vector< std::pair<HWIdentifier, std::vector<int> > >&);
69 
70  //** add noisy preamp as FEB id + first channel for preamp */
71  void add_noisy_preamp(HWIdentifier febid, int channel);
72 
73 
74 
75  //** set Partition bit pattern for bad FEB flagging **//
77 
78  //** set Partition bit pattern for bad FEB flagging - Weighted computation**//
80 
81  //** set Partition bit pattern for saturated cells medium criteria flagging **//
83 
84  //** set Partition bit pattern for saturated cells tight criteria flagging **//
86 
87  //** Set Partition bit pattern for mini-noise-burst flagging (tight) **/
89 
90  //** Set Partition bit pattern for mini-noise-burst flagging **/
92 
93  //** Set Partition bit pattern for mini-noise-burst flagging (tight_psveto) **/
95 
96  //** retrieve noisy FEBs by id */
97  const std::vector<HWIdentifier>& get_noisy_febs() const;
98 
99  //** retrieve MNB Tight FEBs by id */
100  const std::vector<HWIdentifier>& get_MNBTight_febs() const;
101 
102  //** retrieve MNB Tight FEBs by id */
103  const std::vector<HWIdentifier>& get_MNBTight_PsVeto_febs() const;
104 
105  //** retrieve MNB Loose FEBs by id */
106  const std::vector<HWIdentifier>& get_MNBLoose_febs() const;
107 
108  //** retrieve noisy preamplifiers */
109  const std::vector<std::pair<HWIdentifier, std::vector<int> > >& get_noisy_preamps() const;
110 
111  //** Partition bit map for bad FEB flagging **//
113 
114  //** Partition bit map for bad FEB flagging - Weighted computation**//
116 
117  //** Partition bit map for saturated cells medium criteria flagging **//
119 
120  //** Partition bit map for saturated cells tight criteria flagging **//
122 
123  //** Partition bit map for mini-noise-burst flagging **//
125 
126  //** Partition bit map for mini-noise-burst flagging (tight) **//
128 
129  //** Partition bit map for mini-noise-burst flagging (tight_psveto) **//
131 
132 
133  private:
134 
135  //** List of noisy FEBs */
136  std::vector<HWIdentifier> m_noisy_febs;
137 
138  //** List of MNB Tight FEBs */
139  std::vector<HWIdentifier> m_MNBTight_febs;
140 
141  //** List of MNB Tight FEBs */
142  std::vector<HWIdentifier> m_MNBTight_PsVeto_febs;
143 
144  //** List of MNB Loose FEBs */
145  std::vector<HWIdentifier> m_MNBLoose_febs;
146 
147  //** List of noisy preamps, for each FEB identifier via HWIdentifier keep the noisy preamps as the first channel number for that preamp */
148  std::vector< std::pair<HWIdentifier, std::vector<int> > > m_noisy_preamps;
149 
154 
155  //** Flags for Mini-noise-bursts */
159 
160 };
161 
162 
163 CLASS_DEF( LArNoisyROSummary , 112588521 , 3 )
164 
165 
166 #endif
LArNoisyROSummary::SetSatMediumFlaggedPartitions
void SetSatMediumFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:82
LArNoisyROSummary::EMBAMask
@ EMBAMask
Definition: LArNoisyROSummary.h:32
LArNoisyROSummary::m_MNBTight_PsVetoFlaggedPartitions
uint8_t m_MNBTight_PsVetoFlaggedPartitions
Definition: LArNoisyROSummary.h:158
LArNoisyROSummary::FCALCMask
@ FCALCMask
Definition: LArNoisyROSummary.h:29
LArNoisyROSummary::EMECCMask
@ EMECCMask
Definition: LArNoisyROSummary.h:31
LArNoisyROSummary::MNBTight_PsVetoFlaggedPartitions
uint8_t MNBTight_PsVetoFlaggedPartitions() const
Definition: LArNoisyROSummary.h:130
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
LArNoisyROSummary::m_BadFEB_WFlaggedPartitions
uint8_t m_BadFEB_WFlaggedPartitions
Definition: LArNoisyROSummary.h:151
LArNoisyROSummary::LArNoisyROSummary
LArNoisyROSummary()
Definition: LArNoisyROSummary.cxx:8
LArNoisyROSummary::get_MNBTight_PsVeto_febs
const std::vector< HWIdentifier > & get_MNBTight_PsVeto_febs() const
Definition: LArNoisyROSummary.cxx:118
LArNoisyROSummary::m_SatMediumFlaggedPartitions
uint8_t m_SatMediumFlaggedPartitions
Definition: LArNoisyROSummary.h:152
LArNoisyROSummary::SetMNBLooseFlaggedPartitions
void SetMNBLooseFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:91
LArNoisyROSummary::set_noisy_preamps
void set_noisy_preamps(const std::vector< std::pair< HWIdentifier, std::vector< int > > > &)
Definition: LArNoisyROSummary.cxx:80
LArNoisyROSummary::set_noisy_febs
void set_noisy_febs(const std::vector< HWIdentifier > &)
Definition: LArNoisyROSummary.cxx:39
LArNoisyROSummary::SetSatTightFlaggedPartitions
void SetSatTightFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:85
LArNoisyROSummary::HECAMask
@ HECAMask
Definition: LArNoisyROSummary.h:30
LArNoisyROSummary::get_noisy_preamps
const std::vector< std::pair< HWIdentifier, std::vector< int > > > & get_noisy_preamps() const
Definition: LArNoisyROSummary.cxx:129
LArNoisyROSummary::SatTightFlaggedPartitions
uint8_t SatTightFlaggedPartitions() const
Definition: LArNoisyROSummary.h:121
LArNoisyROSummary::SetMNBTight_PsVetoFlaggedPartitions
void SetMNBTight_PsVetoFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:94
LArNoisyROSummary::PartitionMask
PartitionMask
Definition: LArNoisyROSummary.h:29
HWIdentifier
Definition: HWIdentifier.h:13
LArNoisyROSummary::add_MNBTight_feb
void add_MNBTight_feb(HWIdentifier febid)
Definition: LArNoisyROSummary.cxx:55
LArNoisyROSummary::m_MNBLooseFlaggedPartitions
uint8_t m_MNBLooseFlaggedPartitions
Definition: LArNoisyROSummary.h:156
LArNoisyROSummary::EMECAMask
@ EMECAMask
Definition: LArNoisyROSummary.h:31
LArNoisyROSummary::get_MNBLoose_febs
const std::vector< HWIdentifier > & get_MNBLoose_febs() const
Definition: LArNoisyROSummary.cxx:123
LArNoisyROSummary::m_noisy_preamps
std::vector< std::pair< HWIdentifier, std::vector< int > > > m_noisy_preamps
Definition: LArNoisyROSummary.h:148
LArNoisyROSummary::MNBTightFlaggedPartitions
uint8_t MNBTightFlaggedPartitions() const
Definition: LArNoisyROSummary.h:127
LArNoisyROSummary::EMBCMask
@ EMBCMask
Definition: LArNoisyROSummary.h:32
LArNoisyROSummary::m_SatTightFlaggedPartitions
uint8_t m_SatTightFlaggedPartitions
Definition: LArNoisyROSummary.h:153
LArNoisyROSummary::set_MNBTight_PsVeto_febs
void set_MNBTight_PsVeto_febs(const std::vector< HWIdentifier > &)
Definition: LArNoisyROSummary.cxx:60
LArNoisyROSummary::MNBLooseFlaggedPartitions
uint8_t MNBLooseFlaggedPartitions() const
Definition: LArNoisyROSummary.h:124
LArNoisyROSummary::HECCMask
@ HECCMask
Definition: LArNoisyROSummary.h:30
LArNoisyROSummary::m_BadFEBFlaggedPartitions
uint8_t m_BadFEBFlaggedPartitions
Definition: LArNoisyROSummary.h:150
LArNoisyROSummary::get_noisy_febs
const std::vector< HWIdentifier > & get_noisy_febs() const
Definition: LArNoisyROSummary.cxx:108
LArNoisyROSummary::add_MNBLoose_feb
void add_MNBLoose_feb(HWIdentifier febid)
Definition: LArNoisyROSummary.cxx:75
LArNoisyROSummary::clear
void clear()
Definition: LArNoisyROSummary.cxx:23
LArNoisyROSummary::add_MNBTight_PsVeto_feb
void add_MNBTight_PsVeto_feb(HWIdentifier febid)
Definition: LArNoisyROSummary.cxx:65
HWIdentifier.h
LArNoisyROSummary::SetMNBTightFlaggedPartitions
void SetMNBTightFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:88
LArNoisyROSummary::m_MNBTightFlaggedPartitions
uint8_t m_MNBTightFlaggedPartitions
Definition: LArNoisyROSummary.h:157
LArNoisyROSummary::m_MNBTight_febs
std::vector< HWIdentifier > m_MNBTight_febs
Definition: LArNoisyROSummary.h:139
LArNoisyROSummary::set_MNBLoose_febs
void set_MNBLoose_febs(const std::vector< HWIdentifier > &)
Definition: LArNoisyROSummary.cxx:70
LArNoisyROSummary::SetBadFEBFlaggedPartitions
void SetBadFEBFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:76
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
LArNoisyROSummary::BadFEB_WFlaggedPartitions
uint8_t BadFEB_WFlaggedPartitions() const
Definition: LArNoisyROSummary.h:115
LArNoisyROSummary::get_MNBTight_febs
const std::vector< HWIdentifier > & get_MNBTight_febs() const
Definition: LArNoisyROSummary.cxx:113
LArNoisyROSummary::FCALAMask
@ FCALAMask
Definition: LArNoisyROSummary.h:29
LArNoisyROSummary::m_MNBLoose_febs
std::vector< HWIdentifier > m_MNBLoose_febs
Definition: LArNoisyROSummary.h:145
LArNoisyROSummary::m_noisy_febs
std::vector< HWIdentifier > m_noisy_febs
Definition: LArNoisyROSummary.h:136
LArNoisyROSummary::~LArNoisyROSummary
~LArNoisyROSummary()
Definition: LArNoisyROSummary.cxx:19
LArNoisyROSummary::add_noisy_preamp
void add_noisy_preamp(HWIdentifier febid, int channel)
Definition: LArNoisyROSummary.cxx:85
LArNoisyROSummary::SatMediumFlaggedPartitions
uint8_t SatMediumFlaggedPartitions() const
Definition: LArNoisyROSummary.h:118
CLASS_DEF.h
macros to associate a CLID to a type
LArNoisyROSummary::add_noisy_feb
void add_noisy_feb(HWIdentifier febid)
Definition: LArNoisyROSummary.cxx:45
LArNoisyROSummary::BadFEBFlaggedPartitions
uint8_t BadFEBFlaggedPartitions() const
Definition: LArNoisyROSummary.h:112
LArNoisyROSummary::set_MNBTight_febs
void set_MNBTight_febs(const std::vector< HWIdentifier > &)
Definition: LArNoisyROSummary.cxx:50
LArNoisyROSummary::SetBadFEB_WFlaggedPartitions
void SetBadFEB_WFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:79
LArNoisyROSummary::m_MNBTight_PsVeto_febs
std::vector< HWIdentifier > m_MNBTight_PsVeto_febs
Definition: LArNoisyROSummary.h:142
LArNoisyROSummary
Summary information for noisy LAr preamp / FEBs.
Definition: LArNoisyROSummary.h:26