#include <RoccoR.h>
|
| RocRes () |
|
int | etaBin (double x) const |
|
int | trkBin (double x, int h, TYPE T=MC) const |
|
void | reset () |
|
double | rndm (int H, int F, double v) const |
|
double | Sigma (double pt, int H, int F) const |
|
double | kSpread (double gpt, double rpt, double eta, int nlayers, double w) const |
|
double | kSpread (double gpt, double rpt, double eta) const |
|
double | kSmear (double pt, double eta, TYPE type, double v, double u) const |
|
double | kSmear (double pt, double eta, TYPE type, double v, double u, int n) const |
|
double | kExtra (double pt, double eta, int nlayers, double u, double w) const |
|
double | kExtra (double pt, double eta, int nlayers, double u) const |
|
◆ TYPE
◆ RocRes()
◆ etaBin()
int etaBin |
( |
double |
x | ) |
const |
27 double abseta=fabs(
eta);
28 for(
int i=0; i<
NETA-1; ++i)
if(abseta<
resol[i+1].
eta)
return i;
◆ kExtra() [1/2]
double kExtra |
( |
double |
pt, |
|
|
double |
eta, |
|
|
int |
nlayers, |
|
|
double |
u |
|
) |
| const |
103 const ResParams &rp =
resol[H];
104 double d = rp.kRes[
Data];
105 double m = rp.kRes[
MC];
106 double x = d>m ? sqrt(d*d-m*m) *
Sigma(
pt, H, F) * rp.cb[F].invcdf(u) : 0;
107 if(x<=-1)
return 1.0;
108 return 1.0/(1.0 + x);
◆ kExtra() [2/2]
double kExtra |
( |
double |
pt, |
|
|
double |
eta, |
|
|
int |
nlayers, |
|
|
double |
u, |
|
|
double |
w |
|
) |
| const |
90 const ResParams &rp =
resol[H];
91 double v = rp.nTrk[
MC][F]+(rp.nTrk[
MC][F+1]-rp.nTrk[
MC][F])*
w;
95 double x = RD>RM ? sqrt(RD*RD-RM*RM)*rp.cb[F].invcdf(u) : 0;
◆ kSmear() [1/2]
double kSmear |
( |
double |
pt, |
|
|
double |
eta, |
|
|
TYPE |
type, |
|
|
double |
v, |
|
|
double |
u |
|
) |
| const |
73 const ResParams &rp =
resol[H];
74 double x = rp.kRes[type] *
Sigma(
pt, H, F) * rp.cb[F].invcdf(u);
◆ kSmear() [2/2]
double kSmear |
( |
double |
pt, |
|
|
double |
eta, |
|
|
TYPE |
type, |
|
|
double |
v, |
|
|
double |
u, |
|
|
int |
n |
|
) |
| const |
82 const ResParams &rp =
resol[H];
83 double x = rp.kRes[type] *
Sigma(
pt, H, F) * rp.cb[F].invcdf(u);
◆ kSpread() [1/2]
double kSpread |
( |
double |
gpt, |
|
|
double |
rpt, |
|
|
double |
eta |
|
) |
| const |
65 const auto &k =
resol[H].kRes;
67 return x / (1.0 + (x-1.0)*k[
Data]/k[
MC]);
◆ kSpread() [2/2]
double kSpread |
( |
double |
gpt, |
|
|
double |
rpt, |
|
|
double |
eta, |
|
|
int |
nlayers, |
|
|
double |
w |
|
) |
| const |
51 double v =
rndm(H, F,
w);
53 double kold = gpt / rpt;
54 const ResParams &rp =
resol[H];
55 double u = rp.cb[F].cdf( (kold-1.0)/rp.kRes[
MC]/
Sigma(gpt,H,F) );
56 double knew = 1.0 + rp.kRes[
Data]*
Sigma(gpt,H,D)*rp.cb[D].invcdf(u);
58 if(knew<0)
return 1.0;
◆ reset()
23 std::vector<ResParams>().swap(
resol);
◆ rndm()
double rndm |
( |
int |
H, |
|
|
int |
F, |
|
|
double |
v |
|
) |
| const |
44 const ResParams &rp =
resol[H];
45 return rp.nTrk[
MC][F]+(rp.nTrk[
MC][F+1]-rp.nTrk[
MC][F])*
w;
◆ Sigma()
double Sigma |
( |
double |
pt, |
|
|
int |
H, |
|
|
int |
F |
|
) |
| const |
39 const ResParams &rp =
resol[H];
40 return rp.rsPar[0][F] + rp.rsPar[1][F]*dpt + rp.rsPar[2][F]*dpt*dpt;
◆ trkBin()
int trkBin |
( |
double |
x, |
|
|
int |
h, |
|
|
TYPE |
T = MC |
|
) |
| const |
33 for(
int i=0; i<
NTRK-1; ++i)
if(x<
resol[h].nTrk[T][i+1])
return i;
◆ NETA
◆ NMIN
◆ NTRK
◆ resol
The documentation for this struct was generated from the following files:
- /builds/cms-analysis/general/DasAnalysisSystem/Core/Installer/Core/Muons/interface/RoccoR.h
- /builds/cms-analysis/general/DasAnalysisSystem/Core/Installer/Core/Muons/src/RoccoR.cc