Belle II Software  release-08-01-10
ARICHFebTest.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 
11 #include <TObject.h>
12 #include <string>
13 #include <vector>
14 #include <utility>
15 #include <TTimeStamp.h>
16 #include <TH2F.h>
17 #include <TH3F.h>
18 
19 #include <TClass.h>
20 
21 namespace Belle2 {
31  class ARICHFebTest: public TObject {
32  public:
33 
37  ARICHFebTest(): m_serial(0), m_dna(""), m_runSlowC(""), m_timeSlowC(), m_tmon0(0.0), m_tmon1(0.0), m_vdd(0.0), m_v2p(0.0),
38  m_v2n(0.0), m_vss(0.0), m_vth1(0.0), m_vth2(0.0), m_vcc12(0.0), m_vcc15(0.0), m_vcc25(0.0), m_v38p(0.0), m_runLV(""), m_timeLV(),
41 
42 
46  explicit ARICHFebTest(int serial): m_serial(serial), m_dna(""), m_runSlowC(""), m_timeSlowC(), m_tmon0(0.0), m_tmon1(0.0),
47  m_vdd(0.0), m_v2p(0.0), m_v2n(0.0), m_vss(0.0), m_vth1(0.0), m_vth2(0.0), m_vcc12(0.0), m_vcc15(0.0), m_vcc25(0.0), m_v38p(0.0),
50  m_comment("") {};
51 
56 
61  int getFebSerial() const {return m_serial; }
62 
66  void setFebSerial(int serial) {m_serial = serial; }
67 
71  std::string getFebDna() const {return m_dna; }
72 
76  void setRunSlowC(const std::string& runSlowC) {m_runSlowC = runSlowC; }
77 
81  std::string getRunSlowC() const {return m_runSlowC; }
82 
86  void setFebDna(const std::string& dna) {m_dna = dna; }
87 
91  TTimeStamp getTimeSlowC() const {return m_timeSlowC; }
92 
96  void setTimeSlowC(TTimeStamp timeSlowC) {m_timeSlowC = timeSlowC; }
97 
101  float getTemperature0() const {return m_tmon0; }
102 
106  void setTemperature0(float tmon0) {m_tmon0 = tmon0; }
107 
111  float getTemperature1() const {return m_tmon1; }
112 
116  void setTemperature1(float tmon1) {m_tmon1 = tmon1; }
117 
121  float getVdd() const {return m_vdd; }
122 
126  void setVdd(float vdd) {m_vdd = vdd; }
127 
131  float getV2p() const {return m_v2p; }
132 
136  void setV2p(float v2p) {m_v2p = v2p; }
137 
141  float getV2n() const {return m_v2n; }
142 
146  void setV2n(float v2n) {m_v2n = v2n; }
147 
151  float getVss() const {return m_vss; }
152 
156  void setVss(float vss) {m_vss = vss; }
157 
161  float getVth1() const {return m_vth1; }
162 
166  void setVth1(float vth1) {m_vth1 = vth1; }
167 
171  float getVth2() const {return m_vth2; }
172 
176  void setVth2(float vth2) {m_vth2 = vth2; }
177 
181  float getVcc12() const {return m_vcc12; }
182 
186  void setVcc12(float vcc12) {m_vcc12 = vcc12; }
187 
191  float getVcc15() const {return m_vcc15; }
192 
196  void setVcc15(float vcc15) {m_vcc15 = vcc15; }
197 
201  float getVcc25() const {return m_vcc25; }
202 
206  void setVcc25(float vcc25) {m_vcc25 = vcc25; }
207 
211  float getV38p() const {return m_v38p; }
212 
216  void setV38p(float v38p) {m_v38p = v38p; }
217 
221  void setRunLV(const std::string& runLV) {m_runLV = runLV; }
222 
226  std::string getRunLV() const {return m_runLV; }
227 
231  TTimeStamp getTimeLV() const {return m_timeLV; }
232 
236  void setTimeLV(TTimeStamp timeLV) {m_timeLV = timeLV; }
237 
241  float getCurrentV20p() const {return m_currentV20p; }
242 
246  void setCurrentV20p(float currentV20p) {m_currentV20p = currentV20p; }
247 
251  float getCurrentV21n() const {return m_currentV21n; }
252 
256  void setCurrentV21n(float currentV21n) {m_currentV21n = currentV21n; }
257 
261  float getCurrentV38p() const {return m_currentV38p; }
262 
266  void setCurrentV38p(float currentV38p) {m_currentV38p = currentV38p; }
267 
271  void setRunHV(const std::string& runHV) {m_runHV = runHV; }
272 
276  std::string getRunHV() const {return m_runHV; }
277 
281  TTimeStamp getTimeHV() const {return m_timeHV; }
282 
286  void setTimeHV(TTimeStamp timeHV) {m_timeHV = timeHV; }
287 
291  float getCurrentV99p() const {return m_currentV99p; }
292 
296  void setCurrentV99p(float currentV99p) {m_currentV99p = currentV99p; }
297 
303  int getDeadChannel(unsigned int i) const;
304 
309  void appendDeadChannel(int channel) {m_deadChannel.push_back(channel); }
310 
315  void setDeadChannels(const std::vector<int>& deadChannels) {m_deadChannel = deadChannels; }
316 
321  int getDeadChannelsSize() const {return m_deadChannel.size();}
322 
327  TH2F* getTestPulse2D() const {return m_testPulse;}
328 
333  void setTestPulse2D(TH2F* testPulse) { m_testPulse = testPulse;}
334 
339  TH3F* getOffsetRough3D() const {return m_offsetRough;}
340 
345  void setOffsetRough3D(TH3F* offsetRough) { m_offsetRough = offsetRough;}
346 
351  TH3F* getOffsetFine3D() const {return m_offsetFine;}
352 
357  void setOffsetFine3D(TH3F* offsetFine) { m_offsetFine = offsetFine;}
358 
364  float getSlopeRough(unsigned int i) const;
365 
370  void appendSlopeRough(float slope) {m_slopesRough.push_back(slope); }
371 
376  void setSlopesRough(const std::vector<float>& slopesRough) {m_slopesRough = slopesRough; }
377 
382  int getSlopesRoughSize() const {return m_slopesRough.size();}
383 
389  float getSlopeFine(unsigned int i) const;
390 
395  void appendSlopeFine(float slope) {m_slopesFine.push_back(slope); }
396 
401  void setSlopesFine(const std::vector<float>& slopesFine) {m_slopesFine = slopesFine; }
402 
407  int getSlopesFineSize() const {return m_slopesFine.size();}
408 
414  std::pair<float, float> getFWHM(unsigned int i) const;
415 
420  void appendFWHM(const std::pair<float, float>& fwhm) {m_fwhm.push_back(fwhm); }
421 
426  void setFWHM(const std::vector<std::pair<float, float>>& fwhm) {m_fwhm = fwhm; }
427 
432  int getFWHMSize() const {return m_fwhm.size();}
433 
439  float getFWHMvalue(unsigned int i) const;
440 
446  float getFWHMsigma(unsigned int i) const;
447 
451  void setComment(const std::string& comment) {m_comment = comment; }
452 
456  std::string getComment() const {return m_comment; }
457 
458  private:
459 
460  int m_serial;
461  std::string m_dna;
462  std::string m_runSlowC;
463  TTimeStamp m_timeSlowC;
464  float m_tmon0;
465  float m_tmon1;
466  float m_vdd;
467  float m_v2p;
468  float m_v2n;
469  float m_vss;
470  float m_vth1;
471  float m_vth2;
472  float m_vcc12;
473  float m_vcc15;
474  float m_vcc25;
475  float m_v38p;
476  std::string m_runLV;
477  TTimeStamp m_timeLV;
481  std::string m_runHV;
482  TTimeStamp m_timeHV;
484  std::vector<int> m_deadChannel;
485  TH2F* m_testPulse;
487  TH3F* m_offsetFine;
488  std::vector<float> m_slopesRough;
489  std::vector<float> m_slopesFine;
490  std::vector<std::pair<float, float>> m_fwhm;
491  std::string m_comment;
494  };
496 } // end namespace Belle2
The Class for ARICH Aerogel Parameters.
Definition: ARICHFebTest.h:31
std::string m_comment
Optional comment.
Definition: ARICHFebTest.h:491
std::vector< float > m_slopesRough
Slopes for each channel (rough settings) [mV/step].
Definition: ARICHFebTest.h:488
TTimeStamp m_timeHV
Test Date of FEB high voltage test.
Definition: ARICHFebTest.h:482
std::string m_runLV
Run number of FEB low voltage test.
Definition: ARICHFebTest.h:476
int getSlopesRoughSize() const
Return size of the list of slopes (rough settings)
Definition: ARICHFebTest.h:382
std::vector< std::pair< float, float > > m_fwhm
FWHM and sigma for each channel.
Definition: ARICHFebTest.h:490
void setTimeSlowC(TTimeStamp timeSlowC)
Set Test date (slow control measurement)
Definition: ARICHFebTest.h:96
void setCurrentV21n(float currentV21n)
Set current at voltage (-2.0) V.
Definition: ARICHFebTest.h:256
void setFebSerial(int serial)
Set FEB serial number.
Definition: ARICHFebTest.h:66
float m_vcc15
Voltage - supply voltage 1.5 V.
Definition: ARICHFebTest.h:473
std::string m_dna
FEB dna.
Definition: ARICHFebTest.h:461
void setVth1(float vth1)
Set Voltage - threshold voltage 1.
Definition: ARICHFebTest.h:166
void setTimeLV(TTimeStamp timeLV)
Set Test date (LV test)
Definition: ARICHFebTest.h:236
void setVcc15(float vcc15)
Set Voltage - supply voltage 1.5 V.
Definition: ARICHFebTest.h:196
float getVth2() const
Return Voltage - threshold voltage 1.
Definition: ARICHFebTest.h:171
float getVcc15() const
Return Voltage - supply voltage 1.5 V.
Definition: ARICHFebTest.h:191
std::string getComment() const
Return comment.
Definition: ARICHFebTest.h:456
std::vector< int > m_deadChannel
List of dead channels on the FEB.
Definition: ARICHFebTest.h:484
float m_vcc12
Voltage - supply voltage 1.2 V.
Definition: ARICHFebTest.h:472
void setSlopesRough(const std::vector< float > &slopesRough)
Set vector of slopes (rough settings)
Definition: ARICHFebTest.h:376
void setV2p(float v2p)
Set Voltage - (+2.0) V.
Definition: ARICHFebTest.h:136
void setCurrentV99p(float currentV99p)
Set current at voltage (+99) V.
Definition: ARICHFebTest.h:296
float m_currentV38p
Current at 3.8 V.
Definition: ARICHFebTest.h:480
TH2F * getTestPulse2D() const
Return test pulse.
Definition: ARICHFebTest.h:327
float getVth1() const
Return Voltage - threshold voltage 1.
Definition: ARICHFebTest.h:161
float m_vth2
Voltage - threshold voltage 2.
Definition: ARICHFebTest.h:471
void setOffsetFine3D(TH3F *offsetFine)
Set threshold scans with fine offset settings.
Definition: ARICHFebTest.h:357
float m_tmon1
Temperature 1.
Definition: ARICHFebTest.h:465
void setVss(float vss)
Set Voltage - negative supply voltage.
Definition: ARICHFebTest.h:156
float getSlopeFine(unsigned int i) const
Return slope[mV/offset step] for i-th channel (fine settings)
Definition: ARICHFebTest.cc:26
float m_v2n
Voltage - (-2.0) V.
Definition: ARICHFebTest.h:468
void appendSlopeRough(float slope)
Add slope[mV/offset step] for i-th channel (rough settings)
Definition: ARICHFebTest.h:370
TH3F * getOffsetRough3D() const
Return threshold scans with rough offset settings.
Definition: ARICHFebTest.h:339
float m_vss
Voltage - negative supply voltage.
Definition: ARICHFebTest.h:469
float getVdd() const
Return Voltage - positive supply voltage.
Definition: ARICHFebTest.h:121
std::vector< float > m_slopesFine
Slopes for each channel (fine settings) [mV/step].
Definition: ARICHFebTest.h:489
std::string m_runSlowC
Run number of FEB slow control measurements.
Definition: ARICHFebTest.h:462
float getV2n() const
Return Voltage - (-2.0) V.
Definition: ARICHFebTest.h:141
std::string getRunLV() const
Return LV test number.
Definition: ARICHFebTest.h:226
ClassDef(ARICHFebTest, 2)
ClassDef.
float m_currentV21n
Current at -2.1 V.
Definition: ARICHFebTest.h:479
TH3F * getOffsetFine3D() const
Return threshold scans with fine offset settings.
Definition: ARICHFebTest.h:351
float getV2p() const
Return Voltage - (+2.0) V.
Definition: ARICHFebTest.h:131
int getDeadChannelsSize() const
Return size of the list of dead channels.
Definition: ARICHFebTest.h:321
void setRunSlowC(const std::string &runSlowC)
Set slow control run number.
Definition: ARICHFebTest.h:76
float getTemperature1() const
Return Temperature 1.
Definition: ARICHFebTest.h:111
float m_vth1
Voltage - threshold voltage 1.
Definition: ARICHFebTest.h:470
void setFebDna(const std::string &dna)
Set FEB dna number.
Definition: ARICHFebTest.h:86
float getTemperature0() const
Return Temperature 0.
Definition: ARICHFebTest.h:101
void appendSlopeFine(float slope)
Add slope[mV/offset step] for i-th channel (fine settings)
Definition: ARICHFebTest.h:395
void setTimeHV(TTimeStamp timeHV)
Set Test date (HV test)
Definition: ARICHFebTest.h:286
float getCurrentV21n() const
Return current at voltage (-2.0) V.
Definition: ARICHFebTest.h:251
float getVss() const
Return Voltage - negative supply voltage.
Definition: ARICHFebTest.h:151
TTimeStamp m_timeLV
Test Date of FEB low voltage test.
Definition: ARICHFebTest.h:477
float getSlopeRough(unsigned int i) const
Return slope[mV/offset step] for i-th channel (rough settings)
Definition: ARICHFebTest.cc:20
void setOffsetRough3D(TH3F *offsetRough)
Set threshold scans with rough offset settings.
Definition: ARICHFebTest.h:345
float m_tmon0
Temperature 0.
Definition: ARICHFebTest.h:464
float getVcc12() const
Return Voltage - supply voltage 1.2 V.
Definition: ARICHFebTest.h:181
~ARICHFebTest()
Destructor.
Definition: ARICHFebTest.h:55
int m_serial
FEB serial number.
Definition: ARICHFebTest.h:460
std::string getFebDna() const
Return FEB dna number.
Definition: ARICHFebTest.h:71
float m_v2p
Voltage - (+2.0) V.
Definition: ARICHFebTest.h:467
void setVth2(float vth2)
Set Voltage - threshold voltage 1.
Definition: ARICHFebTest.h:176
void setDeadChannels(const std::vector< int > &deadChannels)
Set vector of dead channel numbers.
Definition: ARICHFebTest.h:315
void setCurrentV38p(float currentV38p)
Set current at voltage (+3.8) V.
Definition: ARICHFebTest.h:266
void appendFWHM(const std::pair< float, float > &fwhm)
Add FWHM value&sigma for i-th channel.
Definition: ARICHFebTest.h:420
int getFWHMSize() const
Return size of the list of FWHM.
Definition: ARICHFebTest.h:432
void setTemperature1(float tmon1)
Set Temperature 1.
Definition: ARICHFebTest.h:116
TTimeStamp getTimeSlowC() const
Return Test date (slow control measurement)
Definition: ARICHFebTest.h:91
TTimeStamp m_timeSlowC
Test Date of FEB slow control measurements.
Definition: ARICHFebTest.h:463
float getFWHMsigma(unsigned int i) const
Return FWHM sigma for i-th channel.
float getFWHMvalue(unsigned int i) const
Return FWHM value for i-th channel.
TH2F * m_testPulse
Test pulse scan.
Definition: ARICHFebTest.h:485
int getSlopesFineSize() const
Return size of the list of slopes (fine settings)
Definition: ARICHFebTest.h:407
ARICHFebTest()
Default constructor.
Definition: ARICHFebTest.h:37
std::string getRunHV() const
Return HV test number.
Definition: ARICHFebTest.h:276
void appendDeadChannel(int channel)
Add a channel number to the list of dead channels.
Definition: ARICHFebTest.h:309
float m_vdd
Voltage - positive supply voltage.
Definition: ARICHFebTest.h:466
TH3F * m_offsetFine
Threshold scans with fine offset settings.
Definition: ARICHFebTest.h:487
int getDeadChannel(unsigned int i) const
Return a channel number from the list of dead channels.
Definition: ARICHFebTest.cc:14
void setFWHM(const std::vector< std::pair< float, float >> &fwhm)
Set vector of FWHM values&sigma.
Definition: ARICHFebTest.h:426
void setV38p(float v38p)
Set Voltage - (+3.8) V.
Definition: ARICHFebTest.h:216
float getCurrentV38p() const
Return current at voltage (+3.8) V.
Definition: ARICHFebTest.h:261
void setTestPulse2D(TH2F *testPulse)
Set test pulse.
Definition: ARICHFebTest.h:333
void setSlopesFine(const std::vector< float > &slopesFine)
Set vector of slopes (fine settings)
Definition: ARICHFebTest.h:401
void setCurrentV20p(float currentV20p)
Set current at voltage (+2.0) V.
Definition: ARICHFebTest.h:246
void setVcc12(float vcc12)
Set Voltage - supply voltage 1.2 V.
Definition: ARICHFebTest.h:186
float getCurrentV99p() const
Return current at voltage (+99) V.
Definition: ARICHFebTest.h:291
float m_v38p
Voltage - (+3.8) V.
Definition: ARICHFebTest.h:475
float getCurrentV20p() const
Return current at voltage (+2.0) V.
Definition: ARICHFebTest.h:241
void setRunLV(const std::string &runLV)
Set LV test run number.
Definition: ARICHFebTest.h:221
TTimeStamp getTimeHV() const
Return Test date (HV test)
Definition: ARICHFebTest.h:281
float getVcc25() const
Return Voltage - supply voltage 2.5 V.
Definition: ARICHFebTest.h:201
float getV38p() const
Return Voltage - (+3.8) V.
Definition: ARICHFebTest.h:211
void setVdd(float vdd)
Set Voltage - positive supply voltage.
Definition: ARICHFebTest.h:126
float m_currentV99p
Current at 99 V.
Definition: ARICHFebTest.h:483
int getFebSerial() const
Return FEB serial number.
Definition: ARICHFebTest.h:61
TH3F * m_offsetRough
Threshold scans with rough offset settings.
Definition: ARICHFebTest.h:486
void setV2n(float v2n)
Set Voltage - (-2.0) V.
Definition: ARICHFebTest.h:146
std::pair< float, float > getFWHM(unsigned int i) const
Return FWHM value&sigma for i-th channel.
void setComment(const std::string &comment)
Set comment.
Definition: ARICHFebTest.h:451
std::string getRunSlowC() const
Return slow control number.
Definition: ARICHFebTest.h:81
float m_currentV20p
Current at 2.0 V.
Definition: ARICHFebTest.h:478
void setTemperature0(float tmon0)
Set Temperature 0.
Definition: ARICHFebTest.h:106
float m_vcc25
Voltage - supply voltage 2.5 V.
Definition: ARICHFebTest.h:474
std::string m_runHV
Run number of FEB high voltage test.
Definition: ARICHFebTest.h:481
void setRunHV(const std::string &runHV)
Set HV test run number.
Definition: ARICHFebTest.h:271
ARICHFebTest(int serial)
Constructor.
Definition: ARICHFebTest.h:46
void setVcc25(float vcc25)
Set Voltage - supply voltage 2.5 V.
Definition: ARICHFebTest.h:206
TTimeStamp getTimeLV() const
Return Test date (LV test)
Definition: ARICHFebTest.h:231
Abstract base class for different kinds of events.