CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HcalAlgoUtils.cc
Go to the documentation of this file.
2 #include <cmath>
3 
4 void getLinearizedADC(const HcalQIEShape& shape, const HcalQIECoder* coder, int bins, int capid, float& lo, float& hi) {
5  float low = coder->charge(shape, 0, capid);
6  float high = coder->charge(shape, bins - 1, capid);
7  float step = (high - low) / (bins - 1);
8  low -= step / 2.0;
9  high += step / 2.0;
10  lo = low;
11  hi = high;
12  return;
13 }
14 
15 float maxDiff(float one, float two, float three, float four) {
16  float max = -1000;
17  float min = 1000;
18  if (one > max)
19  max = one;
20  if (one < min)
21  min = one;
22  if (two > max)
23  max = two;
24  if (two < min)
25  min = two;
26  if (three > max)
27  max = three;
28  if (three < min)
29  min = three;
30  if (four > max)
31  max = four;
32  if (four < min)
33  min = four;
34  return fabs(max - min);
35 }
void getLinearizedADC(const CastorQIEShape &shape, const CastorQIECoder *coder, int bins, int capid, float &lo, float &hi)
T min(T a, T b)
Definition: MathUtil.h:58
float maxDiff(float one, float two, float three, float four)
step
Definition: StallMonitor.cc:94
float charge(const HcalQIEShape &fShape, unsigned fAdc, unsigned fCapId) const
ADC [0..127] + capid [0..3] -&gt; fC conversion.
Definition: HcalQIECoder.cc:20