CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions
EcalCrystalMatrixProbality< T > Class Template Reference

#include <EcalCrystalMatrixProbality.h>

Public Member Functions

template<>
double Central (double x)
 
template<>
double Central (double x)
 
template<>
double Diagonal (double x)
 
template<>
double Diagonal (double x)
 
template<>
double ReftRight (double x)
 
template<>
double ReftRight (double x)
 
template<>
double UpDown (double x)
 
template<>
double UpDown (double x)
 

Static Public Member Functions

static double Central (double x)
 
static double Diagonal (double x)
 
static double ReftRight (double x)
 
static double UpDown (double x)
 

Detailed Description

template<typename T>
class EcalCrystalMatrixProbality< T >

Definition at line 13 of file EcalCrystalMatrixProbality.h.

Member Function Documentation

◆ Central() [1/3]

template<>
double EcalCrystalMatrixProbality< EBDetId >::Central ( double  x)

Definition at line 7 of file EcalCrystalMatrixProbality.cc.

References MillePedeFileConverter_cfg::e, and x.

7  {
8  double vEBCentral = 0.0;
9 
10  if (x <= 0.180) {
11  vEBCentral = 0.0;
12  } else if (0.180 < x && x <= 0.300) {
13  vEBCentral = (-3267.97 + 53882 * x - 298536 * x * x + 555872 * x * x * x) / 2.19773067484200601e+03;
14  } else if (0.300 < x && x <= 0.450) {
15  vEBCentral = (-35768.3 + 307852 * x - 892325 * x * x + 914708 * x * x * x) / 2.19773067484200601e+03;
16  } else if (0.450 < x && x <= 0.780) {
17  vEBCentral = (28483 - 113912 * x + 184167 * x * x - 99781.8 * x * x * x) / 2.19773067484200601e+03;
18  } else if (0.780 < x && x <= 0.845) {
19  vEBCentral =
20  (-2.49877e+07 + 9.18933e+07 * x - 1.12504e+08 * x * x + 4.58581e+07 * x * x * x) / 2.19773067484200601e+03;
21  } else if (0.845 < x) {
22  vEBCentral = 0.0;
23  } else {
24  vEBCentral = 0.0;
25  }
26 
27  return vEBCentral;
28 }

◆ Central() [2/3]

template<typename T >
static double EcalCrystalMatrixProbality< T >::Central ( double  x)
static

◆ Central() [3/3]

template<>
double EcalCrystalMatrixProbality< EEDetId >::Central ( double  x)

Definition at line 111 of file EcalCrystalMatrixProbality.cc.

References MillePedeFileConverter_cfg::e, and x.

111  {
112  double vEECentral = 0.0;
113 
114  if (x <= 0.195) {
115  vEECentral = 0.0;
116  } else if (0.195 < x && x <= 0.440) {
117  vEECentral = (-30295.4 + 562760 * x - 4.04967e+06 * x * x + 1.40276e+07 * x * x * x - 2.33108e+07 * x * x * x * x +
118  1.50243e+07 * x * x * x * x * x) /
119  9.44506089594767786e+02;
120  } else if (0.440 < x && x <= 0.840) {
121  vEECentral = (-34683.3 + 274011 * x - 749408 * x * x + 895482 * x * x * x - 396108 * x * x * x * x) /
122  9.44506089594767786e+02;
123  } else if (0.840 < x && x <= 0.875) {
124  vEECentral = (4.7355575e+06 - 1.6268056e+07 * x + 1.8629316e+07 * x * x - 7.1113915e+06 * x * x * x) /
125  9.44506089594767786e+02;
126  } else if (0.875 < x) {
127  vEECentral = 0.0;
128  } else {
129  vEECentral = 0.0;
130  }
131 
132  return vEECentral;
133 }

◆ Diagonal() [1/3]

template<typename T >
static double EcalCrystalMatrixProbality< T >::Diagonal ( double  x)
static

◆ Diagonal() [2/3]

template<>
double EcalCrystalMatrixProbality< EBDetId >::Diagonal ( double  x)

Definition at line 31 of file EcalCrystalMatrixProbality.cc.

References MillePedeFileConverter_cfg::e, and x.

