Belle II Software  release-05-01-25
ARICHAsicInfo.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Manca Mrvar *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 #include <vector>
13 #include <string>
14 #include <TObject.h>
15 #include <TTimeStamp.h>
16 #include <TH3F.h>
17 
18 namespace Belle2 {
27  class ARICHAsicInfo: public TObject {
28  public:
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 
48  ~ARICHAsicInfo() {};
49 
53  std::string getAsicID() const {return m_id; }
54 
58  void setAsicID(const std::string& id) {m_id = id; }
59 
63  TTimeStamp getTimeFinishGain() const {return m_timeFinishGain; }
64 
68  void setTimeFinishGain(TTimeStamp timeFinishGain) {m_timeFinishGain = timeFinishGain; }
69 
73  TTimeStamp getTimeFinishOffset() const {return m_timeFinishOffset; }
74 
78  void setTimeFinishOffset(TTimeStamp timeFinishOffset) {m_timeFinishOffset = timeFinishOffset; }
79 
85  int getDeadChannel(unsigned int i) const;
86 
91  void appendDeadChannel(int channel) {m_deadChannel.push_back(channel); }
92 
97  void setDeadChannels(const std::vector<int>& deadChannels) {m_deadChannel = deadChannels; }
98 
103  int getDeadChannelsSize() const {return m_deadChannel.size();}
104 
110  int getBadConnChannel(unsigned int i) const;
111 
116  void appendBadConnChannel(int ichannel) { m_badConnChannel.push_back(ichannel); }
117 
122  int getBadConnChannelsSize() const {return m_badConnChannel.size();}
123 
128  void setBadConnChannels(const std::vector<int>& badConnChannels) {m_badConnChannel = badConnChannels; }
129 
135  int getBadOffsetChannel(unsigned int i) const;
136 
141  void appendBadOffsetChannel(int ichannel) { m_badOffsetChannel.push_back(ichannel); }
142 
147  int getBadOffsetChannelsSize() const {return m_badOffsetChannel.size();}
148 
153  void setBadOffsetChannels(const std::vector<int>& badOffsetChannels) {m_badOffsetChannel = badOffsetChannels; }
154 
160  int getBadLinChannel(unsigned int i) const;
161 
166  void appendBadLinChannel(int ichannel) { m_badLinChannel.push_back(ichannel); }
167 
172  int getBadLinChannelsSize() const {return m_badLinChannel.size();}
173 
178  void setBadLinChannels(const std::vector<int>& badLinChannels) {m_badLinChannel = badLinChannels; }
179 
184 
188  void setNumOfProblematicChannels(int numProbCh) {m_numProblematicChannels = numProbCh; }
189 
194  TH3F* getGainMeasurement(unsigned int i) const;
195 
200  void setGainMeasurement(std::vector<TH3F*> gain);
205  TH3F* getOffsetMeasurement(unsigned int i) const;
206 
211  void setOffsetMeasurement(std::vector<TH3F*> offset);
212 
216  std::string getComment() const {return m_comment; }
217 
221  void setComment(const std::string& comment) {m_comment = comment; }
222 
223 
224  private:
225  std::string m_id;
226  TTimeStamp m_timeFinishGain;
227  TTimeStamp m_timeFinishOffset;
228  std::vector<int> m_deadChannel;
229  std::vector<int> m_badConnChannel;
230  std::vector<int> m_badOffsetChannel;
231  std::vector<int> m_badLinChannel;
233  std::vector<TH3F*> m_gain;
234  std::vector<TH3F*> m_offset;
235  std::string m_comment;
238  };
240 } // end namespace Belle2
241 
Belle2::ARICHAsicInfo::getBadOffsetChannelsSize
int getBadOffsetChannelsSize() const
Return size of the list of channels with bad offset adjustment.
Definition: ARICHAsicInfo.h:155
Belle2::ARICHAsicInfo::setDeadChannels
void setDeadChannels(const std::vector< int > &deadChannels)
Set vector of dead channel numbers.
Definition: ARICHAsicInfo.h:105
Belle2::ARICHAsicInfo::setBadOffsetChannels
void setBadOffsetChannels(const std::vector< int > &badOffsetChannels)
Set vector of bad offset channel numbers.
Definition: ARICHAsicInfo.h:161
Belle2::ARICHAsicInfo::m_timeFinishOffset
TTimeStamp m_timeFinishOffset
Test Date of offset measurements - finish.
Definition: ARICHAsicInfo.h:235
Belle2::ARICHAsicInfo::setTimeFinishOffset
void setTimeFinishOffset(TTimeStamp timeFinishOffset)
Set Test date offset - finish.
Definition: ARICHAsicInfo.h:86
Belle2::ARICHAsicInfo::m_badConnChannel
std::vector< int > m_badConnChannel
List of channels with bad connections during the measurement.
Definition: ARICHAsicInfo.h:237
Belle2::ARICHAsicInfo::appendBadConnChannel
void appendBadConnChannel(int ichannel)
Add a channel number to the list of channels with bad connections.
Definition: ARICHAsicInfo.h:124
Belle2::ARICHAsicInfo::m_badLinChannel
std::vector< int > m_badLinChannel
List of channels with bad linearity.
Definition: ARICHAsicInfo.h:239
Belle2::ARICHAsicInfo::getBadConnChannelsSize
int getBadConnChannelsSize() const
Return size of the list of channels with bad connections.
Definition: ARICHAsicInfo.h:130
Belle2::ARICHAsicInfo::m_id
std::string m_id
Asic Identifier.
Definition: ARICHAsicInfo.h:233
Belle2::ARICHAsicInfo::setOffsetMeasurement
void setOffsetMeasurement(std::vector< TH3F * > offset)
set Measurements with different offset settings
Definition: ARICHAsicInfo.cc:64
Belle2::ARICHAsicInfo::~ARICHAsicInfo
~ARICHAsicInfo()
Destructor.
Definition: ARICHAsicInfo.h:56
Belle2::ARICHAsicInfo::appendBadLinChannel
void appendBadLinChannel(int ichannel)
Add a channel number to the list of channels with bad linearity.
Definition: ARICHAsicInfo.h:174
Belle2::ARICHAsicInfo::m_comment
std::string m_comment
Comment.
Definition: ARICHAsicInfo.h:243
Belle2::ARICHAsicInfo::m_badOffsetChannel
std::vector< int > m_badOffsetChannel
List of channels with bad offset adjustment.
Definition: ARICHAsicInfo.h:238
Belle2::ARICHAsicInfo::getNumOfProblematicChannels
float getNumOfProblematicChannels() const
Return number of problematic channels.
Definition: ARICHAsicInfo.h:191
Belle2::ARICHAsicInfo::setComment
void setComment(const std::string &comment)
Set comment.
Definition: ARICHAsicInfo.h:229
Belle2::ARICHAsicInfo::setTimeFinishGain
void setTimeFinishGain(TTimeStamp timeFinishGain)
Set Test date gain - finish.
Definition: ARICHAsicInfo.h:76
Belle2::ARICHAsicInfo::getAsicID
std::string getAsicID() const
Return Asic Identifier.
Definition: ARICHAsicInfo.h:61
Belle2::ARICHAsicInfo::ARICHAsicInfo
ARICHAsicInfo()
Default constructor.
Definition: ARICHAsicInfo.h:40
Belle2::ARICHAsicInfo::getDeadChannelsSize
int getDeadChannelsSize() const
Return size of the list of dead channels.
Definition: ARICHAsicInfo.h:111
Belle2::ARICHAsicInfo::getOffsetMeasurement
TH3F * getOffsetMeasurement(unsigned int i) const
Return Measurements with different offset settings.
Definition: ARICHAsicInfo.cc:57
Belle2::ARICHAsicInfo::getTimeFinishOffset
TTimeStamp getTimeFinishOffset() const
Return Test date offset - finish.
Definition: ARICHAsicInfo.h:81
Belle2::ARICHAsicInfo::appendDeadChannel
void appendDeadChannel(int channel)
Add a channel number to the list of dead channels.
Definition: ARICHAsicInfo.h:99
Belle2::ARICHAsicInfo::m_timeFinishGain
TTimeStamp m_timeFinishGain
Test Date of gain measurements - finish.
Definition: ARICHAsicInfo.h:234
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHAsicInfo::getBadConnChannel
int getBadConnChannel(unsigned int i) const
Return a channel number from the list of channels with bad connections.
Definition: ARICHAsicInfo.cc:23
Belle2::ARICHAsicInfo::getDeadChannel
int getDeadChannel(unsigned int i) const
Return a channel number from the list of dead channels.
Definition: ARICHAsicInfo.cc:16
Belle2::ARICHAsicInfo::m_offset
std::vector< TH3F * > m_offset
Threshold scans with different offset settings (course & fine offset)
Definition: ARICHAsicInfo.h:242
Belle2::ARICHAsicInfo::getTimeFinishGain
TTimeStamp getTimeFinishGain() const
Return Test date gain - finish.
Definition: ARICHAsicInfo.h:71
Belle2::ARICHAsicInfo::ClassDef
ClassDef(ARICHAsicInfo, 3)
ClassDef.
Belle2::ARICHAsicInfo::getBadLinChannel
int getBadLinChannel(unsigned int i) const
Return a channel number from the list of channels with bad linearity.
Definition: ARICHAsicInfo.cc:37
Belle2::ARICHAsicInfo::setNumOfProblematicChannels
void setNumOfProblematicChannels(int numProbCh)
Set number of problematic channels.
Definition: ARICHAsicInfo.h:196
Belle2::ARICHAsicInfo::getBadLinChannelsSize
int getBadLinChannelsSize() const
Return size of the list of channels with bad linearity.
Definition: ARICHAsicInfo.h:180
Belle2::ARICHAsicInfo::setBadLinChannels
void setBadLinChannels(const std::vector< int > &badLinChannels)
Set vector of bad linearity channel numbers.
Definition: ARICHAsicInfo.h:186
Belle2::ARICHAsicInfo::getGainMeasurement
TH3F * getGainMeasurement(unsigned int i) const
Return Measurements with different gain settings.
Definition: ARICHAsicInfo.cc:44
Belle2::ARICHAsicInfo::setGainMeasurement
void setGainMeasurement(std::vector< TH3F * > gain)
set Measurements with different gain settings
Definition: ARICHAsicInfo.cc:51
Belle2::ARICHAsicInfo::m_numProblematicChannels
int m_numProblematicChannels
Number of channels with problems.
Definition: ARICHAsicInfo.h:240
Belle2::ARICHAsicInfo
Tested ASIC chips.
Definition: ARICHAsicInfo.h:35
Belle2::ARICHAsicInfo::getComment
std::string getComment() const
Return Commment.
Definition: ARICHAsicInfo.h:224
Belle2::ARICHAsicInfo::getBadOffsetChannel
int getBadOffsetChannel(unsigned int i) const
Return a channel number from the list of channels with bad offset adjustment.
Definition: ARICHAsicInfo.cc:30
Belle2::ARICHAsicInfo::setAsicID
void setAsicID(const std::string &id)
Set Asic Identifier.
Definition: ARICHAsicInfo.h:66
Belle2::ARICHAsicInfo::m_gain
std::vector< TH3F * > m_gain
Threshold scans with different gain settings.
Definition: ARICHAsicInfo.h:241
Belle2::ARICHAsicInfo::setBadConnChannels
void setBadConnChannels(const std::vector< int > &badConnChannels)
Set vector of bad connection channel numbers.
Definition: ARICHAsicInfo.h:136
Belle2::ARICHAsicInfo::m_deadChannel
std::vector< int > m_deadChannel
List of dead channels on the ASIC chip.
Definition: ARICHAsicInfo.h:236
Belle2::ARICHAsicInfo::appendBadOffsetChannel
void appendBadOffsetChannel(int ichannel)
Add a channel number to the list of channels with bad offset adjustment.
Definition: ARICHAsicInfo.h:149