test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HFRecalibration.cc
Go to the documentation of this file.
1 // File: HFRecalibration.cc
3 // Description: simple helper class containing parameterized
4 // function for HF damade recovery for Upgrade studies
5 // evaluated using SimG4CMS/Calo/ HFDarkening
7 
9 
12 
13 double HFRecalibration::getCorr(int ieta, int depth, double lumi) {
14 
15  // parameterizations provided by James Wetzel
16 
17  ieta = abs(ieta);
18 
19  if (depth == 1)
20  {
21  switch (ieta) {
22  case 29:
23  return (1 + 0.00311431*sqrt(lumi) - 1.2533e-05*lumi);
24  break;
25  case 30:
26  return (1 + 0.00465755*sqrt(lumi) - 2.13133e-05*lumi);
27  break;
28  case 31:
29  return (1 + 0.000977613*sqrt(lumi) - 4.07977e-06*lumi);
30  break;
31  case 32:
32  return (1 + 0.000524346*sqrt(lumi) + 4.9271e-06*lumi);
33  break;
34  case 33:
35  return (1 + 0.00173415*sqrt(lumi) - 2.24236e-06*lumi);
36  break;
37  case 34:
38  return (1 + 0.00232593*sqrt(lumi) - 4.52383e-06*lumi);
39  break;
40  case 35:
41  return (1 + 0.00320855*sqrt(lumi) - 2.99755e-06*lumi);
42  break;
43  case 36:
44  return (1 + 0.0041762*sqrt(lumi) - 7.45472e-06*lumi);
45  break;
46  case 37:
47  return (1 + 0.00470535*sqrt(lumi) - 8.54648e-06*lumi);
48  break;
49  case 38:
50  return (1 + 0.0128799*sqrt(lumi) - 2.08496e-05*lumi);
51  break;
52  case 39:
53  return (1 + 0.0132013*sqrt(lumi) - 2.20553e-06*lumi);
54  break;
55  case 40:
56  return (1 + 0.0175412*sqrt(lumi) + 9.27508e-06*lumi);
57  break;
58  case 41:
59  return (1 + 0.0225411*sqrt(lumi) + 6.27762e-06*lumi);
60  break;
61  default:
62  return 1.0;
63  break;
64  }
65  }
66  else if (depth == 2)
67  {
68  switch (ieta) {
69  case 29:
70  return (1 + 0.00761858*sqrt(lumi) - 5.27388e-05*lumi);
71  break;
72  case 30:
73  return (1 + 0.00504187*sqrt(lumi) - 2.37517e-05*lumi);
74  break;
75  case 31:
76  return (1 + 0.000662802*sqrt(lumi) - 1.59053e-06*lumi);
77  break;
78  case 32:
79  return (1 + 0.000309601*sqrt(lumi) + 5.12078e-06*lumi);
80  break;
81  case 33:
82  return (1 + 0.00136072*sqrt(lumi) - 1.00731e-06*lumi);
83  break;
84  case 34:
85  return (1 + 0.00162751*sqrt(lumi) - 9.75138e-07*lumi);
86  break;
87  case 35:
88  return (1 + 0.00276588*sqrt(lumi) - 2.7936e-06*lumi);
89  break;
90  case 36:
91  return (1 + 0.00350136*sqrt(lumi) - 5.80201e-06*lumi);
92  break;
93  case 37:
94  return (1 + 0.00373748*sqrt(lumi) - 4.18957e-06*lumi);
95  break;
96  case 38:
97  return (1 + 0.0114058*sqrt(lumi) - 2.09587e-05*lumi);
98  break;
99  case 39:
100  return (1 + 0.0114551*sqrt(lumi) - 5.59902e-06*lumi);
101  break;
102  case 40:
103  return (1 + 0.0168812*sqrt(lumi) - 1.00741e-05*lumi);
104  break;
105  case 41:
106  return (1 + 0.018887*sqrt(lumi) - 6.77675e-06*lumi);
107  break;
108  default:
109  return 1.0;
110  break;
111  }
112  }
113  else
114  return 1.0;
115 }
tuple lumi
Definition: fjr2json.py:35
double getCorr(int ieta, int idepth, double lumi)
T sqrt(T t)
Definition: SSEVec.h:48
Abs< T >::type abs(const T &t)
Definition: Abs.h:22