#include <MuScleFitCorrector_Functions.h>
|
virtual void | setPar (double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const T &parResol, const std::vector< int > &parResolOrder, const std::vector< ParSet > &parSet) |
|
int | parNum_ |
|
template<class T>
class heppy::scaleFunction50< T >
Definition at line 82 of file MuScleFitCorrector_Functions.h.
◆ scaleFunction50()
◆ scale()
template<class T >
virtual double heppy::scaleFunction50< T >::scale |
( |
const double & |
pt, |
|
|
const double & |
eta, |
|
|
const double & |
phi, |
|
|
const int |
chg, |
|
|
const T & |
parScale |
|
) |
| const |
|
inlinevirtual |
Implements heppy::scaleFunctionBase< T >.
Definition at line 85 of file MuScleFitCorrector_Functions.h.
References chg, PVValHelper::eta, DiDispStaMuonMonitor_cfi::pt, and funct::sin().
87 double ampl(0),
phase(0), twist(0), ampl2(0), freq2(0),
phase2(0);
90 if (
eta < parScale[4]) {
97 parScale[3] * (
eta - parScale[4]) + parScale[7] * (parScale[4] - parScale[8]) + parScale[11] * parScale[8];
99 }
else if (parScale[4] <=
eta &&
eta < parScale[8]) {
102 twist = parScale[7] * (
eta - parScale[8]) + parScale[11] * parScale[8];
104 }
else if (parScale[8] <=
eta &&
eta < parScale[12]) {
106 phase = parScale[10];
107 twist = parScale[11] *
eta;
109 }
else if (parScale[12] <=
eta &&
eta < parScale[16]) {
111 phase = parScale[14];
112 twist = parScale[15] * (
eta - parScale[12]) + parScale[11] * parScale[12];
114 }
else if (parScale[16] <
eta) {
116 phase = parScale[18];
117 ampl2 = parScale[24];
118 freq2 = parScale[25];
120 twist = parScale[19] * (
eta - parScale[16]) + parScale[15] * (parScale[16] - parScale[12]) +
121 parScale[11] * parScale[12];
125 double curv = (1. + parScale[0]) * ((
double)
chg /
pt - twist - ampl *
sin(
phi +
phase) -
126 ampl2 *
sin(freq2 *
phi +
phase2) - 0.5 * parScale[20]);
127 return 1. / ((double)
chg * curv);
Sin< T >::type sin(const T &t)