Belle II Software development
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
21namespace Belle2 {
30 class ARICHFebTest: public TObject {
31 public:
32
36 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),
37 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(),
40
41
45 explicit ARICHFebTest(int serial): m_serial(serial), m_dna(""), m_runSlowC(""), m_timeSlowC(), m_tmon0(0.0), m_tmon1(0.0),
46 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),
49 m_comment("") {};
50
55
60 int getFebSerial() const {return m_serial; }
61
66 void setFebSerial(int serial) {m_serial = serial; }
67
72 std::string getFebDna() const {return m_dna; }
73
78 void setFebDna(const std::string& dna) {m_dna = dna; }
79
84 std::string getRunSlowC() const {return m_runSlowC; }
85
90 void setRunSlowC(const std::string& runSlowC) {m_runSlowC = runSlowC; }
91
96 TTimeStamp getTimeSlowC() const {return m_timeSlowC; }
97
102 void setTimeSlowC(TTimeStamp timeSlowC) {m_timeSlowC = timeSlowC; }
103
108 float getTemperature0() const {return m_tmon0; }
109
114 void setTemperature0(float tmon0) {m_tmon0 = tmon0; }
115
120 float getTemperature1() const {return m_tmon1; }
121
126 void setTemperature1(float tmon1) {m_tmon1 = tmon1; }
127
132 float getVdd() const {return m_vdd; }
133
138 void setVdd(float vdd) {m_vdd = vdd; }
139
144 float getV2p() const {return m_v2p; }
145
150 void setV2p(float v2p) {m_v2p = v2p; }
151
156 float getV2n() const {return m_v2n; }
157
162 void setV2n(float v2n) {m_v2n = v2n; }
163
168 float getVss() const {return m_vss; }
169
174 void setVss(float vss) {m_vss = vss; }
175
180 float getVth1() const {return m_vth1; }
181
186 void setVth1(float vth1) {m_vth1 = vth1; }
187
192 float getVth2() const {return m_vth2; }
193
198 void setVth2(float vth2) {m_vth2 = vth2; }
199
204 float getVcc12() const {return m_vcc12; }
205
210 void setVcc12(float vcc12) {m_vcc12 = vcc12; }
211
216 float getVcc15() const {return m_vcc15; }
217
222 void setVcc15(float vcc15) {m_vcc15 = vcc15; }
223
228 float getVcc25() const {return m_vcc25; }
229
234 void setVcc25(float vcc25) {m_vcc25 = vcc25; }
235
240 float getV38p() const {return m_v38p; }
241
246 void setV38p(float v38p) {m_v38p = v38p; }
247
252 std::string getRunLV() const {return m_runLV; }
253
258 void setRunLV(const std::string& runLV) {m_runLV = runLV; }
259
264 TTimeStamp getTimeLV() const {return m_timeLV; }
265
270 void setTimeLV(TTimeStamp timeLV) {m_timeLV = timeLV; }
271
276 float getCurrentV20p() const {return m_currentV20p; }
277
282 void setCurrentV20p(float currentV20p) {m_currentV20p = currentV20p; }
283
288 float getCurrentV21n() const {return m_currentV21n; }
289
294 void setCurrentV21n(float currentV21n) {m_currentV21n = currentV21n; }
295
300 float getCurrentV38p() const {return m_currentV38p; }
301
306 void setCurrentV38p(float currentV38p) {m_currentV38p = currentV38p; }
307
312 std::string getRunHV() const {return m_runHV; }
313
318 void setRunHV(const std::string& runHV) {m_runHV = runHV; }
319
324 TTimeStamp getTimeHV() const {return m_timeHV; }
325
330 void setTimeHV(TTimeStamp timeHV) {m_timeHV = timeHV; }
331
336 float getCurrentV99p() const {return m_currentV99p; }
337
342 void setCurrentV99p(float currentV99p) {m_currentV99p = currentV99p; }
343
349 int getDeadChannel(unsigned int i) const;
350
355 void appendDeadChannel(int channel) {m_deadChannel.push_back(channel); }
356
361 void setDeadChannels(const std::vector<int>& deadChannels) {m_deadChannel = deadChannels; }
362
367 int getDeadChannelsSize() const {return m_deadChannel.size();}
368
373 TH2F* getTestPulse2D() const {return m_testPulse;}
374
379 void setTestPulse2D(TH2F* testPulse) { m_testPulse = testPulse;}
380
385 TH3F* getOffsetRough3D() const {return m_offsetRough;}
386
391 void setOffsetRough3D(TH3F* offsetRough) { m_offsetRough = offsetRough;}
392
397 TH3F* getOffsetFine3D() const {return m_offsetFine;}
398
403 void setOffsetFine3D(TH3F* offsetFine) { m_offsetFine = offsetFine;}
404
410 float getSlopeRough(unsigned int i) const;
411
416 void appendSlopeRough(float slope) {m_slopesRough.push_back(slope); }
417
422 void setSlopesRough(const std::vector<float>& slopesRough) {m_slopesRough = slopesRough; }
423
428 int getSlopesRoughSize() const {return m_slopesRough.size();}
429
435 float getSlopeFine(unsigned int i) const;
436
441 void appendSlopeFine(float slope) {m_slopesFine.push_back(slope); }
442
447 void setSlopesFine(const std::vector<float>& slopesFine) {m_slopesFine = slopesFine; }
448
453 int getSlopesFineSize() const {return m_slopesFine.size();}
454
460 std::pair<float, float> getFWHM(unsigned int i) const;
461
466 void appendFWHM(const std::pair<float, float>& fwhm) {m_fwhm.push_back(fwhm); }
467
472 void setFWHM(const std::vector<std::pair<float, float>>& fwhm) {m_fwhm = fwhm; }
473
478 int getFWHMSize() const {return m_fwhm.size();}
479
485 float getFWHMvalue(unsigned int i) const;
486
492 float getFWHMsigma(unsigned int i) const;
493
498 std::string getComment() const {return m_comment; }
499
504 void setComment(const std::string& comment) {m_comment = comment; }
505
506 private:
507
509 std::string m_dna;
510 std::string m_runSlowC;
511 TTimeStamp m_timeSlowC;
512 float m_tmon0;
513 float m_tmon1;
514 float m_vdd;
515 float m_v2p;
516 float m_v2n;
517 float m_vss;
518 float m_vth1;
519 float m_vth2;
520 float m_vcc12;
521 float m_vcc15;
522 float m_vcc25;
523 float m_v38p;
524 std::string m_runLV;
525 TTimeStamp m_timeLV;
529 std::string m_runHV;
530 TTimeStamp m_timeHV;
532 std::vector<int> m_deadChannel;
536 std::vector<float> m_slopesRough;
537 std::vector<float> m_slopesFine;
538 std::vector<std::pair<float, float>> m_fwhm;
539 std::string m_comment;
542 };
544} // end namespace Belle2
ARICH FEB test data.
Definition: ARICHFebTest.h:30
std::string m_comment
Optional comment.
Definition: ARICHFebTest.h:539
std::vector< float > m_slopesRough
Slopes for each channel (rough settings) [mV/step].
Definition: ARICHFebTest.h:536
TTimeStamp m_timeHV
Test Date of FEB high voltage test.
Definition: ARICHFebTest.h:530
std::string m_runLV
Run number of FEB low voltage test.
Definition: ARICHFebTest.h:524
int getSlopesRoughSize() const
Get size of the list of slopes (rough settings).
Definition: ARICHFebTest.h:428
std::vector< std::pair< float, float > > m_fwhm
FWHM and sigma for each channel.
Definition: ARICHFebTest.h:538
void setTimeSlowC(TTimeStamp timeSlowC)
Set Test date (slow-control measurement).
Definition: ARICHFebTest.h:102
void setCurrentV21n(float currentV21n)
Set current at voltage (-2.0) V.
Definition: ARICHFebTest.h:294
void setFebSerial(int serial)
Set FEB serial number.
Definition: ARICHFebTest.h:66
float m_vcc15
Voltage - supply voltage 1.5 V.
Definition: ARICHFebTest.h:521
std::string m_dna
FEB dna.
Definition: ARICHFebTest.h:509
void setVth1(float vth1)
Set voltage - threshold voltage 1.
Definition: ARICHFebTest.h:186
void setTimeLV(TTimeStamp timeLV)
Set test date (LV test).
Definition: ARICHFebTest.h:270
void setVcc15(float vcc15)
Set voltage - supply voltage 1.5 V.
Definition: ARICHFebTest.h:222
float getVth2() const
Get voltage - threshold voltage 2.
Definition: ARICHFebTest.h:192
float getVcc15() const
Get voltage - supply voltage 1.5 V.
Definition: ARICHFebTest.h:216
std::string getComment() const
Get comment.
Definition: ARICHFebTest.h:498
std::vector< int > m_deadChannel
List of dead channels on the FEB.
Definition: ARICHFebTest.h:532
float m_vcc12
Voltage - supply voltage 1.2 V.
Definition: ARICHFebTest.h:520
void setSlopesRough(const std::vector< float > &slopesRough)
Set vector of slopes (rough settings).
Definition: ARICHFebTest.h:422
void setV2p(float v2p)
Set voltage - (+2.0) V.
Definition: ARICHFebTest.h:150
void setCurrentV99p(float currentV99p)
Set current at voltage (+99) V.
Definition: ARICHFebTest.h:342
float m_currentV38p
Current at 3.8 V.
Definition: ARICHFebTest.h:528
float getVth1() const
Get voltage - threshold voltage 1.
Definition: ARICHFebTest.h:180
float m_vth2
Voltage - threshold voltage 2.
Definition: ARICHFebTest.h:519
void setOffsetFine3D(TH3F *offsetFine)
Set threshold scans with fine offset settings.
Definition: ARICHFebTest.h:403
float m_tmon1
Temperature 1.
Definition: ARICHFebTest.h:513
void setVss(float vss)
Set voltage - negative supply voltage.
Definition: ARICHFebTest.h:174
float getSlopeFine(unsigned int i) const
Get slope[mV/offset step] for i-th channel (fine settings).
Definition: ARICHFebTest.cc:26
float m_v2n
Voltage - (-2.0) V.
Definition: ARICHFebTest.h:516
void appendSlopeRough(float slope)
Add slope[mV/offset step] for i-th channel (rough settings).
Definition: ARICHFebTest.h:416
float m_vss
Voltage - negative supply voltage.
Definition: ARICHFebTest.h:517
float getVdd() const
Get voltage - positive supply voltage.
Definition: ARICHFebTest.h:132
std::vector< float > m_slopesFine
Slopes for each channel (fine settings) [mV/step].
Definition: ARICHFebTest.h:537
std::string m_runSlowC
Run number of FEB slow control measurements.
Definition: ARICHFebTest.h:510
float getV2n() const
Get voltage - (-2.0) V.
Definition: ARICHFebTest.h:156
std::string getRunLV() const
Get LV test number.
Definition: ARICHFebTest.h:252
ClassDef(ARICHFebTest, 2)
ClassDef.
float m_currentV21n
Current at -2.1 V.
Definition: ARICHFebTest.h:527
float getV2p() const
Get voltage - (+2.0) V.
Definition: ARICHFebTest.h:144
int getDeadChannelsSize() const
Get size of the list of dead channels.
Definition: ARICHFebTest.h:367
void setRunSlowC(const std::string &runSlowC)
Set slow-control run number.
Definition: ARICHFebTest.h:90
float getTemperature1() const
Get temperature 1.
Definition: ARICHFebTest.h:120
float m_vth1
Voltage - threshold voltage 1.
Definition: ARICHFebTest.h:518
void setFebDna(const std::string &dna)
Set FEB dna number.
Definition: ARICHFebTest.h:78
float getTemperature0() const
Get temperature 0.
Definition: ARICHFebTest.h:108
void appendSlopeFine(float slope)
Add slope[mV/offset step] for i-th channel (fine settings).
Definition: ARICHFebTest.h:441
void setTimeHV(TTimeStamp timeHV)
Set test date (HV test).
Definition: ARICHFebTest.h:330
float getCurrentV21n() const
Get current at voltage (-2.0) V.
Definition: ARICHFebTest.h:288
float getVss() const
Get voltage - negative supply voltage.
Definition: ARICHFebTest.h:168
TTimeStamp m_timeLV
Test Date of FEB low voltage test.
Definition: ARICHFebTest.h:525
float getSlopeRough(unsigned int i) const
Get 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:391
float m_tmon0
Temperature 0.
Definition: ARICHFebTest.h:512
TH3F * getOffsetFine3D() const
Get threshold scans with fine offset settings.
Definition: ARICHFebTest.h:397
float getVcc12() const
Get voltage - supply voltage 1.2 V.
Definition: ARICHFebTest.h:204
~ARICHFebTest()
Destructor.
Definition: ARICHFebTest.h:54
int m_serial
FEB serial number.
Definition: ARICHFebTest.h:508
std::string getFebDna() const
Get FEB dna number.
Definition: ARICHFebTest.h:72
float m_v2p
Voltage - (+2.0) V.
Definition: ARICHFebTest.h:515
void setVth2(float vth2)
Set voltage - threshold voltage 2.
Definition: ARICHFebTest.h:198
void setDeadChannels(const std::vector< int > &deadChannels)
Set vector of dead channel numbers.
Definition: ARICHFebTest.h:361
void setCurrentV38p(float currentV38p)
Set current at voltage (+3.8) V.
Definition: ARICHFebTest.h:306
void appendFWHM(const std::pair< float, float > &fwhm)
Add FWHM value&sigma for i-th channel.
Definition: ARICHFebTest.h:466
int getFWHMSize() const
Get size of the list of FWHM.
Definition: ARICHFebTest.h:478
void setTemperature1(float tmon1)
Set temperature 1.
Definition: ARICHFebTest.h:126
TTimeStamp getTimeSlowC() const
Get test date (slow-control measurement).
Definition: ARICHFebTest.h:96
TTimeStamp m_timeSlowC
Test Date of FEB slow control measurements.
Definition: ARICHFebTest.h:511
float getFWHMsigma(unsigned int i) const
Get FWHM sigma for i-th channel.
float getFWHMvalue(unsigned int i) const
Get FWHM value for i-th channel.
TH2F * m_testPulse
Test pulse scan.
Definition: ARICHFebTest.h:533
int getSlopesFineSize() const
Get size of the list of slopes (fine settings).
Definition: ARICHFebTest.h:453
ARICHFebTest()
Default constructor.
Definition: ARICHFebTest.h:36
std::string getRunHV() const
Get HV test number.
Definition: ARICHFebTest.h:312
TH3F * getOffsetRough3D() const
Get threshold scans with rough offset settings.
Definition: ARICHFebTest.h:385
void appendDeadChannel(int channel)
Add a channel number to the list of dead channels.
Definition: ARICHFebTest.h:355
float m_vdd
Voltage - positive supply voltage.
Definition: ARICHFebTest.h:514
TH3F * m_offsetFine
Threshold scans with fine offset settings.
Definition: ARICHFebTest.h:535
TH2F * getTestPulse2D() const
Get test pulse.
Definition: ARICHFebTest.h:373
int getDeadChannel(unsigned int i) const
Get a channel number from the list of dead channels.
Definition: ARICHFebTest.cc:14
void setV38p(float v38p)
Set voltage - (+3.8) V.
Definition: ARICHFebTest.h:246
float getCurrentV38p() const
Get current at voltage (+3.8) V.
Definition: ARICHFebTest.h:300
void setTestPulse2D(TH2F *testPulse)
Set test pulse.
Definition: ARICHFebTest.h:379
std::pair< float, float > getFWHM(unsigned int i) const
Get FWHM value&sigma for i-th channel.
void setSlopesFine(const std::vector< float > &slopesFine)
Set vector of slopes (fine settings).
Definition: ARICHFebTest.h:447
void setCurrentV20p(float currentV20p)
Set current at voltage (+2.0) V.
Definition: ARICHFebTest.h:282
void setVcc12(float vcc12)
Set voltage - supply voltage 1.2 V.
Definition: ARICHFebTest.h:210
float getCurrentV99p() const
Get current at voltage (+99) V.
Definition: ARICHFebTest.h:336
float m_v38p
Voltage - (+3.8) V.
Definition: ARICHFebTest.h:523
float getCurrentV20p() const
Get current at voltage (+2.0) V.
Definition: ARICHFebTest.h:276
void setRunLV(const std::string &runLV)
Set LV test run number.
Definition: ARICHFebTest.h:258
TTimeStamp getTimeHV() const
Get test date (HV test).
Definition: ARICHFebTest.h:324
float getVcc25() const
Get voltage - supply voltage 2.5 V.
Definition: ARICHFebTest.h:228
float getV38p() const
Get voltage - (+3.8) V.
Definition: ARICHFebTest.h:240
void setVdd(float vdd)
Set voltage - positive supply voltage.
Definition: ARICHFebTest.h:138
float m_currentV99p
Current at 99 V.
Definition: ARICHFebTest.h:531
int getFebSerial() const
Get FEB serial number.
Definition: ARICHFebTest.h:60
TH3F * m_offsetRough
Threshold scans with rough offset settings.
Definition: ARICHFebTest.h:534
void setV2n(float v2n)
Set voltage - (-2.0) V.
Definition: ARICHFebTest.h:162
void setComment(const std::string &comment)
Set comment.
Definition: ARICHFebTest.h:504
std::string getRunSlowC() const
Get slow-control run number.
Definition: ARICHFebTest.h:84
float m_currentV20p
Current at 2.0 V.
Definition: ARICHFebTest.h:526
void setTemperature0(float tmon0)
Set temperature 0.
Definition: ARICHFebTest.h:114
float m_vcc25
Voltage - supply voltage 2.5 V.
Definition: ARICHFebTest.h:522
std::string m_runHV
Run number of FEB high voltage test.
Definition: ARICHFebTest.h:529
void setRunHV(const std::string &runHV)
Set HV test run number.
Definition: ARICHFebTest.h:318
ARICHFebTest(int serial)
Constructor.
Definition: ARICHFebTest.h:45
void setVcc25(float vcc25)
Set voltage - supply voltage 2.5 V.
Definition: ARICHFebTest.h:234
void setFWHM(const std::vector< std::pair< float, float > > &fwhm)
Set vector of FWHM values&sigma.
Definition: ARICHFebTest.h:472
TTimeStamp getTimeLV() const
Get test date (LV test).
Definition: ARICHFebTest.h:264
Abstract base class for different kinds of events.