31  {
32  double vEBDiagonal = 0.0;
33 
34  if (0.000 < x && x <= 0.010) {
35  vEBDiagonal = TMath::Landau(x, 7.02750e-03, 2.41060e-03, true) * 3.96033283438174431e+03 / 4.39962923475768821e+03;
36  } else if (0.010 < x && x <= 0.100) {
37  vEBDiagonal = TMath::Landau(x, 1.70472e-03, 2.47564e-03, true) * 8.34898553737588554e+03 / 4.39962923475768821e+03;
38  } else if (0.100 < x && x <= 0.350) {
39  vEBDiagonal = (18206.7 - 326578 * x + 2.44528e+06 * x * x - 9.27532e+06 * x * x * x + 1.75264e+07 * x * x * x * x -
40  1.30949e+07 * x * x * x * x * x) /
41  4.39962923475768821e+03;
42  } else if (0.350 < x) {
43  vEBDiagonal = 0.0;
44  } else {
45  vEBDiagonal = 0.0;
46  }
47 
48  return vEBDiagonal;
49 }

◆ Diagonal() [3/3]

template<>
double EcalCrystalMatrixProbality< EEDetId >::Diagonal ( double  x)

Definition at line 136 of file EcalCrystalMatrixProbality.cc.

References MillePedeFileConverter_cfg::e, and x.

136  {
137  double vEEDiagonal = 0.0;
138 
139  if (0.000 < x && x <= 0.015) {
140  vEEDiagonal = TMath::Landau(x, 8.25505e-03, 3.10387e-03, true) * 1.68601977536835489e+03 / 1.86234137068993937e+03;
141  } else if (0.015 < x && x <= 0.150) {
142  vEEDiagonal = TMath::Landau(x, -5.58560e-04, 2.44735e-03, true) * 4.88463235185936264e+03 / 1.86234137068993937e+03;
143  } else if (0.150 < x && x <= 0.400) {
144  vEEDiagonal = (7416.66 - 114653 * x + 763877 * x * x - 2.57767e+06 * x * x * x + 4.28872e+06 * x * x * x * x -
145  2.79218e+06 * x * x * x * x * x) /
146  1.86234137068993937e+03;
147  } else if (0.400 < x) {
148  vEEDiagonal = 0.0;
149  } else {
150  vEEDiagonal = 0.0;
151  }
152 
153  return vEEDiagonal;
154 }

◆ ReftRight() [1/3]

template<typename T >
static double EcalCrystalMatrixProbality< T >::ReftRight ( double  x)
static

◆ ReftRight() [2/3]

template<>
double EcalCrystalMatrixProbality< EBDetId >::ReftRight ( double  x)

Definition at line 83 of file EcalCrystalMatrixProbality.cc.

References MillePedeFileConverter_cfg::e, and x.

83  {
84  double vEBReftRight = 0.0;
85 
86  if (0.000 < x && x <= 0.003) {
87  vEBReftRight = (102.682 + 457094 * x - 4.34553e+08 * x * x + 2.59638e+11 * x * x * x) / 2.19081589410447168e+03;
88  } else if (0.003 < x && x <= 0.010) {
89  vEBReftRight = TMath::Landau(x, 9.56298e-03, 2.59171e-03, true) * 1.27769617491053555e+03 / 2.19081589410447168e+03;
90  } else if (0.010 < x && x <= 0.070) {
91  vEBReftRight =
92  TMath::Landau(x, -1.11570e-02, 9.08308e-04, true) * 3.58026004645168359e+04 / 2.19081589410447168e+03;
93  } else if (0.070 < x && x <= 0.400) {
94  vEBReftRight = (15362.5 - 230546 * x + 1.57249e+06 * x * x - 5.47903e+06 * x * x * x + 9.4296e+06 * x * x * x * x -
95  6.3775e+06 * x * x * x * x * x) /
96  2.19081589410447168e+03;
97  } else if (0.400 < x && x <= 0.440) {
98  vEBReftRight = (2.3163882e+06 - 2.2437252e+07 * x + 8.1519104e+07 * x * x - 1.3162869e+08 * x * x * x +
99  7.9682168e+07 * x * x * x * x) /
100  2.19081589410447168e+03;
101  } else if (0.440 < x) {
102  vEBReftRight = 0.0;
103  } else {
104  vEBReftRight = 0.0;
105  }
106 
107  return vEBReftRight;
108 }

◆ ReftRight() [3/3]

template<>
double EcalCrystalMatrixProbality< EEDetId >::ReftRight ( double  x)

Definition at line 179 of file EcalCrystalMatrixProbality.cc.

References MillePedeFileConverter_cfg::e, and x.

