CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Functions
hf_egamma Namespace Reference

Functions

double eSeLCorrected (double es, double el, double m, double b)
 
double eSeLCorrected (double es, double el, double pc, double px, double py)
 
double eSeLCorrected (double es, double el, int era)
 

Function Documentation

double hf_egamma::eSeLCorrected ( double  es,
double  el,
double  m,
double  b 
)
double hf_egamma::eSeLCorrected ( double  es,
double  el,
double  pc,
double  px,
double  py 
)

Definition at line 7 of file HFEGammaSLCorrector.cc.

References log.

Referenced by eSeLCorrected(), and HFRecoEcalCandidateAlgo::produce().

7  {
8  double x = std::log(el / 100);
9  double y = es / el;
10  return pc + px * x + py * y;
11  }
static std::vector< std::string > checklist log
uint16_t const *__restrict__ x
Definition: gpuClustering.h:39
double hf_egamma::eSeLCorrected ( double  es,
double  el,
int  era 
)

Definition at line 13 of file HFEGammaSLCorrector.cc.

References eSeLCorrected().

13  {
14  double pc = 0.0, px = 0.0, py = 0.0;
15 
16  switch (era) {
17  case (0): //Data 41
18  pc = -1.02388e-1;
19  px = -1.51130e-1;
20  py = 9.88514e-1;
21  break;
22  case (1): //Fall 10 MC
23  pc = -4.06012e-2;
24  px = -1.34769e-1;
25  py = 9.90877e-1;
26  break;
27  case (2): //Spring 11 MC
28  pc = 5.98732e-3;
29  px = -1.74767e-1;
30  py = 9.84610e-1;
31  break;
32  case (3): //Summer 11 MC
33  pc = -0.036416;
34  px = -0.195854;
35  py = 0.980633;
36  break;
37  case (4): //July 5 Data
38  pc = -0.008077;
39  px = -0.216002;
40  py = 0.976393;
41  break;
42  }
43 
44  //After fitting the 2D histogram, we find a y-intercept b, a slope m,
45  //and a point x0 around which we choose to rotate the data points. We
46  //will map (x,y) --> (x,y') where y' = pc + px*x + py*y, with
47  //pc = sin(atan(m))*x0 - cos(atan(m))*(m*x0+b), px = -sin(atan(m)),
48  //and py = cos(atan(m)). This transformation preserves the x-value of the
49  //data point and takes y' to be the y-value of the original point after it
50  //is rotated through angle atan(m) (to flatten the line of best fit) and
51  //transposed vertically downward by b (to make the line of best fit coincide with the x-axis).
52 
53  return eSeLCorrected(es, el, pc, px, py);
54  }
double eSeLCorrected(double es, double el, double pc, double px, double py)