Belle II Software development
ARICHAsicInfo.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10#include <vector>
11#include <string>
12#include <TObject.h>
13#include <TTimeStamp.h>
14#include <TH3F.h>
15
16namespace Belle2 {
25 class ARICHAsicInfo: public TObject {
26
27 public:
28
34
38 ARICHAsicInfo(const std::string& id, TTimeStamp timeFinishGain, TTimeStamp timeFinishOffset, std::vector<int>& deadChannel,
39 std::vector<int>& badConnChannel, std::vector<int>& badOffsetChannel, std::vector<int>& badLinChannel, int numProbCh,
40 std::vector<TH3F*>& gain, std::vector<TH3F*>& offset, const std::string& comment): m_id(id), m_timeFinishGain(timeFinishGain),
41 m_timeFinishOffset(timeFinishOffset), m_deadChannel(deadChannel), m_badConnChannel(badConnChannel),
42 m_badOffsetChannel(badOffsetChannel), m_badLinChannel(badLinChannel), m_numProblematicChannels(numProbCh), m_gain(gain),
43 m_offset(offset), m_comment(comment) {};
44
49
54 std::string getAsicID() const {return m_id; }
55
60 void setAsicID(const std::string& id) {m_id = id; }
61
66 TTimeStamp getTimeFinishGain() const {return m_timeFinishGain; }
67
72 void setTimeFinishGain(TTimeStamp timeFinishGain) {m_timeFinishGain = timeFinishGain; }
73
78 TTimeStamp getTimeFinishOffset() const {return m_timeFinishOffset; }
79
84 void setTimeFinishOffset(TTimeStamp timeFinishOffset) {m_timeFinishOffset = timeFinishOffset; }
85
91 int getDeadChannel(unsigned int i) const;
92
97 void appendDeadChannel(int channel) {m_deadChannel.push_back(channel); }
98
103 void setDeadChannels(const std::vector<int>& deadChannels) {m_deadChannel = deadChannels; }
104
109 int getDeadChannelsSize() const {return m_deadChannel.size();}
110
116 int getBadConnChannel(unsigned int i) const;
117
122 void appendBadConnChannel(int channel) { m_badConnChannel.push_back(channel); }
123
128 void setBadConnChannels(const std::vector<int>& badConnChannels) {m_badConnChannel = badConnChannels; }
129
134 int getBadConnChannelsSize() const {return m_badConnChannel.size();}
135
142 int getBadOffsetChannel(unsigned int i) const;
143
148 void appendBadOffsetChannel(int channel) { m_badOffsetChannel.push_back(channel); }
149
154 void setBadOffsetChannels(const std::vector<int>& badOffsetChannels) {m_badOffsetChannel = badOffsetChannels; }
155
160 int getBadOffsetChannelsSize() const {return m_badOffsetChannel.size();}
161
167 int getBadLinChannel(unsigned int i) const;
168
173 void appendBadLinChannel(int channel) { m_badLinChannel.push_back(channel); }
174
179 void setBadLinChannels(const std::vector<int>& badLinChannels) {m_badLinChannel = badLinChannels; }
180
185 int getBadLinChannelsSize() const {return m_badLinChannel.size();}
186
192
197 void setNumOfProblematicChannels(int numProbCh) {m_numProblematicChannels = numProbCh; }
198
203 TH3F* getGainMeasurement(unsigned int i) const;
204
209 void setGainMeasurement(std::vector<TH3F*> gain);
210
215 TH3F* getOffsetMeasurement(unsigned int i) const;
216
221 void setOffsetMeasurement(std::vector<TH3F*> offset);
222
227 std::string getComment() const {return m_comment; }
228
233 void setComment(const std::string& comment) {m_comment = comment; }
234
235
236 private:
237 std::string m_id;
238 TTimeStamp m_timeFinishGain;
240 std::vector<int> m_deadChannel;
241 std::vector<int> m_badConnChannel;
242 std::vector<int> m_badOffsetChannel;
243 std::vector<int> m_badLinChannel;
245 std::vector<TH3F*> m_gain;
246 std::vector<TH3F*> m_offset;
247 std::string m_comment;
250 };
252} // end namespace Belle2
253
Tested ASIC chips.
Definition: ARICHAsicInfo.h:25
void setBadLinChannels(const std::vector< int > &badLinChannels)
Set vector of bad linearity channel numbers.
std::string m_comment
Comment.
TH3F * getOffsetMeasurement(unsigned int i) const
Get measurements with different offset settings.
std::vector< TH3F * > m_gain
Threshold scans with different gain settings.
void setNumOfProblematicChannels(int numProbCh)
Set number of problematic channels.
int getBadConnChannelsSize() const
Get size of the list of channels with bad connections.
std::string getComment() const
Get comment.
std::vector< int > m_deadChannel
List of dead channels on the ASIC chip.
std::vector< int > m_badConnChannel
List of channels with bad connections during the measurement.
void setBadOffsetChannels(const std::vector< int > &badOffsetChannels)
Set vector of bad offset channel numbers.
void setGainMeasurement(std::vector< TH3F * > gain)
Set measurements with different gain settings.
int getBadLinChannel(unsigned int i) const
Get a channel number from the list of channels with bad linearity.
void appendBadLinChannel(int channel)
Add a channel number to the list of channels with bad linearity.
int getBadOffsetChannel(unsigned int i) const
Get a channel number from the list of channels with bad offset adjustment.
std::string m_id
Asic Identifier.
int getDeadChannelsSize() const
Get size of the list of dead channels.
void appendBadConnChannel(int channel)
Add a channel number to the list of channels with bad connections.
void setTimeFinishOffset(TTimeStamp timeFinishOffset)
Set Test date offset - finish.
Definition: ARICHAsicInfo.h:84
TTimeStamp getTimeFinishGain() const
Get test date gain - finish.
Definition: ARICHAsicInfo.h:66
ClassDef(ARICHAsicInfo, 3)
ClassDef.
void setBadConnChannels(const std::vector< int > &badConnChannels)
Set vector of bad connection channel numbers.
TTimeStamp m_timeFinishGain
Test Date of gain measurements - finish.
float getNumOfProblematicChannels() const
Get number of problematic channels.
int getBadOffsetChannelsSize() const
Get size of the list of channels with bad offset adjustment.
void setTimeFinishGain(TTimeStamp timeFinishGain)
Set test date gain - finish.
Definition: ARICHAsicInfo.h:72
void setOffsetMeasurement(std::vector< TH3F * > offset)
Set measurements with different offset settings.
ARICHAsicInfo(const std::string &id, TTimeStamp timeFinishGain, TTimeStamp timeFinishOffset, std::vector< int > &deadChannel, std::vector< int > &badConnChannel, std::vector< int > &badOffsetChannel, std::vector< int > &badLinChannel, int numProbCh, std::vector< TH3F * > &gain, std::vector< TH3F * > &offset, const std::string &comment)
Constructor.
Definition: ARICHAsicInfo.h:38
int getBadConnChannel(unsigned int i) const
Get a channel number from the list of channels with bad connections.
void setDeadChannels(const std::vector< int > &deadChannels)
Set vector of dead channel numbers.
~ARICHAsicInfo()
Destructor.
Definition: ARICHAsicInfo.h:48
void appendBadOffsetChannel(int channel)
Add a channel number to the list of channels with bad offset adjustment.
TTimeStamp getTimeFinishOffset() const
Get test date offset - finish.
Definition: ARICHAsicInfo.h:78
ARICHAsicInfo()
Default constructor.
Definition: ARICHAsicInfo.h:32
std::string getAsicID() const
Get ASIC identifier.
Definition: ARICHAsicInfo.h:54
void appendDeadChannel(int channel)
Add a channel number to the list of dead channels.
Definition: ARICHAsicInfo.h:97
int getDeadChannel(unsigned int i) const
Get a channel number from the list of dead channels.
TTimeStamp m_timeFinishOffset
Test Date of offset measurements - finish.
void setAsicID(const std::string &id)
Set ASIC identifier.
Definition: ARICHAsicInfo.h:60
int getBadLinChannelsSize() const
Get size of the list of channels with bad linearity.
void setComment(const std::string &comment)
Set comment.
TH3F * getGainMeasurement(unsigned int i) const
Get measurements with different gain settings.
int m_numProblematicChannels
Number of channels with problems.
std::vector< int > m_badLinChannel
List of channels with bad linearity.
std::vector< TH3F * > m_offset
Threshold scans with different offset settings (course & fine offset)
std::vector< int > m_badOffsetChannel
List of channels with bad offset adjustment.
Abstract base class for different kinds of events.