179  {
180  double vEEReftRight = 0.0;
181 
182  if (0.000 < x && x <= 0.015) {
183  vEEReftRight = TMath::Landau(x, 1.34809e-02, 3.70278e-03, true) * 8.62383670884733533e+02 / 1.88498009908992071e+03;
184  } else if (0.015 < x && x <= 0.100) {
185  vEEReftRight =
186  (75877.4 - 3.18767e+06 * x + 5.89073e+07 * x * x - 5.08829e+08 * x * x * x + 1.67247e+09 * x * x * x * x) /
187  1.88498009908992071e+03;
188  } else if (0.100 < x && x <= 0.450) {
189  vEEReftRight = (12087 - 123704 * x + 566586 * x * x - 1.20111e+06 * x * x * x + 933789 * x * x * x * x) /
190  1.88498009908992071e+03;
191  } else if (0.450 < x) {
192  vEEReftRight = 0.0;
193  } else {
194  vEEReftRight = 0.0;
195  }
196 
197  return vEEReftRight;
198 }

◆ UpDown() [1/3]

template<typename T >
static double EcalCrystalMatrixProbality< T >::UpDown ( double  x)
static

◆ UpDown() [2/3]

template<>
double EcalCrystalMatrixProbality< EBDetId >::UpDown ( double  x)

Definition at line 52 of file EcalCrystalMatrixProbality.cc.

References MillePedeFileConverter_cfg::e, and x.

52  {
53  double vEBUpDown = 0.0;
54 
55  if (0.000 < x && x <= 0.005) {
56  vEBUpDown = (28.5332 - 35350 * x + 4.28566e+07 * x * x - 2.02038e+10 * x * x * x + 3.56185e+12 * x * x * x * x) /
57  2.20315994559946967e+03;
58  } else if (0.005 < x && x <= 0.015) {
59  vEBUpDown = TMath::Landau(x, 1.51342e-02, 3.65756e-03, true) * 7.04501225670452641e+02 / 2.20315994559946967e+03;
60  } else if (0.015 < x && x <= 0.020) {
61  vEBUpDown = TMath::Landau(x, 1.52460e-02, 5.04539e-03, true) * 9.70980301933632518e+02 / 2.20315994559946967e+03;
62  } else if (0.020 < x && x <= 0.100) {
63  vEBUpDown = (62436.8 - 2.52677e+06 * x + 4.92704e+07 * x * x - 4.95769e+08 * x * x * x +
64  2.48261e+09 * x * x * x * x - 4.89172e+09 * x * x * x * x * x) /
65  2.20315994559946967e+03;
66  } else if (0.100 < x && x <= 0.430) {
67  vEBUpDown = (19976.7 - 265844 * x + 1.80629e+06 * x * x - 6.40378e+06 * x * x * x + 1.13017e+07 * x * x * x * x -
68  7.91581e+06 * x * x * x * x * x) /
69  2.20315994559946967e+03;
70  } else if (0.430 < x && x <= 0.453) {
71  vEBUpDown =
72  (-3.78481e+06 + 2.60128e+07 * x - 5.9519e+07 * x * x + 4.53408e+07 * x * x * x) / 2.20315994559946967e+03;
73  } else if (0.453 < x) {
74  vEBUpDown = 0.0;
75  } else {
76  vEBUpDown = 0.0;
77  }
78 
79  return vEBUpDown;
80 }

◆ UpDown() [3/3]

template<>
double EcalCrystalMatrixProbality< EEDetId >::UpDown ( double  x)

Definition at line 157 of file EcalCrystalMatrixProbality.cc.

References MillePedeFileConverter_cfg::e, and x.

157  {
158  double vEEUpDown = 0.0;
159 
160  if (0.000 < x && x <= 0.015) {
161  vEEUpDown = TMath::Landau(x, 1.34809e-02, 3.70278e-03, true) * 8.62383670884733533e+02 / 1.88498009908992071e+03;
162  } else if (0.015 < x && x <= 0.100) {
163  vEEUpDown =
164  (75877.4 - 3.18767e+06 * x + 5.89073e+07 * x * x - 5.08829e+08 * x * x * x + 1.67247e+09 * x * x * x * x) /
165  1.88498009908992071e+03;
166  } else if (0.100 < x && x <= 0.450) {
167  vEEUpDown = (12087 - 123704 * x + 566586 * x * x - 1.20111e+06 * x * x * x + 933789 * x * x * x * x) /
168  1.88498009908992071e+03;
169  } else if (0.450 < x) {
170  vEEUpDown = 0.0;
171  } else {
172  vEEUpDown = 0.0;
173  }
174 
175  return vEEUpDown;
176 }