10 double calc(
int tp,
int layer) {
11 float sie = hgc_compression_factor_ * tp * gain_ *
13 return (sie / mipSiEnergy_ * layerWeights_.at(layer) + sie) *
14 secondOrderEnergyCorrection_;
18 float gain_ = 320. / 0.1 / 1024;
19 float mVtoMeV_ = 0.130 / (37000.0 * (0.1602 / 1000.) * (1. / 0.1));
20 std::vector<float> layerWeights_ = {
21 2.312, 4.312, 6.522, 7.490, 8.595, 10.253, 10.915, 10.915, 10.915,
22 10.915, 10.915, 10.915, 10.915, 10.915, 10.915, 10.915, 10.915, 10.915,
23 10.915, 10.915, 10.915, 10.915, 10.915, 14.783, 18.539, 18.539, 18.539,
24 18.539, 18.539, 18.539, 18.539, 18.539, 18.539, 9.938};
25 float secondOrderEnergyCorrection_ = 4000. / 3940.5;
26 float mipSiEnergy_ = 0.130;
27 int hgc_compression_factor_ = 8;