11 std::vector<double>& endcapFbremCorr,
12 std::vector<double>& barrelCorr,
13 std::vector<double>& endcapCorr):
14 barrelFbremCorr_(barrelFbremCorr),
15 endcapFbremCorr_(endcapFbremCorr),
16 barrelCorr_(barrelCorr),
17 endcapCorr_(endcapCorr)
25 edm::LogError(
"PFSCEnergyCalibration")<<
" wrong size input paramter: calibPFSCEle_Fbrem_barrel read = " 30 edm::LogError(
"PFSCEnergyCalibration")<<
" wrong size input parameter: calibPFSCEle_Fbrem_endcap read = " 36 edm::LogError(
"PFSCEnergyCalibration")<<
" wrong size input paramter: calibPFSCEle_barrel read = " 41 edm::LogError(
"PFSCEnergyCalibration")<<
" wrong size input parameter: calibPFSCEle_endcap read = " 50 cout <<
" pbb[" << ip <<
"] " <<
" = " <<
pbb[ip] << endl;
58 cout <<
" pbe[" << ip <<
"] " <<
" = " <<
pbe[ip] << endl;
62 cout <<
" ****** THE BARREL SC CORRECTIONS ******* " <<
barrelCorr_.size() << endl;
63 for(
unsigned int ip = 0; ip<
barrelCorr_.size(); ip++){
66 cout <<
" bb[" << ip <<
"] " <<
" = " <<
bb[ip] << endl;
70 cout <<
" ****** THE ENCCAP SC CORRECTIONS ******* " <<
endcapCorr_.size() << endl;
71 for(
unsigned int ip = 0; ip<
endcapCorr_.size(); ip++){
74 cout <<
" cc[" << ip <<
"] " <<
" = " <<
cc[ip] << endl;
84 if ( brLinear == 0 )
return e;
87 if ( brLinear <
pbb[0] ) brLinear =
pbb[0];
88 if ( brLinear >
pbb[1] ) brLinear =
pbb[1];
109 double y = p0*threshold*threshold + p1*threshold +
p2;
110 double yprime = 2*p0*threshold +
p1;
113 double c = y - a*threshold*threshold - b*
threshold;
115 if ( brLinear < threshold )
116 fCorr = p0*brLinear*brLinear + p1*brLinear +
p2;
118 fCorr = a*brLinear*brLinear + b*brLinear +
c;
130 if ( brLinear == 0 )
return e;
132 if ( brLinear <
pbe[0] ) brLinear =
pbe[0];
133 if ( brLinear >
pbe[1] ) brLinear =
pbe[1];
144 if(fabs(eta) >
pbe[7] ) {
154 double y = p0*threshold*threshold + p1*threshold +
p2;
155 double yprime = 2*p0*threshold +
p1;
158 double c = y - a*threshold*threshold - b*
threshold;
160 if ( brLinear < threshold )
161 fCorr = p0*brLinear*brLinear + p1*brLinear +
p2;
163 fCorr = a*brLinear*brLinear + b*brLinear +
c;
239 double e2 = -0.00181;
242 if(temp_et <
bb[8] ) {
256 double p0 = c0 + c1/(temp_et + c2) + c3/(temp_et*temp_et);
257 double p1 = d0/(temp_et + d1) + d2/(temp_et*temp_et + d3);
260 fCorr = p0 + p1*atan(e1*(e0 - fabs(eta))) + e2*fabs(eta);
291 double p0 =
cc[0] +
cc[1]/(
cc[2] + temp_et);
292 double p1 =
cc[3] +
cc[4]/(
cc[5] + temp_et);
293 double p2 =
cc[6] +
cc[7]/(
cc[8] + temp_et);
296 fCorr = p0 + p1*fabs(eta) + p2*eta*
eta;
std::vector< double > endcapCorr_
double SCCorrFBremBarrel(double e, double et, double brLinear)
double SCCorrEtEtaBarrel(double et, double eta)
double SCCorrEtEtaEndcap(double et, double eta)
std::vector< double > barrelCorr_
et
define resolution functions of each parameter
std::vector< double > endcapFbremCorr_
std::vector< double > barrelFbremCorr_
double SCCorrFBremEndcap(double e, double eta, double brLinear)