1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
#ifndef CUDADataFormats_HGCal_HGCUncalibRecHitsToRecHitsConstants_h
#define CUDADataFormats_HGCal_HGCUncalibRecHitsToRecHitsConstants_h
#include <cstdint>
#include <cstddef>
#include <vector>
class HGCConstantVectorData {
public:
std::vector<double> fCPerMIP_;
std::vector<double> cce_;
std::vector<double> noise_fC_;
std::vector<double> rcorr_;
std::vector<double> weights_;
};
class HGCeeUncalibRecHitConstantData {
public:
static constexpr size_t ee_fCPerMIP = 3; //number of elements pointed by hgcEE_fCPerMIP_
static constexpr size_t ee_cce = 3; //number of elements pointed by hgcEE_cce_
static constexpr size_t ee_noise_fC = 3; //number of elements pointed by hgcEE_noise_fC_
static constexpr size_t ee_rcorr = 3; //number of elements pointed by rcorr_
static constexpr size_t ee_weights = 51; //number of elements posize_ted by weights_
double fCPerMIP_[ee_fCPerMIP]; //femto coloumb to MIP conversion; one value per sensor thickness
double cce_[ee_cce]; //charge collection efficiency, one value per sensor thickness
double noise_fC_[ee_noise_fC]; //noise, one value per sensor thickness
double rcorr_[ee_rcorr]; //thickness correction
double weights_[ee_weights]; //energy weights to recover rechit energy deposited in the absorber
double keV2DIGI_; //energy to femto coloumb conversion: 1000 eV/3.62 (eV per e) / 6.24150934e3 (e per fC)
double uncalib2GeV_; //sets the ADC; obtained by dividing 1e-6 by hgcEE_keV2DIGI_
float xmin_; //used for computing the time resolution error
float xmax_; //used for computing the time resolution error
float aterm_; //used for computing the time resolution error
float cterm_; //used for computing the time resolution error
};
class HGChefUncalibRecHitConstantData {
public:
static constexpr size_t hef_fCPerMIP = 3; //number of elements pointed by hgcEE_fCPerMIP_
static constexpr size_t hef_cce = 3; //number of elements pointed by hgcEE_cce_
static constexpr size_t hef_noise_fC = 3; //number of elements pointed by hgcEE_noise_fC_
static constexpr size_t hef_rcorr = 3; //number of elements pointed by rcorr_
static constexpr size_t hef_weights = 51; //number of elements pointed by weights_
double fCPerMIP_[hef_fCPerMIP]; //femto coloumb to MIP conversion; one value per sensor thickness
double cce_[hef_cce]; //charge collection efficiency, one value per sensor thickness
double noise_fC_[hef_noise_fC]; //noise, one value per sensor thickness
double rcorr_[hef_rcorr]; //thickness correction
double weights_[hef_weights]; //energy weights to recover rechit energy deposited in the absorber
double keV2DIGI_; //energy to femto coloumb conversion: 1000 eV/3.62 (eV per e) / 6.24150934e3 (e per fC)
double uncalib2GeV_; //sets the ADC; obtained by dividing 1e-6 by hgcHEF_keV2DIGI_
float xmin_; //used for computing the time resolution error
float xmax_; //used for computing the time resolution error
float aterm_; //used for computing the time resolution error
float cterm_; //used for computing the time resolution error
std::int32_t layerOffset_; //layer offset relative to layer#1 of the EE subsetector
};
class HGChebUncalibRecHitConstantData {
public:
static constexpr size_t heb_weights = 51; //number of elements pointed by weights_
double weights_[heb_weights]; //energy weights to recover rechit energy deposited in the absorber
double keV2DIGI_; //energy to femto coloumb conversion: 1000 eV/3.62 (eV per e) / 6.24150934e3 (e per fC)
double uncalib2GeV_; //sets the ADC; obtained by dividing 1e-6 by hgcHEB_keV2DIGI_
double noise_MIP_; //noise
std::int32_t layerOffset_; //layer offset relative to layer#1 of the EE subsetector
};
#endif
|