CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalCrystalMatrixProbality.cc
Go to the documentation of this file.
2 
5 
6 template <>
8  double vEBCentral = 0.0 ;
9 
10  if ( x <= 0.180 ) { vEBCentral = 0.0 ; }
11  else if ( 0.180 < x && x <= 0.300 ) { vEBCentral = ( -3267.97+53882*x-298536*x*x+555872*x*x*x)/2.19773067484200601e+03 ; }
12  else if ( 0.300 < x && x <= 0.450 ) { vEBCentral = ( -35768.3+ 307852*x -892325*x*x +914708*x*x*x)/2.19773067484200601e+03 ; }
13  else if ( 0.450 < x && x <= 0.780 ) { vEBCentral = ( 28483 -113912*x +184167*x*x -99781.8*x*x*x)/2.19773067484200601e+03 ; }
14  else if ( 0.780 < x && x <= 0.845 ) { vEBCentral = ( -2.49877e+07 + 9.18933e+07*x -1.12504e+08*x*x + 4.58581e+07*x*x*x)/2.19773067484200601e+03 ; }
15  else if ( 0.845 < x ) { vEBCentral = 0.0 ; }
16  else { vEBCentral = 0.0 ; }
17 
18  return vEBCentral ;
19 }
20 
21 template <>
23  double vEBDiagonal = 0.0 ;
24 
25  if ( 0.000 < x && x <= 0.010 ) { vEBDiagonal = TMath::Landau(x,7.02750e-03,2.41060e-03,1)*3.96033283438174431e+03/4.39962923475768821e+03 ; }
26  else if ( 0.010 < x && x <= 0.100 ) { vEBDiagonal = TMath::Landau(x,1.70472e-03,2.47564e-03,1)*8.34898553737588554e+03/4.39962923475768821e+03 ; }
27  else if ( 0.100 < x && x <= 0.350 ) { vEBDiagonal = (18206.7-326578*x+2.44528e+06*x*x-9.27532e+06*x*x*x+ 1.75264e+07*x*x*x*x-1.30949e+07*x*x*x*x*x)/4.39962923475768821e+03 ; }
28  else if ( 0.350 < x ) { vEBDiagonal = 0.0 ; }
29  else { vEBDiagonal = 0.0 ; }
30 
31  return vEBDiagonal ;
32 }
33 
34 template <>
36  double vEBUpDown = 0.0 ;
37 
38  if ( 0.000 < x && x <= 0.005 ) { vEBUpDown = (28.5332-35350*x+4.28566e+07*x*x-2.02038e+10*x*x*x+ 3.56185e+12*x*x*x*x)/2.20315994559946967e+03 ; }
39  else if ( 0.005 < x && x <= 0.015 ) { vEBUpDown = TMath::Landau(x, 1.51342e-02, 3.65756e-03,1)*7.04501225670452641e+02/2.20315994559946967e+03 ; }
40  else if ( 0.015 < x && x <= 0.020 ) { vEBUpDown = TMath::Landau(x, 1.52460e-02, 5.04539e-03 ,1)*9.70980301933632518e+02/2.20315994559946967e+03 ; }
41  else if ( 0.020 < x && x <= 0.100 ) { vEBUpDown = (62436.8-2.52677e+06*x+4.92704e+07*x*x-4.95769e+08*x*x*x+ 2.48261e+09*x*x*x*x-4.89172e+09*x*x*x*x*x)/2.20315994559946967e+03 ; }
42  else if ( 0.100 < x && x <= 0.430 ) { vEBUpDown = ( 19976.7 - 265844*x+ 1.80629e+06*x*x -6.40378e+06*x*x*x+ 1.13017e+07*x*x*x*x -7.91581e+06*x*x*x*x*x)/2.20315994559946967e+03 ; }
43  else if ( 0.430 < x && x <= 0.453 ) { vEBUpDown = ( -3.78481e+06 +2.60128e+07*x -5.9519e+07*x*x +4.53408e+07*x*x*x)/2.20315994559946967e+03 ; }
44  else if ( 0.453 < x ) { vEBUpDown = 0.0 ; }
45  else { vEBUpDown = 0.0 ; }
46 
47  return vEBUpDown ;
48 }
49 
50 template <>
52  double vEBReftRight = 0.0 ;
53 
54  if ( 0.000 < x && x <= 0.003 ) { vEBReftRight = (102.682+457094*x-4.34553e+08*x*x+2.59638e+11*x*x*x)/2.19081589410447168e+03 ; }
55  else if ( 0.003 < x && x <= 0.010 ) { vEBReftRight = TMath::Landau(x, 9.56298e-03, 2.59171e-03,1)*1.27769617491053555e+03/2.19081589410447168e+03 ; }
56  else if ( 0.010 < x && x <= 0.070 ) { vEBReftRight = TMath::Landau(x, -1.11570e-02 , 9.08308e-04 ,1)*3.58026004645168359e+04/2.19081589410447168e+03 ; }
57  else if ( 0.070 < x && x <= 0.400 ) { vEBReftRight = ( 15362.5 -230546*x +1.57249e+06*x*x -5.47903e+06*x*x*x+9.4296e+06*x*x*x*x -6.3775e+06*x*x*x*x*x)/2.19081589410447168e+03 ; }
58  else if ( 0.400 < x && x <= 0.440 ) { vEBReftRight = (2.3163882e+06-2.2437252e+07*x+8.1519104e+07*x*x-1.3162869e+08*x*x*x+7.9682168e+07*x*x*x*x)/2.19081589410447168e+03 ; }
59  else if ( 0.440 < x ) { vEBReftRight = 0.0 ; }
60  else { vEBReftRight = 0.0 ; }
61 
62  return vEBReftRight ;
63 }
64 
65 
66 template <>
68  double vEECentral = 0.0 ;
69 
70  if ( x <= 0.195 ) { vEECentral = 0.0 ; }
71  else if ( 0.195 < x && x <= 0.440 ) { vEECentral = (-30295.4+562760*x-4.04967e+06*x*x+1.40276e+07*x*x*x-2.33108e+07*x*x*x*x+1.50243e+07*x*x*x*x*x)/9.44506089594767786e+02 ; }
72  else if ( 0.440 < x && x <= 0.840 ) { vEECentral = (-34683.3+274011*x-749408*x*x+895482*x*x*x-396108*x*x*x*x)/9.44506089594767786e+02 ; }
73  else if ( 0.840 < x && x <= 0.875 ) { vEECentral = (4.7355575e+06-1.6268056e+07*x+1.8629316e+07*x*x-7.1113915e+06*x*x*x)/9.44506089594767786e+02 ; }
74  else if ( 0.875 < x ) { vEECentral = 0.0 ; }
75  else { vEECentral = 0.0 ; }
76 
77  return vEECentral ;
78 }
79 
80 template <>
82  double vEEDiagonal = 0.0 ;
83 
84  if ( 0.000 < x && x <= 0.015 ) { vEEDiagonal = TMath::Landau(x,8.25505e-03,3.10387e-03,1)*1.68601977536835489e+03/1.86234137068993937e+03 ; }
85  else if ( 0.015 < x && x <= 0.150 ) { vEEDiagonal = TMath::Landau(x,-5.58560e-04,2.44735e-03,1)*4.88463235185936264e+03/1.86234137068993937e+03 ; }
86  else if ( 0.150 < x && x <= 0.400 ) { vEEDiagonal = (7416.66-114653*x+763877*x*x-2.57767e+06*x*x*x+4.28872e+06*x*x*x*x-2.79218e+06*x*x*x*x*x)/1.86234137068993937e+03 ; }
87  else if ( 0.400 < x ) { vEEDiagonal = 0.0 ; }
88  else { vEEDiagonal = 0.0 ; }
89 
90  return vEEDiagonal ;
91 }
92 
93 template <>
95  double vEEUpDown = 0.0 ;
96 
97  if ( 0.000 < x && x <= 0.015 ) { vEEUpDown = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; }
98  else if ( 0.015 < x && x <= 0.100 ) { vEEUpDown = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; }
99  else if ( 0.100 < x && x <= 0.450 ) { vEEUpDown = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; }
100  else if ( 0.450 < x ) { vEEUpDown = 0.0 ; }
101  else { vEEUpDown = 0.0 ; }
102 
103  return vEEUpDown ;
104 }
105 
106 template <>
108  double vEEReftRight = 0.0 ;
109 
110  if ( 0.000 < x && x <= 0.015 ) { vEEReftRight = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; }
111  else if ( 0.015 < x && x <= 0.100 ) { vEEReftRight = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; }
112  else if ( 0.100 < x && x <= 0.450 ) { vEEReftRight = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; }
113  else if ( 0.450 < x ) { vEEReftRight = 0.0 ; }
114  else { vEEReftRight = 0.0 ; }
115 
116  return vEEReftRight ;
117 }
static double UpDown(double x)
T x() const
Cartesian x coordinate.
static double ReftRight(double x)
static double Diagonal(double x)
static double Central(double x)