CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalDeterministicFit.cc
Go to the documentation of this file.
1 #include <iostream>
2 #include <cmath>
3 #include <climits>
5 
9 
10 using namespace std;
11 
13 }
14 
16 }
17 
18 void HcalDeterministicFit::init(HcalTimeSlew::ParaSource tsParam, HcalTimeSlew::BiasSetting bias, NegStrategy nStrat, PedestalSub pedSubFxn_, std::vector<double> pars) {
19  for(int fi=0; fi<6; fi++){
20  fpars[fi] = pars.at(fi);
21  }
22 
23  fTimeSlew=tsParam;
24  fTimeSlewBias=bias;
25  fNegStrat=nStrat;
26  fPedestalSubFxn_=pedSubFxn_;
27 }
28 
30 // Landau function integrated in 1 ns intervals
31 //Landau pulse shape from https://indico.cern.ch/event/345283/contribution/3/material/slides/0.pdf
32 //Landau turn on by default at left edge of time slice
33 // normalized to 1 on [0,10000]
34 void HcalDeterministicFit::getLandauFrac(float tStart, float tEnd, float &sum) const{
35 
36  if (std::abs(tStart-tEnd-tswidth)<0.1) {
37  sum=0;
38  return;
39  }
40  sum= landauFrac[int(ceil(tStart+tswidth))];
41  return;
42 }
void init(HcalTimeSlew::ParaSource tsParam, HcalTimeSlew::BiasSetting bias, NegStrategy nStrat, PedestalSub pedSubFxn_, std::vector< double > pars)
#define constexpr
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
void getLandauFrac(float tStart, float tEnd, float &sum) const