#include <Functions.h>
Definition at line 589 of file Functions.h.
double smearFunctionType6::etaByPoints |
( |
const double & |
inEta, |
|
|
const double & |
border |
|
) |
| |
|
inlineprotected |
This is the pt vs eta resolution by points. It uses std::fabs(eta) assuming symmetry. The values are derived from 100k events of MuonGun with 5<pt<100 and |eta|<3.
Definition at line 623 of file Functions.h.
References PVValHelper::eta.
624 Double_t
eta = std::fabs(inEta);
625 if( 0. <= eta && eta <= 0.2 )
return 0.00942984;
626 else if( 0.2 < eta && eta <= 0.4 )
return 0.0104489;
627 else if( 0.4 < eta && eta <= 0.6 )
return 0.0110521;
628 else if( 0.6 < eta && eta <= 0.8 )
return 0.0117338;
629 else if( 0.8 < eta && eta <= 1.0 )
return 0.0138142;
630 else if( 1.0 < eta && eta <= 1.2 )
return 0.0165826;
631 else if( 1.2 < eta && eta <= 1.4 )
return 0.0183663;
632 else if( 1.4 < eta && eta <= 1.6 )
return 0.0169904;
633 else if( 1.6 < eta && eta <= 1.8 )
return 0.0173289;
634 else if( 1.8 < eta && eta <= 2.0 )
return 0.0205821;
635 else if( 2.0 < eta && eta <= 2.2 )
return 0.0250032;
636 else if( 2.2 < eta && eta <= 2.4 )
return 0.0339477;
638 else if( 2.4 < eta && eta <= 2.6 )
return border;
void smearFunctionType6::smear |
( |
double & |
pt, |
|
|
double & |
eta, |
|
|
double & |
phi, |
|
|
const double * |
y, |
|
|
const std::vector< double > & |
parSmear |
|
) |
| |
|
inlineoverridevirtual |
Implements smearFunctionBase.
Definition at line 591 of file Functions.h.
References PVValHelper::eta, funct::pow(), and mathSSE::sqrt().
592 double sigmaSmear = 0;
593 double sigmaPtAl = 0;
594 double sigmaPtMisal = 0;
595 double ptPart = parSmear[0] + parSmear[1]*1/
pt +
pt*parSmear[2];
596 double fabsEta = std::fabs(
eta);
600 if (std::fabs(
eta)<=1.4){
601 sigmaPtMisal = ptPart + parSmear[3] + parSmear[4]*std::fabs(
eta) + parSmear[5]*
eta*
eta;
602 sigmaSmear =
sqrt(std::fabs(
pow(sigmaPtMisal,2)-
pow(sigmaPtAl,2)));
606 double par = parSmear[3] + parSmear[4]*1.4 + parSmear[5]*1.4*1.4 - (parSmear[6] + parSmear[7]*(1.4-parSmear[8]) + parSmear[9]*(1.4-parSmear[8])*(1.4-parSmear[8]));
607 sigmaPtMisal = par + ptPart + parSmear[6] + parSmear[7]*std::fabs((fabsEta-parSmear[8])) + parSmear[9]*(fabsEta-parSmear[8])*(fabsEta-parSmear[8]);
608 sigmaSmear =
sqrt(std::fabs(
pow(sigmaPtMisal,2)-
pow(sigmaPtAl,2)));
612 double par = parSmear[3] + parSmear[4]*1.4 + parSmear[5]*1.4*1.4 - (parSmear[10] + parSmear[11]*(1.4-parSmear[12]) + parSmear[13]*(1.4-parSmear[12])*(1.4-parSmear[12]));
613 sigmaPtMisal = par + ptPart + parSmear[10] + parSmear[11]*std::fabs((fabsEta-parSmear[12])) + parSmear[13]*(fabsEta-parSmear[12])*(fabsEta-parSmear[12]);
614 sigmaSmear =
sqrt(std::fabs(
pow(sigmaPtMisal,2)-
pow(sigmaPtAl,2)));
double etaByPoints(const double &inEta, const double &border)
Power< A, B >::type pow(const A &a, const B &b)