#include <CSCTFPtMethods.h>
Public Types | |
enum | { kMaxParameters = 4 } |
enum | { kME1andME2 = 1, kME1andME3, kME2andME3, kME2andME4, kME3andME4, kME1andME2ovr, kME2andMB1, kME2andMB2 } |
Public Member Functions | |
bool | chargeValid (unsigned Pt, unsigned Quality, unsigned Eta, unsigned method) const |
CSCTFPtMethods (const L1MuTriggerPtScale *ptScale=0) | |
double | Likelihood (double *phi12, double *phi23, double *par_m12, double *par_m23, double *par_sig12, double *par_sig23, double *par_rho, double *v) const |
double | Likelihood2 (double *phi12, double *par_m12, double *par_sig12, double *v) const |
double | Likelihood2011 (double *phi12, double *phi23, double *par_m12, double *par_m23, double *par_sig12, double *par_sig23, double *par_rho, double *v) const |
double | Likelihood2_2011 (double *phi12, double *par_m12, double *par_sig12, double *v) const |
float | Pt2Stn (int type, float eta, float dphi, int fr=-1) const |
float | Pt2Stn2010 (int type, float eta, float dphi, int fr=-1, int method=11) const |
float | Pt2Stn2011 (int type, float eta, float dphi, int fr=-1, int method=11, int phiSign=2) const |
float | Pt2Stn2012 (int type, float eta, float dphi, int PtbyMLH, float &theLH, int fr=-1, int method=11) const |
float | Pt2Stn2012_DT (int type, float eta, float dphi, int PtbyMLH, float &theLH, int fr=-1, int method=11, int phiSign=2) const |
float | Pt2StnChiSq (int type, float eta, int dphi, int fr) const |
float | Pt2StnHybrid (int type, float eta, int dphi, int fr) const |
float | Pt3Stn (int type, float eta, float dphi1, float dphi2, int fr=-1) const |
float | Pt3Stn2010 (int type, float eta, float dphi1, float dphi2, int fr=-1, int method=11) const |
float | Pt3Stn2011 (int type, float eta, float dphi1, float dphi2, int fr=-1, int method=11) const |
float | Pt3Stn2012 (int type, float eta, float dphi1, float dphi2, int PtbyMLH, float &theLH, int fr=-1, int method=11) const |
float | Pt3Stn2012_DT (int type, float eta, float dphi1, float dphi2, int PtbyMLH, float &theLH, int fr=-1, int method=11) const |
float | Pt3StnChiSq (int type, float eta, int dphi1, int dphi2, int fr) const |
float | Pt3StnHybrid (int type, float eta, int dphi1, int dphi2, int fr) const |
float | PtEff90 (float pt, float eta, int mode) const |
Static Public Attributes | |
static const double | A_mu12Front [4][15] |
static const double | A_mu12Rare [4][15] |
static const double | A_mu13Front [4][15] |
static const double | A_mu13Rare [4][15] |
static const double | A_mu14Front [4][15] |
static const double | A_mu14Rare [4][15] |
static const double | A_mu23 [4][15] |
static const double | A_mu24 [4][15] |
static const double | A_mu34 [4][15] |
static const double | A_mu51 [4][15] |
static const double | A_mu52 [4][15] |
static const double | A_mu53 [4][15] |
static const double | A_rho123FrontCSCTF [5][15] |
static const double | A_rho123RareCSCTF [5][15] |
static const double | A_rho124FrontCSCTF [5][15] |
static const double | A_rho124RareCSCTF [5][15] |
static const double | A_rho134FrontCSCTF [5][15] |
static const double | A_rho134RareCSCTF [5][15] |
static const double | A_rho234CSCTF [5][15] |
static const double | A_rho512 [5][15] |
DT correlation. | |
static const double | A_rho513 [5][15] |
static const double | A_rho523 [5][15] |
static const double | A_sig12Front [3][15] |
static const double | A_sig12Rare [3][15] |
static const double | A_sig13Front [3][15] |
static const double | A_sig13Rare [3][15] |
static const double | A_sig14Front [3][15] |
static const double | A_sig14Rare [3][15] |
static const double | A_sig23 [3][15] |
static const double | A_sig24 [3][15] |
static const double | A_sig34 [3][15] |
static const double | A_sig51 [3][15] |
static const double | A_sig52 [3][15] |
static const double | A_sig53 [3][15] |
static double | AB_mu12F [4][15] |
static double | AB_mu12FME11 [4][15] |
static double | AB_mu12FnoME11 [4][15] |
static double | AB_mu12R [4][15] |
static double | AB_mu12RME11 [4][15] |
static double | AB_mu12RnoME11 [4][15] |
static double | AB_mu13F [4][15] |
static double | AB_mu13FME11 [4][15] |
static double | AB_mu13FnoME11 [4][15] |
static double | AB_mu13R [4][15] |
static double | AB_mu13RME11 [4][15] |
static double | AB_mu13RnoME11 [4][15] |
static double | AB_mu14F [4][15] |
static double | AB_mu14FME11 [4][15] |
static double | AB_mu14FnoME11 [4][15] |
static double | AB_mu14R [4][15] |
static double | AB_mu14RME11 [4][15] |
static double | AB_mu14RnoME11 [4][15] |
static double | AB_mu23 [4][15] |
static double | AB_mu24 [4][15] |
static double | AB_mu34 [4][15] |
static double | AB_mu5 [4][15] |
static double | AB_mu51 [4][15] |
static double | AB_mu52 [4][15] |
static double | AB_mu53 [4][15] |
static double | AB_rho123F [5][15] |
static double | AB_rho123R [5][15] |
static double | AB_rho124F [5][15] |
static double | AB_rho124R [5][15] |
static double | AB_rho134F [5][15] |
static double | AB_rho134R [5][15] |
static double | AB_rho234 [5][15] |
static double | AB_rho512 [5][15] |
static double | AB_rho513 [5][15] |
static double | AB_rho51B [5][15] |
static double | AB_rho523 [5][15] |
static double | AB_rho52B [5][15] |
static double | AB_rho53B [5][15] |
static double | AB_sig12F [4][15] |
static double | AB_sig12FME11 [4][15] |
static double | AB_sig12FnoME11 [4][15] |
static double | AB_sig12R [4][15] |
static double | AB_sig12RME11 [4][15] |
static double | AB_sig12RnoME11 [4][15] |
static double | AB_sig13F [4][15] |
static double | AB_sig13FME11 [4][15] |
static double | AB_sig13FnoME11 [4][15] |
static double | AB_sig13R [4][15] |
static double | AB_sig13RME11 [4][15] |
static double | AB_sig13RnoME11 [4][15] |
static double | AB_sig14F [4][15] |
static double | AB_sig14FME11 [4][15] |
static double | AB_sig14FnoME11 [4][15] |
static double | AB_sig14R [4][15] |
static double | AB_sig14RME11 [4][15] |
static double | AB_sig14RnoME11 [4][15] |
static double | AB_sig23 [4][15] |
static double | AB_sig24 [4][15] |
static double | AB_sig34 [4][15] |
static double | AB_sig5 [4][15] |
static double | AB_sig51 [4][15] |
static double | AB_sig52 [4][15] |
static double | AB_sig53 [4][15] |
static const float | AkHighEta_Fit1 [kME2andMB2][kMaxParameters] |
static const float | AkHighEta_Fit2 [kME2andMB2][kMaxParameters] |
static const float | AkLowEta_Fit1 [kME2andMB2][kMaxParameters] |
static const float | AkLowEta_Fit2 [kME2andMB2][kMaxParameters] |
static const float | BkHighEta_Fit2 [kME2andMB2][kMaxParameters] |
static const float | BkLowEta_Fit2 [kME2andMB2][kMaxParameters] |
static const float | dphifr0 [4][15][28] |
static const float | dphifr1 [4][15][28] |
static const float | etabins [16] |
static const float | FRCorrHighEta [kME2andMB2][2] |
static const float | FRCorrLowEta [kME2andMB2][2] |
static const float | kGlobalScaleFactor = 1.36 |
static const float | ptbins [29] |
static const float | sigmafr0 [4][15][28] |
static const float | sigmafr1 [4][15][28] |
Private Attributes | |
const L1MuTriggerPtScale * | trigger_scale |
Definition at line 8 of file CSCTFPtMethods.h.
anonymous enum |
anonymous enum |
Allowed station combinations for extrapolation units
kME1andME2 | |
kME1andME3 | |
kME2andME3 | |
kME2andME4 | |
kME3andME4 | |
kME1andME2ovr | |
kME2andMB1 | |
kME2andMB2 |
Definition at line 13 of file CSCTFPtMethods.h.
CSCTFPtMethods::CSCTFPtMethods | ( | const L1MuTriggerPtScale * | ptScale = 0 | ) |
Definition at line 1235 of file CSCTFPtMethods.cc.
: trigger_scale( ptScale ) { }
bool CSCTFPtMethods::chargeValid | ( | unsigned | Pt, |
unsigned | Quality, | ||
unsigned | Eta, | ||
unsigned | method | ||
) | const |
The hybrid method may be changing soon to: 1st Calculate PT with Darin's method 2nd if BELOW a certain cut call Cathy's method 3rd if Cathy's < Darin's use Cathy's otherwise return Darin's A study needs to be performed to determine any gains from this procedure. A method to calculate the charge valid bit Regions where this bit is were determined via simulation
Definition at line 5635 of file CSCTFPtMethods.cc.
References query::result.
double CSCTFPtMethods::Likelihood | ( | double * | phi12, |
double * | phi23, | ||
double * | par_m12, | ||
double * | par_m23, | ||
double * | par_sig12, | ||
double * | par_sig23, | ||
double * | par_rho, | ||
double * | v | ||
) | const |
Definition at line 1459 of file CSCTFPtMethods.cc.
References funct::exp(), funct::log(), and rho.
Referenced by Pt3Stn2010(), and Pt3Stn2012().
{ double fitval = 0.; //double Pi = acos(-1.); double m12 = 0.; if(v[0] > par_m12[3]) m12 = par_m12[0]/(v[0]-par_m12[3]) + par_m12[1]/(v[0]-par_m12[3])/(v[0]-par_m12[3]) + par_m12[2]; //mu12 double m23 = 0.; if(v[0] > par_m23[3]) m23 = par_m23[0]/(v[0]-par_m23[3]) + par_m23[1]/(v[0]-par_m23[3])/(v[0]-par_m23[3]) + par_m23[2]; //mu23 double sig12 = 0.1; if(v[0] > 0.) sig12 = par_sig12[0]/v[0] + par_sig12[1]/v[0]/v[0] + par_sig12[2];//sig12 double sig23 = 0.1; if(v[0] > 0.) sig23 = par_sig23[0]/v[0] + par_sig23[1]/v[0]/v[0] + par_sig23[2];//sig23 double rho = (par_rho[0] + par_rho[1]*log(v[0]) + par_rho[2]*log(v[0])*log(v[0]) + par_rho[3]*log(v[0])*log(v[0])*log(v[0]))*exp(-par_rho[4]*log(v[0])); //rho if(rho > 0.95) rho = 0.95; if(rho < -0.95) rho = -0.95; // fitval = (phi12[0] - m12)*(phi12[0] - m12)/sig12/sig12 + (phi23[0] - m23)*(phi23[0] - m23)/sig23/sig23; fitval = fitval - 2.*rho*(phi12[0] - m12)*(phi23[0] - m23)/sig12/sig23; fitval = fitval*(-1./(2.*(1-rho*rho))); fitval = fitval - log(sig12) - log(sig23) - 0.5*log(1-rho*rho) ; return fitval; }
double CSCTFPtMethods::Likelihood2 | ( | double * | phi12, |
double * | par_m12, | ||
double * | par_sig12, | ||
double * | v | ||
) | const |
Definition at line 1430 of file CSCTFPtMethods.cc.
References funct::log(), and Pi.
Referenced by Pt2Stn2010(), and Pt2Stn2012().
{ double fitval = 0.; double Pi = acos(-1.); double m12 = 0; if(v[0] > par_m12[3]) m12 = par_m12[0]/(v[0]-par_m12[3]) + par_m12[1]/(v[0]-par_m12[3])/(v[0]-par_m12[3]) + par_m12[2]; //mu12 double sig12 = 0.1; if(v[0] > 0.) sig12 = par_sig12[0]/v[0] + par_sig12[1]/v[0]/v[0] + par_sig12[2];//sig12 // fitval = -(phi12[0] - m12)*(phi12[0] - m12)/2./sig12/sig12; fitval = fitval - log(sig12) - 0.5*log(2*Pi) ; return fitval; }
double CSCTFPtMethods::Likelihood2011 | ( | double * | phi12, |
double * | phi23, | ||
double * | par_m12, | ||
double * | par_m23, | ||
double * | par_sig12, | ||
double * | par_sig23, | ||
double * | par_rho, | ||
double * | v | ||
) | const |
Definition at line 1485 of file CSCTFPtMethods.cc.
References funct::exp(), funct::log(), and rho.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
{ double fitval = 0.; //double Pi = acos(-1.); double m12 = 0.; if(v[0] > par_m12[3]) m12 = par_m12[0]/(v[0]-par_m12[3]) + par_m12[1]/(v[0]-par_m12[3])/(v[0]-par_m12[3]) + par_m12[2]; //mu12 double m23 = 0.; if(v[0] > par_m23[3]) m23 = par_m23[0]/(v[0]-par_m23[3]) + par_m23[1]/(v[0]-par_m23[3])/(v[0]-par_m23[3]) + par_m23[2]; //mu23 double sig12 = 0.1; if(v[0] > par_sig12[3]) sig12 = par_sig12[0]/(v[0]-par_sig12[3]) + par_sig12[1]/(v[0]-par_sig12[3])/(v[0]-par_sig12[3]) + par_sig12[2];//sig12 double sig23 = 0.1; if(v[0] > par_sig23[3]) sig23 = par_sig23[0]/(v[0]-par_sig23[3]) + par_sig23[1]/(v[0]-par_sig23[3])/(v[0]-par_sig23[3]) + par_sig23[2];//sig12 if(sig12 <0.0015)sig12 = 0.0015; if(sig23 <0.0015)sig23 = 0.0015; double rho = (par_rho[0] + par_rho[1]*log(v[0]) + par_rho[2]*log(v[0])*log(v[0]) + par_rho[3]*log(v[0])*log(v[0])*log(v[0]))*exp(-par_rho[4]*log(v[0])); //rho //if(rho > 0.95) rho = 0.95; //if(rho < -0.95) rho = -0.95; if(rho > 0.7) rho = 0.7; if(rho < -0.7) rho = -0.7; //rho = 0.4; // fitval = (phi12[0] - m12)*(phi12[0] - m12)/sig12/sig12 + (phi23[0] - m23)*(phi23[0] - m23)/sig23/sig23; fitval = fitval - 2.*rho*(phi12[0] - m12)*(phi23[0] - m23)/sig12/sig23; fitval = fitval*(-1./(2.*(1-rho*rho))); fitval = fitval - log(sig12) - log(sig23) - 0.5*log(1-rho*rho) ; return fitval; }
double CSCTFPtMethods::Likelihood2_2011 | ( | double * | phi12, |
double * | par_m12, | ||
double * | par_sig12, | ||
double * | v | ||
) | const |
Definition at line 1444 of file CSCTFPtMethods.cc.
References funct::log(), and Pi.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
{ double fitval = 0.; double Pi = acos(-1.); double m12 = 0; if(v[0] > par_m12[3]) m12 = par_m12[0]/(v[0]-par_m12[3]) + par_m12[1]/(v[0]-par_m12[3])/(v[0]-par_m12[3]) + par_m12[2]; //mu12 double sig12 = 0.1; if(v[0] > par_sig12[3]) sig12 = par_sig12[0]/(v[0]-par_sig12[3]) + par_sig12[1]/(v[0]-par_sig12[3])/(v[0]-par_sig12[3]) + par_sig12[2];//sig12 if(sig12 <0.0015)sig12 = 0.0015; // fitval = -(phi12[0] - m12)*(phi12[0] - m12)/2./sig12/sig12; fitval = fitval - log(sig12) - 0.5*log(2*Pi) ; return fitval; }
float CSCTFPtMethods::Pt2Stn | ( | int | type, |
float | eta, | ||
float | dphi, | ||
int | fr = -1 |
||
) | const |
2-station Pt measurement for types (see SP class for 2-stn types)
DEA: kluge to get verilog and original model to agree
Definition at line 1244 of file CSCTFPtMethods.cc.
References funct::A, AkHighEta_Fit2, AkLowEta_Fit2, BkHighEta_Fit2, BkLowEta_Fit2, eta, FRCorrHighEta, FRCorrLowEta, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), kGlobalScaleFactor, kME1andME2, kME2andMB2, reco::tau::disc::Pt(), mathSSE::sqrt(), and trigger_scale.
Referenced by CSCTFPtLUT::calcPt(), Pt2StnChiSq(), Pt2StnHybrid(), and Pt3Stn().
{ float A = 0; float B = 0; if (dphi == 0.0) dphi = 1.e-6; if (eta < 0.0) eta = static_cast<float>(fabs(static_cast<double>(eta))); if (dphi < 0.0) dphi = static_cast<float>(fabs(static_cast<double>(dphi))); #ifdef L1CSC_STANDALONE if (type == kME1andME2 && eta <= 1.25) fr = 1; #else if (type == kME1andME2 && eta < 1.2) fr = 1; #endif if (type >= kME1andME2 && type <= kME2andMB2 && eta < 2.5) { if (eta >= 0.0 && eta < 1.6) { A = AkLowEta_Fit2[type-1][0] + AkLowEta_Fit2[type-1][1]*eta + AkLowEta_Fit2[type-1][2]*eta*eta + AkLowEta_Fit2[type-1][3]*eta*eta*eta; B = BkLowEta_Fit2[type-1][0] + BkLowEta_Fit2[type-1][1]*eta + BkLowEta_Fit2[type-1][2]*eta*eta + BkLowEta_Fit2[type-1][3]*eta*eta*eta; if (fr >= 0 && fr <= 1) { A *= FRCorrLowEta[type-1][fr]; B *= FRCorrLowEta[type-1][fr]; } } if (eta >= 1.6 && eta < 2.5) { A = AkHighEta_Fit2[type-1][0] + AkHighEta_Fit2[type-1][1]*eta + AkHighEta_Fit2[type-1][2]*eta*eta + AkHighEta_Fit2[type-1][3]*eta*eta*eta; B = BkHighEta_Fit2[type-1][0] + BkHighEta_Fit2[type-1][1]*eta + BkHighEta_Fit2[type-1][2]*eta*eta + BkHighEta_Fit2[type-1][3]*eta*eta*eta; if (fr >= 0 && fr <= 1) { A *= FRCorrHighEta[type-1][fr]; B *= FRCorrHighEta[type-1][fr]; } } A *= kGlobalScaleFactor; B *= kGlobalScaleFactor; float Pt = (A + sqrt(A*A + 4.*dphi*B))/(2.*dphi); // return (Pt>0.0) ? Pt : 0.0; return (Pt>trigger_scale->getPtScale()->getLowEdge(1)) ? Pt : trigger_scale->getPtScale()->getLowEdge(1); } return 0.0; }
float CSCTFPtMethods::Pt2Stn2010 | ( | int | type, |
float | eta, | ||
float | dphi, | ||
int | fr = -1 , |
||
int | method = 11 |
||
) | const |
Definition at line 1517 of file CSCTFPtMethods.cc.
References A_mu12Front, A_mu12Rare, A_mu13Front, A_mu13Rare, A_mu14Front, A_mu14Rare, A_mu23, A_mu24, A_mu34, A_mu51, A_mu52, A_mu53, A_sig12Front, A_sig12Rare, A_sig13Front, A_sig13Rare, A_sig14Front, A_sig14Rare, A_sig23, A_sig24, A_sig34, A_sig51, A_sig52, A_sig53, gather_cfg::cout, etabins, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), Likelihood2(), reco::tau::disc::Pt(), relval_parameters_module::step, trigger_scale, and v.
Referenced by CSCTFPtLUT::calcPt(), and Pt3Stn2010().
{ if(fabs(eta) >= 2.4) eta = 2.35; double PTsolv = 1.; // for muon plus hypothesis double PTsolvMinus = 1.;//for muon minus hypothesis for(int iETA = 0; iETA < 15; iETA++){ if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){ // calculate curvers of mean and sigma // calculate phi12 mean double par1[4] = {0., 0., 0., 0.}; //double phi12mean = fitf5(v, par1); //mu12 double par_sig1[3] = {0., 0., 0.}; int iETA1 = iETA; switch (type) // type = mode here { case 6 : //1-2 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu12Front[0][iETA1]; par1[1] = A_mu12Front[1][iETA1]; par1[2] = A_mu12Front[2][iETA1]; par1[3] = A_mu12Front[3][iETA1]; par_sig1[0] = A_sig12Front[0][iETA1]; par_sig1[1] = A_sig12Front[1][iETA1]; par_sig1[2] = A_sig12Front[2][iETA1]; } if(fr == 0){ if(iETA1 < 1)iETA1 = 1; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu12Rare[0][iETA1]; par1[1] = A_mu12Rare[1][iETA1]; par1[2] = A_mu12Rare[2][iETA1]; par1[3] = A_mu12Rare[3][iETA1]; par_sig1[0] = A_sig12Rare[0][iETA1]; par_sig1[1] = A_sig12Rare[1][iETA1]; par_sig1[2] = A_sig12Rare[2][iETA1]; } break; case 7 : //1-3 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu13Front[0][iETA1]; par1[1] = A_mu13Front[1][iETA1]; par1[2] = A_mu13Front[2][iETA1]; par1[3] = A_mu13Front[3][iETA1]; par_sig1[0] = A_sig13Front[0][iETA1]; par_sig1[1] = A_sig13Front[1][iETA1]; par_sig1[2] = A_sig13Front[2][iETA1]; } if(fr == 0){ if(iETA1 < 2)iETA1 = 2; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu13Rare[0][iETA1]; par1[1] = A_mu13Rare[1][iETA1]; par1[2] = A_mu13Rare[2][iETA1]; par1[3] = A_mu13Rare[3][iETA1]; par_sig1[0] = A_sig13Rare[0][iETA1]; par_sig1[1] = A_sig13Rare[1][iETA1]; par_sig1[2] = A_sig13Rare[2][iETA1]; } break; case 8 : //2-3 if(iETA1 < 2)iETA1 = 2; par1[0] = A_mu23[0][iETA1]; par1[1] = A_mu23[1][iETA1]; par1[2] = A_mu23[2][iETA1]; par1[3] = A_mu23[3][iETA1]; par_sig1[0] = A_sig23[0][iETA1]; par_sig1[1] = A_sig23[1][iETA1]; par_sig1[2] = A_sig23[2][iETA1]; break; case 9 : //2-4 if(iETA1 < 9)iETA1 = 9; par1[0] = A_mu24[0][iETA1]; par1[1] = A_mu24[1][iETA1]; par1[2] = A_mu24[2][iETA1]; par1[3] = A_mu24[3][iETA1]; par_sig1[0] = A_sig24[0][iETA1]; par_sig1[1] = A_sig24[1][iETA1]; par_sig1[2] = A_sig24[2][iETA1]; break; case 10 : //3-4 if(iETA1 < 9)iETA1 = 9; par1[0] = A_mu34[0][iETA1]; par1[1] = A_mu34[1][iETA1]; par1[2] = A_mu34[2][iETA1]; par1[3] = A_mu34[3][iETA1]; par_sig1[0] = A_sig34[0][iETA1]; par_sig1[1] = A_sig34[1][iETA1]; par_sig1[2] = A_sig34[2][iETA1]; break; case 13 : //1-4 if(iETA1 < 9)iETA1 = 9; if(iETA1 > 12)iETA1 = 12; if(fr == 1){ par1[0] = A_mu14Front[0][iETA1]; par1[1] = A_mu14Front[1][iETA1]; par1[2] = A_mu14Front[2][iETA1]; par1[3] = A_mu14Front[3][iETA1]; par_sig1[0] = A_sig14Front[0][iETA1]; par_sig1[1] = A_sig14Front[1][iETA1]; par_sig1[2] = A_sig14Front[2][iETA1]; } if(fr == 0){ par1[0] = A_mu14Rare[0][iETA1]; par1[1] = A_mu14Rare[1][iETA1]; par1[2] = A_mu14Rare[2][iETA1]; par1[3] = A_mu14Rare[3][iETA1]; par_sig1[0] = A_sig14Rare[0][iETA1]; par_sig1[1] = A_sig14Rare[1][iETA1]; par_sig1[2] = A_sig14Rare[2][iETA1]; } break; case 11 : // b1-3 if(iETA1 != 2)iETA1 = 2; par1[0] = A_mu53[0][iETA1]; par1[1] = A_mu53[1][iETA1]; par1[2] = A_mu53[2][iETA1]; par1[3] = A_mu53[3][iETA1]; par_sig1[0] = A_sig53[0][iETA1]; par_sig1[1] = A_sig53[1][iETA1]; par_sig1[2] = A_sig53[2][iETA1]; break; case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10: b1-2 if(iETA1 < 1)iETA1 = 1; if(iETA1 > 2)iETA1 = 2; par1[0] = A_mu52[0][iETA1]; par1[1] = A_mu52[1][iETA1]; par1[2] = A_mu52[2][iETA1]; par1[3] = A_mu52[3][iETA1]; par_sig1[0] = A_sig52[0][iETA1]; par_sig1[1] = A_sig52[1][iETA1]; par_sig1[2] = A_sig52[2][iETA1]; break; case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10 if(method < 10){ if(iETA1 < 1)iETA1 = 1; if(iETA1 > 2)iETA1 = 2; } par1[0] = A_mu52[0][iETA1]; par1[1] = A_mu52[1][iETA1]; par1[2] = A_mu52[2][iETA1]; par1[3] = A_mu52[3][iETA1]; par_sig1[0] = A_sig52[0][iETA1]; par_sig1[1] = A_sig52[1][iETA1]; par_sig1[2] = A_sig52[2][iETA1]; if(method > 10){ if(iETA1 > 2)iETA1 = 2; par1[0] = A_mu51[0][iETA1]; par1[1] = A_mu51[1][iETA1]; par1[2] = A_mu51[2][iETA1]; par1[3] = A_mu51[3][iETA1]; par_sig1[0] = A_sig51[0][iETA1]; par_sig1[1] = A_sig51[1][iETA1]; par_sig1[2] = A_sig51[2][iETA1]; } break; //default: //return 0.0; } //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ; //if(fabs(dphi) >= 0.002) //if(fabs(dphi) >= 0.00) //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14))) //{ double pt = 140; double dpt = 0.1; double step = 5.; while(pt > 2. ){ double par_phi12[1] = {dphi}; double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2; v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.; v[0] = pt; lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = pt + dpt; lpt1_2 = Likelihood2(par_phi12, par1, par_sig1, v); double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt v[0] = pt - step; lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = pt - step + dpt; lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v); double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum v[0] = pt - 0.5*step; double fx = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = pt - 0.5*step + dpt; double fxh = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = pt - 0.5*step + 2*dpt; double fx2h = Likelihood2(par_phi12, par1, par_sig1, v); double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt; //if(lpt1*lpt2 <= 0 && lpt2nd < 0) std::cout << "lpt2nd < 0 dphi12 = " << dphi <<" PT = " << pt<< " eta =" << fabs(eta) << std::endl; //lpt2nd = 1.; // don't care about 2nd derivative if(lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolv = pt - 0.5*step; break;}// lpt = 0 between lpt1 and lpt2 => maximum pt_solv is a solution of the likelihood /* if(pt == 140.){ v[0] = 200; lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = 200. + 5.; lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v); lpt2 = (lpt2_2-lpt2_1)/5.; v[0] = 170.; fx = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = 170.+5.; fxh = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = 170.+2*5.; fx2h = Likelihood2(par_phi12, par1, par_sig1, v); lpt2nd = -(fx2h + fx - 2*fxh)/5./5.; } if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1 ){PTsolv = 137.5; break;} */ if(pt > 25) {dpt = 0.1; step = 5.;} if(pt <= 25) {dpt = 0.01; step = 0.5;} pt = pt - step; }// end while //*********** end solve equation for muon plus //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ; // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0 dphi = - dphi; pt = 140; dpt = 0.1; step = 5.; while(pt > 2. ){ double par_phi12[1] = {dphi}; double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2; v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.; v[0] = pt; lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = pt + dpt; lpt1_2 = Likelihood2(par_phi12, par1, par_sig1, v); double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt v[0] = pt - step; lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = pt - step + dpt; lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v); double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum v[0] = pt - 0.5*step; double fx = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = pt - 0.5*step + dpt; double fxh = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = pt - 0.5*step + 2*dpt; double fx2h = Likelihood2(par_phi12, par1, par_sig1, v); double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt; if(lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolvMinus = pt - 0.5*step; break;}// lpt = 0 between lpt1 and lpt2 => maximum pt_solv is a solution of the likelihood /* if(pt == 140.){ v[0] = 200; lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = 200. + 5.; lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v); lpt2 = (lpt2_2-lpt2_1)/5.; v[0] = 170.; fx = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = 170.+5.; fxh = Likelihood2(par_phi12, par1, par_sig1, v); v[0] = 170.+2*5.; fx2h = Likelihood2(par_phi12, par1, par_sig1, v); lpt2nd = -(fx2h + fx - 2*fxh)/5./5.; } if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1){PTsolvMinus = 137.5; break;} */ if(pt > 25) {dpt = 0.1; step = 5.;} if(pt <= 25) {dpt = 0.01; step = 0.5;} pt = pt - step; }// end while // }// if(fabs(dphi) >= 0.002) // else // {PTsolv = 137.5;} //*********** end solve equation for muon minus PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis PTsolv = PTsolv*1.2; if(PTsolv > 137.5) PTsolv = 137.5; if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.; if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.; dphi = - dphi; //return to correct sing dphi } //if(fabs(eta_TracMy) } //end "for by iETA" float Pt = PTsolv; if(Pt > 10 && fabs(dphi) >= 0.1 ) std::cout << "iF = 0 for dphi = " << dphi <<" and Pt = " << Pt << std::endl; //if(Pt > 100 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi > 0.015 )std::cout << "dphi = " << dphi << " eta = " << eta << std::endl; //if(Pt < 10 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi < 0.01)std::cout << "dphi = " << dphi << " eta = " << eta << std::endl; // return (Pt>0.0) ? Pt : 0.0; float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV return (Pt > Pt_min) ? Pt : Pt_min; }
float CSCTFPtMethods::Pt2Stn2011 | ( | int | type, |
float | eta, | ||
float | dphi, | ||
int | fr = -1 , |
||
int | method = 11 , |
||
int | phiSign = 2 |
||
) | const |
Definition at line 1824 of file CSCTFPtMethods.cc.
References AB_mu12F, AB_mu12FME11, AB_mu12FnoME11, AB_mu12R, AB_mu12RME11, AB_mu12RnoME11, AB_mu13F, AB_mu13FME11, AB_mu13FnoME11, AB_mu13R, AB_mu13RME11, AB_mu13RnoME11, AB_mu14F, AB_mu14FME11, AB_mu14FnoME11, AB_mu14R, AB_mu14RME11, AB_mu14RnoME11, AB_mu23, AB_mu24, AB_mu34, AB_mu51, AB_mu52, AB_mu53, AB_sig12F, AB_sig12FME11, AB_sig12FnoME11, AB_sig12R, AB_sig12RME11, AB_sig12RnoME11, AB_sig13F, AB_sig13FME11, AB_sig13FnoME11, AB_sig13R, AB_sig13RME11, AB_sig13RnoME11, AB_sig14F, AB_sig14FME11, AB_sig14FnoME11, AB_sig14R, AB_sig14RME11, AB_sig14RnoME11, AB_sig23, AB_sig24, AB_sig34, AB_sig51, AB_sig52, AB_sig53, etabins, Likelihood2_2011(), reco::tau::disc::Pt(), relval_parameters_module::step, and v.
Referenced by CSCTFPtLUT::calcPt(), and Pt3Stn2011().
{ //if(fabs(eta) >= 2.4) eta = 2.35; if(fabs(eta) >= 2.2) eta = 2.15; double PTsolv = 1.; // for muon plus hypothesis double PTsolvMinus = 1.;//for muon minus hypothesis for(int iETA = 0; iETA < 15; iETA++){ if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){ // calculate curvers of mean and sigma // calculate phi12 mean double par1[4] = {0., 0., 0., 0.}; //double phi12mean = fitf5(v, par1); //mu12 double par_sig1[4] = {0., 0., 0.,0}; int iETA1 = iETA; int iETA2 = iETA; double (*Amean12FnoME11)[15] = AB_mu12FnoME11; double (*Asig12FnoME11)[15] = AB_sig12FnoME11; double (*Amean12RnoME11)[15] = AB_mu12RnoME11; double (*Asig12RnoME11)[15] = AB_sig12RnoME11; double (*Amean13FnoME11)[15] = AB_mu13FnoME11; double (*Asig13FnoME11)[15] = AB_sig13FnoME11; double (*Amean13RnoME11)[15] = AB_mu13RnoME11; double (*Asig13RnoME11)[15] = AB_sig13RnoME11; double (*Amean14FnoME11)[15] = AB_mu14FnoME11; double (*Asig14FnoME11)[15] = AB_sig14FnoME11; double (*Amean14RnoME11)[15] = AB_mu14RnoME11; double (*Asig14RnoME11)[15] = AB_sig14RnoME11; // double (*Amean12FME11)[15] = AB_mu12FME11; double (*Asig12FME11)[15] = AB_sig12FME11; double (*Amean12RME11)[15] = AB_mu12RME11; double (*Asig12RME11)[15] = AB_sig12RME11; double (*Amean13FME11)[15] = AB_mu13FME11; double (*Asig13FME11)[15] = AB_sig13FME11; double (*Amean13RME11)[15] = AB_mu13RME11; double (*Asig13RME11)[15] = AB_sig13RME11; double (*Amean14FME11)[15] = AB_mu14FME11; double (*Asig14FME11)[15] = AB_sig14FME11; double (*Amean14RME11)[15] = AB_mu14RME11; double (*Asig14RME11)[15] = AB_sig14RME11; // double (*Amean12F)[15] = AB_mu12F; double (*Asig12F)[15] = AB_sig12F; double (*Amean12R)[15] = AB_mu12R; double (*Asig12R)[15] = AB_sig12R; double (*Amean13F)[15] = AB_mu13F; double (*Asig13F)[15] = AB_sig13F; double (*Amean13R)[15] = AB_mu13R; double (*Asig13R)[15] = AB_sig13R; double (*Amean14F)[15] = AB_mu14F; double (*Asig14F)[15] = AB_sig14F; double (*Amean14R)[15] = AB_mu14R; double (*Asig14R)[15] = AB_sig14R; double (*Amean23)[15] = AB_mu23; double (*Asig23)[15] = AB_sig23; double (*Amean24)[15] = AB_mu24; double (*Asig24)[15] = AB_sig24; double (*Amean34)[15] = AB_mu34; double (*Asig34)[15] = AB_sig34; double (*Amean51)[15] = AB_mu51; double (*Asig51)[15] = AB_sig51; double (*Amean52)[15] = AB_mu52; double (*Asig52)[15] = AB_sig52; double (*Amean53)[15] = AB_mu53; double (*Asig53)[15] = AB_sig53; switch (type) // type = mode here { case 6 : //1-2 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean12F+0))[iETA1]; par1[1] = (*(Amean12F+1))[iETA1]; par1[2] = (*(Amean12F+2))[iETA1]; par1[3] = (*(Amean12F+3))[iETA1]; par_sig1[0] = (*(Asig12F+0))[iETA1]; par_sig1[1] = (*(Asig12F+1))[iETA1]; par_sig1[2] = (*(Asig12F+2))[iETA1]; par_sig1[3] = (*(Asig12F+3))[iETA1]; } if(fr == 0){ if(iETA1 < 1)iETA1 = 1; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean12R+0))[iETA1]; par1[1] = (*(Amean12R+1))[iETA1]; par1[2] = (*(Amean12R+2))[iETA1]; par1[3] = (*(Amean12R+3))[iETA1]; par_sig1[0] = (*(Asig12R+0))[iETA1]; par_sig1[1] = (*(Asig12R+1))[iETA1]; par_sig1[2] = (*(Asig12R+2))[iETA1]; par_sig1[3] = (*(Asig12R+3))[iETA1]; } if(phiSign == 0){ // track belong to ME11 station if(fr == 1){ if(iETA2 < 7)iETA2 = 7; par1[0] = (*(Amean12FME11+0))[iETA2]; par1[1] = (*(Amean12FME11+1))[iETA2]; par1[2] = (*(Amean12FME11+2))[iETA2]; par1[3] = (*(Amean12FME11+3))[iETA2]; par_sig1[0] = (*(Asig12FME11+0))[iETA2]; par_sig1[1] = (*(Asig12FME11+1))[iETA2]; par_sig1[2] = (*(Asig12FME11+2))[iETA2]; par_sig1[3] = (*(Asig12FME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 7)iETA2 = 7; par1[0] = (*(Amean12RME11+0))[iETA2]; par1[1] = (*(Amean12RME11+1))[iETA2]; par1[2] = (*(Amean12RME11+2))[iETA2]; par1[3] = (*(Amean12RME11+3))[iETA2]; par_sig1[0] = (*(Asig12RME11+0))[iETA2]; par_sig1[1] = (*(Asig12RME11+1))[iETA2]; par_sig1[2] = (*(Asig12RME11+2))[iETA2]; par_sig1[3] = (*(Asig12RME11+3))[iETA2]; } } if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station if(fr == 1){ if(iETA2 < 3)iETA2 = 3; if(iETA2 > 7)iETA2 = 7; par1[0] = (*(Amean12FnoME11+0))[iETA2]; par1[1] = (*(Amean12FnoME11+1))[iETA2]; par1[2] = (*(Amean12FnoME11+2))[iETA2]; par1[3] = (*(Amean12FnoME11+3))[iETA2]; par_sig1[0] = (*(Asig12FnoME11+0))[iETA2]; par_sig1[1] = (*(Asig12FnoME11+1))[iETA2]; par_sig1[2] = (*(Asig12FnoME11+2))[iETA2]; par_sig1[3] = (*(Asig12FnoME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 1)iETA2 = 1; if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6 par1[0] = (*(Amean12RnoME11+0))[iETA2]; par1[1] = (*(Amean12RnoME11+1))[iETA2]; par1[2] = (*(Amean12RnoME11+2))[iETA2]; par1[3] = (*(Amean12RnoME11+3))[iETA2]; par_sig1[0] = (*(Asig12RnoME11+0))[iETA2]; par_sig1[1] = (*(Asig12RnoME11+1))[iETA2]; par_sig1[2] = (*(Asig12RnoME11+2))[iETA2]; par_sig1[3] = (*(Asig12RnoME11+3))[iETA2]; } } break; case 7 : //1-3 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean13F+0))[iETA1]; par1[1] = (*(Amean13F+1))[iETA1]; par1[2] = (*(Amean13F+2))[iETA1]; par1[3] = (*(Amean13F+3))[iETA1]; par_sig1[0] = (*(Asig13F+0))[iETA1]; par_sig1[1] = (*(Asig13F+1))[iETA1]; par_sig1[2] = (*(Asig13F+2))[iETA1]; par_sig1[3] = (*(Asig13F+3))[iETA1]; } if(fr == 0){ if(iETA1 < 3)iETA1 = 3; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean13R+0))[iETA1]; par1[1] = (*(Amean13R+1))[iETA1]; par1[2] = (*(Amean13R+2))[iETA1]; par1[3] = (*(Amean13R+3))[iETA1]; par_sig1[0] = (*(Asig13R+0))[iETA1]; par_sig1[1] = (*(Asig13R+1))[iETA1]; par_sig1[2] = (*(Asig13R+2))[iETA1]; par_sig1[3] = (*(Asig13R+3))[iETA1]; } if(phiSign == 0){ // track belong to ME11 station if(fr == 1){ if(iETA2 < 7)iETA2 = 7; par1[0] = (*(Amean13FME11+0))[iETA2]; par1[1] = (*(Amean13FME11+1))[iETA2]; par1[2] = (*(Amean13FME11+2))[iETA2]; par1[3] = (*(Amean13FME11+3))[iETA2]; par_sig1[0] = (*(Asig13FME11+0))[iETA2]; par_sig1[1] = (*(Asig13FME11+1))[iETA2]; par_sig1[2] = (*(Asig13FME11+2))[iETA2]; par_sig1[3] = (*(Asig13FME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 7)iETA2 = 7; par1[0] = (*(Amean13RME11+0))[iETA2]; par1[1] = (*(Amean13RME11+1))[iETA2]; par1[2] = (*(Amean13RME11+2))[iETA2]; par1[3] = (*(Amean13RME11+3))[iETA2]; par_sig1[0] = (*(Asig13RME11+0))[iETA2]; par_sig1[1] = (*(Asig13RME11+1))[iETA2]; par_sig1[2] = (*(Asig13RME11+2))[iETA2]; par_sig1[3] = (*(Asig13RME11+3))[iETA2]; } } if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station if(fr == 1){ if(iETA2 < 3)iETA2 = 3; if(iETA2 > 7)iETA2 = 7; par1[0] = (*(Amean13FnoME11+0))[iETA2]; par1[1] = (*(Amean13FnoME11+1))[iETA2]; par1[2] = (*(Amean13FnoME11+2))[iETA2]; par1[3] = (*(Amean13FnoME11+3))[iETA2]; par_sig1[0] = (*(Asig13FnoME11+0))[iETA2]; par_sig1[1] = (*(Asig13FnoME11+1))[iETA2]; par_sig1[2] = (*(Asig13FnoME11+2))[iETA2]; par_sig1[3] = (*(Asig13FnoME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 3)iETA2 = 3; if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6 par1[0] = (*(Amean13RnoME11+0))[iETA2]; par1[1] = (*(Amean13RnoME11+1))[iETA2]; par1[2] = (*(Amean13RnoME11+2))[iETA2]; par1[3] = (*(Amean13RnoME11+3))[iETA2]; par_sig1[0] = (*(Asig13RnoME11+0))[iETA2]; par_sig1[1] = (*(Asig13RnoME11+1))[iETA2]; par_sig1[2] = (*(Asig13RnoME11+2))[iETA2]; par_sig1[3] = (*(Asig13RnoME11+3))[iETA2]; } } break; case 8 : //2-3 if(iETA1 < 2)iETA1 = 2; par1[0] = (*(Amean23+0))[iETA1]; par1[1] = (*(Amean23+1))[iETA1]; par1[2] = (*(Amean23+2))[iETA1]; par1[3] = (*(Amean23+3))[iETA1]; par_sig1[0] = (*(Asig23+0))[iETA1]; par_sig1[1] = (*(Asig23+1))[iETA1]; par_sig1[2] = (*(Asig23+2))[iETA1]; par_sig1[3] = (*(Asig23+3))[iETA1]; break; case 9 : //2-4 if(iETA1 < 3)iETA1 = 3; par1[0] = (*(Amean24+0))[iETA1]; par1[1] = (*(Amean24+1))[iETA1]; par1[2] = (*(Amean24+2))[iETA1]; par1[3] = (*(Amean24+3))[iETA1]; par_sig1[0] = (*(Asig24+0))[iETA1]; par_sig1[1] = (*(Asig24+1))[iETA1]; par_sig1[2] = (*(Asig24+2))[iETA1]; par_sig1[3] = (*(Asig24+3))[iETA1]; break; case 10 : //3-4 if(iETA1 < 3)iETA1 = 3; par1[0] = (*(Amean34+0))[iETA1]; par1[1] = (*(Amean34+1))[iETA1]; par1[2] = (*(Amean34+2))[iETA1]; par1[3] = (*(Amean34+3))[iETA1]; par_sig1[0] = (*(Asig34+0))[iETA1]; par_sig1[1] = (*(Asig34+1))[iETA1]; par_sig1[2] = (*(Asig34+2))[iETA1]; par_sig1[3] = (*(Asig34+3))[iETA1]; break; case 13 : //1-4 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean14F+0))[iETA1]; par1[1] = (*(Amean14F+1))[iETA1]; par1[2] = (*(Amean14F+2))[iETA1]; par1[3] = (*(Amean14F+3))[iETA1]; par_sig1[0] = (*(Asig14F+0))[iETA1]; par_sig1[1] = (*(Asig14F+1))[iETA1]; par_sig1[2] = (*(Asig14F+2))[iETA1]; par_sig1[3] = (*(Asig14F+3))[iETA1]; } if(fr == 0){ if(iETA1 < 2)iETA1 = 2; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean14R+0))[iETA1]; par1[1] = (*(Amean14R+1))[iETA1]; par1[2] = (*(Amean14R+2))[iETA1]; par1[3] = (*(Amean14R+3))[iETA1]; par_sig1[0] = (*(Asig14R+0))[iETA1]; par_sig1[1] = (*(Asig14R+1))[iETA1]; par_sig1[2] = (*(Asig14R+2))[iETA1]; par_sig1[3] = (*(Asig14R+3))[iETA1]; } if(phiSign == 0){ // track belong to ME11 station if(fr == 1){ if(iETA2 < 9)iETA2 = 9; par1[0] = (*(Amean14FME11+0))[iETA2]; par1[1] = (*(Amean14FME11+1))[iETA2]; par1[2] = (*(Amean14FME11+2))[iETA2]; par1[3] = (*(Amean14FME11+3))[iETA2]; par_sig1[0] = (*(Asig14FME11+0))[iETA2]; par_sig1[1] = (*(Asig14FME11+1))[iETA2]; par_sig1[2] = (*(Asig14FME11+2))[iETA2]; par_sig1[3] = (*(Asig14FME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 9)iETA2 = 9; par1[0] = (*(Amean14RME11+0))[iETA2]; par1[1] = (*(Amean14RME11+1))[iETA2]; par1[2] = (*(Amean14RME11+2))[iETA2]; par1[3] = (*(Amean14RME11+3))[iETA2]; par_sig1[0] = (*(Asig14RME11+0))[iETA2]; par_sig1[1] = (*(Asig14RME11+1))[iETA2]; par_sig1[2] = (*(Asig14RME11+2))[iETA2]; par_sig1[3] = (*(Asig14RME11+3))[iETA2]; } } if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station if(fr == 1){ if(iETA2 < 4)iETA2 = 4; if(iETA2 > 7)iETA2 = 7; par1[0] = (*(Amean14FnoME11+0))[iETA2]; par1[1] = (*(Amean14FnoME11+1))[iETA2]; par1[2] = (*(Amean14FnoME11+2))[iETA2]; par1[3] = (*(Amean14FnoME11+3))[iETA2]; par_sig1[0] = (*(Asig14FnoME11+0))[iETA2]; par_sig1[1] = (*(Asig14FnoME11+1))[iETA2]; par_sig1[2] = (*(Asig14FnoME11+2))[iETA2]; par_sig1[3] = (*(Asig14FnoME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 4)iETA2 = 4; if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6 par1[0] = (*(Amean14RnoME11+0))[iETA2]; par1[1] = (*(Amean14RnoME11+1))[iETA2]; par1[2] = (*(Amean14RnoME11+2))[iETA2]; par1[3] = (*(Amean14RnoME11+3))[iETA2]; par_sig1[0] = (*(Asig14RnoME11+0))[iETA2]; par_sig1[1] = (*(Asig14RnoME11+1))[iETA2]; par_sig1[2] = (*(Asig14RnoME11+2))[iETA2]; par_sig1[3] = (*(Asig14RnoME11+3))[iETA2]; } } break; case 11 : // b1-3 for pt_method > 10 & fr = 0, singles for pt_method < 10 if(iETA1 != 2)iETA1 = 2; par1[0] = (*(Amean53+0))[iETA1]; par1[1] = (*(Amean53+1))[iETA1]; par1[2] = (*(Amean53+2))[iETA1]; par1[3] = (*(Amean53+3))[iETA1]; par_sig1[0] = (*(Asig53+0))[iETA1]; par_sig1[1] = (*(Asig53+1))[iETA1]; par_sig1[2] = (*(Asig53+2))[iETA1]; par_sig1[3] = (*(Asig53+3))[iETA1]; break; case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10 & fr = 0: b1-2 if(iETA1 < 1)iETA1 = 1; if(iETA1 > 2)iETA1 = 2; par1[0] = (*(Amean52+0))[iETA1]; par1[1] = (*(Amean52+1))[iETA1]; par1[2] = (*(Amean52+2))[iETA1]; par1[3] = (*(Amean52+3))[iETA1]; par_sig1[0] = (*(Asig52+0))[iETA1]; par_sig1[1] = (*(Asig52+1))[iETA1]; par_sig1[2] = (*(Asig52+2))[iETA1]; par_sig1[3] = (*(Asig52+3))[iETA1]; break; case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10 & fr = 0 if(method < 10){ if(iETA1 < 1)iETA1 = 1; if(iETA1 > 2)iETA1 = 2; } par1[0] = (*(Amean52+0))[iETA1]; par1[1] = (*(Amean52+1))[iETA1]; par1[2] = (*(Amean52+2))[iETA1]; par1[3] = (*(Amean52+3))[iETA1]; par_sig1[0] = (*(Asig52+0))[iETA1]; par_sig1[1] = (*(Asig52+1))[iETA1]; par_sig1[2] = (*(Asig52+2))[iETA1]; par_sig1[3] = (*(Asig52+3))[iETA1]; if(method > 10){ if(iETA1 > 2)iETA1 = 2; par1[0] = (*(Amean51+0))[iETA1]; par1[1] = (*(Amean51+1))[iETA1]; par1[2] = (*(Amean51+2))[iETA1]; par1[3] = (*(Amean51+3))[iETA1]; par_sig1[0] = (*(Asig51+0))[iETA1]; par_sig1[1] = (*(Asig51+1))[iETA1]; par_sig1[2] = (*(Asig51+2))[iETA1]; par_sig1[3] = (*(Asig51+3))[iETA1]; } break; //default: //return 0.0; } //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ; //if(fabs(dphi) >= 0.002) //if(fabs(dphi) >= 0.00) //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14))) //{ double pt = 140; double dpt = 0.1; double step = 5.; while(pt > 2. ){ double par_phi12[1] = {dphi}; double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2; v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.; v[0] = pt; lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = pt + dpt; lpt1_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v); double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt v[0] = pt - step; lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = pt - step + dpt; lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v); double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum v[0] = pt - 0.5*step; double fx = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = pt - 0.5*step + dpt; double fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = pt - 0.5*step + 2*dpt; double fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v); double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt; //if(lpt1*lpt2 <= 0 && lpt2nd < 0) std::cout << "lpt2nd < 0 dphi12 = " << dphi <<" PT = " << pt<< " eta =" << fabs(eta) << std::endl; //lpt2nd = 1.; // don't care about 2nd derivative if(lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolv = pt - 0.5*step; break;}// lpt = 0 between lpt1 and lpt2 => maximum pt_solv is a solution of the likelihood /* if(pt == 140.){ v[0] = 200; lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = 200. + 5.; lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v); lpt2 = (lpt2_2-lpt2_1)/5.; v[0] = 170.; fx = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = 170.+5.; fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = 170.+2*5.; fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v); lpt2nd = -(fx2h + fx - 2*fxh)/5./5.; } if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1 ){PTsolv = 137.5; break;} */ if(pt > 25) {dpt = 0.1; step = 5.;} if(pt <= 25) {dpt = 0.01; step = 0.5;} pt = pt - step; }// end while //*********** end solve equation for muon plus //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ; // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0 dphi = - dphi; pt = 140; dpt = 0.1; step = 5.; while(pt > 2. ){ double par_phi12[1] = {dphi}; double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2; v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.; v[0] = pt; lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = pt + dpt; lpt1_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v); double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt v[0] = pt - step; lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = pt - step + dpt; lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v); double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum v[0] = pt - 0.5*step; double fx = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = pt - 0.5*step + dpt; double fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = pt - 0.5*step + 2*dpt; double fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v); double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt; if(lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolvMinus = pt - 0.5*step; break;}// lpt = 0 between lpt1 and lpt2 => maximum pt_solv is a solution of the likelihood /* if(pt == 140.){ v[0] = 200; lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = 200. + 5.; lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v); lpt2 = (lpt2_2-lpt2_1)/5.; v[0] = 170.; fx = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = 170.+5.; fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v); v[0] = 170.+2*5.; fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v); lpt2nd = -(fx2h + fx - 2*fxh)/5./5.; } if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1){PTsolvMinus = 137.5; break;} */ if(pt > 25) {dpt = 0.1; step = 5.;} if(pt <= 25) {dpt = 0.01; step = 0.5;} pt = pt - step; }// end while // }// if(fabs(dphi) >= 0.002) // else // {PTsolv = 137.5;} //*********** end solve equation for muon minus PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis PTsolv = PTsolv*1.2; if(PTsolv > 137.5) PTsolv = 137.5; if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.; //if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.; dphi = - dphi; //return to correct sing dphi } //if(fabs(eta_TracMy) } //end "for by iETA" float Pt = PTsolv; //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV float Pt_min = 2;// 0 GeV return (Pt > Pt_min) ? Pt : Pt_min; }
float CSCTFPtMethods::Pt2Stn2012 | ( | int | type, |
float | eta, | ||
float | dphi, | ||
int | PtbyMLH, | ||
float & | theLH, | ||
int | fr = -1 , |
||
int | method = 11 |
||
) | const |
Definition at line 3259 of file CSCTFPtMethods.cc.
References A_mu12Front, A_mu12Rare, A_mu13Front, A_mu13Rare, A_mu14Front, A_mu14Rare, A_mu23, A_mu24, A_mu34, A_mu51, A_mu52, A_mu53, A_sig12Front, A_sig12Rare, A_sig13Front, A_sig13Rare, A_sig14Front, A_sig14Rare, A_sig23, A_sig24, A_sig34, A_sig51, A_sig52, A_sig53, gather_cfg::cout, etabins, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), Likelihood2(), reco::tau::disc::Pt(), relval_parameters_module::step, trigger_scale, and v.
Referenced by CSCTFPtLUT::calcPt(), and Pt3Stn2012().
{ int useBestMLH = PtbyMLH; int useBOXcut = false; int useDTBOXcut = true; if(type == 5) useBOXcut = true; // useBOXcut for mode 5 which come from 3 station if(type == 5) type = 8; // 2-3-4 -> 2-3// if(fabs(eta) >= 2.4) eta = 2.35; double PTsolv = 1.; // for muon plus hypothesis double PTsolvMinus = 1.;//for muon minus hypothesis for(int iETA = 0; iETA < 15; iETA++){ if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){ // calculate curvers of mean and sigma // calculate phi12 mean double par1[4] = {0., 0., 0., 0.}; //double phi12mean = fitf5(v, par1); //mu12 double par_sig1[3] = {0., 0., 0.}; int iETA1 = iETA; switch (type) // type = mode here { case 6 : //1-2 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu12Front[0][iETA1]; par1[1] = A_mu12Front[1][iETA1]; par1[2] = A_mu12Front[2][iETA1]; par1[3] = A_mu12Front[3][iETA1]; par_sig1[0] = A_sig12Front[0][iETA1]; par_sig1[1] = A_sig12Front[1][iETA1]; par_sig1[2] = A_sig12Front[2][iETA1]; } if(fr == 0){ if(iETA1 < 1)iETA1 = 1; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu12Rare[0][iETA1]; par1[1] = A_mu12Rare[1][iETA1]; par1[2] = A_mu12Rare[2][iETA1]; par1[3] = A_mu12Rare[3][iETA1]; par_sig1[0] = A_sig12Rare[0][iETA1]; par_sig1[1] = A_sig12Rare[1][iETA1]; par_sig1[2] = A_sig12Rare[2][iETA1]; } break; case 7 : //1-3 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu13Front[0][iETA1]; par1[1] = A_mu13Front[1][iETA1]; par1[2] = A_mu13Front[2][iETA1]; par1[3] = A_mu13Front[3][iETA1]; par_sig1[0] = A_sig13Front[0][iETA1]; par_sig1[1] = A_sig13Front[1][iETA1]; par_sig1[2] = A_sig13Front[2][iETA1]; } if(fr == 0){ if(iETA1 < 2)iETA1 = 2; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu13Rare[0][iETA1]; par1[1] = A_mu13Rare[1][iETA1]; par1[2] = A_mu13Rare[2][iETA1]; par1[3] = A_mu13Rare[3][iETA1]; par_sig1[0] = A_sig13Rare[0][iETA1]; par_sig1[1] = A_sig13Rare[1][iETA1]; par_sig1[2] = A_sig13Rare[2][iETA1]; } break; case 8 : //2-3 if(iETA1 < 2)iETA1 = 2; par1[0] = A_mu23[0][iETA1]; par1[1] = A_mu23[1][iETA1]; par1[2] = A_mu23[2][iETA1]; par1[3] = A_mu23[3][iETA1]; par_sig1[0] = A_sig23[0][iETA1]; par_sig1[1] = A_sig23[1][iETA1]; par_sig1[2] = A_sig23[2][iETA1]; break; case 9 : //2-4 if(iETA1 < 9)iETA1 = 9; par1[0] = A_mu24[0][iETA1]; par1[1] = A_mu24[1][iETA1]; par1[2] = A_mu24[2][iETA1]; par1[3] = A_mu24[3][iETA1]; par_sig1[0] = A_sig24[0][iETA1]; par_sig1[1] = A_sig24[1][iETA1]; par_sig1[2] = A_sig24[2][iETA1]; break; case 10 : //3-4 if(iETA1 < 9)iETA1 = 9; par1[0] = A_mu34[0][iETA1]; par1[1] = A_mu34[1][iETA1]; par1[2] = A_mu34[2][iETA1]; par1[3] = A_mu34[3][iETA1]; par_sig1[0] = A_sig34[0][iETA1]; par_sig1[1] = A_sig34[1][iETA1]; par_sig1[2] = A_sig34[2][iETA1]; break; case 13 : //1-4 if(iETA1 < 9)iETA1 = 9; if(iETA1 > 11)iETA1 = 11; //if(iETA1 > 12)iETA1 = 12; if(fr == 1){ par1[0] = A_mu14Front[0][iETA1]; par1[1] = A_mu14Front[1][iETA1]; par1[2] = A_mu14Front[2][iETA1]; par1[3] = A_mu14Front[3][iETA1]; par_sig1[0] = A_sig14Front[0][iETA1]; par_sig1[1] = A_sig14Front[1][iETA1]; par_sig1[2] = A_sig14Front[2][iETA1]; } if(fr == 0){ par1[0] = A_mu14Rare[0][iETA1]; par1[1] = A_mu14Rare[1][iETA1]; par1[2] = A_mu14Rare[2][iETA1]; par1[3] = A_mu14Rare[3][iETA1]; par_sig1[0] = A_sig14Rare[0][iETA1]; par_sig1[1] = A_sig14Rare[1][iETA1]; par_sig1[2] = A_sig14Rare[2][iETA1]; } break; case 11 : // b1-3 if(iETA1 != 2)iETA1 = 2; par1[0] = A_mu53[0][iETA1]; par1[1] = A_mu53[1][iETA1]; par1[2] = A_mu53[2][iETA1]; par1[3] = A_mu53[3][iETA1]; par_sig1[0] = A_sig53[0][iETA1]; par_sig1[1] = A_sig53[1][iETA1]; par_sig1[2] = A_sig53[2][iETA1]; break; case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10: b1-2 if(iETA1 < 1)iETA1 = 1; if(iETA1 > 2)iETA1 = 2; par1[0] = A_mu52[0][iETA1]; par1[1] = A_mu52[1][iETA1]; par1[2] = A_mu52[2][iETA1]; par1[3] = A_mu52[3][iETA1]; par_sig1[0] = A_sig52[0][iETA1]; par_sig1[1] = A_sig52[1][iETA1]; par_sig1[2] = A_sig52[2][iETA1]; break; case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10 if(method < 10){ if(iETA1 < 1)iETA1 = 1; if(iETA1 > 2)iETA1 = 2; } par1[0] = A_mu52[0][iETA1]; par1[1] = A_mu52[1][iETA1]; par1[2] = A_mu52[2][iETA1]; par1[3] = A_mu52[3][iETA1]; par_sig1[0] = A_sig52[0][iETA1]; par_sig1[1] = A_sig52[1][iETA1]; par_sig1[2] = A_sig52[2][iETA1]; if(method > 10){ if(iETA1 > 2)iETA1 = 2; par1[0] = A_mu51[0][iETA1]; par1[1] = A_mu51[1][iETA1]; par1[2] = A_mu51[2][iETA1]; par1[3] = A_mu51[3][iETA1]; par_sig1[0] = A_sig51[0][iETA1]; par_sig1[1] = A_sig51[1][iETA1]; par_sig1[2] = A_sig51[2][iETA1]; } break; //default: //return 0.0; } //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ; //if(fabs(dphi) >= 0.002) //if(fabs(dphi) >= 0.00) //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14))) //{ double muPlusMaxLH = -1e9; double pt = 140; double step = 5.; double maxLH = -1e9; while(pt > 2. ) { double par_phi12[1] = {dphi}; double v[1], lpt1_1; v[0] = 0; lpt1_1 = 1.; v[0] = pt; lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v); if (lpt1_1 > maxLH) { maxLH = lpt1_1; PTsolv = pt; } if(pt <= 100) {step = 10.0/4.0;} if(pt <= 50) {step = 5.0/4.0;} if(pt <= 20) {step = 2.0/4.0;} if(pt <= 10) {step = 1.0/4.0;} if(pt <=5) {step = 0.5/4.0;} pt = pt - step; }// end while muPlusMaxLH = maxLH; //*********** end solve equation for muon plus //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ; // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0 double muMinusMaxLH = -1e9; dphi = - dphi; pt = 140; step = 5.; maxLH = -1e9; while(pt > 2. ) { double par_phi12[1] = {dphi}; double v[1], lpt1_1; v[0] = 0; lpt1_1 = 1.; v[0] = pt; lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v); if (lpt1_1 > maxLH) { maxLH = lpt1_1; PTsolvMinus = pt; } if(pt <= 100) {step = 10.0/4.0;} if(pt <= 50) {step = 5.0/4.0;} if(pt <= 20) {step = 2.0/4.0;} if(pt <= 10) {step = 1.0/4.0;} if(pt <=5) {step = 0.5/4.0;} pt = pt - step; }// end while muMinusMaxLH = maxLH; // }// if(fabs(dphi) >= 0.002) // else // {PTsolv = 137.5;} //*********** end solve equation for muon minus if (useBestMLH) PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis else PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH; PTsolv = PTsolv*1.2; if(PTsolv > 137.5) PTsolv = 137.5; if (useBOXcut) if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.; if (useDTBOXcut) if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.; dphi = - dphi; //return to correct sing dphi } //if(fabs(eta_TracMy) } //end "for by iETA" float Pt = PTsolv; if(Pt > 10 && fabs(dphi) >= 0.1 ) std::cout << "iF = 0 for dphi = " << dphi <<" and Pt = " << Pt << std::endl; //if(Pt > 100 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi > 0.015 )std::cout << "dphi = " << dphi << " eta = " << eta << std::endl; //if(Pt < 10 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi < 0.01)std::cout << "dphi = " << dphi << " eta = " << eta << std::endl; // return (Pt>0.0) ? Pt : 0.0; float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV return (Pt > Pt_min) ? Pt : Pt_min; }
float CSCTFPtMethods::Pt2Stn2012_DT | ( | int | type, |
float | eta, | ||
float | dphi, | ||
int | PtbyMLH, | ||
float & | theLH, | ||
int | fr = -1 , |
||
int | method = 11 , |
||
int | phiSign = 2 |
||
) | const |
Definition at line 4428 of file CSCTFPtMethods.cc.
References AB_mu12F, AB_mu12FME11, AB_mu12FnoME11, AB_mu12R, AB_mu12RME11, AB_mu12RnoME11, AB_mu13F, AB_mu13FME11, AB_mu13FnoME11, AB_mu13R, AB_mu13RME11, AB_mu13RnoME11, AB_mu14F, AB_mu14FME11, AB_mu14FnoME11, AB_mu14R, AB_mu14RME11, AB_mu14RnoME11, AB_mu23, AB_mu24, AB_mu34, AB_mu51, AB_mu52, AB_mu53, AB_sig12F, AB_sig12FME11, AB_sig12FnoME11, AB_sig12R, AB_sig12RME11, AB_sig12RnoME11, AB_sig13F, AB_sig13FME11, AB_sig13FnoME11, AB_sig13R, AB_sig13RME11, AB_sig13RnoME11, AB_sig14F, AB_sig14FME11, AB_sig14FnoME11, AB_sig14R, AB_sig14RME11, AB_sig14RnoME11, AB_sig23, AB_sig24, AB_sig34, AB_sig51, AB_sig52, AB_sig53, etabins, Likelihood2_2011(), reco::tau::disc::Pt(), relval_parameters_module::step, and v.
Referenced by Pt3Stn2012_DT().
{ int useBestMLH = PtbyMLH; int useBOXcut = true; //if(fabs(eta) >= 2.4) eta = 2.35; if(fabs(eta) >= 2.2) eta = 2.15; double PTsolv = 1.; // for muon plus hypothesis double PTsolvMinus = 1.;//for muon minus hypothesis for(int iETA = 0; iETA < 15; iETA++){ if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){ // calculate curvers of mean and sigma // calculate phi12 mean double par1[4] = {0., 0., 0., 0.}; //double phi12mean = fitf5(v, par1); //mu12 double par_sig1[4] = {0., 0., 0.,0}; int iETA1 = iETA; int iETA2 = iETA; double (*Amean12FnoME11)[15] = AB_mu12FnoME11; double (*Asig12FnoME11)[15] = AB_sig12FnoME11; double (*Amean12RnoME11)[15] = AB_mu12RnoME11; double (*Asig12RnoME11)[15] = AB_sig12RnoME11; double (*Amean13FnoME11)[15] = AB_mu13FnoME11; double (*Asig13FnoME11)[15] = AB_sig13FnoME11; double (*Amean13RnoME11)[15] = AB_mu13RnoME11; double (*Asig13RnoME11)[15] = AB_sig13RnoME11; double (*Amean14FnoME11)[15] = AB_mu14FnoME11; double (*Asig14FnoME11)[15] = AB_sig14FnoME11; double (*Amean14RnoME11)[15] = AB_mu14RnoME11; double (*Asig14RnoME11)[15] = AB_sig14RnoME11; // double (*Amean12FME11)[15] = AB_mu12FME11; double (*Asig12FME11)[15] = AB_sig12FME11; double (*Amean12RME11)[15] = AB_mu12RME11; double (*Asig12RME11)[15] = AB_sig12RME11; double (*Amean13FME11)[15] = AB_mu13FME11; double (*Asig13FME11)[15] = AB_sig13FME11; double (*Amean13RME11)[15] = AB_mu13RME11; double (*Asig13RME11)[15] = AB_sig13RME11; double (*Amean14FME11)[15] = AB_mu14FME11; double (*Asig14FME11)[15] = AB_sig14FME11; double (*Amean14RME11)[15] = AB_mu14RME11; double (*Asig14RME11)[15] = AB_sig14RME11; // double (*Amean12F)[15] = AB_mu12F; double (*Asig12F)[15] = AB_sig12F; double (*Amean12R)[15] = AB_mu12R; double (*Asig12R)[15] = AB_sig12R; double (*Amean13F)[15] = AB_mu13F; double (*Asig13F)[15] = AB_sig13F; double (*Amean13R)[15] = AB_mu13R; double (*Asig13R)[15] = AB_sig13R; double (*Amean14F)[15] = AB_mu14F; double (*Asig14F)[15] = AB_sig14F; double (*Amean14R)[15] = AB_mu14R; double (*Asig14R)[15] = AB_sig14R; double (*Amean23)[15] = AB_mu23; double (*Asig23)[15] = AB_sig23; double (*Amean24)[15] = AB_mu24; double (*Asig24)[15] = AB_sig24; double (*Amean34)[15] = AB_mu34; double (*Asig34)[15] = AB_sig34; double (*Amean51)[15] = AB_mu51; double (*Asig51)[15] = AB_sig51; double (*Amean52)[15] = AB_mu52; double (*Asig52)[15] = AB_sig52; double (*Amean53)[15] = AB_mu53; double (*Asig53)[15] = AB_sig53; switch (type) // type = mode here { case 6 : //1-2 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean12F+0))[iETA1]; par1[1] = (*(Amean12F+1))[iETA1]; par1[2] = (*(Amean12F+2))[iETA1]; par1[3] = (*(Amean12F+3))[iETA1]; par_sig1[0] = (*(Asig12F+0))[iETA1]; par_sig1[1] = (*(Asig12F+1))[iETA1]; par_sig1[2] = (*(Asig12F+2))[iETA1]; par_sig1[3] = (*(Asig12F+3))[iETA1]; } if(fr == 0){ if(iETA1 < 1)iETA1 = 1; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean12R+0))[iETA1]; par1[1] = (*(Amean12R+1))[iETA1]; par1[2] = (*(Amean12R+2))[iETA1]; par1[3] = (*(Amean12R+3))[iETA1]; par_sig1[0] = (*(Asig12R+0))[iETA1]; par_sig1[1] = (*(Asig12R+1))[iETA1]; par_sig1[2] = (*(Asig12R+2))[iETA1]; par_sig1[3] = (*(Asig12R+3))[iETA1]; } if(phiSign == 0){ // track belong to ME11 station if(fr == 1){ if(iETA2 < 7)iETA2 = 7; par1[0] = (*(Amean12FME11+0))[iETA2]; par1[1] = (*(Amean12FME11+1))[iETA2]; par1[2] = (*(Amean12FME11+2))[iETA2]; par1[3] = (*(Amean12FME11+3))[iETA2]; par_sig1[0] = (*(Asig12FME11+0))[iETA2]; par_sig1[1] = (*(Asig12FME11+1))[iETA2]; par_sig1[2] = (*(Asig12FME11+2))[iETA2]; par_sig1[3] = (*(Asig12FME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 7)iETA2 = 7; par1[0] = (*(Amean12RME11+0))[iETA2]; par1[1] = (*(Amean12RME11+1))[iETA2]; par1[2] = (*(Amean12RME11+2))[iETA2]; par1[3] = (*(Amean12RME11+3))[iETA2]; par_sig1[0] = (*(Asig12RME11+0))[iETA2]; par_sig1[1] = (*(Asig12RME11+1))[iETA2]; par_sig1[2] = (*(Asig12RME11+2))[iETA2]; par_sig1[3] = (*(Asig12RME11+3))[iETA2]; } } if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station if(fr == 1){ if(iETA2 < 3)iETA2 = 3; if(iETA2 > 7)iETA2 = 7; par1[0] = (*(Amean12FnoME11+0))[iETA2]; par1[1] = (*(Amean12FnoME11+1))[iETA2]; par1[2] = (*(Amean12FnoME11+2))[iETA2]; par1[3] = (*(Amean12FnoME11+3))[iETA2]; par_sig1[0] = (*(Asig12FnoME11+0))[iETA2]; par_sig1[1] = (*(Asig12FnoME11+1))[iETA2]; par_sig1[2] = (*(Asig12FnoME11+2))[iETA2]; par_sig1[3] = (*(Asig12FnoME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 1)iETA2 = 1; if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6 par1[0] = (*(Amean12RnoME11+0))[iETA2]; par1[1] = (*(Amean12RnoME11+1))[iETA2]; par1[2] = (*(Amean12RnoME11+2))[iETA2]; par1[3] = (*(Amean12RnoME11+3))[iETA2]; par_sig1[0] = (*(Asig12RnoME11+0))[iETA2]; par_sig1[1] = (*(Asig12RnoME11+1))[iETA2]; par_sig1[2] = (*(Asig12RnoME11+2))[iETA2]; par_sig1[3] = (*(Asig12RnoME11+3))[iETA2]; } } break; case 7 : //1-3 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean13F+0))[iETA1]; par1[1] = (*(Amean13F+1))[iETA1]; par1[2] = (*(Amean13F+2))[iETA1]; par1[3] = (*(Amean13F+3))[iETA1]; par_sig1[0] = (*(Asig13F+0))[iETA1]; par_sig1[1] = (*(Asig13F+1))[iETA1]; par_sig1[2] = (*(Asig13F+2))[iETA1]; par_sig1[3] = (*(Asig13F+3))[iETA1]; } if(fr == 0){ if(iETA1 < 3)iETA1 = 3; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean13R+0))[iETA1]; par1[1] = (*(Amean13R+1))[iETA1]; par1[2] = (*(Amean13R+2))[iETA1]; par1[3] = (*(Amean13R+3))[iETA1]; par_sig1[0] = (*(Asig13R+0))[iETA1]; par_sig1[1] = (*(Asig13R+1))[iETA1]; par_sig1[2] = (*(Asig13R+2))[iETA1]; par_sig1[3] = (*(Asig13R+3))[iETA1]; } if(phiSign == 0){ // track belong to ME11 station if(fr == 1){ if(iETA2 < 7)iETA2 = 7; par1[0] = (*(Amean13FME11+0))[iETA2]; par1[1] = (*(Amean13FME11+1))[iETA2]; par1[2] = (*(Amean13FME11+2))[iETA2]; par1[3] = (*(Amean13FME11+3))[iETA2]; par_sig1[0] = (*(Asig13FME11+0))[iETA2]; par_sig1[1] = (*(Asig13FME11+1))[iETA2]; par_sig1[2] = (*(Asig13FME11+2))[iETA2]; par_sig1[3] = (*(Asig13FME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 7)iETA2 = 7; par1[0] = (*(Amean13RME11+0))[iETA2]; par1[1] = (*(Amean13RME11+1))[iETA2]; par1[2] = (*(Amean13RME11+2))[iETA2]; par1[3] = (*(Amean13RME11+3))[iETA2]; par_sig1[0] = (*(Asig13RME11+0))[iETA2]; par_sig1[1] = (*(Asig13RME11+1))[iETA2]; par_sig1[2] = (*(Asig13RME11+2))[iETA2]; par_sig1[3] = (*(Asig13RME11+3))[iETA2]; } } if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station if(fr == 1){ if(iETA2 < 3)iETA2 = 3; if(iETA2 > 7)iETA2 = 7; par1[0] = (*(Amean13FnoME11+0))[iETA2]; par1[1] = (*(Amean13FnoME11+1))[iETA2]; par1[2] = (*(Amean13FnoME11+2))[iETA2]; par1[3] = (*(Amean13FnoME11+3))[iETA2]; par_sig1[0] = (*(Asig13FnoME11+0))[iETA2]; par_sig1[1] = (*(Asig13FnoME11+1))[iETA2]; par_sig1[2] = (*(Asig13FnoME11+2))[iETA2]; par_sig1[3] = (*(Asig13FnoME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 3)iETA2 = 3; if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6 par1[0] = (*(Amean13RnoME11+0))[iETA2]; par1[1] = (*(Amean13RnoME11+1))[iETA2]; par1[2] = (*(Amean13RnoME11+2))[iETA2]; par1[3] = (*(Amean13RnoME11+3))[iETA2]; par_sig1[0] = (*(Asig13RnoME11+0))[iETA2]; par_sig1[1] = (*(Asig13RnoME11+1))[iETA2]; par_sig1[2] = (*(Asig13RnoME11+2))[iETA2]; par_sig1[3] = (*(Asig13RnoME11+3))[iETA2]; } } break; case 8 : //2-3 if(iETA1 < 2)iETA1 = 2; par1[0] = (*(Amean23+0))[iETA1]; par1[1] = (*(Amean23+1))[iETA1]; par1[2] = (*(Amean23+2))[iETA1]; par1[3] = (*(Amean23+3))[iETA1]; par_sig1[0] = (*(Asig23+0))[iETA1]; par_sig1[1] = (*(Asig23+1))[iETA1]; par_sig1[2] = (*(Asig23+2))[iETA1]; par_sig1[3] = (*(Asig23+3))[iETA1]; break; case 9 : //2-4 if(iETA1 < 3)iETA1 = 3; par1[0] = (*(Amean24+0))[iETA1]; par1[1] = (*(Amean24+1))[iETA1]; par1[2] = (*(Amean24+2))[iETA1]; par1[3] = (*(Amean24+3))[iETA1]; par_sig1[0] = (*(Asig24+0))[iETA1]; par_sig1[1] = (*(Asig24+1))[iETA1]; par_sig1[2] = (*(Asig24+2))[iETA1]; par_sig1[3] = (*(Asig24+3))[iETA1]; break; case 10 : //3-4 if(iETA1 < 3)iETA1 = 3; par1[0] = (*(Amean34+0))[iETA1]; par1[1] = (*(Amean34+1))[iETA1]; par1[2] = (*(Amean34+2))[iETA1]; par1[3] = (*(Amean34+3))[iETA1]; par_sig1[0] = (*(Asig34+0))[iETA1]; par_sig1[1] = (*(Asig34+1))[iETA1]; par_sig1[2] = (*(Asig34+2))[iETA1]; par_sig1[3] = (*(Asig34+3))[iETA1]; break; case 13 : //1-4 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean14F+0))[iETA1]; par1[1] = (*(Amean14F+1))[iETA1]; par1[2] = (*(Amean14F+2))[iETA1]; par1[3] = (*(Amean14F+3))[iETA1]; par_sig1[0] = (*(Asig14F+0))[iETA1]; par_sig1[1] = (*(Asig14F+1))[iETA1]; par_sig1[2] = (*(Asig14F+2))[iETA1]; par_sig1[3] = (*(Asig14F+3))[iETA1]; } if(fr == 0){ if(iETA1 < 2)iETA1 = 2; //if(iETA1 > 11)iETA1 = 11; par1[0] = (*(Amean14R+0))[iETA1]; par1[1] = (*(Amean14R+1))[iETA1]; par1[2] = (*(Amean14R+2))[iETA1]; par1[3] = (*(Amean14R+3))[iETA1]; par_sig1[0] = (*(Asig14R+0))[iETA1]; par_sig1[1] = (*(Asig14R+1))[iETA1]; par_sig1[2] = (*(Asig14R+2))[iETA1]; par_sig1[3] = (*(Asig14R+3))[iETA1]; } if(phiSign == 0){ // track belong to ME11 station if(fr == 1){ if(iETA2 < 9)iETA2 = 9; par1[0] = (*(Amean14FME11+0))[iETA2]; par1[1] = (*(Amean14FME11+1))[iETA2]; par1[2] = (*(Amean14FME11+2))[iETA2]; par1[3] = (*(Amean14FME11+3))[iETA2]; par_sig1[0] = (*(Asig14FME11+0))[iETA2]; par_sig1[1] = (*(Asig14FME11+1))[iETA2]; par_sig1[2] = (*(Asig14FME11+2))[iETA2]; par_sig1[3] = (*(Asig14FME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 9)iETA2 = 9; par1[0] = (*(Amean14RME11+0))[iETA2]; par1[1] = (*(Amean14RME11+1))[iETA2]; par1[2] = (*(Amean14RME11+2))[iETA2]; par1[3] = (*(Amean14RME11+3))[iETA2]; par_sig1[0] = (*(Asig14RME11+0))[iETA2]; par_sig1[1] = (*(Asig14RME11+1))[iETA2]; par_sig1[2] = (*(Asig14RME11+2))[iETA2]; par_sig1[3] = (*(Asig14RME11+3))[iETA2]; } } if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station if(fr == 1){ if(iETA2 < 4)iETA2 = 4; if(iETA2 > 7)iETA2 = 7; par1[0] = (*(Amean14FnoME11+0))[iETA2]; par1[1] = (*(Amean14FnoME11+1))[iETA2]; par1[2] = (*(Amean14FnoME11+2))[iETA2]; par1[3] = (*(Amean14FnoME11+3))[iETA2]; par_sig1[0] = (*(Asig14FnoME11+0))[iETA2]; par_sig1[1] = (*(Asig14FnoME11+1))[iETA2]; par_sig1[2] = (*(Asig14FnoME11+2))[iETA2]; par_sig1[3] = (*(Asig14FnoME11+3))[iETA2]; } if(fr == 0){ if(iETA2 < 4)iETA2 = 4; if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6 par1[0] = (*(Amean14RnoME11+0))[iETA2]; par1[1] = (*(Amean14RnoME11+1))[iETA2]; par1[2] = (*(Amean14RnoME11+2))[iETA2]; par1[3] = (*(Amean14RnoME11+3))[iETA2]; par_sig1[0] = (*(Asig14RnoME11+0))[iETA2]; par_sig1[1] = (*(Asig14RnoME11+1))[iETA2]; par_sig1[2] = (*(Asig14RnoME11+2))[iETA2]; par_sig1[3] = (*(Asig14RnoME11+3))[iETA2]; } } break; case 11 : // b1-3 for pt_method > 10 & fr = 0, singles for pt_method < 10 if(iETA1 != 2)iETA1 = 2; par1[0] = (*(Amean53+0))[iETA1]; par1[1] = (*(Amean53+1))[iETA1]; par1[2] = (*(Amean53+2))[iETA1]; par1[3] = (*(Amean53+3))[iETA1]; par_sig1[0] = (*(Asig53+0))[iETA1]; par_sig1[1] = (*(Asig53+1))[iETA1]; par_sig1[2] = (*(Asig53+2))[iETA1]; par_sig1[3] = (*(Asig53+3))[iETA1]; break; case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10 & fr = 0: b1-2 if(iETA1 < 1)iETA1 = 1; if(iETA1 > 2)iETA1 = 2; par1[0] = (*(Amean52+0))[iETA1]; par1[1] = (*(Amean52+1))[iETA1]; par1[2] = (*(Amean52+2))[iETA1]; par1[3] = (*(Amean52+3))[iETA1]; par_sig1[0] = (*(Asig52+0))[iETA1]; par_sig1[1] = (*(Asig52+1))[iETA1]; par_sig1[2] = (*(Asig52+2))[iETA1]; par_sig1[3] = (*(Asig52+3))[iETA1]; break; case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10 & fr = 0 if(method < 10){ if(iETA1 < 1)iETA1 = 1; if(iETA1 > 2)iETA1 = 2; } par1[0] = (*(Amean52+0))[iETA1]; par1[1] = (*(Amean52+1))[iETA1]; par1[2] = (*(Amean52+2))[iETA1]; par1[3] = (*(Amean52+3))[iETA1]; par_sig1[0] = (*(Asig52+0))[iETA1]; par_sig1[1] = (*(Asig52+1))[iETA1]; par_sig1[2] = (*(Asig52+2))[iETA1]; par_sig1[3] = (*(Asig52+3))[iETA1]; if(method > 10){ if(iETA1 > 2)iETA1 = 2; par1[0] = (*(Amean51+0))[iETA1]; par1[1] = (*(Amean51+1))[iETA1]; par1[2] = (*(Amean51+2))[iETA1]; par1[3] = (*(Amean51+3))[iETA1]; par_sig1[0] = (*(Asig51+0))[iETA1]; par_sig1[1] = (*(Asig51+1))[iETA1]; par_sig1[2] = (*(Asig51+2))[iETA1]; par_sig1[3] = (*(Asig51+3))[iETA1]; } break; //default: //return 0.0; } //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ; //if(fabs(dphi) >= 0.002) //if(fabs(dphi) >= 0.00) //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14))) //{ double muPlusMaxLH = -1e9; double pt = 140; double step = 5.; double maxLH = -1e9; while(pt > 2. ) { double par_phi12[1] = {dphi}; double v[1], lpt1_1; v[0] = 0; lpt1_1 = 1.; v[0] = pt; lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v); if (lpt1_1 > maxLH) { maxLH = lpt1_1; PTsolv = pt; } if(pt <= 100) {step = 10.0/4.0;} if(pt <= 50) {step = 5.0/4.0;} if(pt <= 20) {step = 2.0/4.0;} if(pt <= 10) {step = 1.0/4.0;} if(pt <=5) {step = 0.5/4.0;} pt = pt - step; }// end while muPlusMaxLH = maxLH; //*********** end solve equation for muon plus //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ; // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0 double muMinusMaxLH = -1e9; dphi = - dphi; pt = 140; step = 5.; maxLH = -1e9; while(pt > 2. ) { double par_phi12[1] = {dphi}; double v[1], lpt1_1; v[0] = 0; lpt1_1 = 1.; v[0] = pt; lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v); if (lpt1_1 > maxLH) { maxLH = lpt1_1; PTsolvMinus = pt; } if(pt <= 100) {step = 10.0/4.0;} if(pt <= 50) {step = 5.0/4.0;} if(pt <= 20) {step = 2.0/4.0;} if(pt <= 10) {step = 1.0/4.0;} if(pt <=5) {step = 0.5/4.0;} pt = pt - step; }// end while muMinusMaxLH = maxLH; // }// if(fabs(dphi) >= 0.002) // else // {PTsolv = 137.5;} //*********** end solve equation for muon minus if (useBestMLH) PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis else PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH; PTsolv = PTsolv*1.2; if(PTsolv > 137.5) PTsolv = 137.5; if (useBOXcut) if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.; //if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.; dphi = - dphi; //return to correct sing dphi } //if(fabs(eta_TracMy) } //end "for by iETA" float Pt = PTsolv; //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV float Pt_min = 2;// 0 GeV return (Pt > Pt_min) ? Pt : Pt_min; }
float CSCTFPtMethods::Pt2StnChiSq | ( | int | type, |
float | eta, | ||
int | dphi, | ||
int | fr | ||
) | const |
Definition at line 5230 of file CSCTFPtMethods.cc.
References diffTreeTool::diff, dphifr0, dphifr1, etabins, cmsRelvalreport::exit, i, j, gen::k, min, Pt2Stn(), ptbins, ptmin, CSCTFConstants::SECTOR_RAD, sigmafr0, and sigmafr1.
Referenced by CSCTFPtLUT::calcPt(), and Pt2StnHybrid().
{ float diff, min, ptmin, ptmax; float mypt = 0.0; int dphicopy = dphi; if (type<0 || type>3) { // std::cout << "CSCTFPtMethods: illegal track type for Chi-square method" << std::endl; edm::LogError("CSCTFPtMethods::Pt2StnChiSq()")<<"Illegal track type for Chi-square method"; return 0.; } // flip sign //dphi = -dphi; // force positive eta = fabs(eta); //determine which eta bin muon falls into int i = 0; for(i = 0; i < 15; i++) { if (eta >= etabins[i] && eta < etabins[i+1]) break; } if ( i == 15 ) { // std::cout<<" CSCTFPtMethods: muon not within any eta range"<< std::endl; edm::LogWarning("CSCTFPtMethods::Pt2StnChiSq()")<<"Muon not within any eta range"; if (eta<etabins[0]) { eta = etabins[0]; i = 0; } else if (eta>=etabins[15]) { eta = etabins[15]; i = 15; } else exit(0); } bool bCallOldMethod = false; if (fr == 0) { //advance past bins in array w/ default values //default is: dphifr0[x][y][z] = -1, sigmafr0[x][y][z] = 1 int j = 0; //start from 1st column, j=0 while (dphifr0[type][i][j] == -1 && sigmafr0[type][i][j] == 1 && j != 28) j++; if ( j == 28 ) { // std::cout <<" CSCTFPtMethods: every entry in row is default"<< std::endl; edm::LogInfo("CSCTFPtMethods::Pt2StnChiSq()")<<"Every entry in row is default"; // exit(0); //normal termination bCallOldMethod = true; } if (!bCallOldMethod) { //set min, ptmin, ptmax to first bin //in row that is not default min = fabs(dphi - dphifr0[type][i][j]) / sigmafr0[type][i][j]; ptmin = ptbins[j]; ptmax = ptbins[j+1]; //loop through all pt bins. assign pt of bin w/ least diff //do not include default bins in calculation for ( int k = j; k < 28; k++ ) { if(dphifr0[type][i][k] != -1 || sigmafr0[type][i][k] != 1) { diff = fabs(dphi - dphifr0[type][i][k]) / sigmafr0[type][i][k]; if (diff < min) { min = diff; ptmin = ptbins[k]; ptmax = ptbins[k+1]; } } } mypt = (ptmin + ptmax)/2; } } if (fr == 1) { //advance past bins in array w/ default values //default is: dphifr1[x][y][z] = -1, sigmafr1[x][y][z] = 1 int j = 0; //start from 1st column, j=0 while (dphifr1[type][i][j] == -1 && sigmafr1[type][i][j] == 1 && j != 28) j++; if ( j == 28 ) { // std::cout <<" CSCTFPtMethods: every entry in row is default"<< std::endl; edm::LogInfo("CSCTFPtMethods::Pt2StnChiSq()")<<"Every entry in row is default"; // exit(0); //normal termination bCallOldMethod = true; } if (!bCallOldMethod) { //set min, ptmin, ptmax to first bin //in row that is not default min = fabs(dphi - dphifr1[type][i][j]) / sigmafr1[type][i][j]; ptmin = ptbins[j]; ptmax = ptbins[j+1]; //loop through all pt bins. assign pt of bin w/ least diff //do not include default bins in calculation for ( int k = j; k < 28; k++ ) { if(dphifr1[type][i][k] != -1 || sigmafr1[type][i][k] != 1) { diff = fabs(dphi - dphifr1[type][i][k]) / sigmafr1[type][i][k]; if (diff < min) { min = diff; ptmin = ptbins[k]; ptmax = ptbins[k+1]; } } } mypt = (ptmin + ptmax)/2; } } // hybrid approach: if (bCallOldMethod) { float dphiR = static_cast<float>(dphicopy) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD; // must change type definition, just add one mypt = Pt2Stn(type+1, eta, dphiR, fr); } return mypt; }
float CSCTFPtMethods::Pt2StnHybrid | ( | int | type, |
float | eta, | ||
int | dphi, | ||
int | fr | ||
) | const |
Third is the hybrid method
Definition at line 5605 of file CSCTFPtMethods.cc.
References Pt2Stn(), Pt2StnChiSq(), and CSCTFConstants::SECTOR_RAD.
Referenced by CSCTFPtLUT::calcPt().
{ float mypt = 0.0; mypt = Pt2StnChiSq(type, eta, dphi, fr); if(mypt >= 8.0) { float dphiR = static_cast<float>(dphi) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD; mypt = Pt2Stn(type+1, eta, dphiR, fr); } return mypt; }
float CSCTFPtMethods::Pt3Stn | ( | int | type, |
float | eta, | ||
float | dphi1, | ||
float | dphi2, | ||
int | fr = -1 |
||
) | const |
3-station Pt measurement for types (see SP class for 3-stn types)
Definition at line 1297 of file CSCTFPtMethods.cc.
References AkHighEta_Fit1, AkLowEta_Fit1, alignmentValidation::c1, eta, FRCorrHighEta, FRCorrLowEta, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), kGlobalScaleFactor, kME1andME2, kME1andME3, kME2andME3, kME2andME4, kME3andME4, reco::tau::disc::Pt(), Pt2Stn(), alignCSCRings::r, mathSSE::sqrt(), and trigger_scale.
Referenced by CSCTFPtLUT::calcPt(), Pt3StnChiSq(), and Pt3StnHybrid().
{ int ty1 = 0, ty2 =0; switch (type) { case 1 : ty1 = kME1andME2 -1; // subtype sets the right position for array A ty2 = kME2andME3 -1; break; case 2 : ty1 = kME1andME2 -1; ty2 = kME2andME4 -1; break; case 3 : ty1 = kME1andME3 -1; ty2 = kME3andME4 -1; break; case 4 : ty1 = kME2andME3 -1; ty2 = kME3andME4 -1; break; default: return 0.0; } // Switch to 2-Station measurement if dphi is too small // box cut around Pt of 10 GeV float Pt; // if ( (fabs(static_cast<double>(dphi2))<0.004) && // (fabs(static_cast<double>(dphi1))<0.030)) { if ( fabs(static_cast<double>(dphi2))<0.004 ) { Pt = Pt2Stn((ty1+1), eta, dphi1, fr); } else { float c1=(-.2999 * (eta*eta*eta) + 2.030 * (eta*eta) - 4.235 * eta + 3.024) + 0.02; float c2=(-2.484 * (eta*eta*eta) + 14.43 * (eta*eta) - 27.66 * eta + 18.47)*.72; float r = 0.6; //correlation float A1 = 0; float A2 = 0; if (dphi1 == 0.0) dphi1 = 1.e-6; if (dphi2 == 0.0) dphi2 = 1.e-6; if (eta < 0.0) eta = static_cast<float>(fabs(static_cast<double>(eta))); if (eta >= 0.0 && eta < 1.6) { A1 = AkLowEta_Fit1[ty1][0] + AkLowEta_Fit1[ty1][1]*eta + AkLowEta_Fit1[ty1][2]*eta*eta + AkLowEta_Fit1[ty1][3]*eta*eta*eta; A2 = AkLowEta_Fit1[ty2][0] + AkLowEta_Fit1[ty2][1]*eta + AkLowEta_Fit1[ty2][2]*eta*eta + AkLowEta_Fit1[ty2][3]*eta*eta*eta; if (fr >= 0 && fr <= 1) { A1 *= FRCorrLowEta[ty1][fr]; } } if (eta >= 1.6 && eta < 2.5) { A1 = AkHighEta_Fit1[ty1][0] + AkHighEta_Fit1[ty1][1]*eta + AkHighEta_Fit1[ty1][2]*eta*eta + AkHighEta_Fit1[ty1][3]*eta*eta*eta; A2 = AkHighEta_Fit1[ty2][0] + AkHighEta_Fit1[ty2][1]*eta + AkHighEta_Fit1[ty2][2]*eta*eta + AkHighEta_Fit1[ty2][3]*eta*eta*eta; if (fr >= 0 && fr <= 1) { A1 *= FRCorrHighEta[ty1][fr]; } } A1 *= kGlobalScaleFactor; A2 *= kGlobalScaleFactor; Pt = 1/((( -dphi1/c1/c1/A1+r*dphi2/c1/c2/A2+dphi1*r/c1/c2/A1-dphi2/c2/c2/A2) + sqrt( (dphi1/c1/c1/A1-r*dphi2/c1/c2/A2-dphi1*r/c1/A1/c2+dphi2/c2/c2/A2) *(dphi1/c1/c1/A1-r*dphi2/c1/c2/A2-dphi1*r/c1/A1/c2+dphi2/c2/c2/A2) + 8*(1-r*r)*(dphi1*dphi1/c1/c1/A1/A1-2*dphi1*dphi2*r/c1/A1/c2/A2 +dphi2*dphi2/c2/c2/A2/A2)))/(4*(1-r*r))); } // end 2 or 3 station method // if (Pt<0.0) Pt = 0.0; if (Pt<trigger_scale->getPtScale()->getLowEdge(1)) Pt = trigger_scale->getPtScale()->getLowEdge(1); // switch to 2-stn Pt above 10 GeV: /* if (Pt>10.0) { switch (type) { case 1 : case 2 : Pt = Pt2Stn(1, eta, dphi1); break; case 3: Pt = Pt2Stn(2, eta, dphi1); break; case 4: Pt = Pt2Stn(3, eta, dphi1); } } */ return Pt; }
float CSCTFPtMethods::Pt3Stn2010 | ( | int | type, |
float | eta, | ||
float | dphi1, | ||
float | dphi2, | ||
int | fr = -1 , |
||
int | method = 11 |
||
) | const |
*
Definition at line 2359 of file CSCTFPtMethods.cc.
References A_mu12Front, A_mu12Rare, A_mu13Front, A_mu13Rare, A_mu23, A_mu24, A_mu34, A_mu51, A_mu52, A_rho123FrontCSCTF, A_rho123RareCSCTF, A_rho124FrontCSCTF, A_rho124RareCSCTF, A_rho134FrontCSCTF, A_rho134RareCSCTF, A_rho234CSCTF, A_rho512, A_rho513, A_rho523, A_sig12Front, A_sig12Rare, A_sig13Front, A_sig13Rare, A_sig23, A_sig24, A_sig34, A_sig51, A_sig52, etabins, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), Likelihood(), reco::tau::disc::Pt(), Pt2Stn2010(), relval_parameters_module::step, trigger_scale, and v.
Referenced by CSCTFPtLUT::calcPt().
{ if(fabs(eta) >= 2.4)eta = 2.35; float Pt = 0.; double PTsolv = 1.; // for muon plus hypothesis double PTsolvMinus = 1.;//for muon minus hypothesis for(int iETA = 0; iETA < 15; iETA++){ if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){ // calculate curvers of mean and sigma // calculate phi12 mean double par1[4] = {0., 0., 0., 0.}; //double phi12mean = fitf5(v, par1); //mu12 double par_sig1[3] = {0., 0., 0.}; // calculate phi23 mean double par2[4] = {0., 0., 0., 0.}; // calculate phi23 sig double par_sig2[3] = {0., 0., 0.}; // calculate correlation rho double par_rho[5] = {0., 0., 0., 0., 0.}; int iETA1 = iETA; int iETA2 = iETA; switch (type) // type = mode here { case 2 : //1-2-3 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu12Front[0][iETA1]; par1[1] = A_mu12Front[1][iETA1]; par1[2] = A_mu12Front[2][iETA1]; par1[3] = A_mu12Front[3][iETA1]; par_sig1[0] = A_sig12Front[0][iETA1]; par_sig1[1] = A_sig12Front[1][iETA1]; par_sig1[2] = A_sig12Front[2][iETA1]; par_rho[0] = A_rho123FrontCSCTF[0][iETA1]; par_rho[1] = A_rho123FrontCSCTF[1][iETA1]; par_rho[2] = A_rho123FrontCSCTF[2][iETA1]; par_rho[3] = A_rho123FrontCSCTF[3][iETA1]; par_rho[4] = A_rho123FrontCSCTF[4][iETA1]; } if(fr == 0){ if(iETA1 < 1)iETA1 = 1; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu12Rare[0][iETA1]; par1[1] = A_mu12Rare[1][iETA1]; par1[2] = A_mu12Rare[2][iETA1]; par1[3] = A_mu12Rare[3][iETA1]; par_sig1[0] = A_sig12Rare[0][iETA1]; par_sig1[1] = A_sig12Rare[1][iETA1]; par_sig1[2] = A_sig12Rare[2][iETA1]; par_rho[0] = A_rho123RareCSCTF[0][iETA1]; par_rho[1] = A_rho123RareCSCTF[1][iETA1]; par_rho[2] = A_rho123RareCSCTF[2][iETA1]; par_rho[3] = A_rho123RareCSCTF[3][iETA1]; par_rho[4] = A_rho123RareCSCTF[4][iETA1]; } if(iETA2 < 2)iETA2 = 2; par2[0] = A_mu23[0][iETA2]; par2[1] = A_mu23[1][iETA2]; par2[2] = A_mu23[2][iETA2]; par2[3] = A_mu23[3][iETA2]; par_sig2[0] = A_sig23[0][iETA2]; par_sig2[1] = A_sig23[1][iETA2]; par_sig2[2] = A_sig23[2][iETA2]; break; case 3 : //1-2-4 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; if(iETA1 > 11)iETA1 = 11; par1[0] = A_mu12Front[0][iETA1]; par1[1] = A_mu12Front[1][iETA1]; par1[2] = A_mu12Front[2][iETA1]; par1[3] = A_mu12Front[3][iETA1]; par_sig1[0] = A_sig12Front[0][iETA1]; par_sig1[1] = A_sig12Front[1][iETA1]; par_sig1[2] = A_sig12Front[2][iETA1]; par_rho[0] = A_rho124FrontCSCTF[0][iETA1]; par_rho[1] = A_rho124FrontCSCTF[1][iETA1]; par_rho[2] = A_rho124FrontCSCTF[2][iETA1]; par_rho[3] = A_rho124FrontCSCTF[3][iETA1]; par_rho[4] = A_rho124FrontCSCTF[4][iETA1]; } if(fr == 0){ if(iETA1 < 1)iETA1 = 1; if(iETA1 > 11)iETA1 = 11; par1[0] = A_mu12Rare[0][iETA1]; par1[1] = A_mu12Rare[1][iETA1]; par1[2] = A_mu12Rare[2][iETA1]; par1[3] = A_mu12Rare[3][iETA1]; par_sig1[0] = A_sig12Rare[0][iETA1]; par_sig1[1] = A_sig12Rare[1][iETA1]; par_sig1[2] = A_sig12Rare[2][iETA1]; par_rho[0] = A_rho124RareCSCTF[0][iETA1]; par_rho[1] = A_rho124RareCSCTF[1][iETA1]; par_rho[2] = A_rho124RareCSCTF[2][iETA1]; par_rho[3] = A_rho124RareCSCTF[3][iETA1]; par_rho[4] = A_rho124RareCSCTF[4][iETA1]; } if(iETA2 < 9)iETA2 = 9; par2[0] = A_mu24[0][iETA2]; par2[1] = A_mu24[1][iETA2]; par2[2] = A_mu24[2][iETA2]; par2[3] = A_mu24[3][iETA2]; par_sig2[0] = A_sig24[0][iETA2]; par_sig2[1] = A_sig24[1][iETA2]; par_sig2[2] = A_sig24[2][iETA2]; break; case 4 : //1-3-4 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; if(iETA1 > 11)iETA1 = 11; par1[0] = A_mu13Front[0][iETA1]; par1[1] = A_mu13Front[1][iETA1]; par1[2] = A_mu13Front[2][iETA1]; par1[3] = A_mu13Front[3][iETA1]; par_sig1[0] = A_sig13Front[0][iETA1]; par_sig1[1] = A_sig13Front[1][iETA1]; par_sig1[2] = A_sig13Front[2][iETA1]; par_rho[0] = A_rho134FrontCSCTF[0][iETA1]; par_rho[1] = A_rho134FrontCSCTF[1][iETA1]; par_rho[2] = A_rho134FrontCSCTF[2][iETA1]; par_rho[3] = A_rho134FrontCSCTF[3][iETA1]; par_rho[4] = A_rho134FrontCSCTF[4][iETA1]; } if(fr == 0){ if(iETA1 < 2)iETA1 = 2; if(iETA1 > 11)iETA1 = 11; par1[0] = A_mu13Rare[0][iETA1]; par1[1] = A_mu13Rare[1][iETA1]; par1[2] = A_mu13Rare[2][iETA1]; par1[3] = A_mu13Rare[3][iETA1]; par_sig1[0] = A_sig13Rare[0][iETA1]; par_sig1[1] = A_sig13Rare[1][iETA1]; par_sig1[2] = A_sig13Rare[2][iETA1]; par_rho[0] = A_rho134RareCSCTF[0][iETA1]; par_rho[1] = A_rho134RareCSCTF[1][iETA1]; par_rho[2] = A_rho134RareCSCTF[2][iETA1]; par_rho[3] = A_rho134RareCSCTF[3][iETA1]; par_rho[4] = A_rho134RareCSCTF[4][iETA1]; } if(iETA2 < 9)iETA2 = 9; par2[0] = A_mu34[0][iETA2]; par2[1] = A_mu34[1][iETA2]; par2[2] = A_mu34[2][iETA2]; par2[3] = A_mu34[3][iETA2]; par_sig2[0] = A_sig34[0][iETA2]; par_sig2[1] = A_sig34[1][iETA2]; par_sig2[2] = A_sig34[2][iETA2]; break; case 5 ://2-3-4 if(iETA1 < 9)iETA1 = 9; par1[0] = A_mu23[0][iETA1]; par1[1] = A_mu23[1][iETA1]; par1[2] = A_mu23[2][iETA1]; par1[3] = A_mu23[3][iETA1]; par_sig1[0] = A_sig23[0][iETA1]; par_sig1[1] = A_sig23[1][iETA1]; par_sig1[2] = A_sig23[2][iETA1]; par_rho[0] = A_rho234CSCTF[0][iETA1]; par_rho[1] = A_rho234CSCTF[1][iETA1]; par_rho[2] = A_rho234CSCTF[2][iETA1]; par_rho[3] = A_rho234CSCTF[3][iETA1]; par_rho[4] = A_rho234CSCTF[4][iETA1]; par2[0] = A_mu34[0][iETA1]; par2[1] = A_mu34[1][iETA1]; par2[2] = A_mu34[2][iETA1]; par2[3] = A_mu34[3][iETA1]; par_sig2[0] = A_sig34[0][iETA1]; par_sig2[1] = A_sig34[1][iETA1]; par_sig2[2] = A_sig34[2][iETA1]; break; case 11 : // b1-1-3 if(iETA1 != 2)iETA1 = 2; par1[0] = A_mu51[0][iETA1]; par1[1] = A_mu51[1][iETA1]; par1[2] = A_mu51[2][iETA1]; par1[3] = A_mu51[3][iETA1]; par_sig1[0] = A_sig51[0][iETA1]; par_sig1[1] = A_sig51[1][iETA1]; par_sig1[2] = A_sig51[2][iETA1]; par_rho[0] = A_rho513[0][iETA1]; par_rho[1] = A_rho513[0][iETA1]; par_rho[2] = A_rho513[0][iETA1]; par_rho[3] = A_rho513[0][iETA1]; par_rho[4] = A_rho513[0][iETA1]; par2[0] = A_mu13Rare[0][iETA1]; par2[1] = A_mu13Rare[1][iETA1]; par2[2] = A_mu13Rare[2][iETA1]; par2[3] = A_mu13Rare[3][iETA1]; par_sig2[0] = A_sig13Rare[0][iETA1]; par_sig2[1] = A_sig13Rare[1][iETA1]; par_sig2[2] = A_sig13Rare[2][iETA1]; break; case 12 : // b1-2-3 if(iETA1 != 2)iETA1 = 2; par1[0] = A_mu52[0][iETA1]; par1[1] = A_mu52[1][iETA1]; par1[2] = A_mu52[2][iETA1]; par1[3] = A_mu52[3][iETA1]; par_sig1[0] = A_sig52[0][iETA1]; par_sig1[1] = A_sig52[1][iETA1]; par_sig1[2] = A_sig52[2][iETA1]; par_rho[0] = A_rho523[0][iETA1]; par_rho[1] = A_rho523[0][iETA1]; par_rho[2] = A_rho523[0][iETA1]; par_rho[3] = A_rho523[0][iETA1]; par_rho[4] = A_rho523[0][iETA1]; par2[0] = A_mu23[0][iETA1]; par2[1] = A_mu23[1][iETA1]; par2[2] = A_mu23[2][iETA1]; par2[3] = A_mu23[3][iETA1]; par_sig2[0] = A_sig23[0][iETA1]; par_sig2[1] = A_sig23[1][iETA1]; par_sig2[2] = A_sig23[2][iETA1]; break; case 14 : // b1-1-2-(3) if(iETA1 < 1)iETA1 = 1; if(iETA1 > 2)iETA1 = 2; par1[0] = A_mu51[0][iETA1]; par1[1] = A_mu51[1][iETA1]; par1[2] = A_mu51[2][iETA1]; par1[3] = A_mu51[3][iETA1]; par_sig1[0] = A_sig51[0][iETA1]; par_sig1[1] = A_sig51[1][iETA1]; par_sig1[2] = A_sig51[2][iETA1]; par_rho[0] = A_rho512[0][iETA1]; par_rho[1] = A_rho512[0][iETA1]; par_rho[2] = A_rho512[0][iETA1]; par_rho[3] = A_rho512[0][iETA1]; par_rho[4] = A_rho512[0][iETA1]; par2[0] = A_mu12Rare[0][iETA1]; par2[1] = A_mu12Rare[1][iETA1]; par2[2] = A_mu12Rare[2][iETA1]; par2[3] = A_mu12Rare[3][iETA1]; par_sig2[0] = A_sig12Rare[0][iETA1]; par_sig2[1] = A_sig12Rare[1][iETA1]; par_sig2[2] = A_sig12Rare[2][iETA1]; break; //default: //return 0.0; } // Switch to 2-Station measurement if dphi is too small // box cut around Pt of 10 GeV if ( fabs(static_cast<double>(dphi2))<0.004 ) { if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2 if(type == 4) type = 7; // 1-3-4 -> 1-3 if(type == 5) type = 8; // 2-3-4 -> 2-3 if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10 Pt = Pt2Stn2010(type, eta, dphi1, fr, method); } else { //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ; double pt = 140; double dpt = 0.1; double step = 5.; while(pt > 2. ){ double par_phi12[1] = {dphi1}; double par_phi23[1] = {dphi2}; double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2; v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.; v[0] = pt; lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt + dpt; lpt1_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt v[0] = pt - step; lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - step + dpt; lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum v[0] = pt - 0.5*step; double fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - 0.5*step + dpt; double fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - 0.5*step + 2*dpt; double fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt; if(lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolv = pt - 0.5*step; break;}// lpt = 0 between lpt1 and lpt2 => maximum pt_solv is a solution of the likelihood /* if(pt == 140.){ v[0] = 200.; lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = 200.+ 5.; lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); lpt2 = (lpt2_2-lpt2_1)/5.; v[0] = 170.; fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = 170.+5.; fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = 170.+2*5.; fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); lpt2nd = -(fx2h + fx - 2*fxh)/5./5.; } if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolv = 137.5; break;} */ //double rho = fitfrho(v, par_rho); //rho if(pt > 25) {dpt = 0.1; step = 5.;} if(pt <= 25) {dpt = 0.01; step = 0.5;} pt = pt - step; }// end while //*********** end solve equation for muon plus //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ; // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0 dphi1 = - dphi1; dphi2 = - dphi2; pt = 140; dpt = 0.1; step = 5.; while(pt > 2. ){ double par_phi12[1] = {dphi1}; double par_phi23[1] = {dphi2}; double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2; v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.; v[0] = pt; lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt + dpt; lpt1_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt v[0] = pt - step; lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - step + dpt; lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum v[0] = pt - 0.5*step; double fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - 0.5*step + dpt; double fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - 0.5*step + 2*dpt; double fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt; if(lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolvMinus = pt - 0.5*step; break;}// lpt = 0 between lpt1 and lpt2 => maximum pt_solv is a solution of the likelihood //if(iETA == 3 && v[0] < 4 && v[0] > 3) cout << "m12 = " << fitf5(v, par1) << " sig12 = " << fitf2(v, par_sig1) << endl; /* if(pt == 140.){ v[0] = 200.; lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = 200.+ 5.; lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); lpt2 = (lpt2_2-lpt2_1)/5.; v[0] = 170.; fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = 170.+5.; fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = 170.+2*5.; fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); lpt2nd = -(fx2h + fx - 2*fxh)/5./5.; } if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolvMinus = 137.5; break;} */ //double rho = fitfrho(v, par_rho); //rho if(pt > 25) {dpt = 0.1; step = 5.;} if(pt <= 25) {dpt = 0.01; step = 0.5;} pt = pt - step; }// end while //*********** end solve equation for muon minus PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts if(PTsolv > 137.5) PTsolv = 137.5; //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;} dphi1 = - dphi1; //return to correct sing dphi dphi2 = - dphi2; //return to correct sing dphi Pt = PTsolv; } // end 2 or 3 station method }} // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl; float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV return (Pt > Pt_min) ? Pt : Pt_min; }
float CSCTFPtMethods::Pt3Stn2011 | ( | int | type, |
float | eta, | ||
float | dphi1, | ||
float | dphi2, | ||
int | fr = -1 , |
||
int | method = 11 |
||
) | const |
Definition at line 2750 of file CSCTFPtMethods.cc.
References AB_mu12F, AB_mu12R, AB_mu13F, AB_mu13R, AB_mu23, AB_mu24, AB_mu34, AB_mu5, AB_mu51, AB_mu52, AB_mu53, AB_rho123F, AB_rho123R, AB_rho124F, AB_rho124R, AB_rho134F, AB_rho134R, AB_rho234, AB_rho512, AB_rho513, AB_rho51B, AB_rho523, AB_rho52B, AB_rho53B, AB_sig12F, AB_sig12R, AB_sig13F, AB_sig13R, AB_sig23, AB_sig24, AB_sig34, AB_sig5, AB_sig51, AB_sig52, AB_sig53, etabins, Likelihood2011(), reco::tau::disc::Pt(), Pt2Stn2011(), relval_parameters_module::step, and v.
Referenced by CSCTFPtLUT::calcPt().
{ //if(fabs(eta) >= 2.4)eta = 2.35; if(fabs(eta) >= 2.2) eta = 2.15; float Pt = 0.; double PTsolv = 1.; // for muon plus hypothesis double PTsolvMinus = 1.;//for muon minus hypothesis for(int iETA = 0; iETA < 15; iETA++){ if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){ // calculate curvers of mean and sigma // calculate phi12 mean double par1[4] = {0., 0., 0., 0.}; //double phi12mean = fitf5(v, par1); //mu12 double par_sig1[4] = {0., 0., 0., 0}; // calculate phi23 mean double par2[4] = {0., 0., 0., 0.}; // calculate phi23 sig double par_sig2[4] = {0., 0., 0., 0.}; // calculate correlation rho double par_rho[5] = {0., 0., 0., 0., 0.}; int iETA1 = iETA; int iETA2 = iETA; // defind which parameters will be use double (*Amean12F)[15] = AB_mu12F; double (*Asig12F)[15] = AB_sig12F; double (*Amean12R)[15] = AB_mu12R; double (*Asig12R)[15] = AB_sig12R; double (*Amean13F)[15] = AB_mu13F; double (*Asig13F)[15] = AB_sig13F; double (*Amean13R)[15] = AB_mu13R; double (*Asig13R)[15] = AB_sig13R; //double (*Amean14F)[15] = AB_mu14F; //double (*Asig14F)[15] = AB_sig14F; //double (*Amean14R)[15] = AB_mu14R; //double (*Asig14R)[15] = AB_sig14R; double (*Amean23)[15] = AB_mu23; double (*Asig23)[15] = AB_sig23; double (*Amean24)[15] = AB_mu24; double (*Asig24)[15] = AB_sig24; double (*Amean34)[15] = AB_mu34; double (*Asig34)[15] = AB_sig34; double (*Amean5)[15] = AB_mu5; double (*Asig5)[15] = AB_sig5; double (*Amean51)[15] = AB_mu51; double (*Asig51)[15] = AB_sig51; double (*Amean52)[15] = AB_mu52; double (*Asig52)[15] = AB_sig52; double (*Amean53)[15] = AB_mu53; double (*Asig53)[15] = AB_sig53; double (*Arho123F)[15] = AB_rho123F; double (*Arho123R)[15] = AB_rho123R; double (*Arho124F)[15] = AB_rho124F; double (*Arho124R)[15] = AB_rho124R; double (*Arho134F)[15] = AB_rho134F; double (*Arho134R)[15] = AB_rho134R; double (*Arho234)[15] = AB_rho234; double (*Arho51B)[15] = AB_rho51B; double (*Arho52B)[15] = AB_rho52B; double (*Arho53B)[15] = AB_rho53B; double (*Arho512)[15] = AB_rho512; double (*Arho513)[15] = AB_rho513; double (*Arho523)[15] = AB_rho523; //cout << "iETA = " << iETA // << " AB_mu51[0][iETA] = " << AB_mu51[0][iETA] << " pointer = " << (*(Amean51+0))[iETA] // << " AB_mu51[3][iETA] = " << AB_mu51[3][iETA] << " pointer = " << (*(Amean51+3))[iETA] // << endl; switch (type) // type = mode here { case 2 : //1-2-3 if(iETA < 2)iETA2 = 2; if(fr == 1){ if(iETA < 3)iETA1 = 3; par1[0] = (*(Amean12F+0))[iETA1]; par1[1] = (*(Amean12F+1))[iETA1]; par1[2] = (*(Amean12F+2))[iETA1]; par1[3] = (*(Amean12F+3))[iETA1]; par_sig1[0] = (*(Asig12F+0))[iETA1]; par_sig1[1] = (*(Asig12F+1))[iETA1]; par_sig1[2] = (*(Asig12F+2))[iETA1]; par_sig1[3] = (*(Asig12F+3))[iETA1]; par_rho[0] = (*(Arho123F+0))[iETA2]; par_rho[1] = (*(Arho123F+1))[iETA2]; par_rho[2] = (*(Arho123F+2))[iETA2]; par_rho[3] = (*(Arho123F+3))[iETA2]; par_rho[4] = (*(Arho123F+4))[iETA2]; } if(fr == 0){ if(iETA < 1)iETA1 = 1; par1[0] = (*(Amean12R+0))[iETA1]; par1[1] = (*(Amean12R+1))[iETA1]; par1[2] = (*(Amean12R+2))[iETA1]; par1[3] = (*(Amean12R+3))[iETA1]; par_sig1[0] = (*(Asig12R+0))[iETA1]; par_sig1[1] = (*(Asig12R+1))[iETA1]; par_sig1[2] = (*(Asig12R+2))[iETA1]; par_sig1[3] = (*(Asig12R+3))[iETA1]; par_rho[0] = (*(Arho123R+0))[iETA2]; par_rho[1] = (*(Arho123R+1))[iETA2]; par_rho[2] = (*(Arho123R+2))[iETA2]; par_rho[3] = (*(Arho123R+3))[iETA2]; par_rho[4] = (*(Arho123R+4))[iETA2]; } par2[0] = (*(Amean23+0))[iETA2]; par2[1] = (*(Amean23+1))[iETA2]; par2[2] = (*(Amean23+2))[iETA2]; par2[3] = (*(Amean23+3))[iETA2]; par_sig2[0] = (*(Asig23+0))[iETA2]; par_sig2[1] = (*(Asig23+1))[iETA2]; par_sig2[2] = (*(Asig23+2))[iETA2]; par_sig2[3] = (*(Asig23+3))[iETA2]; break; case 3 : //1-2-4 if(iETA < 3)iETA2 = 3; if(fr == 1){ if(iETA < 3)iETA1 = 3; par1[0] = (*(Amean12F+0))[iETA1]; par1[1] = (*(Amean12F+1))[iETA1]; par1[2] = (*(Amean12F+2))[iETA1]; par1[3] = (*(Amean12F+3))[iETA1]; par_sig1[0] = (*(Asig12F+0))[iETA1]; par_sig1[1] = (*(Asig12F+1))[iETA1]; par_sig1[2] = (*(Asig12F+2))[iETA1]; par_sig1[3] = (*(Asig12F+3))[iETA1]; par_rho[0] = (*(Arho124F+0))[iETA2]; par_rho[1] = (*(Arho124F+1))[iETA2]; par_rho[2] = (*(Arho124F+2))[iETA2]; par_rho[3] = (*(Arho124F+3))[iETA2]; par_rho[4] = (*(Arho124F+4))[iETA2]; } if(fr == 0){ if(iETA < 1)iETA1 = 1; par1[0] = (*(Amean12R+0))[iETA1]; par1[1] = (*(Amean12R+1))[iETA1]; par1[2] = (*(Amean12R+2))[iETA1]; par1[3] = (*(Amean12R+3))[iETA1]; par_sig1[0] = (*(Asig12R+0))[iETA1]; par_sig1[1] = (*(Asig12R+1))[iETA1]; par_sig1[2] = (*(Asig12R+2))[iETA1]; par_sig1[3] = (*(Asig12R+3))[iETA1]; par_rho[0] = (*(Arho124R+0))[iETA2]; par_rho[1] = (*(Arho124R+1))[iETA2]; par_rho[2] = (*(Arho124R+2))[iETA2]; par_rho[3] = (*(Arho124R+3))[iETA2]; par_rho[4] = (*(Arho124R+4))[iETA2]; } par2[0] = (*(Amean24+0))[iETA2]; par2[1] = (*(Amean24+1))[iETA2]; par2[2] = (*(Amean24+2))[iETA2]; par2[3] = (*(Amean24+3))[iETA2]; par_sig2[0] = (*(Asig24+0))[iETA2]; par_sig2[1] = (*(Asig24+1))[iETA2]; par_sig2[2] = (*(Asig24+2))[iETA2]; par_sig2[3] = (*(Asig24+3))[iETA2]; break; case 4 : //1-3-4 if(iETA < 3)iETA2 = 3; if(fr == 1){ if(iETA < 3)iETA1 = 3; par1[0] = (*(Amean13F+0))[iETA1]; par1[1] = (*(Amean13F+1))[iETA1]; par1[2] = (*(Amean13F+2))[iETA1]; par1[3] = (*(Amean13F+3))[iETA1]; par_sig1[0] = (*(Asig13F+0))[iETA1]; par_sig1[1] = (*(Asig13F+1))[iETA1]; par_sig1[2] = (*(Asig13F+2))[iETA1]; par_sig1[3] = (*(Asig13F+3))[iETA1]; par_rho[0] = (*(Arho134F+0))[iETA2]; par_rho[1] = (*(Arho134F+1))[iETA2]; par_rho[2] = (*(Arho134F+2))[iETA2]; par_rho[3] = (*(Arho134F+3))[iETA2]; par_rho[4] = (*(Arho134F+4))[iETA2]; } if(fr == 0){ if(iETA < 3)iETA1 = 3; par1[0] = (*(Amean13R+0))[iETA1]; par1[1] = (*(Amean13R+1))[iETA1]; par1[2] = (*(Amean13R+2))[iETA1]; par1[3] = (*(Amean13R+3))[iETA1]; par_sig1[0] = (*(Asig13R+0))[iETA1]; par_sig1[1] = (*(Asig13R+1))[iETA1]; par_sig1[2] = (*(Asig13R+2))[iETA1]; par_sig1[3] = (*(Asig13R+3))[iETA1]; par_rho[0] = (*(Arho134R+0))[iETA2]; par_rho[1] = (*(Arho134R+1))[iETA2]; par_rho[2] = (*(Arho134R+2))[iETA2]; par_rho[3] = (*(Arho134R+3))[iETA2]; par_rho[4] = (*(Arho134R+4))[iETA2]; } par2[0] = (*(Amean34+0))[iETA2]; par2[1] = (*(Amean34+1))[iETA2]; par2[2] = (*(Amean34+2))[iETA2]; par2[3] = (*(Amean34+3))[iETA2]; par_sig2[0] = (*(Asig34+0))[iETA2]; par_sig2[1] = (*(Asig34+1))[iETA2]; par_sig2[2] = (*(Asig34+2))[iETA2]; par_sig2[3] = (*(Asig34+3))[iETA2]; break; case 5 ://2-3-4 if(iETA < 2)iETA1 = 2; if(iETA < 3)iETA2 = 3; par1[0] = (*(Amean23+0))[iETA1]; par1[1] = (*(Amean23+1))[iETA1]; par1[2] = (*(Amean23+2))[iETA1]; par1[3] = (*(Amean23+3))[iETA1]; par_sig1[0] = (*(Asig23+0))[iETA1]; par_sig1[1] = (*(Asig23+1))[iETA1]; par_sig1[2] = (*(Asig23+2))[iETA1]; par_sig1[3] = (*(Asig23+3))[iETA1]; par_rho[0] = (*(Arho234+0))[iETA2]; par_rho[1] = (*(Arho234+1))[iETA2]; par_rho[2] = (*(Arho234+2))[iETA2]; par_rho[3] = (*(Arho234+3))[iETA2]; par_rho[4] = (*(Arho234+4))[iETA2]; par2[0] = (*(Amean34+0))[iETA2]; par2[1] = (*(Amean34+1))[iETA2]; par2[2] = (*(Amean34+2))[iETA2]; par2[3] = (*(Amean34+3))[iETA2]; par_sig2[0] = (*(Asig34+0))[iETA2]; par_sig2[1] = (*(Asig34+1))[iETA2]; par_sig2[2] = (*(Asig34+2))[iETA2]; par_sig2[3] = (*(Asig34+3))[iETA2]; break; case 11 : // singles for method < 10, for method > 10: fr = 1 -> b1-1-3, fr = 0 -> b1-3-phiBend if(iETA != 2)iETA1 = 2; par1[0] = (*(Amean53+0))[iETA1]; par1[1] = (*(Amean53+1))[iETA1]; par1[2] = (*(Amean53+2))[iETA1]; par1[3] = (*(Amean53+3))[iETA1]; par_sig1[0] = (*(Asig53+0))[iETA1]; par_sig1[1] = (*(Asig53+1))[iETA1]; par_sig1[2] = (*(Asig53+2))[iETA1]; par_sig1[3] = (*(Asig53+3))[iETA1]; par_rho[0] = (*(Arho53B+0))[iETA1]; par_rho[1] = (*(Arho53B+1))[iETA1]; par_rho[2] = (*(Arho53B+2))[iETA1]; par_rho[3] = (*(Arho53B+3))[iETA1]; par_rho[4] = (*(Arho53B+4))[iETA1]; par2[0] = (*(Amean5+0))[iETA1]; par2[1] = (*(Amean5+1))[iETA1]; par2[2] = (*(Amean5+2))[iETA1]; par2[3] = (*(Amean5+3))[iETA1]; par_sig2[0] = (*(Asig5+0))[iETA1]; par_sig2[1] = (*(Asig5+1))[iETA1]; par_sig2[2] = (*(Asig5+2))[iETA1]; par_sig2[3] = (*(Asig5+3))[iETA1]; if(fr == 1){ par1[0] = (*(Amean51+0))[iETA1]; par1[1] = (*(Amean51+1))[iETA1]; par1[2] = (*(Amean51+2))[iETA1]; par1[3] = (*(Amean51+3))[iETA1]; par_sig1[0] = (*(Asig51+0))[iETA1]; par_sig1[1] = (*(Asig51+1))[iETA1]; par_sig1[2] = (*(Asig51+2))[iETA1]; par_sig1[3] = (*(Asig51+3))[iETA1]; par_rho[0] = (*(Arho513+0))[iETA1]; par_rho[1] = (*(Arho513+1))[iETA1]; par_rho[2] = (*(Arho513+2))[iETA1]; par_rho[3] = (*(Arho513+3))[iETA1]; par_rho[4] = (*(Arho513+4))[iETA1]; par2[0] = (*(Amean13R+0))[iETA1]; par2[1] = (*(Amean13R+1))[iETA1]; par2[2] = (*(Amean13R+2))[iETA1]; par2[3] = (*(Amean13R+3))[iETA1]; par_sig2[0] = (*(Asig13R+0))[iETA1]; par_sig2[1] = (*(Asig13R+1))[iETA1]; par_sig2[2] = (*(Asig13R+2))[iETA1]; par_sig2[3] = (*(Asig13R+3))[iETA1]; } break; case 12 : // b1-1-2 for method < 10; for method > 10: fr = 1 -> b1-2-3, fr = 0 -> b1-2-phiBend if(iETA < 1)iETA1 = 1; if(iETA > 2)iETA1 = 2; par1[0] = (*(Amean52+0))[iETA1]; par1[1] = (*(Amean52+1))[iETA1]; par1[2] = (*(Amean52+2))[iETA1]; par1[3] = (*(Amean52+3))[iETA1]; par_sig1[0] = (*(Asig52+0))[iETA1]; par_sig1[1] = (*(Asig52+1))[iETA1]; par_sig1[2] = (*(Asig52+2))[iETA1]; par_sig1[3] = (*(Asig52+3))[iETA1]; par_rho[0] = (*(Arho52B+0))[iETA1]; par_rho[1] = (*(Arho52B+1))[iETA1]; par_rho[2] = (*(Arho52B+2))[iETA1]; par_rho[3] = (*(Arho52B+3))[iETA1]; par_rho[4] = (*(Arho52B+4))[iETA1]; par2[0] = (*(Amean5+0))[iETA1]; par2[1] = (*(Amean5+1))[iETA1]; par2[2] = (*(Amean5+2))[iETA1]; par2[3] = (*(Amean5+3))[iETA1]; par_sig2[0] = (*(Asig5+0))[iETA1]; par_sig2[1] = (*(Asig5+1))[iETA1]; par_sig2[2] = (*(Asig5+2))[iETA1]; par_sig2[3] = (*(Asig5+3))[iETA1]; if(fr == 1){ if(iETA != 2)iETA1 = 2; par1[0] = (*(Amean52+0))[iETA1]; par1[1] = (*(Amean52+1))[iETA1]; par1[2] = (*(Amean52+2))[iETA1]; par1[3] = (*(Amean52+3))[iETA1]; par_sig1[0] = (*(Asig52+0))[iETA1]; par_sig1[1] = (*(Asig52+1))[iETA1]; par_sig1[2] = (*(Asig52+2))[iETA1]; par_sig1[3] = (*(Asig52+3))[iETA1]; par_rho[0] = (*(Arho523+0))[iETA1]; par_rho[1] = (*(Arho523+1))[iETA1]; par_rho[2] = (*(Arho523+2))[iETA1]; par_rho[3] = (*(Arho523+3))[iETA1]; par_rho[4] = (*(Arho523+4))[iETA1]; par2[0] = (*(Amean23+0))[iETA1]; par2[1] = (*(Amean23+1))[iETA1]; par2[2] = (*(Amean23+2))[iETA1]; par2[3] = (*(Amean23+3))[iETA1]; par_sig2[0] = (*(Asig23+0))[iETA1]; par_sig2[1] = (*(Asig23+1))[iETA1]; par_sig2[2] = (*(Asig23+2))[iETA1]; par_sig2[3] = (*(Asig23+3))[iETA1]; } break; case 14 : // b1-2 for method < 10; for method > 10: fr = 1 -> b1-1-2-(3), fr = 0 -> b1-1-phiBend if(iETA > 2)iETA1 = 2; par1[0] = (*(Amean51+0))[iETA1]; par1[1] = (*(Amean51+1))[iETA1]; par1[2] = (*(Amean51+2))[iETA1]; par1[3] = (*(Amean51+3))[iETA1]; par_sig1[0] = (*(Asig51+0))[iETA1]; par_sig1[1] = (*(Asig51+1))[iETA1]; par_sig1[2] = (*(Asig51+2))[iETA1]; par_sig1[3] = (*(Asig51+3))[iETA1]; par_rho[0] = (*(Arho51B+0))[iETA1]; par_rho[1] = (*(Arho51B+1))[iETA1]; par_rho[2] = (*(Arho51B+2))[iETA1]; par_rho[3] = (*(Arho51B+3))[iETA1]; par_rho[4] = (*(Arho51B+4))[iETA1]; par2[0] = (*(Amean5+0))[iETA1]; par2[1] = (*(Amean5+1))[iETA1]; par2[2] = (*(Amean5+2))[iETA1]; par2[3] = (*(Amean5+3))[iETA1]; par_sig2[0] = (*(Asig5+0))[iETA1]; par_sig2[1] = (*(Asig5+1))[iETA1]; par_sig2[2] = (*(Asig5+2))[iETA1]; par_sig2[3] = (*(Asig5+3))[iETA1]; if(fr == 1){ if(iETA < 1)iETA1 = 1; if(iETA > 2)iETA1 = 2; par1[0] = (*(Amean51+0))[iETA1]; par1[1] = (*(Amean51+1))[iETA1]; par1[2] = (*(Amean51+2))[iETA1]; par1[3] = (*(Amean51+3))[iETA1]; par_sig1[0] = (*(Asig51+0))[iETA1]; par_sig1[1] = (*(Asig51+1))[iETA1]; par_sig1[2] = (*(Asig51+2))[iETA1]; par_sig1[3] = (*(Asig51+3))[iETA1]; par_rho[0] = (*(Arho512+0))[iETA1]; par_rho[1] = (*(Arho512+1))[iETA1]; par_rho[2] = (*(Arho512+2))[iETA1]; par_rho[3] = (*(Arho512+3))[iETA1]; par_rho[4] = (*(Arho512+4))[iETA1]; par2[0] = (*(Amean12R+0))[iETA1]; par2[1] = (*(Amean12R+1))[iETA1]; par2[2] = (*(Amean12R+2))[iETA1]; par2[3] = (*(Amean12R+3))[iETA1]; par_sig2[0] = (*(Asig12R+0))[iETA1]; par_sig2[1] = (*(Asig12R+1))[iETA1]; par_sig2[2] = (*(Asig12R+2))[iETA1]; par_sig2[3] = (*(Asig12R+3))[iETA1]; } break; //default: //return 0.0; } // Switch to 2-Station measurement if dphi is too small // box cut around Pt of 10 GeV if ( (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && method < 25)|| (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && type != 14 && type != 11 && method >= 25) ) { //if(type == 12 || type == 14 || type == 11) std::cout << "mode = " << type << " dphi23 = " << dphi2 << " method = " << method << std::endl; //test if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2 if(type == 4) type = 7; // 1-3-4 -> 1-3 if(type == 5) type = 8; // 2-3-4 -> 2-3 if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10 //if(type == 14) type = 11; //phiSign Pt = Pt2Stn2011(type, eta, dphi1, fr, method,int(2));//in 3 station track there is no information to which ME1/1 or ME1/2 track belong } else { //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ; double pt = 140; double dpt = 0.1; double step = 5.; while(pt > 2. ){ double par_phi12[1] = {dphi1}; double par_phi23[1] = {dphi2}; double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2; v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.; v[0] = pt; lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt + dpt; lpt1_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt v[0] = pt - step; lpt2_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - step + dpt; lpt2_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum v[0] = pt - 0.5*step; double fx = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - 0.5*step + dpt; double fxh = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - 0.5*step + 2*dpt; double fx2h = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt; if(lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolv = pt - 0.5*step; break;}// lpt = 0 between lpt1 and lpt2 => maximum pt_solv is a solution of the likelihood //double rho = fitfrho(v, par_rho); //rho if(pt > 25) {dpt = 0.1; step = 5.;} if(pt <= 25) {dpt = 0.01; step = 0.5;} pt = pt - step; }// end while //*********** end solve equation for muon plus //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ; // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0 dphi1 = - dphi1; dphi2 = - dphi2; pt = 140; dpt = 0.1; step = 5.; while(pt > 2. ){ double par_phi12[1] = {dphi1}; double par_phi23[1] = {dphi2}; double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2; v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.; v[0] = pt; lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt + dpt; lpt1_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt v[0] = pt - step; lpt2_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - step + dpt; lpt2_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum v[0] = pt - 0.5*step; double fx = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - 0.5*step + dpt; double fxh = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); v[0] = pt - 0.5*step + 2*dpt; double fx2h = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt; if(lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolvMinus = pt - 0.5*step; break;}// lpt = 0 between lpt1 and lpt2 => maximum pt_solv is a solution of the likelihood //double rho = fitfrho(v, par_rho); //rho if(pt > 25) {dpt = 0.1; step = 5.;} if(pt <= 25) {dpt = 0.01; step = 0.5;} pt = pt - step; }// end while //*********** end solve equation for muon minus PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts if(PTsolv > 137.5) PTsolv = 137.5; //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;} dphi1 = - dphi1; //return to correct sing dphi dphi2 = - dphi2; //return to correct sing dphi Pt = PTsolv; } // end 2 or 3 station method }} // fix overlap region high pt: if(method >= 25 && (type == 12 || type == 14 || type == 11) && fabs(dphi1)<0.003 && fabs(dphi2) <2) Pt = 140.; // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl; //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV float Pt_min = 2;// 2 GeV return (Pt > Pt_min) ? Pt : Pt_min; }
float CSCTFPtMethods::Pt3Stn2012 | ( | int | type, |
float | eta, | ||
float | dphi1, | ||
float | dphi2, | ||
int | PtbyMLH, | ||
float & | theLH, | ||
int | fr = -1 , |
||
int | method = 11 |
||
) | const |
Definition at line 3545 of file CSCTFPtMethods.cc.
References A_mu12Front, A_mu12Rare, A_mu13Front, A_mu13Rare, A_mu23, A_mu24, A_mu34, A_mu51, A_mu52, A_rho123FrontCSCTF, A_rho123RareCSCTF, A_rho124FrontCSCTF, A_rho124RareCSCTF, A_rho134FrontCSCTF, A_rho134RareCSCTF, A_rho234CSCTF, A_rho512, A_rho513, A_rho523, A_sig12Front, A_sig12Rare, A_sig13Front, A_sig13Rare, A_sig23, A_sig24, A_sig34, A_sig51, A_sig52, etabins, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), Likelihood(), reco::tau::disc::Pt(), Pt2Stn2012(), relval_parameters_module::step, trigger_scale, and v.
Referenced by CSCTFPtLUT::calcPt().
{ int useBestMLH = PtbyMLH; int use2Stn = false; int use2StnDT = true; if(type == 5) use2Stn = true;//switch 2 station assighment for mode = 5 if(fabs(eta) >= 2.4)eta = 2.35; float Pt = 0.; double PTsolv = 1.; // for muon plus hypothesis double PTsolvMinus = 1.;//for muon minus hypothesis for(int iETA = 0; iETA < 15; iETA++){ if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){ // calculate curvers of mean and sigma // calculate phi12 mean double par1[4] = {0., 0., 0., 0.}; //double phi12mean = fitf5(v, par1); //mu12 double par_sig1[3] = {0., 0., 0.}; // calculate phi23 mean double par2[4] = {0., 0., 0., 0.}; // calculate phi23 sig double par_sig2[3] = {0., 0., 0.}; // calculate correlation rho double par_rho[5] = {0., 0., 0., 0., 0.}; int iETA1 = iETA; int iETA2 = iETA; switch (type) // type = mode here { case 2 : //1-2-3 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu12Front[0][iETA1]; par1[1] = A_mu12Front[1][iETA1]; par1[2] = A_mu12Front[2][iETA1]; par1[3] = A_mu12Front[3][iETA1]; par_sig1[0] = A_sig12Front[0][iETA1]; par_sig1[1] = A_sig12Front[1][iETA1]; par_sig1[2] = A_sig12Front[2][iETA1]; par_rho[0] = A_rho123FrontCSCTF[0][iETA1]; par_rho[1] = A_rho123FrontCSCTF[1][iETA1]; par_rho[2] = A_rho123FrontCSCTF[2][iETA1]; par_rho[3] = A_rho123FrontCSCTF[3][iETA1]; par_rho[4] = A_rho123FrontCSCTF[4][iETA1]; } if(fr == 0){ if(iETA1 < 1)iETA1 = 1; if(iETA1 > 11)iETA1 = 11; //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1; par1[0] = A_mu12Rare[0][iETA1]; par1[1] = A_mu12Rare[1][iETA1]; par1[2] = A_mu12Rare[2][iETA1]; par1[3] = A_mu12Rare[3][iETA1]; par_sig1[0] = A_sig12Rare[0][iETA1]; par_sig1[1] = A_sig12Rare[1][iETA1]; par_sig1[2] = A_sig12Rare[2][iETA1]; par_rho[0] = A_rho123RareCSCTF[0][iETA1]; par_rho[1] = A_rho123RareCSCTF[1][iETA1]; par_rho[2] = A_rho123RareCSCTF[2][iETA1]; par_rho[3] = A_rho123RareCSCTF[3][iETA1]; par_rho[4] = A_rho123RareCSCTF[4][iETA1]; } if(iETA2 < 2)iETA2 = 2; par2[0] = A_mu23[0][iETA2]; par2[1] = A_mu23[1][iETA2]; par2[2] = A_mu23[2][iETA2]; par2[3] = A_mu23[3][iETA2]; par_sig2[0] = A_sig23[0][iETA2]; par_sig2[1] = A_sig23[1][iETA2]; par_sig2[2] = A_sig23[2][iETA2]; break; case 3 : //1-2-4 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; if(iETA1 > 11)iETA1 = 11; par1[0] = A_mu12Front[0][iETA1]; par1[1] = A_mu12Front[1][iETA1]; par1[2] = A_mu12Front[2][iETA1]; par1[3] = A_mu12Front[3][iETA1]; par_sig1[0] = A_sig12Front[0][iETA1]; par_sig1[1] = A_sig12Front[1][iETA1]; par_sig1[2] = A_sig12Front[2][iETA1]; par_rho[0] = A_rho124FrontCSCTF[0][iETA1]; par_rho[1] = A_rho124FrontCSCTF[1][iETA1]; par_rho[2] = A_rho124FrontCSCTF[2][iETA1]; par_rho[3] = A_rho124FrontCSCTF[3][iETA1]; par_rho[4] = A_rho124FrontCSCTF[4][iETA1]; } if(fr == 0){ if(iETA1 < 1)iETA1 = 1; if(iETA1 > 11)iETA1 = 11; par1[0] = A_mu12Rare[0][iETA1]; par1[1] = A_mu12Rare[1][iETA1]; par1[2] = A_mu12Rare[2][iETA1]; par1[3] = A_mu12Rare[3][iETA1]; par_sig1[0] = A_sig12Rare[0][iETA1]; par_sig1[1] = A_sig12Rare[1][iETA1]; par_sig1[2] = A_sig12Rare[2][iETA1]; par_rho[0] = A_rho124RareCSCTF[0][iETA1]; par_rho[1] = A_rho124RareCSCTF[1][iETA1]; par_rho[2] = A_rho124RareCSCTF[2][iETA1]; par_rho[3] = A_rho124RareCSCTF[3][iETA1]; par_rho[4] = A_rho124RareCSCTF[4][iETA1]; } if(iETA2 < 9)iETA2 = 9; par2[0] = A_mu24[0][iETA2]; par2[1] = A_mu24[1][iETA2]; par2[2] = A_mu24[2][iETA2]; par2[3] = A_mu24[3][iETA2]; par_sig2[0] = A_sig24[0][iETA2]; par_sig2[1] = A_sig24[1][iETA2]; par_sig2[2] = A_sig24[2][iETA2]; break; case 4 : //1-3-4 if(fr == 1){ if(iETA1 < 3)iETA1 = 3; if(iETA1 > 11)iETA1 = 11; par1[0] = A_mu13Front[0][iETA1]; par1[1] = A_mu13Front[1][iETA1]; par1[2] = A_mu13Front[2][iETA1]; par1[3] = A_mu13Front[3][iETA1]; par_sig1[0] = A_sig13Front[0][iETA1]; par_sig1[1] = A_sig13Front[1][iETA1]; par_sig1[2] = A_sig13Front[2][iETA1]; par_rho[0] = A_rho134FrontCSCTF[0][iETA1]; par_rho[1] = A_rho134FrontCSCTF[1][iETA1]; par_rho[2] = A_rho134FrontCSCTF[2][iETA1]; par_rho[3] = A_rho134FrontCSCTF[3][iETA1]; par_rho[4] = A_rho134FrontCSCTF[4][iETA1]; } if(fr == 0){ if(iETA1 < 2)iETA1 = 2; if(iETA1 > 11)iETA1 = 11; par1[0] = A_mu13Rare[0][iETA1]; par1[1] = A_mu13Rare[1][iETA1]; par1[2] = A_mu13Rare[2][iETA1]; par1[3] = A_mu13Rare[3][iETA1]; par_sig1[0] = A_sig13Rare[0][iETA1]; par_sig1[1] = A_sig13Rare[1][iETA1]; par_sig1[2] = A_sig13Rare[2][iETA1]; par_rho[0] = A_rho134RareCSCTF[0][iETA1]; par_rho[1] = A_rho134RareCSCTF[1][iETA1]; par_rho[2] = A_rho134RareCSCTF[2][iETA1]; par_rho[3] = A_rho134RareCSCTF[3][iETA1]; par_rho[4] = A_rho134RareCSCTF[4][iETA1]; } if(iETA2 < 9)iETA2 = 9; par2[0] = A_mu34[0][iETA2]; par2[1] = A_mu34[1][iETA2]; par2[2] = A_mu34[2][iETA2]; par2[3] = A_mu34[3][iETA2]; par_sig2[0] = A_sig34[0][iETA2]; par_sig2[1] = A_sig34[1][iETA2]; par_sig2[2] = A_sig34[2][iETA2]; break; case 5 ://2-3-4 if(iETA1 < 9)iETA1 = 9; par1[0] = A_mu23[0][iETA1]; par1[1] = A_mu23[1][iETA1]; par1[2] = A_mu23[2][iETA1]; par1[3] = A_mu23[3][iETA1]; par_sig1[0] = A_sig23[0][iETA1]; par_sig1[1] = A_sig23[1][iETA1]; par_sig1[2] = A_sig23[2][iETA1]; par_rho[0] = A_rho234CSCTF[0][iETA1]; par_rho[1] = A_rho234CSCTF[1][iETA1]; par_rho[2] = A_rho234CSCTF[2][iETA1]; par_rho[3] = A_rho234CSCTF[3][iETA1]; par_rho[4] = A_rho234CSCTF[4][iETA1]; par2[0] = A_mu34[0][iETA1]; par2[1] = A_mu34[1][iETA1]; par2[2] = A_mu34[2][iETA1]; par2[3] = A_mu34[3][iETA1]; par_sig2[0] = A_sig34[0][iETA1]; par_sig2[1] = A_sig34[1][iETA1]; par_sig2[2] = A_sig34[2][iETA1]; break; case 11 : // b1-1-3 if(iETA1 != 2)iETA1 = 2; par1[0] = A_mu51[0][iETA1]; par1[1] = A_mu51[1][iETA1]; par1[2] = A_mu51[2][iETA1]; par1[3] = A_mu51[3][iETA1]; par_sig1[0] = A_sig51[0][iETA1]; par_sig1[1] = A_sig51[1][iETA1]; par_sig1[2] = A_sig51[2][iETA1]; par_rho[0] = A_rho513[0][iETA1]; par_rho[1] = A_rho513[0][iETA1]; par_rho[2] = A_rho513[0][iETA1]; par_rho[3] = A_rho513[0][iETA1]; par_rho[4] = A_rho513[0][iETA1]; par2[0] = A_mu13Rare[0][iETA1]; par2[1] = A_mu13Rare[1][iETA1]; par2[2] = A_mu13Rare[2][iETA1]; par2[3] = A_mu13Rare[3][iETA1]; par_sig2[0] = A_sig13Rare[0][iETA1]; par_sig2[1] = A_sig13Rare[1][iETA1]; par_sig2[2] = A_sig13Rare[2][iETA1]; break; case 12 : // b1-2-3 if(iETA1 != 2)iETA1 = 2; par1[0] = A_mu52[0][iETA1]; par1[1] = A_mu52[1][iETA1]; par1[2] = A_mu52[2][iETA1]; par1[3] = A_mu52[3][iETA1]; par_sig1[0] = A_sig52[0][iETA1]; par_sig1[1] = A_sig52[1][iETA1]; par_sig1[2] = A_sig52[2][iETA1]; par_rho[0] = A_rho523[0][iETA1]; par_rho[1] = A_rho523[0][iETA1]; par_rho[2] = A_rho523[0][iETA1]; par_rho[3] = A_rho523[0][iETA1]; par_rho[4] = A_rho523[0][iETA1]; par2[0] = A_mu23[0][iETA1]; par2[1] = A_mu23[1][iETA1]; par2[2] = A_mu23[2][iETA1]; par2[3] = A_mu23[3][iETA1]; par_sig2[0] = A_sig23[0][iETA1]; par_sig2[1] = A_sig23[1][iETA1]; par_sig2[2] = A_sig23[2][iETA1]; break; case 14 : // b1-1-2-(3) if(iETA1 < 1)iETA1 = 1; if(iETA1 > 2)iETA1 = 2; par1[0] = A_mu51[0][iETA1]; par1[1] = A_mu51[1][iETA1]; par1[2] = A_mu51[2][iETA1]; par1[3] = A_mu51[3][iETA1]; par_sig1[0] = A_sig51[0][iETA1]; par_sig1[1] = A_sig51[1][iETA1]; par_sig1[2] = A_sig51[2][iETA1]; par_rho[0] = A_rho512[0][iETA1]; par_rho[1] = A_rho512[0][iETA1]; par_rho[2] = A_rho512[0][iETA1]; par_rho[3] = A_rho512[0][iETA1]; par_rho[4] = A_rho512[0][iETA1]; par2[0] = A_mu12Rare[0][iETA1]; par2[1] = A_mu12Rare[1][iETA1]; par2[2] = A_mu12Rare[2][iETA1]; par2[3] = A_mu12Rare[3][iETA1]; par_sig2[0] = A_sig12Rare[0][iETA1]; par_sig2[1] = A_sig12Rare[1][iETA1]; par_sig2[2] = A_sig12Rare[2][iETA1]; break; //default: //return 0.0; } // Switch to 2-Station measurement if dphi is too small // box cut around Pt of 10 GeV if ( fabs(static_cast<double>(dphi2))<0.004 && ((type >= 11 && use2StnDT) || (type>=2 && type<=5 && use2Stn))) { if (use2Stn) { if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2 if(type == 4) type = 7; // 1-3-4 -> 1-3 Pt = Pt2Stn2012(type, eta, dphi1, useBestMLH, bestLH, fr, method); } if (use2StnDT) { if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10 Pt = Pt2Stn2012(type, eta, dphi1, useBestMLH, bestLH, fr, method); } } else { //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ; double muPlusMaxLH = -1e9; double pt = 140; double step = 5.; double maxLH = -1e9; while(pt > 2. ) { double par_phi12[1] = {dphi1}; double par_phi23[1] = {dphi2}; double v[1], lpt1_1; v[0] = 0; lpt1_1 = 1.; v[0] = pt; lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); if (lpt1_1 > maxLH) { maxLH = lpt1_1; PTsolv = pt; } if(pt <= 100) {step = 10.0/4.0;} if(pt <= 50) {step = 5.0/4.0;} if(pt <= 20) {step = 2.0/4.0;} if(pt <= 10) {step = 1.0/4.0;} if(pt <=5) {step = 0.5/4.0;} pt = pt - step; }// end while muPlusMaxLH = maxLH; //*********** end solve equation for muon plus //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ; // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0 double muMinusMaxLH = -1e9; dphi1 = - dphi1; dphi2 = - dphi2; pt = 140; step = 5.; maxLH = -1e9; while(pt > 2. ) { double par_phi12[1] = {dphi1}; double par_phi23[1] = {dphi2}; double v[1], lpt1_1; v[0] = 0; lpt1_1 = 1.; v[0] = pt; lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); if (lpt1_1 > maxLH) { maxLH = lpt1_1; PTsolvMinus = pt; } if(pt <= 100) {step = 10.0/4.0;} if(pt <= 50) {step = 5.0/4.0;} if(pt <= 20) {step = 2.0/4.0;} if(pt <= 10) {step = 1.0/4.0;} if(pt <=5) {step = 0.5/4.0;} pt = pt - step; }// end while muMinusMaxLH = maxLH; if (useBestMLH) PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis else PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH; //*********** end solve equation for muon minus PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts if(PTsolv > 137.5) PTsolv = 137.5; //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;} dphi1 = - dphi1; //return to correct sing dphi dphi2 = - dphi2; //return to correct sing dphi Pt = PTsolv; } // end 2 or 3 station method } } // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl; float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV return (Pt > Pt_min) ? Pt : Pt_min; }
float CSCTFPtMethods::Pt3Stn2012_DT | ( | int | type, |
float | eta, | ||
float | dphi1, | ||
float | dphi2, | ||
int | PtbyMLH, | ||
float & | theLH, | ||
int | fr = -1 , |
||
int | method = 11 |
||
) | const |
Definition at line 3913 of file CSCTFPtMethods.cc.
References AB_mu12F, AB_mu12R, AB_mu13F, AB_mu13R, AB_mu23, AB_mu24, AB_mu34, AB_mu5, AB_mu51, AB_mu52, AB_mu53, AB_rho123F, AB_rho123R, AB_rho124F, AB_rho124R, AB_rho134F, AB_rho134R, AB_rho234, AB_rho512, AB_rho513, AB_rho51B, AB_rho523, AB_rho52B, AB_rho53B, AB_sig12F, AB_sig12R, AB_sig13F, AB_sig13R, AB_sig23, AB_sig24, AB_sig34, AB_sig5, AB_sig51, AB_sig52, AB_sig53, etabins, Likelihood2011(), reco::tau::disc::Pt(), Pt2Stn2012_DT(), relval_parameters_module::step, and v.
Referenced by CSCTFPtLUT::calcPt().
{ int useBestMLH = PtbyMLH; int useBOXcutDT = true; int use2Stn = false; int use2StnDT = true; //if(fabs(eta) >= 2.4)eta = 2.35; if(fabs(eta) >= 2.2) eta = 2.15; float Pt = 0.; double PTsolv = 1.; // for muon plus hypothesis double PTsolvMinus = 1.;//for muon minus hypothesis for(int iETA = 0; iETA < 15; iETA++){ if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){ // calculate curvers of mean and sigma // calculate phi12 mean double par1[4] = {0., 0., 0., 0.}; //double phi12mean = fitf5(v, par1); //mu12 double par_sig1[4] = {0., 0., 0., 0}; // calculate phi23 mean double par2[4] = {0., 0., 0., 0.}; // calculate phi23 sig double par_sig2[4] = {0., 0., 0., 0.}; // calculate correlation rho double par_rho[5] = {0., 0., 0., 0., 0.}; int iETA1 = iETA; int iETA2 = iETA; // defind which parameters will be use double (*Amean12F)[15] = AB_mu12F; double (*Asig12F)[15] = AB_sig12F; double (*Amean12R)[15] = AB_mu12R; double (*Asig12R)[15] = AB_sig12R; double (*Amean13F)[15] = AB_mu13F; double (*Asig13F)[15] = AB_sig13F; double (*Amean13R)[15] = AB_mu13R; double (*Asig13R)[15] = AB_sig13R; //double (*Amean14F)[15] = AB_mu14F; //double (*Asig14F)[15] = AB_sig14F; //double (*Amean14R)[15] = AB_mu14R; //double (*Asig14R)[15] = AB_sig14R; double (*Amean23)[15] = AB_mu23; double (*Asig23)[15] = AB_sig23; double (*Amean24)[15] = AB_mu24; double (*Asig24)[15] = AB_sig24; double (*Amean34)[15] = AB_mu34; double (*Asig34)[15] = AB_sig34; double (*Amean5)[15] = AB_mu5; double (*Asig5)[15] = AB_sig5; double (*Amean51)[15] = AB_mu51; double (*Asig51)[15] = AB_sig51; double (*Amean52)[15] = AB_mu52; double (*Asig52)[15] = AB_sig52; double (*Amean53)[15] = AB_mu53; double (*Asig53)[15] = AB_sig53; double (*Arho123F)[15] = AB_rho123F; double (*Arho123R)[15] = AB_rho123R; double (*Arho124F)[15] = AB_rho124F; double (*Arho124R)[15] = AB_rho124R; double (*Arho134F)[15] = AB_rho134F; double (*Arho134R)[15] = AB_rho134R; double (*Arho234)[15] = AB_rho234; double (*Arho51B)[15] = AB_rho51B; double (*Arho52B)[15] = AB_rho52B; double (*Arho53B)[15] = AB_rho53B; double (*Arho512)[15] = AB_rho512; double (*Arho513)[15] = AB_rho513; double (*Arho523)[15] = AB_rho523; //cout << "iETA = " << iETA // << " AB_mu51[0][iETA] = " << AB_mu51[0][iETA] << " pointer = " << (*(Amean51+0))[iETA] // << " AB_mu51[3][iETA] = " << AB_mu51[3][iETA] << " pointer = " << (*(Amean51+3))[iETA] // << endl; switch (type) // type = mode here { case 2 : //1-2-3 if(iETA < 2)iETA2 = 2; if(fr == 1){ if(iETA < 3)iETA1 = 3; par1[0] = (*(Amean12F+0))[iETA1]; par1[1] = (*(Amean12F+1))[iETA1]; par1[2] = (*(Amean12F+2))[iETA1]; par1[3] = (*(Amean12F+3))[iETA1]; par_sig1[0] = (*(Asig12F+0))[iETA1]; par_sig1[1] = (*(Asig12F+1))[iETA1]; par_sig1[2] = (*(Asig12F+2))[iETA1]; par_sig1[3] = (*(Asig12F+3))[iETA1]; par_rho[0] = (*(Arho123F+0))[iETA2]; par_rho[1] = (*(Arho123F+1))[iETA2]; par_rho[2] = (*(Arho123F+2))[iETA2]; par_rho[3] = (*(Arho123F+3))[iETA2]; par_rho[4] = (*(Arho123F+4))[iETA2]; } if(fr == 0){ if(iETA < 1)iETA1 = 1; par1[0] = (*(Amean12R+0))[iETA1]; par1[1] = (*(Amean12R+1))[iETA1]; par1[2] = (*(Amean12R+2))[iETA1]; par1[3] = (*(Amean12R+3))[iETA1]; par_sig1[0] = (*(Asig12R+0))[iETA1]; par_sig1[1] = (*(Asig12R+1))[iETA1]; par_sig1[2] = (*(Asig12R+2))[iETA1]; par_sig1[3] = (*(Asig12R+3))[iETA1]; par_rho[0] = (*(Arho123R+0))[iETA2]; par_rho[1] = (*(Arho123R+1))[iETA2]; par_rho[2] = (*(Arho123R+2))[iETA2]; par_rho[3] = (*(Arho123R+3))[iETA2]; par_rho[4] = (*(Arho123R+4))[iETA2]; } par2[0] = (*(Amean23+0))[iETA2]; par2[1] = (*(Amean23+1))[iETA2]; par2[2] = (*(Amean23+2))[iETA2]; par2[3] = (*(Amean23+3))[iETA2]; par_sig2[0] = (*(Asig23+0))[iETA2]; par_sig2[1] = (*(Asig23+1))[iETA2]; par_sig2[2] = (*(Asig23+2))[iETA2]; par_sig2[3] = (*(Asig23+3))[iETA2]; break; case 3 : //1-2-4 if(iETA < 3)iETA2 = 3; if(fr == 1){ if(iETA < 3)iETA1 = 3; par1[0] = (*(Amean12F+0))[iETA1]; par1[1] = (*(Amean12F+1))[iETA1]; par1[2] = (*(Amean12F+2))[iETA1]; par1[3] = (*(Amean12F+3))[iETA1]; par_sig1[0] = (*(Asig12F+0))[iETA1]; par_sig1[1] = (*(Asig12F+1))[iETA1]; par_sig1[2] = (*(Asig12F+2))[iETA1]; par_sig1[3] = (*(Asig12F+3))[iETA1]; par_rho[0] = (*(Arho124F+0))[iETA2]; par_rho[1] = (*(Arho124F+1))[iETA2]; par_rho[2] = (*(Arho124F+2))[iETA2]; par_rho[3] = (*(Arho124F+3))[iETA2]; par_rho[4] = (*(Arho124F+4))[iETA2]; } if(fr == 0){ if(iETA < 1)iETA1 = 1; par1[0] = (*(Amean12R+0))[iETA1]; par1[1] = (*(Amean12R+1))[iETA1]; par1[2] = (*(Amean12R+2))[iETA1]; par1[3] = (*(Amean12R+3))[iETA1]; par_sig1[0] = (*(Asig12R+0))[iETA1]; par_sig1[1] = (*(Asig12R+1))[iETA1]; par_sig1[2] = (*(Asig12R+2))[iETA1]; par_sig1[3] = (*(Asig12R+3))[iETA1]; par_rho[0] = (*(Arho124R+0))[iETA2]; par_rho[1] = (*(Arho124R+1))[iETA2]; par_rho[2] = (*(Arho124R+2))[iETA2]; par_rho[3] = (*(Arho124R+3))[iETA2]; par_rho[4] = (*(Arho124R+4))[iETA2]; } par2[0] = (*(Amean24+0))[iETA2]; par2[1] = (*(Amean24+1))[iETA2]; par2[2] = (*(Amean24+2))[iETA2]; par2[3] = (*(Amean24+3))[iETA2]; par_sig2[0] = (*(Asig24+0))[iETA2]; par_sig2[1] = (*(Asig24+1))[iETA2]; par_sig2[2] = (*(Asig24+2))[iETA2]; par_sig2[3] = (*(Asig24+3))[iETA2]; break; case 4 : //1-3-4 if(iETA < 3)iETA2 = 3; if(fr == 1){ if(iETA < 3)iETA1 = 3; par1[0] = (*(Amean13F+0))[iETA1]; par1[1] = (*(Amean13F+1))[iETA1]; par1[2] = (*(Amean13F+2))[iETA1]; par1[3] = (*(Amean13F+3))[iETA1]; par_sig1[0] = (*(Asig13F+0))[iETA1]; par_sig1[1] = (*(Asig13F+1))[iETA1]; par_sig1[2] = (*(Asig13F+2))[iETA1]; par_sig1[3] = (*(Asig13F+3))[iETA1]; par_rho[0] = (*(Arho134F+0))[iETA2]; par_rho[1] = (*(Arho134F+1))[iETA2]; par_rho[2] = (*(Arho134F+2))[iETA2]; par_rho[3] = (*(Arho134F+3))[iETA2]; par_rho[4] = (*(Arho134F+4))[iETA2]; } if(fr == 0){ if(iETA < 3)iETA1 = 3; par1[0] = (*(Amean13R+0))[iETA1]; par1[1] = (*(Amean13R+1))[iETA1]; par1[2] = (*(Amean13R+2))[iETA1]; par1[3] = (*(Amean13R+3))[iETA1]; par_sig1[0] = (*(Asig13R+0))[iETA1]; par_sig1[1] = (*(Asig13R+1))[iETA1]; par_sig1[2] = (*(Asig13R+2))[iETA1]; par_sig1[3] = (*(Asig13R+3))[iETA1]; par_rho[0] = (*(Arho134R+0))[iETA2]; par_rho[1] = (*(Arho134R+1))[iETA2]; par_rho[2] = (*(Arho134R+2))[iETA2]; par_rho[3] = (*(Arho134R+3))[iETA2]; par_rho[4] = (*(Arho134R+4))[iETA2]; } par2[0] = (*(Amean34+0))[iETA2]; par2[1] = (*(Amean34+1))[iETA2]; par2[2] = (*(Amean34+2))[iETA2]; par2[3] = (*(Amean34+3))[iETA2]; par_sig2[0] = (*(Asig34+0))[iETA2]; par_sig2[1] = (*(Asig34+1))[iETA2]; par_sig2[2] = (*(Asig34+2))[iETA2]; par_sig2[3] = (*(Asig34+3))[iETA2]; break; case 5 ://2-3-4 if(iETA < 2)iETA1 = 2; if(iETA < 3)iETA2 = 3; par1[0] = (*(Amean23+0))[iETA1]; par1[1] = (*(Amean23+1))[iETA1]; par1[2] = (*(Amean23+2))[iETA1]; par1[3] = (*(Amean23+3))[iETA1]; par_sig1[0] = (*(Asig23+0))[iETA1]; par_sig1[1] = (*(Asig23+1))[iETA1]; par_sig1[2] = (*(Asig23+2))[iETA1]; par_sig1[3] = (*(Asig23+3))[iETA1]; par_rho[0] = (*(Arho234+0))[iETA2]; par_rho[1] = (*(Arho234+1))[iETA2]; par_rho[2] = (*(Arho234+2))[iETA2]; par_rho[3] = (*(Arho234+3))[iETA2]; par_rho[4] = (*(Arho234+4))[iETA2]; par2[0] = (*(Amean34+0))[iETA2]; par2[1] = (*(Amean34+1))[iETA2]; par2[2] = (*(Amean34+2))[iETA2]; par2[3] = (*(Amean34+3))[iETA2]; par_sig2[0] = (*(Asig34+0))[iETA2]; par_sig2[1] = (*(Asig34+1))[iETA2]; par_sig2[2] = (*(Asig34+2))[iETA2]; par_sig2[3] = (*(Asig34+3))[iETA2]; break; case 11 : // singles for method < 10, for method > 10: fr = 1 -> b1-1-3, fr = 0 -> b1-3-phiBend if(iETA != 2)iETA1 = 2; par1[0] = (*(Amean53+0))[iETA1]; par1[1] = (*(Amean53+1))[iETA1]; par1[2] = (*(Amean53+2))[iETA1]; par1[3] = (*(Amean53+3))[iETA1]; par_sig1[0] = (*(Asig53+0))[iETA1]; par_sig1[1] = (*(Asig53+1))[iETA1]; par_sig1[2] = (*(Asig53+2))[iETA1]; par_sig1[3] = (*(Asig53+3))[iETA1]; par_rho[0] = (*(Arho53B+0))[iETA1]; par_rho[1] = (*(Arho53B+1))[iETA1]; par_rho[2] = (*(Arho53B+2))[iETA1]; par_rho[3] = (*(Arho53B+3))[iETA1]; par_rho[4] = (*(Arho53B+4))[iETA1]; par2[0] = (*(Amean5+0))[iETA1]; par2[1] = (*(Amean5+1))[iETA1]; par2[2] = (*(Amean5+2))[iETA1]; par2[3] = (*(Amean5+3))[iETA1]; par_sig2[0] = (*(Asig5+0))[iETA1]; par_sig2[1] = (*(Asig5+1))[iETA1]; par_sig2[2] = (*(Asig5+2))[iETA1]; par_sig2[3] = (*(Asig5+3))[iETA1]; if(fr == 1){ par1[0] = (*(Amean51+0))[iETA1]; par1[1] = (*(Amean51+1))[iETA1]; par1[2] = (*(Amean51+2))[iETA1]; par1[3] = (*(Amean51+3))[iETA1]; par_sig1[0] = (*(Asig51+0))[iETA1]; par_sig1[1] = (*(Asig51+1))[iETA1]; par_sig1[2] = (*(Asig51+2))[iETA1]; par_sig1[3] = (*(Asig51+3))[iETA1]; par_rho[0] = (*(Arho513+0))[iETA1]; par_rho[1] = (*(Arho513+1))[iETA1]; par_rho[2] = (*(Arho513+2))[iETA1]; par_rho[3] = (*(Arho513+3))[iETA1]; par_rho[4] = (*(Arho513+4))[iETA1]; par2[0] = (*(Amean13R+0))[iETA1]; par2[1] = (*(Amean13R+1))[iETA1]; par2[2] = (*(Amean13R+2))[iETA1]; par2[3] = (*(Amean13R+3))[iETA1]; par_sig2[0] = (*(Asig13R+0))[iETA1]; par_sig2[1] = (*(Asig13R+1))[iETA1]; par_sig2[2] = (*(Asig13R+2))[iETA1]; par_sig2[3] = (*(Asig13R+3))[iETA1]; } break; case 12 : // b1-1-2 for method < 10; for method > 10: fr = 1 -> b1-2-3, fr = 0 -> b1-2-phiBend if(iETA < 1)iETA1 = 1; if(iETA > 2)iETA1 = 2; par1[0] = (*(Amean52+0))[iETA1]; par1[1] = (*(Amean52+1))[iETA1]; par1[2] = (*(Amean52+2))[iETA1]; par1[3] = (*(Amean52+3))[iETA1]; par_sig1[0] = (*(Asig52+0))[iETA1]; par_sig1[1] = (*(Asig52+1))[iETA1]; par_sig1[2] = (*(Asig52+2))[iETA1]; par_sig1[3] = (*(Asig52+3))[iETA1]; par_rho[0] = (*(Arho52B+0))[iETA1]; par_rho[1] = (*(Arho52B+1))[iETA1]; par_rho[2] = (*(Arho52B+2))[iETA1]; par_rho[3] = (*(Arho52B+3))[iETA1]; par_rho[4] = (*(Arho52B+4))[iETA1]; par2[0] = (*(Amean5+0))[iETA1]; par2[1] = (*(Amean5+1))[iETA1]; par2[2] = (*(Amean5+2))[iETA1]; par2[3] = (*(Amean5+3))[iETA1]; par_sig2[0] = (*(Asig5+0))[iETA1]; par_sig2[1] = (*(Asig5+1))[iETA1]; par_sig2[2] = (*(Asig5+2))[iETA1]; par_sig2[3] = (*(Asig5+3))[iETA1]; if(fr == 1){ if(iETA != 2)iETA1 = 2; par1[0] = (*(Amean52+0))[iETA1]; par1[1] = (*(Amean52+1))[iETA1]; par1[2] = (*(Amean52+2))[iETA1]; par1[3] = (*(Amean52+3))[iETA1]; par_sig1[0] = (*(Asig52+0))[iETA1]; par_sig1[1] = (*(Asig52+1))[iETA1]; par_sig1[2] = (*(Asig52+2))[iETA1]; par_sig1[3] = (*(Asig52+3))[iETA1]; par_rho[0] = (*(Arho523+0))[iETA1]; par_rho[1] = (*(Arho523+1))[iETA1]; par_rho[2] = (*(Arho523+2))[iETA1]; par_rho[3] = (*(Arho523+3))[iETA1]; par_rho[4] = (*(Arho523+4))[iETA1]; par2[0] = (*(Amean23+0))[iETA1]; par2[1] = (*(Amean23+1))[iETA1]; par2[2] = (*(Amean23+2))[iETA1]; par2[3] = (*(Amean23+3))[iETA1]; par_sig2[0] = (*(Asig23+0))[iETA1]; par_sig2[1] = (*(Asig23+1))[iETA1]; par_sig2[2] = (*(Asig23+2))[iETA1]; par_sig2[3] = (*(Asig23+3))[iETA1]; } break; case 14 : // b1-2 for method < 10; for method > 10: fr = 1 -> b1-1-2-(3), fr = 0 -> b1-1-phiBend if(iETA > 2)iETA1 = 2; par1[0] = (*(Amean51+0))[iETA1]; par1[1] = (*(Amean51+1))[iETA1]; par1[2] = (*(Amean51+2))[iETA1]; par1[3] = (*(Amean51+3))[iETA1]; par_sig1[0] = (*(Asig51+0))[iETA1]; par_sig1[1] = (*(Asig51+1))[iETA1]; par_sig1[2] = (*(Asig51+2))[iETA1]; par_sig1[3] = (*(Asig51+3))[iETA1]; par_rho[0] = (*(Arho51B+0))[iETA1]; par_rho[1] = (*(Arho51B+1))[iETA1]; par_rho[2] = (*(Arho51B+2))[iETA1]; par_rho[3] = (*(Arho51B+3))[iETA1]; par_rho[4] = (*(Arho51B+4))[iETA1]; par2[0] = (*(Amean5+0))[iETA1]; par2[1] = (*(Amean5+1))[iETA1]; par2[2] = (*(Amean5+2))[iETA1]; par2[3] = (*(Amean5+3))[iETA1]; par_sig2[0] = (*(Asig5+0))[iETA1]; par_sig2[1] = (*(Asig5+1))[iETA1]; par_sig2[2] = (*(Asig5+2))[iETA1]; par_sig2[3] = (*(Asig5+3))[iETA1]; if(fr == 1){ if(iETA < 1)iETA1 = 1; if(iETA > 2)iETA1 = 2; par1[0] = (*(Amean51+0))[iETA1]; par1[1] = (*(Amean51+1))[iETA1]; par1[2] = (*(Amean51+2))[iETA1]; par1[3] = (*(Amean51+3))[iETA1]; par_sig1[0] = (*(Asig51+0))[iETA1]; par_sig1[1] = (*(Asig51+1))[iETA1]; par_sig1[2] = (*(Asig51+2))[iETA1]; par_sig1[3] = (*(Asig51+3))[iETA1]; par_rho[0] = (*(Arho512+0))[iETA1]; par_rho[1] = (*(Arho512+1))[iETA1]; par_rho[2] = (*(Arho512+2))[iETA1]; par_rho[3] = (*(Arho512+3))[iETA1]; par_rho[4] = (*(Arho512+4))[iETA1]; par2[0] = (*(Amean12R+0))[iETA1]; par2[1] = (*(Amean12R+1))[iETA1]; par2[2] = (*(Amean12R+2))[iETA1]; par2[3] = (*(Amean12R+3))[iETA1]; par_sig2[0] = (*(Asig12R+0))[iETA1]; par_sig2[1] = (*(Asig12R+1))[iETA1]; par_sig2[2] = (*(Asig12R+2))[iETA1]; par_sig2[3] = (*(Asig12R+3))[iETA1]; } break; //default: //return 0.0; } // Switch to 2-Station measurement if dphi is too small // box cut around Pt of 10 GeV if ( ( ( (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && method < 25)|| (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && type != 14 && type != 11 && method >= 25))) && ((type>=2 && type<=5 && use2Stn) || (type >= 11 && use2StnDT))) { if (use2Stn) { //if(type == 12 || type == 14 || type == 11) std::cout << "mode = " << type << " dphi23 = " << dphi2 << " method = " << method << std::endl; //test if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2 if(type == 4) type = 7; // 1-3-4 -> 1-3 if(type == 5) type = 8; // 2-3-4 -> 2-3 Pt = Pt2Stn2012_DT(type, eta, dphi1, useBestMLH, bestLH, fr, method,int(2));//in 3 station track there is no information to which ME1/1 or ME1/2 track belong } if (use2StnDT) { if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10 //if(type == 14) type = 11; //phiSign Pt = Pt2Stn2012_DT(type, eta, dphi1, useBestMLH, bestLH, fr, method,int(2));//in 3 station track there is no information to which ME1/1 or ME1/2 track belong } } else { //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ; double muPlusMaxLH = -1e9; double pt = 140; double step = 5.; double maxLH = -1e9; while(pt > 2. ) { double par_phi12[1] = {dphi1}; double par_phi23[1] = {dphi2}; double v[1], lpt1_1; v[0] = 0; lpt1_1 = 1.; v[0] = pt; lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); if (lpt1_1 > maxLH) { maxLH = lpt1_1; PTsolv = pt; } if(pt <= 100) {step = 10.0/4.0;} if(pt <= 50) {step = 5.0/4.0;} if(pt <= 20) {step = 2.0/4.0;} if(pt <= 10) {step = 1.0/4.0;} if(pt <=5) {step = 0.5/4.0;} pt = pt - step; }// end while muPlusMaxLH = maxLH; //*********** end solve equation for muon plus //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ; // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0 double muMinusMaxLH = -1e9; dphi1 = - dphi1; dphi2 = - dphi2; pt = 140; step = 5.; maxLH = -1e9; while(pt > 2. ) { double par_phi12[1] = {dphi1}; double par_phi23[1] = {dphi2}; double v[1], lpt1_1; v[0] = 0; lpt1_1 = 1.; v[0] = pt; lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v); if (lpt1_1 > maxLH) { maxLH = lpt1_1; PTsolvMinus = pt; } if(pt <= 100) {step = 10.0/4.0;} if(pt <= 50) {step = 5.0/4.0;} if(pt <= 20) {step = 2.0/4.0;} if(pt <= 10) {step = 1.0/4.0;} if(pt <=5) {step = 0.5/4.0;} pt = pt - step; }// end while muMinusMaxLH = maxLH; if (useBestMLH) PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis else PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH; PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts if(PTsolv > 137.5) PTsolv = 137.5; //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;} dphi1 = - dphi1; //return to correct sing dphi dphi2 = - dphi2; //return to correct sing dphi Pt = PTsolv; } // end 2 or 3 station method }} // fix overlap region high pt: if (useBOXcutDT) if(method >= 25 && (type == 12 || type == 14 || type == 11) && fabs(dphi1)<0.003 && fabs(dphi2) <2) Pt = 140.; // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl; //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV float Pt_min = 2;// 2 GeV return (Pt > Pt_min) ? Pt : Pt_min; }
float CSCTFPtMethods::Pt3StnChiSq | ( | int | type, |
float | eta, | ||
int | dphi1, | ||
int | dphi2, | ||
int | fr | ||
) | const |
Definition at line 5373 of file CSCTFPtMethods.cc.
References abs, diffTreeTool::diff, dphifr0, dphifr1, etabins, cmsRelvalreport::exit, i, j, gen::k, min, funct::pow(), Pt3Stn(), ptbins, ptmin, CSCTFConstants::SECTOR_RAD, sigmafr0, and sigmafr1.
Referenced by CSCTFPtLUT::calcPt(), and Pt3StnHybrid().
{ float diff, min, ptmin, ptmax; float mypt = 0.0; int dphi1copy = dphi1, dphi2copy = dphi2; if (type<4 || type>5) { // std::cout << "PtParams: illegal track type for Chi-square method" << std::endl; edm::LogError("CSCTFPtMethods::Pt3StnChiSq()")<<"Illegal track type for Chi-square method"; return 0.; } // flip sign //dphi1 = -dphi1; //dphi2 = -dphi2; //determine which eta bin muon falls into int i = 0; for( i = 0; i < 15; i++ ) { if ( eta >= etabins[i] && eta < etabins[i + 1] ) break; } if ( i == 15 ) { //std::cout<<"muon not within any eta range"; edm::LogWarning("CSCTFPtMethods::Pt3StnChiSq()")<<"Muon not within any eta range"; if (eta<etabins[0]) { eta = etabins[0]; i = 0; } else if (eta>=etabins[15]) { eta = etabins[15]; i = 15; } else exit(0); } bool bCallOldMethod = false; if(abs(dphi2) < 32) dphi2 = 0; //dphi2=dphi23 or dphi24 //sta1-2-3, dphi1=dphi12, dphi2=dphi23 if (type == 4) { if (fr == 0) { //advance past bins in array w/ default values //default is: dphifr0[x][y][z] = -1, sigmafr0[x][y][z] = 1 int j = 0; //start from 1st column, j = 0 while ( ((dphifr0[0][i][j] == -1 && sigmafr0[0][i][j] == 1) || (dphifr0[2][i][j] == -1 && sigmafr0[2][i][j] == 1)) && j != 28 ) j++; if ( j == 28 ) { // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl; edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default"; // exit(0); //normal termination bCallOldMethod = true; } if (!bCallOldMethod) { //set min, ptmin, ptmax to first bin //in row that is not default min = 1.5625 * ( (pow((dphi1 - dphifr0[0][i][j]),2) / pow(sigmafr0[0][i][j],2)) + (pow((dphi2 - dphifr0[2][i][j]),2) / pow(sigmafr0[2][i][j],2)) - (1.2 * (dphi1 - dphifr0[0][i][j]) * (dphi2 - dphifr0[2][i][j]) / (sigmafr0[0][i][j] * sigmafr0[2][i][j])) ); //calculate chi square ptmin = ptbins[j]; ptmax = ptbins[j + 1]; //loop through all pt bins. assign pt of bin w/ least diff //do not include default bins in calculation for ( int k = j; k < 28; k++ ) { if( (dphifr0[0][i][k] != -1 || sigmafr0[0][i][k] != 1) && (dphifr0[2][i][k] != -1 || sigmafr0[2][i][k] != 1) ) { diff = 1.5625 * ( (pow((dphi1 - dphifr0[0][i][k]),2) / pow(sigmafr0[0][i][k],2)) + (pow((dphi2 - dphifr0[2][i][k]),2) / pow(sigmafr0[2][i][k],2)) - (1.2 * (dphi1 - dphifr0[0][i][k]) * (dphi2 - dphifr0[2][i][k]) / (sigmafr0[0][i][k] * sigmafr0[2][i][k])) ); if (diff < min) { min = diff; ptmin = ptbins[k]; ptmax = ptbins[k + 1]; } } } mypt = (ptmin + ptmax) / 2; } } if (fr == 1) { //advance past bins in array w/ default values //default is: dphifr1[x][y][z] = -1, sigmafr1[x][y][z] = 1 int j = 0; //start from 1st column, j = 0 while ( ((dphifr1[0][i][j] == -1 && sigmafr1[0][i][j] == 1) || (dphifr1[2][i][j] == -1 && sigmafr1[2][i][j] == 1)) && j != 28 ) j++; if ( j == 28 ) { // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl; edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default"; // exit(0); //normal termination bCallOldMethod = true; } if (!bCallOldMethod) { //set min, ptmin, ptmax to first bin //in row that is not default min = 1.5625 * ( (pow((dphi1 - dphifr1[0][i][j]),2) / pow(sigmafr1[0][i][j],2)) + (pow((dphi2 - dphifr1[2][i][j]),2) / pow(sigmafr1[2][i][j],2)) - (1.2 * (dphi1 - dphifr1[0][i][j]) * (dphi2 - dphifr1[2][i][j]) / (sigmafr1[0][i][j] * sigmafr1[2][i][j])) ); //calculate chi square ptmin = ptbins[j]; ptmax = ptbins[j + 1]; //loop through all pt bins. assign pt of bin w/ least diff //do not include default bins in calculation for ( int k = j; k < 28; k++ ) { if( (dphifr1[0][i][k] != -1 || sigmafr1[0][i][k] != 1) && (dphifr1[2][i][k] != -1 || sigmafr1[2][i][k] != 1) ) { diff = 1.5625 * ( (pow((dphi1 - dphifr1[0][i][k]),2) / pow(sigmafr1[0][i][k],2)) + (pow((dphi2 - dphifr1[2][i][k]),2) / pow(sigmafr1[2][i][k],2)) - (1.2 * (dphi1 - dphifr1[0][i][k]) * (dphi2 - dphifr1[2][i][k]) / (sigmafr1[0][i][k] * sigmafr1[2][i][k])) ); if (diff < min) { min = diff; ptmin = ptbins[k]; ptmax = ptbins[k + 1]; } } mypt = (ptmin + ptmax) / 2; } } } } //sta1-2-4, dphi1=dphi12, dphi2=dphi24 if (type == 5) { if (fr == 0) { //advance past bins in array w/ default values //default is: dphifr0[x][y][z] = -1, sigmafr0[x][y][z] = 1 int j = 0; //start from 1st column, j = 0 while ( ((dphifr0[0][i][j] == -1 && sigmafr0[0][i][j] == 1) || (dphifr0[3][i][j] == -1 && sigmafr0[3][i][j] == 1)) && j != 28 ) j++; if ( j == 28 ) { // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl; edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default"; // exit(0); //normal termination bCallOldMethod = true; } if (!bCallOldMethod) { //set min, ptmin, ptmax to first bin //in row that is not default min = 1.5625 * ( (pow((dphi1 - dphifr0[0][i][j]),2) / pow(sigmafr0[0][i][j],2)) + (pow((dphi2 - dphifr0[3][i][j]),2) / pow(sigmafr0[3][i][j],2)) - (1.2 * (dphi1 - dphifr0[0][i][j]) * (dphi2 - dphifr0[3][i][j]) / (sigmafr0[0][i][j] * sigmafr0[3][i][j])) ); //calculate chi square ptmin = ptbins[j]; ptmax = ptbins[j + 1]; //loop through all pt bins. assign pt of bin w/ least diff //do not include default bins in calculation for ( int k = j; k < 28; k++ ) { if( (dphifr0[0][i][k] != -1 || sigmafr0[0][i][k] != 1) && (dphifr0[3][i][k] != -1 || sigmafr0[3][i][k] != 1) ) { diff = 1.5625 * ( (pow((dphi1 - dphifr0[0][i][k]),2) / pow(sigmafr0[0][i][k],2)) + (pow((dphi2 - dphifr0[3][i][k]),2) / pow(sigmafr0[3][i][k],2)) - (1.2 * (dphi1 - dphifr0[0][i][k]) * (dphi2 - dphifr0[3][i][k]) / (sigmafr0[0][i][k] * sigmafr0[3][i][k])) ); if (diff < min) { min = diff; ptmin = ptbins[k]; ptmax = ptbins[k + 1]; } } } mypt = (ptmin + ptmax) / 2; } } if (fr == 1) { //advance past bins in array w/ default values //default is: dphifr1[x][y][z] = -1, sigmafr1[x][y][z] = 1 int j = 0; //start from 1st column, j = 0 while ( ((dphifr1[0][i][j] == -1 && sigmafr1[0][i][j] == 1) || (dphifr1[3][i][j] == -1 && sigmafr1[3][i][j] == 1)) && j != 28 ) j++; if ( j == 28 ) { // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl; edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default"; // exit(0); //normal termination bCallOldMethod = true; } if (!bCallOldMethod) { //set min, ptmin, ptmax to first bin //in row that is not default min = 1.5625 * ( (pow((dphi1 - dphifr1[0][i][j]),2) / pow(sigmafr1[0][i][j],2)) + (pow((dphi2 - dphifr1[3][i][j]),2) / pow(sigmafr1[3][i][j],2)) - (1.2 * (dphi1 - dphifr1[0][i][j]) * (dphi2 - dphifr1[3][i][j]) / (sigmafr1[0][i][j] * sigmafr1[3][i][j])) ); //calculate chi square ptmin = ptbins[j]; ptmax = ptbins[j + 1]; //loop through all pt bins. assign pt of bin w/ least diff //do not include default bins in calculation for ( int k = j; k < 28; k++ ) { if( (dphifr1[0][i][k] != -1 || sigmafr1[0][i][k] != 1) && (dphifr1[3][i][k] != -1 || sigmafr1[3][i][k] != 1) ) { diff = 1.5625 * ( (pow((dphi1 - dphifr1[0][i][k]),2) / pow(sigmafr1[0][i][k],2)) + (pow((dphi2 - dphifr1[3][i][k]),2) / pow(sigmafr1[3][i][k],2)) - (1.2 * (dphi1 - dphifr1[0][i][k]) * (dphi2 - dphifr1[3][i][k]) / (sigmafr1[0][i][k] * sigmafr1[3][i][k])) ); if (diff < min) { min = diff; ptmin = ptbins[k]; ptmax = ptbins[k + 1]; } } } mypt = (ptmin + ptmax) / 2; } } } if (bCallOldMethod) { float dphi12R = (static_cast<float>(dphi1copy)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD; float dphi23R = (static_cast<float>(dphi2copy)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD; // change defintion of track type to old method mypt = Pt3Stn(type-3, eta, dphi12R, dphi23R, fr); } return mypt; }
float CSCTFPtMethods::Pt3StnHybrid | ( | int | type, |
float | eta, | ||
int | dphi1, | ||
int | dphi2, | ||
int | fr | ||
) | const |
Definition at line 5619 of file CSCTFPtMethods.cc.
References Pt3Stn(), Pt3StnChiSq(), and CSCTFConstants::SECTOR_RAD.
Referenced by CSCTFPtLUT::calcPt().
{ float mypt = 0.0; mypt = Pt3StnChiSq(type, eta, dphi1, dphi2, fr); if(mypt >= 8.0) { float dphi12R = (static_cast<float>(dphi1)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD; float dphi23R = (static_cast<float>(dphi2)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD; // change defintion of track type to old method mypt = Pt3Stn(type-3, eta, dphi12R, dphi23R, fr); } return mypt; }
float CSCTFPtMethods::PtEff90 | ( | float | pt, |
float | eta, | ||
int | mode | ||
) | const |
Legacy Pt90 calculation function
Definition at line 5664 of file CSCTFPtMethods.cc.
References trackerHits::c, and eta.
{ // set pT resolution float c; switch (mode) { // 3-stn with ME1 case 2: case 3: case 4: // leave as 2 Stn for now: // if (eta < 2.0) // c = 0.2; // else // c = 0.2 + (eta-2.0)*0.5; // break; // 2-stn with ME1 case 6: case 7: // c=(-.2999 * (eta*eta*eta) + 2.030 * (eta*eta) - 4.235 * eta + 3.024)+0.02; // Try just fixed value from fits to Pt turn-on curves c=0.3; break; // 2 or 3 stn without ME1 case 5: case 8: case 9: c=(-2.484 * (eta*eta*eta) + 14.43 * (eta*eta) - 27.66 * eta + 18.47)*.72; break; case 10: c=2.0; break; // MB1 tracks case 11: case 12: case 13: case 14: case 15: c=0.3; break; default: c = 0.0; }; // Calculation of 90% threshold from 50% one, assuming Gaussian resolution // 90% of Gaussian area extends to 1.28*sigma if (c>0.78) c = 0.78; // return pt/(1.0 - 1.28*c); // Let's go back to old empirical method: return pt*(1.0 + 1.28*c); }
const double CSCTFPtMethods::A_mu12Front [static] |
{ {0, 0, 0, -0.10523922235654110946, -0.10983929659374999654, -0.11452047380694262146, -0.11922097760176857129, -0.31345770385362781152, -0.29879434616186489881, -0.26915122313015271693, -0.23825592462089598134, -0.21577716540165170489, 0, 0, 0}, {0, 0, 0, 0.26520808786388666567, 0.20543788970357632073, 0.15092171845376831096, 0.10960449046799547457, 0.07249357497808966988, 0.084725241812656573726, 0.080545185052021503469, 0.063499540823294411962, 0.052274729725005748826, 0, 0, 0}, {0, 0, 0, 0.00053807554094229155788, 0.00045289727656323158257, 0.00048500971554021258918, 0.00062343043239925161666, 0.00018916793540052533398, 9.9877853046464147579e-05, 0.00011936753945903473204, -0.00013555974179713960442, -0.00018396374782998390577, 0, 0, 0}, {0, 0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0, 0, 0} }
parameters for Anna's method 2010
Definition at line 106 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_mu12Rare [static] |
{ {0, -0.10374889091836100863, -0.099788822609968519384, -0.13818657823143312702, -0.13717556879309533713, -0.14490849378394998759, -0.14408105919423722097, -0.2740736915947392105, -0.25354252758973594428, -0.22856287512160483599, -0.19978450972956338094, -0.18078462391477437277, 0, 0, 0}, {0, 0.43901381552049162371, 0.33269140862921836588, 0.2867281989745522619, 0.1745740696789168378, 0.13068773408294853677, 0.090289532623200399741, 0.14511096793044100939, 0.089110172781148286325, 0.088325915559225531837, 0.058284739852102536439, 0.054838099980182117288, 0, 0, 0}, {0, 0.00090427118272218449946, 0.00051285798655137816021, 0.00096712518524937637985, 0.0005533967588738022839, 0.00058699577022335697706, 0.00046096277656442602704, 0.00059775151582151515688, 0.0002982802094889720106, 0.00025087464533485412822, -1.2763501682976573746e-06, 8.7075909949317653082e-05, 0, 0, 0}, {0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0, 0, 0} }
Definition at line 113 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_mu13Front [static] |
{ {0, 0, 0, -0.13778088536998894797, -0.15278054690526707282, -0.143346136779766542, -0.14969165155567873415, -0.31735124864642083597, -0.33366154127080654979, -0.32035587063652937179, -0.29063133844224109392, -0.2625110988870774098, 0, 0, 0}, {0, 0, 0, 0.50472519215627242861, 0.45431218833331760143, 0.27978303792475944789, 0.21659344933388599563, 0.39042059382545513113, 0.21436973705419076763, 0.21989939737961083921, 0.17248537946455347325, 0.14545152483288878442, 0, 0, 0}, {0, 0, 0, 0.00074029784977316568338, 0.00094379263107391029794, 0.00044290989468863904959, 0.00032465731761844673995, 0.00080437043173185620963, 0.00030621821048436737717, 0.00036742704696401365556, 0.00031744969589481185704, 4.3755432326479009111e-05, 0, 0, 0}, {0, 0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0, 0, 0} }
Definition at line 108 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_mu13Rare [static] |
{ {0, 0, -0.12623127354128180211, -0.17935797490956165157, -0.18060840788964968584, -0.18696605249703140972, -0.19077279628481272344, -0.29349472537983850584, -0.28999462954606641807, -0.28042269536018021858, -0.24794997339523475177, -0.22381101094323510581, 0, 0, 0}, {0, 0, 0.46581826439734036471, 0.59045368664701669559, 0.42112504758806018623, 0.31214409746624299791, 0.22991099738945788844, 0.38259688787882195626, 0.21032714197086083141, 0.23803428613207575082, 0.16848812991169570541, 0.13391107896586992854, 0, 0, 0}, {0, 0, 0.0002201385928033240463, 0.00094588024264893161806, 0.0006090017795757148196, 0.00055819818498869361832, 0.00051220623767016942862, 0.0010722093641169425093, 0.00033951226487555219435, 0.00057667736469464204747, 0.00038672362687909188003, 0.00018665348905046641372, 0, 0, 0}, {0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0, 0, 0} }
Definition at line 115 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_mu14Front [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.32728513383665119862, -0.30618420062024648276, -0.27554118389520276811, -0.16285631900256525295, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.32023477684420448286, 0.2693691108403535317, 0.22056748837118930751, 0.064251774309308562483, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00042613689417415228419, 0.00055054357631906247761, 0.00015434926334609733872, -0.012950297280226659088, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0, 0} }
Definition at line 110 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt2Stn2012().
const double CSCTFPtMethods::A_mu14Rare [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.2849452232390318196, -0.26600970450734234829, -0.23683395869018955548, -0.22057309433227462181, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33740004932669764859, 0.27762229117854592131, 0.19628468723350062097, 0.17323896845886521678, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00036794862559287675862, 0.00059266387001125628905, 0.00029802341315537321086, 0.00025629117987456756858, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0, 0} }
Definition at line 117 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt2Stn2012().
const double CSCTFPtMethods::A_mu23 [static] |
{ {0, 0, -0.038262994788483634112, -0.038329955987871006107, -0.0374748823380766094, -0.041131685825480934771, -0.041682237062370237901, -0.043941548191289134251, -0.036858451809650610853, -0.041160145519271960912, -0.03640665951155453578, -0.037033177234847232395, -0.039730205721839016719, -0.041049544792113090708, -0.03904511674158141904}, {0, 0, 0.22476203480449799543, 0.19067575131669534105, 0.15256324303025625699, 0.13801063658393192268, 0.12256502197662035025, 0.11905632873396845839, 0.10056103279215167223, 0.094455197819930808434, 0.06542931061274483151, 0.055715924150473321308, 0.053301837423971050456, 0.045890095913808617856, 0.027949821903864861122}, {0, 0, 0.00069404495353071109318, 0.00065670816947569431686, 0.00050715045635956769714, 0.00051087666765004164943, 0.00050201870311558270069, 0.00025160072489320881679, 0.00026119341522217484446, 0.00027099698566654400892, 9.9011225161971808595e-05, 7.3884094779271263388e-05, 0.00025118886053809180194, 0.00035276812785148709559, 0.00023201907068018601732}, {0, 0, 1.5949221750821838128, 1.7201281725872403783, 1.58953615582846286, 1.1423843849936006212, 0.97788843089194554814, 0.90488697221367975221, 1.1715145764654877336, 1.1384185105977693286, 1.1222106905033706337, 0.8870702391119174024, 0.61881410578333895245, 0.2103057782202895909, 0.20906493220451535797} }
Definition at line 127 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_mu24 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.061959407101930465134, -0.058818321370234280532, -0.068352281408454867995, -0.061460298909070447404, -0.052235918421231680719, -0.072498226107478094815}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.21211506894042392313, 0.1693324759070968244, 0.16427164509165567696, 0.12206249376578166832, 0.059425221503678751778, 0.10342818163255371178}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00082310131655814202344, 0.00076119821363284040708, 0.0011383177083823211358, 0.00088025107979697856699, 0.00053811687741542281113, 0.0012072828551724611168}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.90513569051375386554, 0.84830498879329219175, 0.61907648481747246105, 0.62281733240515868566, 0.96959526780257299095, 0.22278747273629403991} }
Definition at line 129 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_mu34 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0058446275511135183447, -0.0044363335612002457661, -0.0063690633680748938092, -0.0071732602982787522714, -0.0060076595959582691081, -0.0097192787716524169095}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.069899440774008433919, 0.041945454306693608082, 0.033695321175754334997, 0.02572107994967174141, 0.011966531649750349747, 0.013632158523237790024}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.00028713324507221590172, -0.00029722368993748908127, -0.00021881992359872021571, -0.00019444183718237873664, -0.00019245346134829781652, -4.7403620157884084486e-05}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 1.23011991602398707, 1.3460026509066507217, 1.3048596027895269511, 1.1101126497057096643, 1.3404667534791459005, 1.1961024662925265893} }
Definition at line 131 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_mu51 [static] |
{ {-0.30205049387075266765, -0.19825408793401680385, -0.10259572704977054647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0.39029489236430164878, -0.99999999999950184293, -0.99999999991334242999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {-0.0082240407388394932281, -0.008489109806000837144, -0.0096722775887914218262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1.4884036315353963431, -2.8577685774096766025, -3.1123617094902709113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 120 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_mu52 [static] |
{ {0, -0.31934822512291188845, -0.24671378669106625026, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -0.99999999999980493381, -0.99999999999999167333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -0.0073087160764979198016, -0.0070564603063957591009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -5.0384103551069152616, -5.6736067150957572025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 122 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_mu53 [static] |
{ {0, 0, -0.2362111548723856147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0.58675988413655344456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -0.0074765217760223816323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1.392910355886719076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 124 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt2Stn2012().
const double CSCTFPtMethods::A_rho123FrontCSCTF [static] |
{ {0, 0, 0, -1.8018355270558423786, -3.0800442413303450451, -73.019003781704810763, -71.455790570687398144, -64.380384468942153831, 2.1550121774347754666, 2.5576552488389672213, 2.449616802429892104, 2.6048654763866916362, 0, 0, 0}, {0, 0, 0, -2.1007675246065984354, 5.0425956104081919307, 199.99999998505296617, 197.550283903424031, 199.99999998947504309, -3.6752175165788334432, -5.1722529027050292427, -4.3622079033393852399, -3.8822092661387657131, 0, 0, 0}, {0, 0, 0, 4.7467280498208239692, -0.9954101483761357283, -174.31370635014994264, -172.76138545990900752, -195.76348611065316163, 3.4105036734574345481, 4.6147873662827647578, 3.7484788313774726198, 3.1712066148946220778, 0, 0, 0}, {0, 0, 0, 0.30810891952961361184, -1.5943850767419220915e-06, 54.774256057823905053, 53.990647071858525408, 62.484493391665445472, -0.69848464296741152868, -0.91930506751317175862, -0.74283883233049896599, -0.63029551267626326982, 0, 0, 0}, {0, 0, 0, 1.5832663901749726154, 0.74552216086091394054, 2.3871718840149540597, 2.3429031884405246977, 2.5923987724387411724, 0.78470036712835855575, 0.84997184658808944135, 0.77449725473134001241, 0.7103384244719952445, 0, 0, 0} }
Definition at line 142 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_rho123RareCSCTF [static] |
{ {0, 3.693736660096563762e-07, 3.6624889920579235536, -1.5878130861362493853, -16.882029490672145755, -19.782998814333478066, -60.455933184308456418, 4.7409034663087075145, 1.2313698717610916944, 4.0535624038761168819, 2.839672990936767949, 1.1264072104945499486, 0, 0, 0}, {0, 1.2460479107724575787e-08, -9.1322692253088106895, 2.7885945213228429118, 35.574384349975474606, 52.562872763020486389, 165.96545891988304788, -7.8572084740661054525, -2.2073725837258022509, -8.2319545861659868535, -5.2739465547973312098, -1.6641893104460985242, 0, 0, 0}, {0, -3.4521070809865814222e-09, 0.304049807886722534, -1.0070939003771062215, -25.509204584815140748, -43.856338459435548316, -142.9795139802988615, 5.1120722960994200434, 2.5507720910098483635, 6.5298492011791555711, 4.4578719360600889132, 2.2487455007422072484, 0, 0, 0}, {0, 0.11247782203128549317, 6.1743739480412145326, 0.11162411914689808479, 8.9528675403092599083, 15.100558849256662697, 44.430568006333729159, -0.9341261050017011236, -0.55701647459573400134, -1.2571707419142834627, -0.88779580801276813951, -0.51779245640493165581, 0, 0, 0}, {0, 5.2468060541259898405e-05, 1.8940496384956984066, 0.066707207826664116634, 1.7508237418861856138, 1.8900280458873763845, 2.1844068317738409846, 0.76180412238695105476, 0.72372957011062566401, 0.89275082928758009437, 0.81250184984526685472, 0.71783981961882159517, 0, 0, 0} }
Definition at line 146 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_rho124FrontCSCTF [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3870060999256690337, 2.9712356450806232111, 3.570810174736656073, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -2.5249315692538325528, -5.0029964029336300158, -5.9723457657194050086, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 2.5905258665507675531, 3.7350919226554304409, 4.4308882990573090765, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.46509034721864128681, -0.65123509278498414865, -0.77222404956138701593, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.80362588618902608406, 0.76388670904989408594, 0.8119443249235495097, 0, 0, 0} }
Definition at line 143 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_rho124RareCSCTF [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, 3.6863837484595949334, 2.3224336525694582178, 3.2507026803368823664, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -6.9075821699787951502, -4.3426737934213210934, -6.2428017762167931082, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 5.1741882361155777659, 3.6659747818805397124, 5.1137870308059385493, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.8788429753762293517, -0.6687776952912940498, -0.89611818355296113392, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.89064996021251574554, 0.79339716446029262542, 0.92504977817804989737, 0, 0, 0} }
Definition at line 147 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_rho134FrontCSCTF [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, 1.9650106495811070495, 4.4682144046367060497, 3.6127345552596952238, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -2.8639423697800454605, -8.5042162539937766752, -6.2743097440414938859, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 2.3846745836159768395, 6.2976695885419857746, 4.8907783903396619962, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.45508861624906205012, -1.1535577557401812676, -0.887603855749135362, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.61133320621013831353, 0.8416666357275194299, 0.84060163399865650558, 0, 0, 0} }
Definition at line 144 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_rho134RareCSCTF [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, 3.4612440846722587473, 5.7154640478562965811, 6.1988763822017318716, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -5.7252426310553330424, -10.734814097449786985, -11.773479219426080888, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 4.1825411479975462825, 7.4929964403945605866, 8.4655628853855269256, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.76190351147590362757, -1.349101837260204606, -1.4909015696715794963, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.73180297067413413448, 0.85937126410475961347, 0.96408406745158758966, 0, 0, 0} }
Definition at line 148 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_rho234CSCTF [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.90545523934272553745, 0.87175008048078328482, 11.473027189906936485, 11.663806475851881572, 0.42441495626586411838, 0.32838673222117276129}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.44139458152853866535, -0.42393288245808863346, -22.394533628750806997, -23.701781706067023947, 0.3795109868989199331, 0.61276617249320963765}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.051844682585598461655, 0.049996912305763613338, 16.507523030995347568, 17.496995261382853215, -0.25771028946901503032, -0.35814371755433299649}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 2.7429208195040022389e-07, 9.0318461390404003453e-08, -3.1629404839892929502, -3.4008584782052286855, 0.032310851118482836197, 0.04444079467290308616}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.42794073513595692893, -0.42484700224018712156, 1.2597467573071601254, 1.2343273593218078155, -0.1335866415068663049, -0.10123375520631937297} }
Definition at line 150 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_rho512 [static] |
{ {0, -1.3270643828972497058, -0.40947841616853780655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 2.025201781399017964, 0.58089265964690128818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -0.73760841017029699085, -0.060534778841327505083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0.077735281441295198124, -0.017952905037001157251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0.005510074476231469412, 0.26061236699994605459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
DT correlation.
Definition at line 152 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_rho513 [static] |
{ {0, 0, 0.18116780706048338234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -0.10826967270771679919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0.033488168126484141318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -0.0040355575386412517735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -0.4934185910548575249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 153 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_rho523 [static] |
{ {0, 0, -1.9080285362497979573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 3.2540326879755121503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -1.2246911037569772063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0.13624286476587679773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0.24605674796105389546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 154 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_sig12Front [static] |
{ {0, 0, 0, 0.012128390128145795368, 0.0060118459615588950434, 0.0066857690437444544998, 0.016870580188088974555, 3.2471855065940857799e-17, 0.04950616849006982817, 0.047875666889731632869, 0.046434926233452016031, 0.043576561593816925955, 0, 0, 0}, {0, 0, 0, 0.11205437847560090203, 0.14710111810994394577, 0.12139003108545433351, 0.05805544863709271447, 0.44230910905171338943, 0.097455948703866090987, 0.091167182629549800565, 0.08155034337565571223, 0.10115334241053108855, 0, 0, 0}, {0, 0, 0, 0.00045794655246943964493, 0.00060328713936987944655, 0.00059167776206113108402, 0.00032821487645948946993, 0.0017467056059844235372, 0.00059613339189244513722, 0.00058184715339610595854, 0.00064476542748265707177, 0.00065843267283058381015, 0, 0, 0} }
Definition at line 107 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_sig12Rare [static] |
{ {0, 0.0038093885421048444447, 0.0065769632315039548015, 0.0055592323950014550446, 0.0093835962422483230883, 0.017396352418037726306, 0.020259861529127568686, 0.028034021369845840699, 0.039800110854239546809, 0.039980148857628114434, 0.038524308685830198351, 0.040281758067103733134, 0, 0, 0}, {0, 0.23514753393254139713, 0.20840454339700395514, 0.1734554515667367236, 0.14712778893221009624, 0.068478644292554124995, 0.045578777378287992084, 0.17971688457142401263, 0.10413274328597779683, 0.096806606002943468292, 0.095972114441355463321, 0.077888109608563196873, 0, 0, 0}, {0, 0.00060835884164537896556, 0.00057248928258038056342, 0.00054601310456751364283, 0.00045596139082362406765, 0.00036256195477186049098, 0.00033554189220614231851, 0.00081415383922815243514, 0.00064529700989722222747, 0.00063280618158918571729, 0.00066801533625483495039, 0.00061304601669530541484, 0, 0, 0} }
Definition at line 114 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_sig13Front [static] |
{ {0, 0, 0, 0.022229486577380466045, 0.014786622332179612943, 0.022206319015528955263, 0.030956563988669690696, 0.10438632614093404372, 0.052151139493775117151, 0.061379169888241082165, 0.063070119166874993866, 0.062738437335733338029, 0, 0, 0}, {0, 0, 0, 0.17561127734822717938, 0.248243347883890908, 0.15435972163154007553, 0.098222588303399416265, 0.28864281120179885454, 0.28143242857015660086, 0.16091447629058408531, 0.13483945718353784748, 0.13542102637707623125, 0, 0, 0}, {0, 0, 0, 0.00050105260335033322255, 0.00060095811169912115909, 0.00049407859567527159534, 0.00062091453005704531909, 0.00046438613640785659023, 0.00074251112464886865304, 0.00070054085319381544095, 0.00064104982805283157888, 0.00060566613754535849647, 0, 0, 0} }
Definition at line 109 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_sig13Rare [static] |
{ {0, 0, 0.015046443595756202674, 0.024350274050281187077, 0.030516519859742685661, 0.034951536569288559064, 0.040872596013944946514, 0.075500038528175023034, 0.054258877880390701809, 0.057948329004836200695, 0.055684189309453437089, 0.055547652610341891055, 0, 0, 0}, {0, 0, 0.72981359973468040714, 0.25552798678505961316, 0.20538399097483123201, 0.13568477284924612691, 0.087691623490571385391, 0.14380693710811331965, 0.17784552932129321645, 0.15447707796169932171, 0.15118995597952319954, 0.13106219757004208826, 0, 0, 0}, {0, 0, 0.00047001852983351251119, 0.00053481400606665866967, 0.00036348184816972377081, 0.00037774161715020031574, 0.00026657604722595630358, 0.00029086094173271957383, 0.00068184877937593074432, 0.00058313040724595804811, 0.00061068422520455867882, 0.00061315948044054677767, 0, 0, 0} }
Definition at line 116 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_sig14Front [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.060082258981389996544, 0.07247051398468504213, 0.069785008221314948074, 3.6424053064063738328e-12, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.30722806049859069377, 0.20925971382909466789, 0.21969785537300090539, 0.022179262487250456931, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00094734288756094921311, 0.00069588950170735620632, 0.00069173065831375820777, 0.095265205090887594697, 0, 0} }
Definition at line 111 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt2Stn2012().
const double CSCTFPtMethods::A_sig14Rare [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.057936258148966857107, 0.067831242837197713857, 0.065620840504349520206, 0.054328715544637938561, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.30423086251952391468, 0.20761013178198547968, 0.19093892168102474804, 0.38288685251508419727, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00080261760198784384054, 0.00063696047781503656055, 0.00065139580093967995589, 0.00069639579902228165072, 0, 0} }
Definition at line 118 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt2Stn2012().
const double CSCTFPtMethods::A_sig23 [static] |
{ {0, 0, 5.1487948019707241443e-14, 1.371515748194163109e-17, 5.7867664653155070908e-15, 0.0018689633292167232882, 0.0022366390858728274135, 0.0098612407883851022766, 6.8801945206625053642e-12, 0.0032973305248131545321, 0.0054990363466139750501, 0.0092745687266331533483, 0.011501230292384876167, 0.012866555123334103353, 0.01433335748409165708}, {0, 0, 0.20455300017238808863, 0.19201919320235372179, 0.17201776141542601817, 0.12441381076621171875, 0.1050096955004960475, 0.086699597450937707088, 0.12195247491883690061, 0.12325808533281308599, 0.096676601548240911899, 0.075608663356511091047, 0.063411508431177876499, 0.053299915739310803342, 0.048982690822271121589}, {0, 0, 0.00067345631439024247495, 0.00071637601448934864513, 0.00073991596851847836816, 0.0007991069380909875423, 0.0008004777620410123912, 0.00089609812741991013828, 0.001505913962207979526, 0.0014477291363779595194, 0.001410515534491615236, 0.0013306603256628582281, 0.0012465454381592282456, 0.0012290059929163277448, 0.001182792281371985825} }
Definition at line 128 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_sig24 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.036897103741702109991, 0.039899187881393870236, 0.037199371928606554671, 0.044110460084859734464, 0.04574632914580819415, 0.043819228659279139959}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.12588087914450593607, 0.096275574709463407341, 0.097301378507412841778, 0.062284950968221723666, 0.040981290949611878793, 0.062080679266191686472}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00015197851743841865125, 0.00020141684336612834154, 0.00023753469072643055345, 5.280883524679438998e-05, 5.5577569515852236366e-05, 6.1083145679098556401e-05} }
Definition at line 130 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_sig34 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.014243461206981972156, 0.010278183995352333305, 0.013373297961434488582, 0.018049641090122695714, 0.018285814028279508137, 0.018004419633993375832}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.080281940189430453514, 0.097702954127336857915, 0.068717674384759980244, 0.047838267178665204449, 0.043271382660605303694, 0.034571413197575895371}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00019610172919627981338, 0.00020181030100052541531, 9.721123551963389408e-05, 7.9515919724251022879e-05, 3.152903608551011833e-05, -1.5281155054305934032e-05} }
Definition at line 132 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_sig51 [static] |
{ {0.013883456707760059509, 0.011790507803505339071, 2.4609763012162222395e-15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0.33358000572065177325, 0.19837044850549298558, 0.21329994540971500272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0.0026062373849642236565, 0.0026272077989507240485, 0.0025484832112267707081, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 121 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_sig52 [static] |
{ {0, 0.021754484285831678786, 0.0079969520010703034479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0.31662456185786602703, 0.25320436095234394314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0.0026259453672001680305, 0.0027192866432913216992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 123 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().
const double CSCTFPtMethods::A_sig53 [static] |
{ {0, 0, 0.010082748878246528337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0.37397019929001934502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0.002686637834141298968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 125 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt2Stn2012().
double CSCTFPtMethods::AB_mu12F [static] |
{ {0, 0, 0, 0.089491067646809183134, 0.10739646024310070538, 0.12549844133338972085, 0.1194760053165676017, 0.30626893792235526659, 0.30009410052196983099, 0.2690532347360728993, 0.23688757461948814487, 0.21899489554680626191, 0.21285418228245533978, 0.15525112596260939868, 0.1770936851403528689}, {0, 0, 0, -0.16463359422729287318, -0.18522613297525072906, -0.17065296570525056996, -0.1155394236109319045, -0.18380971440851143206, -0.1859966131117936905, -0.15845841533583629457, -0.12868208564229521862, -0.11875959710980291129, -0.13461549793851387835, -0.090885866696312114787, -0.14347961143957646546}, {0, 0, 0, 5.0479701928535670313e-06, -8.5107255627149016024e-05, -0.00031591725812981632723, -0.00010313307150067754737, 6.1998863886012596167e-05, 3.5535741450015050427e-05, -0.00033034534768735314718, 0.00025570884563717226432, -3.2430491772480606483e-05, -3.928192779951495588e-05, 0.0028259336045576349469, -0.00124297387660909117}, {0, 0, 0, 1.6276716966428210753, 1.1244502885068945464, 0.44061802755260442988, 0.68081944372417602107, 1.2892912513078853554, 1.2098030702058406582, 1.2406526312160988113, 1.2588644895814975477, 1.2343544778925670258, 0.59901494992516879368, 0.9845753793507600049, 0.72134724334000244195} }
Definition at line 64 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_mu12FME11 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0.30997988806094234349, 0.2960464576032310613, 0.26865522361643923155, 0.24306471114654951138, 0.21612598016341960649, 0.20916086000526656896, 0.14505390185826338989, 0.19626640578808879356}, {0, 0, 0, 0, 0, 0, 0, -0.18938263233962521204, -0.18099881965541908535, -0.15817156292403300455, -0.13527092529520332032, -0.11802970951212833628, -0.13142443653269073045, -0.081045302368033256268, -0.16548691953190999837}, {0, 0, 0, 0, 0, 0, 0, 1.9132754352698083493e-05, 0.0001244919158836254626, -0.00036815494148734217474, -0.0003021495594158459864, 0.00032190104529820852321, 5.9699515482881178492e-05, 0.0035011369787794933972, -0.0021251348628855359045}, {0, 0, 0, 0, 0, 0, 0, 1.2633991230895826874, 1.2237510610710955472, 1.2446734233372107603, 1.2072459880229720053, 1.2073932498298223237, 0.64342700161682475635, 1.0965614756840385002, 0.41184878672694380519} }
Definition at line 45 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu12FnoME11 [static] |
{ {0, 0, 0, 0.089491067646809183134, 0.10739646024310070538, 0.12549844133338972085, 0.11746188101535759429, 0.11365654376086815891, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, -0.16463359422729287318, -0.18522613297525072906, -0.17065296570525056996, -0.11673113772749151018, -0.096673008784020367234, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 5.0479701928535670313e-06, -8.5107255627149016024e-05, -0.00031591725812981632723, 2.8829297417277944225e-05, -3.3664459708458401629e-05, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1.6276716966428210753, 1.1244502885068945464, 0.44061802755260442988, 0.82271567628154873564, 0.65764083792276606388, 0, 0, 0, 0, 0, 0, 0} }
parameters for Anna's method 2011
Definition at line 39 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu12R [static] |
{ {0, 0.1017548888755877845, 0.13020457985822880831, 0.11777472840868662141, 0.1352735458205116259, 0.14797523226644127003, 0.14891234013414389459, 0.27354809992824791198, 0.25530642162633726544, 0.22812303598569572127, 0.20002002697417936572, 0.18418627647990021279, 0.16918688305075030298, 0.1508108314248207682, 0.11470950874198342084}, {0, -0.40835812179222591434, -0.4909339449226597929, -0.19396964458569518341, -0.18405457126044733052, -0.15348184403810183341, -0.11949446624665205352, -0.16735504431990988472, -0.15229364636923176102, -0.1292580848284842765, -0.10394284592826465163, -0.093240808678399900167, -0.073171468194201616519, -0.088574463928718608074, -0.066404462713869835677}, {0, -0.00046324193156588387276, -0.0012328343527384165272, 5.8536010291841255454e-05, 5.3175743777652564014e-05, -0.00027992198289290446886, 0.00017291608058844862988, -0.00050299670363365375, 5.1602382309461525441e-05, -3.0783724988483899057e-05, 0.00040527338575157016622, -7.4202404535834238977e-05, 0.00011377538633743067547, 0.0024019828117533849852, 0.0024540507720086741569}, {0, 0.82326825991227925439, 0.66225151266154569374, 1.6047267765109303195, 1.172660602794620921, 0.91611151466846096891, 0.923434361821059424, 1.188325655620871224, 1.1930557749505621423, 1.1956156176382155554, 1.2507536548585385106, 1.1818666483459900896, 0.74072890966654614253, 0.49759993894696635808, 1.0630007937555521202} }
Definition at line 67 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_mu12RME11 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0.27354810039733407079, 0.25530642585169710523, 0.2281232078009739761, 0.20002002697391027541, 0.18418628467434680629, 0.1691868825133146792, 0.15081083142497944682, 0.11470950819931940989}, {0, 0, 0, 0, 0, 0, 0, -0.16735504499789077837, -0.15229365225374749682, -0.12925824722117412735, -0.10394284592720609561, -0.093240817997744127044, -0.073171468346305876262, -0.088574463929812302654, -0.066404461904397707461}, {0, 0, 0, 0, 0, 0, 0, -0.00050299673411093688211, 5.1602356927429220493e-05, -3.0794024894263357945e-05, 0.0004052733857930102164, -7.420268691546845442e-05, 0.00011377542095117624751, 0.002401982811750403863, 0.0024540507098964291222}, {0, 0, 0, 0, 0, 0, 0, 1.1883256550892249415, 1.1930557391196678907, 1.1956122499877577248, 1.2507536548522568687, 1.1818664879149434199, 0.74072892184538741134, 0.4975999389532442807, 1.0630008076007997353} }
Definition at line 48 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu12RnoME11 [static] |
{ {0, 0.1017548888755877845, 0.13020457985822880831, 0.11777472840868662141, 0.1352735458205116259, 0.14797523226644127003, 0.14891234013414389459, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -0.40835812179222591434, -0.4909339449226597929, -0.19396964458569518341, -0.18405457126044733052, -0.15348184403810183341, -0.11949446624665205352, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -0.00046324193156588387276, -0.0012328343527384165272, 5.8536010291841255454e-05, 5.3175743777652564014e-05, -0.00027992198289290446886, 0.00017291608058844862988, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0.82326825991227925439, 0.66225151266154569374, 1.6047267765109303195, 1.172660602794620921, 0.91611151466846096891, 0.923434361821059424, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 42 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu13F [static] |
{ {0, 0, 0, 0.11794009048617049018, 0.14086291718874013879, 0.16139997805131156561, 0.15937656116892420788, 0.34414162356457134173, 0.34440937003010801964, 0.31471704006829814837, 0.27226322158180205069, 0.24550847587442392594, 0.24463956799494918082, 0.16276628030235296141, 0.183078101259807835}, {0, 0, 0, -0.33781826981928775311, -0.37684193029815427067, -0.3462789133929889962, -0.25060466660909758163, 0.99999999999361011138, -0.31182750009024823301, -0.25849818207822566896, -0.19230025423676194718, -0.15638199224610474514, -0.1860677216141479462, -0.089736178206281214109, -0.12591247971454427867}, {0, 0, 0, -1.8754239266677112923e-05, -0.00019673769085880689952, -0.00052669062346466261493, -0.00030449439108233132979, 0.00071230918348081078556, -0.00045941836356435766754, -0.00045256277284001311754, 0.00064215185932415489584, 0.00046541851817373622747, 0.00019049878005133037782, 0.0043442731774379211851, 0.0015460291314785047125}, {0, 0, 0, 1.2452803747346312679, 0.74944265252708708314, 0.37224767027460281543, 0.31339057767893530038, -2.0890914872066272956, 0.95830873379506731347, 1.0457163419608694888, 1.1230565694613476868, 1.1770351235140514845, 0.65014435708651741042, 1.129972103442078657, 0.68378819802357770907} }
Definition at line 65 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_mu13FME11 [static] |
{ {0, 0, 0, 0, 0, 0, 0.17684262466990949281, 0.34711584948456875033, 0.34173632193931768875, 0.31856060138741582044, 0.29169375726034846297, 0.24666606646956890092, 0.21434901698955760585, 0.22194241387027591195, 0.13650791328679393044}, {0, 0, 0, 0, 0, 0, 0.99999999999949551466, 0.99999999999457755973, -0.30995317528055632561, -0.26510423524582477084, -0.22052246537701888918, -0.1597247313884862796, -0.14032250966056744601, -0.14430798488566201621, -0.075894576731296098382}, {0, 0, 0, 0, 0, 0, 0.010426580434797315736, 0.00056720513052092998933, -0.00047916406780649806879, -0.00043513801305821104073, -0.00035934925416836774022, 0.00064159373840440422562, 0.0011012063282968072471, 0.00059066112387542329433, 0.0061369729760295480686}, {0, 0, 0, 0, 0, 0, -0.46194813956282321232, -2.1380051317667612132, 0.99475655086418368622, 1.0240107231697159751, 1.0710375546859214335, 1.1466745846418702204, 1.0634581787492956018, 0.35737857407704720636, 1.1165504043676175439} }
Definition at line 46 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu13FnoME11 [static] |
{ {0, 0, 0, 0.11479489063486028599, 0.1385846143670735886, 0.16069130395935576905, 0.16229285551120029019, 0.15970793987729367536, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, -0.31624871209539057171, -0.37204708239816158821, -0.35001738011313637822, -0.28067946142333310977, -0.22587297159275510072, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 4.5422334693538224219e-05, -0.0001534874341906974503, -0.00049456554072302828882, -0.00040362112138876319418, -0.00037532294041719521617, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1.3698214790637726068, 0.83827124867878388681, 0.35268421062422455892, 0.30966868638086236798, 0.39552380610102405578, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 40 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu13R [static] |
{ {0, 0, 0, 0.17152643870188713504, 0.18220699353677527466, 0.19718061346676321599, 0.20409261783490945108, 0.28630621673439216046, 0.29827733143097401314, 0.27230375589695204885, 0.23990484313734378174, 0.21461969319950535695, 0.20904691238932027186, 0.17455215996309358939, 0.10530527961885094435}, {0, 0, 0, -0.51329151983333287657, -0.43421697939765058205, -0.38701854807672181336, -0.29367743292763504037, -0.21320341238440754239, -0.27792002471255045082, -0.22893879370744105173, -0.17267579393834603385, -0.13655560753345002967, -0.13221415770245384391, -0.092817386598829765276, -0.047633719610788972931}, {0, 0, 0, -0.00028330256767296205581, -0.00011104889576832950495, -0.0003659472931155986178, -0.0004494825869971541348, 0.0012300659193085917292, -0.00026218872326014996304, -0.00020411464851317293609, 8.8191777707538176329e-05, 0.0004404702492616239173, -0.00067348981143074907862, 0.0026726730925728564743, 0.0067869187519593900115}, {0, 0, 0, 1.0806773148892279135, 0.81710737240426545291, 0.49165515886235822141, 0.40288815951359424616, 1.2315550399117412006, 0.86296110777384626989, 0.94745955410233306804, 1.0617206089312878348, 1.0876186592703975808, 0.81349751271060222191, 0.51174005866205685145, 1.3970393581376403525} }
Definition at line 68 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_mu13RME11 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0.28630621682529061589, 0.29827733143141249572, 0.27230375589683164517, 0.23990484313749371736, 0.21461969319969206871, 0.20904691221965984727, 0.17455215996464093497, 0.10530528191221873169}, {0, 0, 0, 0, 0, 0, 0, -0.21320341298073050562, -0.27792002471345611525, -0.22893879370711203713, -0.17267579393860862935, -0.13655560753368203852, -0.13221415752155918355, -0.092817386598587681146, -0.047633722138851357364}, {0, 0, 0, 0, 0, 0, 0, 0.0012300659344863943204, -0.00026218872327451808128, -0.00020411464851349467309, 8.8191777702590311294e-05, 0.00044047024925421437123, -0.00067348979494906663183, 0.0026726730924768165448, 0.0067869186945352134865}, {0, 0, 0, 0, 0, 0, 0, 1.2315550372405590362, 0.86296110777082257748, 0.94745955410457627366, 1.0617206089293684812, 1.0876186592684131682, 0.81349751399897141102, 0.51174005862466220851, 1.3970393153313427348} }
Definition at line 49 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu13RnoME11 [static] |
{ {0, 0, 0, 0.17152643870188713504, 0.18220699353677527466, 0.19718061346676321599, 0.20409261783490945108, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, -0.51329151983333287657, -0.43421697939765058205, -0.38701854807672181336, -0.29367743292763504037, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, -0.00028330256767296205581, -0.00011104889576832950495, -0.0003659472931155986178, -0.0004494825869971541348, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1.0806773148892279135, 0.81710737240426545291, 0.49165515886235822141, 0.40288815951359424616, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 43 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu14F [static] |
{ {0, 0, 0, 0.12104944074518421415, 0.10503732418316034936, 0.099386285225076712035, 0.15823526186568545593, 0.25605688745800425643, 0.39267951247468363407, 0.32990417209085837191, 0.29155610498631334693, 0.25993455189370084923, 0.27876104145873625839, 0.17123500452830145435, 0.1377101784898823178}, {0, 0, 0, -0.34834159047255092156, -0.3100051372552997675, -0.19689884687529440876, -0.42846101907983596968, -0.19825501228941203036, -0.69127391031064666649, -0.37799519092326222536, -0.2813623780771447036, -0.21851172477385713555, -0.29451256139301251746, -0.11968566909919842178, -0.082430041079910781887}, {0, 0, 0, 0.0006127466960683334565, 0.0018163416142308417157, 0.0023773788535300438216, 0.0015618030372482551073, 0.0074745015886553429346, 0.018200042017815356438, -0.00044263832599834499045, -0.00013173112084098321899, 0.00048044142847010538715, -0.00028331509653057088387, 0.0047044170533411542104, 0.0077579174433774081635}, {0, 0, 0, 1.8999999999207801693, 1.3811827661042299642, 1.361253443017911513, 0.16448981101549500772, 1.7211759130995385458, 0.30399083099267765196, 0.92381972077138352351, 0.98949705099683071818, 1.0305604944719717331, 0.18365768267421325732, 0.96525152167887728893, 1.1235655996998157313} }
Definition at line 66 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu14FME11 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0.21118188098880102954, 0.33402008586605308471, 0.29298980221468984286, 0.26806296448653738063, 0.23720733268363508595, 0.2510285652964933667, 0.14583302968662079091}, {0, 0, 0, 0, 0, 0, 0, 0, -0.14883704087325219656, -0.39197899608005709604, -0.28520435482868433663, -0.23819454759756183981, -0.2024802801289519727, -0.2369976701205682712, -0.086510146140783658608}, {0, 0, 0, 0, 0, 0, 0, 0, 0.010748111373072187155, -0.00054440793841566191644, -6.6117096422286744401e-05, 0.00032426109337843134813, 0.00086123563095007638242, 0.00046858791450944800496, 0.0055934740677286293176}, {0, 0, 0, 0, 0, 0, 0, 0, 1.8177576283415954883, 0.90124364385162747393, 1.0058576108118726378, 0.97434013632935245752, 0.75135849774137752899, 0.090012990328703759713, 1.1491738867249043921} }
Definition at line 47 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu14FnoME11 [static] |
{ {0, 0, 0, 0, 0.10167174785035071327, 0.072305163037876873933, 0.12811797755236814522, 0.15630771929281417343, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, -0.2851531414997146574, -0.12625245577882274195, -0.2693337001449228052, -0.35816854038946227545, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0.0016536940782984094634, 0.0032050914503555030799, 0.0017500898659728782863, 0.0014193550176488352668, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1.8999999999960794916, 1.8999999999875891721, 1.1603749006227730423, 0.36919547110219635977, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 41 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu14R [static] |
{ {0, 0, 0, 0.11411457974213083666, 0.14612498789299999125, 0.15438328053344949065, 0.17021962182813230036, 0.23217608026225655671, 0.17425716827684778476, 0.28951128865791975198, 0.26122027861775976021, 0.23988161223077880679, 0.21857963541170638555, 0.15353493229270298581, 0.099522853724256579722}, {0, 0, 0, -0.32211539883453449429, -0.3332077022119345755, -0.28947013547326555516, -0.31678412927379157038, -0.20453745460807634671, -0.15291198578472323111, -0.37098278728491984602, -0.2755329314623077841, -0.22166866616574540383, -0.17253577136159981009, -0.10047612457203594638, -0.044726394456946053091}, {0, 0, 0, 0.0021189308480414714535, 0.0017232488622970817526, 0.0014181868364706309241, 0.0020581588744611055593, 0.0075216673068132632735, 0.0091493927895737042766, -0.00026846347791510813061, -0.00028436387259422706009, -0.00033797061809048655314, -0.00032290147294203845477, 0.0043983126453652227755, 0.0087398105487928243185}, {0, 0, 0, 1.8999999998213816799, 1.8999999999320695832, 1.2588510283946776624, 0.91969335359675130626, 1.402123244759204912, 1.6613910381353069745, 0.73820877543905039087, 0.87917754884863041909, 0.86376276633290960394, 0.6479179238685032205, 1.0974109668483333913, 1.4759522529227795395} }
Definition at line 69 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu14RME11 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0.2321760802583729133, 0.17425716826944270821, 0.28951128850821888916, 0.26122027532891867185, 0.23988161223010590062, 0.21857963541150710052, 0.15353493229255876784, 0.09952290576921750398}, {0, 0, 0, 0, 0, 0, 0, -0.20453745460356828612, -0.15291198577104561651, -0.370982786914061613, -0.27553292468971468665, -0.22166866616439959148, -0.17253577136118664059, -0.10047612457180872536, -0.044726719317877430826}, {0, 0, 0, 0, 0, 0, 0, 0.0075216673069431437548, 0.0091493927899154794958, -0.00026846347496581161613, -0.00028436379808289408404, -0.00033797061806371863149, -0.00032290147294330767604, 0.0043983126453711971632, 0.0087398021641503856327}, {0, 0, 0, 0, 0, 0, 0, 1.4021232447364970763, 1.6613910381816205941, 0.73820877609189006208, 0.87917756535000690654, 0.86376276633863802168, 0.64791792386852542496, 1.0974109668506901727, 1.475947804634221372} }
Definition at line 50 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu14RnoME11 [static] |
{ {0, 0, 0, 0.11411457974213083666, 0.14612498789299999125, 0.15438328053344949065, 0.17021962182813230036, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, -0.32211539883453449429, -0.3332077022119345755, -0.28947013547326555516, -0.31678412927379157038, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0.0021189308480414714535, 0.0017232488622970817526, 0.0014181868364706309241, 0.0020581588744611055593, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1.8999999998213816799, 1.8999999999320695832, 1.2588510283946776624, 0.91969335359675130626, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 44 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_mu23 [static] |
{ {0, 0, 0.040640362633691015648, 0.04143975404558240816, 0.04469283410800238554, 0.050265056377639047436, 0.057855720910264404888, 0.040911062522024761734, 0.054867130272661442103, 0.054846907254368672258, 0.046280965740868151848, 0.038682214878367017497, 0.047358821703414828719, 0.037269955397813366027, 0.015397788631092694522}, {0, 0, -0.30371495175799717581, -0.27234040198084696893, -0.27046501071411871431, -0.26067833814957336314, -0.26954736490580177843, -0.1426457415021130104, -0.23307410221367635961, -0.18779763084602629775, -0.11810763599908662147, -0.072929591279204522558, -0.079006610877654537273, -0.042031527428910676891, 0.46158743398909729549}, {0, 0, -0.00025828047348465653929, -0.00027808828382601912237, -0.00020419752504549583318, -0.00028862468215624839229, -0.00051268154965345151715, 0.00019102278127906206339, -0.00054091437361434690362, -0.00041573301097917752687, -0.000207953040744469843, 0.0001988367837501522125, -0.00031823156270582506067, 0.00033071671524661735465, 0.00045799410811140088724}, {0, 0, 0.72752266254137853974, 1.0478492412845885617, 0.60915246815134527214, 0.26469232068298520488, 0.036425986309331782886, 0.7132004473344412121, 0.4197273677305951578, 0.44676889254736196211, 0.60643361041043153392, 0.7258089895367305644, 0.21165518657016521575, 0.40994342351793594537, -4.9999999982804226306} }
Definition at line 70 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_mu24 [static] |
{ {0, 0, 0, 0.053011865513752004508, 0.062832623407280213668, 0.052170541013462037871, 0.041027537810126024631, 0.040854761324689348179, 0.071402550009543430676, 0.076745077029754082965, 0.079391267110108354466, 0.061688220309377483908, 0.067651891693652002613, 0.053009728431201032228, 0.046716301280283124842}, {0, 0, 0, -0.3616747887108062165, -0.45141581345418907434, -0.28705970459229912528, -0.2938013269353861312, -0.27050961323017558291, -0.55762354970371696972, -0.39024523502067204328, -0.31496123297823475085, -0.1983420756482438263, -0.17915991058479247, -0.1008896787182539112, -0.055261431747836577133}, {0, 0, 0, -0.00011948386184051261938, -0.00041171189171825890067, 4.5077223215480308541e-05, 0.00064791923408717482999, 0.00079626044366867831676, -0.00020119232396926791046, -0.00036565327240405023478, -0.00092893743231344070178, -0.00011554026166780945835, -0.00037143262941893379287, 0.00034827979969636918729, 0.00038063971268359605635}, {0, 0, 0, 1.2751116233058998883, 0.70084162417453721439, 0.90478318682312330878, 0.6800676895845826353, 0.50537353022178055362, 0.054689818098332523832, 0.35827703859892973126, 0.37385157757276732404, 0.50609881884151997067, 0.24620464307424153039, 0.33739943648039177893, 0.61708181749152601903} }
Definition at line 71 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_mu34 [static] |
{ {0, 0, 0, 0.019865692759581058541, 0.028670254062000518486, 0.0062000769568667634529, 0.059000642112303595954, 0.021075145497371470388, -0.058857073670921543351, 0.022193946634618946789, 0.032900966871925077517, 0.022468452340586538007, 0.017925131684213620187, 0.021562743542542832376, 0.0096332062965229867807}, {0, 0, 0, -0.16028204223466294143, -0.24129340031911647446, -0.12167938296678502963, -0.48887217760468759664, -0.41129235965903232497, -0.0044574375495286568116, -0.20497526229305951251, -0.20945390137984670753, -0.133016919476993567, -0.09164367838969658675, -0.078156831196806775264, -0.027061677954361280235}, {0, 0, 0, -7.2934093657490810247e-05, -0.0005630858306214800782, 0.00056399922304054862787, -0.0014284170932996325277, 0.00026420696996418537115, 0.0019432020683277269335, 5.0465562334091047629e-05, -0.00051405817655614813658, -0.0001476820743599914173, 6.32019763480822774e-05, -0.00034513677440660433691, 0.00057652344564092553817}, {0, 0, 0, 1.4981302006935997007, 0.74196319813429467693, 1.0145720473926143068, -0.61744054266046588531, -0.95877986541993265313, 1.2494500863514628186, 0.39038293713197214085, 0.24923581566989111424, 0.37358913393430570604, 0.3656156971405563616, 0.18480549227136852664, 0.58966094664056056818} }
Definition at line 72 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_mu5 [static] |
{ {-21.733893412375444143, -20.005957733042006197, -17.376452159382715479, -17.985193664266713398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {16.418302072038855499, 13.469008846185953843, 12.429426411511585115, 13.9963454706980297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {-0.055045848107516816283, -0.040869122792827908275, -0.025980934073070366397, 0.24210701585155450233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1.8999999999801029382, 1.7642902553920492004, 1.8222993024358542513, 1.7990108859658437979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 76 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_mu51 [static] |
{ {0.30091153701686212951, 0.21726754617902110933, 0.1456728385238945378, 0.043250093988852815474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {-0.29502353719653978681, -0.19109266041343297982, -0.12108184175216289702, 0.72288502126591014374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0.00012873560389623916068, 4.9291809907909536412e-05, -0.00021151799450913838594, 0.00032645001523661659488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1.5787330473223266658, 1.6594505002776189784, 1.8999999999615408974, -4.9999999999974642506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 73 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_mu52 [static] |
{ {0, 0.28757434234141143747, 0.22290303793570814817, 0.17273536730279337448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -0.42706501927164292054, -0.32770564806566382376, -0.24329418737097086023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -1.4010615867360699891e-05, -0.00025119211587389166183, 0.0004052999487437024392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1.3739531719045416924, 1.2264113571191062046, 1.5786429063982712062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 74 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_mu53 [static] |
{ {0, 0, 0.26147063359849342934, 0.21941755760197284575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -0.62831662471165483641, -0.5360020970162280296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -0.00054456170542904129128, -5.2823850021272572564e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0.90160457604797583642, 0.89939017343329996645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 75 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho123F [static] |
{ {0, 0, 0, 0.22630471857151249204, -0.013379305064225920779, -0.095121706310405507168, 0.090200403370782444856, 0.068042852566437661554, 0.079571614226972439687, 0.088219335458001243988, 0.11303324434571153378, 0.10710141493712137251, 0.026455786925147606325, 0.046817553749737651769, 0.039162183157051222437}, {0, 0, 0, -0.10527570667400622251, 0.12879264930099568187, 0.15092684710998546804, 0.007231087835331297814, -0.015515942667432135182, -0.028054920465640682814, -0.025513746642979444335, -0.038661914393439029969, -0.033319542824023648531, 0.017459601922314698513, -0.015147480411169431461, -0.0040274062679487923622}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 92 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho123R [static] |
{ {0, 0, 0, -0.50534064712241677508, 0.15886026549683709974, 0.24117112423743908289, 0.19155165906038881807, 0.082144222540501604657, 0.079920425013872073428, 0.10933442504482954183, 0.11216820513068381793, 0.14139192912438111605, 0.081067695752670754228, 0.068628530591297767782, 0.105151142748966267}, {0, 0, 0, 0.4061798017233729241, -0.036885583937586396974, -0.10109132139709975373, -0.093632233538226902758, -0.023232568114674286008, -0.0085349848344330059985, -0.030347560681224468315, -0.04053489453902145434, -0.065178885697974128788, -0.016390211022617402759, -0.016822502733541477155, -0.062227091495819800149}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 95 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho124F [static] |
{ {0, 0, 0, -0.58347458948865937867, 0.40592680503129663361, 0.01641809001879873664, 0.11475806753693058859, -0.18048876743928712885, 0.0068468168498605876462, -0.030777506509684072339, 0.054741994048828152009, 0.097187337842417537148, 0.025067334674935798366, 0.075946312071830973656, 0.085523782829277653073}, {0, 0, 0, 0.4258108214245352463, -0.23106738109445768004, 0.052661321450187599524, -0.038151728575192320192, 0.1458955237360785584, 0.024582860384737240111, 0.040630008358215272124, -0.0014353305569224008437, -0.020931085629827921035, 0.029892828324785188088, -0.014638662581363729928, -0.031371352411171941899}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 93 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho124R [static] |
{ {0, 0, 0, -0.36581744112230984989, -0.016324931472307423197, -0.208168363607231649, -0.15220265819093764526, 0.049548837240151813455, -0.046656697978846251029, 0.037095174357064712722, 0.035330048922600804095, 0.074157637081893032494, 0.036436813593929799626, 0.14420567874993162061, 0.19071920385708884815}, {0, 0, 0, 0.29009232235255510979, 0.053824155318333753717, 0.11835331987655291208, 0.10356729636019955387, 0.0067230075967922332814, 0.11622283669531324746, 0.0088495323612498635879, 0.010530505354448004701, -0.015216911572413798284, 0.029269517338766565251, -0.060899379503146208736, -0.10887509306211247406}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 96 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho134F [static] |
{ {0, 0, 0, -0.18585738888975150696, 0.13519522007618323123, 0.28221167590680890092, 0.18146765887707849707, 0.1244677849160726324, 0.31105116640597857414, -0.16202243055042145348, 0.039896884577315043507, -0.37248330593247946929, -0.17019868779262120606, -0.029323371944494535518, 0.149148671625682544}, {0, 0, 0, 0.14049664985969073649, -0.0029515280689123499225, -0.14984825183404815174, -0.053408519838017261272, -0.055260431588822184201, -0.24961446622059946243, 0.16914774696773446361, 0.026377838114293443439, 0.38350727297664199966, 0.20884886406321828689, 0.088477254929584317478, -0.049311016665284521099}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 94 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho134R [static] |
{ {0, 0, 0, -0.32424288544586399308, 0.065574046096960866836, -0.49534925125377193833, -0.41401921450752909859, 0, -0.054897105600349827004, -0.054121337557626672532, -0.29310761272328111904, -0.15103243717763431553, -0.24914325132296299969, 0.07909932691386906134, 0.12529327248093721781}, {0, 0, 0, 0.27459892265632174224, -0.0040433910166926267937, 0.37706697672498318274, 0.4151086501992986566, 0, 0.096654494887792055668, 0.085974946019564915667, 0.29549944312402365298, 0.18974566842525927846, 0.29979099594550706609, 0.0234247525877835025, -0.040829919454425725456}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 97 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho234 [static] |
{ {0, 0, 0, -0.66569231418957641733, -0.16487806934241325263, -0.31385730203879769196, 0.52187103693478709143, 0.37489404891915861784, 0.29994883232428287689, -0.12176552846395131968, 0.023619718470720949682, -0.1231122737596004324, -0.013562360832243002678, 0.153600562632957377, 0.21939787654152581586}, {0, 0, 0, 0.5208746747250042608, 0.18612484901444453778, 0.27332732398493131409, -0.23999307292846960848, -0.25179957455310036929, -0.18381974435716647021, 0.20095666079537191639, 0.099861239186999406492, 0.23937023494386369671, 0.16677027620912032724, 0.030275177235765518557, -0.0069954356449047749161}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 98 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho512 [static] |
{ {0, -0.10435343690000213612, 0.057141083389519162217, 0.023329220607928163878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0.061466220874112284522, -0.001239563289620342415, -0.028051900619679361049, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 99 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho513 [static] |
{ {0, 0, -0.089534856488077518843, -0.084337975857153926751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0.058028755308100914145, 0.033446616671726735193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 100 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho51B [static] |
{ {98.146234211833089489, 199.99999999999047873, 199.99591177997166369, -3.3007364270967505249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {-198.36420128721084666, 199.99999999971919351, -68.130825896452520851, 5.6331862234953877788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {138.59040321786872596, -199.99999999975074161, -75.103918757648003179, -3.3878388130039773785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {-35.107257005538130556, -78.172491143917071099, 0.25111444908575936141, 0.62856545928460827444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {3.1832394351004249522, 4.981276803141434506, 4.5629636390469778817, 1.1898949050757507973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 102 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho523 [static] |
{ {0, -0.48242311538441046137, 0.25779875833780019345, -0.45638836512748476304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0.28941463846496195966, -0.15113497713160561897, 0.36832995181674366147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 101 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho52B [static] |
{ {0, -7.746830214751867949, -0.46812267787622985349, -0.41343591928047368489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 12.920758877131683917, 2.1193678084821674368, 0.85191889903041662091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -7.1168839095051934507, -2.1008659109588445624, -0.69884960118479577673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1.239800569290119725, 0.49720027595717164459, 0.15699136302342500682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1.2582151000263612772, 1.2238929501776998343, 0.88233142702097189236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 103 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_rho53B [static] |
{ {0, 0, 105.35018363918895545, 62.071727282426813588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -180.24672833591944254, -170.8283169841847382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 109.89608697213377297, 171.57904987557179766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -25.005328082184355765, -60.507830469988306277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 3.0701361165201541681, 4.0540449945183194558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 104 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_sig12F [static] |
{ {0, 0, 0, -0.0076412310580529349199, 0.013106555291144636813, 0.025063779434470568469, 0.01934375127428624927, 0.053326545670601563365, 0.0093197497326487303143, 0.0564902513339693782, 0.032206519204039697757, -0.035023660563668873591, 0.028213900213068406758, 0.022784114759202493683, 0.042615038347082211112}, {0, 0, 0, 0.11492024270448454593, 0.021102150917381608253, -4.2436183419689021967e-08, 1.3095720405656430252e-08, -0.037472879155788924033, 0.84044166517252949511, 0.15966830269465748238, 0.37149319186299001316, 0.84416754574977770353, 0.033343799149249016278, 6.6539790067633719506e-08, -1.3686068460749822862e-06}, {0, 0, 0, 0.0021104070024291496713, 0.0018253795336503611177, 0.0016311827288382637312, 0.0021015267562687076422, 0.0014715412047011698984, 0.0018518237493182830404, 0.0011606808553826068482, 0.0013698268430796098002, 0.0034437807938464026943, 0.004439146916271847175, 0.0056493862115556715831, 0.0036722950074267479183}, {0, 0, 0, 0.90082232171804188514, 1.4715701060292549762, 0.38179435996930433106, 0.90052675260749392994, 1.8999999999893364411, -3.1887755118603267057, -0.93952603198035322674, -1.4200273548894686293, -1.3313935786554595975, 0.84940608722578914147, 1.5495399676596248728, 0.1693217499087649458} }
Definition at line 78 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_sig12FME11 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0.05458876370405055245, 0.014223815371885261197, 0.051739718849001303802, 0.0043781295277517066206, -0.073251670679359628946, 0.016350518117378025351, 0.024953176408713924339, 0.018013937106717257258}, {0, 0, 0, 0, 0, 0, 0, -0.037781377479947614306, 0.80848693770251023327, 0.1697030494994675176, 0.78252633158781936817, 1.2537997106918414847, 0.10612967759966565606, -9.206320800321521336e-08, 2.2213840653040328732e-07}, {0, 0, 0, 0, 0, 0, 0, 0.0013753615162960116606, 0.0017341536986479849473, 0.0013675349666495530479, 0.0017609996279085446749, 0.0046166207484297843919, 0.00495761383888420476, 0.0050988257402144569752, 0.0064203615570604640264}, {0, 0, 0, 0, 0, 0, 0, 1.8999999999988979038, -3.2324234827503541823, -0.81829590015205422304, -2.7507108181454631435, -1.7359928981630718958, 0.40689058927975751967, 1.4828812725128097672, 1.5951851243514818535} }
Definition at line 57 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig12FnoME11 [static] |
{ {0, 0, 0, -0.0076412310580529349199, 0.013106555291144636813, 0.025063779434470568469, 0.0087226608724667777789, -0.0012964802596261630445, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0.11492024270448454593, 0.021102150917381608253, -4.2436183419689021967e-08, 0.072972237191400349254, 0.19729003982512077764, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0.0021104070024291496713, 0.0018253795336503611177, 0.0016311827288382637312, 0.0024898068482018614021, 0.0023171447579502014481, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0.90082232171804188514, 1.4715701060292549762, 0.38179435996930433106, -0.31089206041852102125, -1.8605481532163505864, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 51 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig12R [static] |
{ {0, -0.024837587047074519142, -0.038443755326854262, 0.010789426545740953695, 0.016714316978066363906, 0.036977680482507623017, 0.023903736191005935108, 0.029083895240537907534, 0.029312604029813168344, -0.035917405187485026974, 0.026066086885230148329, -0.032213952427413247714, 0.034901078113956519877, 0.038079760873761171747, -0.087892299405550919356}, {0, 0.44916461963533510504, 0.54293566642571933212, 0.018977673263371359902, 0.007932079958008179596, -9.4309201558850225267e-08, 5.2699963039304353885e-09, 0.41762122295566816987, 0.24571510737505500299, 1.3824483935622682296, 0.59561566602531357262, 1.3203480960823190671, -2.930413320681446443e-08, 6.1897109794855492693e-08, 1.3315902039120812717}, {0, 0.0022745078222873717048, 0.0026499504248443657255, 0.0019347176520538985831, 0.0018882668324742895791, 0.0015313004238581028917, 0.0027721700163088574924, 0.0019308246515342586576, 0.0018496886131083114559, 0.0027736328912367847269, 0.0017558352148668789246, 0.0025111400562838814485, 0.0029777661392665598361, 0.0043603280275831372836, 0.0076843830377456264283}, {0, -0.87241910961768964761, -1.0549928243465211963, 1.8999999999485288615, 1.6191292705343984792, -0.63912490618228612327, 0.6398194632982362462, -2.0511755324568126113, -0.82689751226606089674, -4.4494753423464956654, -2.9771639242617897736, -4.40606108289291587, 0.96642021015404266926, 0.27486695110845749124, -4.9999999999409219242} }
Definition at line 81 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_sig12RME11 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0.029083895221947490134, 0.02931261189231387787, -0.035917405392017993926, 0.02606608527812858539, -0.032213952425992904705, 0.034901077580037881409, 0.038079609520293045133, -0.087892299038559315583}, {0, 0, 0, 0, 0, 0, 0, 0.41762122325588330041, 0.24571503336772770876, 1.382448398827999192, 0.59561568267877507132, 1.3203480961328621923, -2.9132130347376411494e-08, -4.2309101866118761781e-07, 1.3315902017409027014}, {0, 0, 0, 0, 0, 0, 0, 0.0019308246518827238379, 0.0018496885043595501577, 0.0027736328929315792052, 0.0017558352623714590553, 0.0025111400562270263202, 0.0029777661938234362138, 0.0043603459843407146868, 0.0076843830249820627848}, {0, 0, 0, 0, 0, 0, 0, -2.0511755338229731294, -0.82689722791688569092, -4.4494753588966791114, -2.9771639615408234114, -4.4060610830752349187, 0.96642022916504122243, 0.27488639218488036819, -4.9999999999412514384} }
Definition at line 60 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig12RnoME11 [static] |
{ {0, -0.024837587047074519142, -0.038443755326854262, 0.010789426545740953695, 0.016714316978066363906, 0.036977680482507623017, 0.023903736191005935108, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0.44916461963533510504, 0.54293566642571933212, 0.018977673263371359902, 0.007932079958008179596, -9.4309201558850225267e-08, 5.2699963039304353885e-09, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0.0022745078222873717048, 0.0026499504248443657255, 0.0019347176520538985831, 0.0018882668324742895791, 0.0015313004238581028917, 0.0027721700163088574924, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -0.87241910961768964761, -1.0549928243465211963, 1.8999999999485288615, 1.6191292705343984792, -0.63912490618228612327, 0.6398194632982362462, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 54 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig13F [static] |
{ {0, 0, 0, -0.016313221502792758094, -0.0012344271616210600317, 0.022739050214132340566, 0.019894322103056659434, 0.070152538754905693907, 0.079150371235280320148, 0.079140295486563524974, 0.073877518420634002982, 0.082767871936852088766, 0.021369139940037504971, -0.16477473035652481781, -0.055605012351420450567}, {0, 0, 0, 0.40633016978672931163, 0.31906794350617523337, 0.18604815325310422591, 0.22274309425577301647, -0.038098997442242876765, -0.054611240400435009934, -0.050739779309414811959, -0.040691137768363160043, -0.046730053313388586478, 0.34160850069918163863, 2.4811837846155828657, 1.1192582255168381788}, {0, 0, 0, 0.002149342213264975824, 0.0019487436377840527436, 0.0015505100309095498287, 0.0017303935347270330437, 0.0012782681837905638701, 0.00077081684260600570775, 0.00078212255888550081661, 0.00085709016208379811951, 0.00040671635301994584974, 0.0047052241934661294398, 0.0091387563643038176309, 0.0065810423040581775625}, {0, 0, 0, -0.47422656465701568118, -0.40214476680739164038, -0.807446632577722756, -1.1159653538458467192, 1.1939302604989951995, 1.2565879679975411332, 1.2135620508983242516, 1.3126461466411822876, 1.3303466630446105778, -1.3225160658785197754, -4.99999996608921915, -3.3146932668018336265} }
Definition at line 79 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_sig13FME11 [static] |
{ {0, 0, 0, 0, 0, 0, -0.19347059395018284533, 0.072568004970527941189, 0.08577237659734933406, 0.078682638529076837086, 0.077062920521249994588, 0.080098726616512086474, 0.023748955156449799708, 0.015834208336261056116, -0.021587059944354128338}, {0, 0, 0, 0, 0, 0, 2.6546929735503304038, -0.040973653768088071081, -0.063777717641833361895, -0.050952537148763105135, -0.044007209248372716748, -0.044262064708301115945, 0.29785332091460725579, 0.71835272096206526093, 0.65633476797761147736}, {0, 0, 0, 0, 0, 0, 0.0065104044193550428959, 0.0011700415681633554756, 0.00045437269348538639104, 0.0008801332589677031415, 0.00078367838118213598627, 0.00060453583918787642728, 0.004657287607776092013, 0.0037849066904824596111, 0.0061259831222526071187}, {0, 0, 0, 0, 0, 0, -4.9999999979557490093, 1.1707517726253902079, 1.0992454619450249265, 1.2206213897813062985, 1.2578764060460077001, 1.3625276752124573232, -1.0956263938322794438, -2.8508701454429501432, -2.1472735770040620729} }
Definition at line 58 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig13FnoME11 [static] |
{ {0, 0, 0, -0.013922695503875197331, -0.0018020343253406317062, 0.017121560844724798001, 0.018609272384097541586, -0.0050380425848817458542, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0.36952186524609842433, 0.29771940602043445168, 0.25881377301982183559, 0.21522443888607742379, 0.59520725339836588752, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0.0021171146723497585689, 0.001962910013039776292, 0.0016295699065661407162, 0.0017542445121842159018, 0.0018291018059847885362, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, -0.24903532893487495548, -0.20762623792196052697, -1.23723285975173658, -0.93877564336741559092, -2.7137466589111389759, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 52 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig13R [static] |
{ {0, 0, 0, 0.0036225404374523491324, 0.020602869778294785608, 0.031371735116656827846, 0.044385023713376312027, 0.069382928901304388725, 0.062546773237833669379, 0.066219648548455148362, 0.066114165216842671335, 0.064968538738919279218, 0.051540701111634862341, -0.14520516686903245374, -0.029300157343301824753}, {0, 0, 0, 0.40723755341312423139, 0.24719809506286585798, 0.23886286984905105713, 0.092388265632692603835, -0.038083245108582644556, -0.028685880355116981366, -0.031288010457665590969, -0.03072550558016601957, -0.028439782714834840882, 8.984728870169156334e-07, 1.7723836216527502074, 0.79014046453097108724}, {0, 0, 0, 0.0018900875181423510037, 0.0016683560130446085414, 0.0015517088923086459762, 0.0014400104759778459274, 0.00031828667387254205856, 0.0012881264560692922555, 0.00092903731815355522061, 0.0011795342366973096335, 0.00083538332113278278117, 0.0027329868075049237874, 0.0097615976878032660602, 0.0062076155003686038503}, {0, 0, 0, -0.50487582216370696653, -0.21797446389232158492, -0.76054681766358056549, -0.16793042826918122556, 1.3727842428768588512, 1.5374702497476731011, 1.4476836940468174042, 1.4342564113548856852, 1.3613055688979065483, 0.85184694861412824096, -3.9945473104690254473, -2.8070030811132413717} }
Definition at line 82 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_sig13RME11 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0.069382927814675421363, 0.062546773192992718982, 0.066219648548532128451, 0.066114165177748651647, 0.06496853782135392219, 0.051540701102725301752, -0.14520516691085255667, -0.029300158926639723045}, {0, 0, 0, 0, 0, 0, 0, -0.03808324381918145457, -0.02868588030414172263, -0.031288010457747920945, -0.030725505585511597717, -0.02843978176922726947, 8.9697287389278734793e-07, 1.7723836220217532578, 0.79014048067174824652}, {0, 0, 0, 0, 0, 0, 0, 0.00031828670642815944016, 0.0012881264558822541535, 0.00092903731815034164537, 0.0011795342397226430894, 0.00083538336551440930174, 0.0027329868075334912136, 0.0097615976891543883992, 0.0062076155203765765594}, {0, 0, 0, 0, 0, 0, 0, 1.3727842579605455953, 1.5374702505093122973, 1.4476836940454602676, 1.4342564093482235155, 1.3613055874742052698, 0.85184697646817630901, -3.994547310920665506, -2.8070031114324471844} }
Definition at line 61 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig13RnoME11 [static] |
{ {0, 0, 0, 0.0036225404374523491324, 0.020602869778294785608, 0.031371735116656827846, 0.044385023713376312027, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0.40723755341312423139, 0.24719809506286585798, 0.23886286984905105713, 0.092388265632692603835, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0.0018900875181423510037, 0.0016683560130446085414, 0.0015517088923086459762, 0.0014400104759778459274, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, -0.50487582216370696653, -0.21797446389232158492, -0.76054681766358056549, -0.16793042826918122556, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 55 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig14F [static] |
{ {0, 0, 0, -0.023008179953388042255, -0.087196623845599563474, 0.014221968418245287125, -0.021787486380662964697, 0.066204099694590276548, 0.13000102518515968542, 0.086982120087735009806, 0.086006702272218293892, 0.090001124258988041138, 0.013343436845426187576, 0.058197437679117815235, 0.015055422275464733217}, {0, 0, 0, 0.58165240914811378037, 1.6572607614650631813, 0.26374858984348420465, 0.56929114216912790614, -0.031761470721266109318, 6.8045996289272520086e-06, -0.040675205849149999315, -0.038282822732629118168, -0.041914122856581741139, 0.73743983985226857492, -0.015956321538818291073, 0.31976184596833290286}, {0, 0, 0, 0.0021194192496740956247, 0.0031051396726804536899, 0.0016030344438190185716, 0.0037337124950505506081, 0.00038923034858751352164, 0.00435858958532461295, 0.00085195563700394898957, 0.0011709394391764601367, 0.0007183252935922569693, 0.0048589598885515790372, 0.0035711294225182332179, 0.0063024666771318840416}, {0, 0, 0, -0.11185686895850970035, -2.8414639600328577274, -0.10356160152745381986, -1.2383039973901615038, 1.8999999999999264144, -1.1268332104959208895, 1.3399041969100440319, 1.3441201753115872286, 1.4026191965547902818, -2.9935330315178338978, 1.8045262655928504536, -1.0659192090967317679} }
Definition at line 80 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig14FME11 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0, 0.0011704660991897508117, 0.084739514416067682201, 0.086139578586588813613, 0.093199773864805768309, 0.0068597584931722067197, 0.073137137801632320921, -0.024117519905137906056}, {0, 0, 0, 0, 0, 0, 0, 0, 0.7338374554546823747, -0.036989032906862853722, -0.038391760412970953042, -0.046077469375633541004, 0.62423005995004055002, -0.040314539852839455236, 0.63248947781334297069}, {0, 0, 0, 0, 0, 0, 0, 0, 0.0031924502818212936207, 0.0010331185400558220815, 0.0010342430652703427443, 0.00092674943585657754141, 0.0050760196464007447531, 0.0032319531506008868788, 0.0067125188107654068514}, {0, 0, 0, 0, 0, 0, 0, 0, -1.785448670968939, 1.3255257799041022526, 1.3571670682651415518, 1.3337095100618956423, -2.0375413343465438309, 1.4881244856244408847, -1.5048835864460361478} }
Definition at line 59 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig14FnoME11 [static] |
{ {0, 0, 0, 0, -0.049226069782944893716, -0.05447625811386536121, 0.024782117383430092572, 0.0087723204390127967195, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0.96194395556167033856, 1.9107390804546595664, 0.10243277620694382635, 0.29010825363315317915, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0.0025849149683154332667, 0.0022908589943121454233, 0.0017080431015829389101, 0.0022045212844627971524, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, -1.2932328975948934602, -4.7562023014669927434, 0.78711144534012145169, -0.57517454556474645333, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 53 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig14R [static] |
{ {0, 0, 0, -0.035861540596622137889, -0.1163451242952821818, -0.3223054960806409075, 0.028427718090213778546, 0.082096556211394805525, -0.15497655162567502973, 0.077768957491548482142, 0.079360069813406791672, 0.070390471478570457164, 0.045116757562121037606, -0.064677236200079091244, 0.042980998502111025794}, {0, 0, 0, 0.91272061044138930175, 1.0649835191592700312, 3.75045883898615795, 0.20554379357162461117, -0.046354224360297492658, 3.4599916691801695379, -0.029070628890768772379, -0.03047627128290695056, -0.02335627487211913364, 0.42581999019359662029, 1.1914459601497096042, 0.11545322117611778179}, {0, 0, 0, 0.0023100741888551377598, 0.0065631885708627574205, 0.010122343115052657297, 0.0021541859801294522929, 0.0018078552644429368712, 0.0040217835853228389373, 0.00086395925415043829752, 0.0010071371561587601478, 0.0010978456762463116234, 0.0028425080621485550661, 0.0071491121463381828924, 0.0050018423505071209906}, {0, 0, 0, -0.85246870399928331707, -1.26158946908596592, -4.209205295019181392, 0.071706289987386498397, 1.2752968417552010827, -4.9999999999938600226, 1.5920301264071463621, 1.5139604617023065813, 1.5241944088777494848, -2.2799952377707408679, -3.0288053889674522168, -0.35716203827983550312} }
Definition at line 83 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig14RME11 [static] |
{ {0, 0, 0, 0, 0, 0, 0, 0.082096556211616628085, -0.15497763380540566236, 0.077768957501462190884, 0.079360215708304482352, 0.070390471145737557035, 0.045116756706396796139, -0.064677235510244679428, 0.042981004219577227665}, {0, 0, 0, 0, 0, 0, 0, -0.046354224360547445494, 3.4600023508388892957, -0.029070628904851493479, -0.030476400557346697284, -0.023356274628402451388, 0.42581998625965733485, 1.1914459601216282891, 0.11545316275932009098}, {0, 0, 0, 0, 0, 0, 0, 0.0018078552644396556418, 0.0040218048707196616537, 0.00086395925657936829302, 0.0010071336547866846251, 0.0010978456712284635072, 0.002842508081006394835, 0.0071491121214516993934, 0.0050018422461340821331}, {0, 0, 0, 0, 0, 0, 0, 1.2752968417470296192, -4.9999999984414591481, 1.5920301262211007387, 1.5139579024840714716, 1.5241944165676217793, -2.2799951898153256735, -3.0288054012274616689, -0.35716168503710210569} }
Definition at line 62 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig14RnoME11 [static] |
{ {0, 0, 0, -0.035861540596622137889, -0.1163451242952821818, -0.3223054960806409075, 0.028427718090213778546, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0.91272061044138930175, 1.0649835191592700312, 3.75045883898615795, 0.20554379357162461117, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0.0023100741888551377598, 0.0065631885708627574205, 0.010122343115052657297, 0.0021541859801294522929, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, -0.85246870399928331707, -1.26158946908596592, -4.209205295019181392, 0.071706289987386498397, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 56 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().
double CSCTFPtMethods::AB_sig23 [static] |
{ {0, 0, -0.010357268292725162889, -0.016380566175621592839, -0.019840699509577841564, -0.0086381386262834487788, -0.003374013086892733819, -0.011814434815520722527, -0.00084060561010774765417, -0.017179591290799121894, 0.0035639959717427907582, 0.0047700899414562444867, 0.010577222576560912568, 0.02059122419865432041, 0.011800502388303060752}, {0, 0, 0.14187419330052780664, 0.23041504331599421684, 0.31155426692107951459, 0.26259379394895659976, 0.22004268983078550947, 0.34945904479011519195, 0.26666091393686436328, 0.38600077292544848762, 0.18137548923438057136, 0.12968791855407682534, 0.083124796029554012811, 0.010205021983518632739, 0.071807703627737515251}, {0, 0, 0.0021465575441230368842, 0.0022224405572812359205, 0.002251545746496887504, 0.0020929103385102986942, 0.0020355680620528313757, 0.0020702424442080634773, 0.0018383336874655056836, 0.0025004017593913750554, 0.001949774989293934788, 0.001939959052276510592, 0.0017195026729185311498, 0.0017139698182589511305, 0.0019431688340545527453}, {0, 0, 1.0630745945983459677, 0.3265773132215800123, -0.65134529804641994044, -1.0524984197072553282, -1.0511032049676600764, -1.8483720507053891247, -1.3389601882033761449, -1.8551069091565570712, -0.98414331636612584209, -0.6063730875586622604, -0.38865902654376205394, 0.43290122641744543941, -0.53818963658092677793} }
Definition at line 84 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_sig24 [static] |
{ {0, 0, 0, -0.019324652110983078085, -0.012002425151063148695, -0.02231499394993846988, -0.020935767372829247601, -0.066886386651832344108, -0.04726302695322702474, -0.04612160370322201941, -0.0015531365858601525916, 0.013723579428071824154, 0.016617430908367349096, 0.030685502798890051251, 0.002966505822064327124}, {0, 0, 0, 0.38549899615915406148, 0.32619220210735977439, 0.34706342932948464064, 0.68304114341992616666, 0.9242780677421167379, 0.9319676477585573382, 0.81979381283063590402, 0.4452794101956150663, 0.25406245303464969343, 0.16553792723142907173, 0.11438558724198649719, 0.32271248995562107353}, {0, 0, 0, 0.0022171043021711415305, 0.0021520852248391748179, 0.0029359514546444223822, 0.0021275297531913790229, 0.0033328143360110804201, 0.0024627396815788253105, 0.0037704003574912637285, 0.0023868429840302176834, 0.0020064709921131366512, 0.0021463956760972590677, 0.0015026596429240307931, 0.0023198792169650144825}, {0, 0, 0, 0.086888271968145289192, 0.019758737551725517878, -0.17987080158763540938, -1.7261300785529098967, -2.6644913692232643498, -2.3141437377987581492, -1.8966055410735647158, -1.2208593823013969004, -0.653071688514877291, -0.34080947192812982571, -0.40136037854760781007, -1.4481957993152787534} }
Definition at line 85 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_sig34 [static] |
{ {0, 0, 0, -0.012400659358070893756, -0.009978612935288379282, -0.038466135371859951075, -0.01237181151567546232, -0.055252999880455823389, 0.044965296368124886561, 0.0020215713950015390746, 0.0018486442968475248413, -0.011461744909954231161, 0.00041337329418400558037, 0.013323692621683664444, -0.0011526907758626363416}, {0, 0, 0, 0.11483786317689233247, 0.17614008187718299681, 0.35943587710185270767, 0.31393248752071051255, 0.81003852118825403483, 2.8222370465191132238e-07, 0.15870310756426259102, 0.18489150278200164323, 0.2277514636318530572, 0.10863865522427501586, 0.0081807264119966201232, 0.10304189680104243465}, {0, 0, 0, 0.0023086535455528549819, 0.002110004845191660542, 0.0030013629537848584249, 0.0021561954526101824794, 0.0029044705640973510034, 0.001129264217117841116, 0.0020148575420415437004, 0.0022924616641584912025, 0.0022462281749858711323, 0.001953151997646814745, 0.0022772917353313174016, 0.002205332383050566912}, {0, 0, 0, 1.4465873202620711524, 0.018290937265976234261, -1.0034048194561047129, -1.5842206847979445339, -3.6001627650055127994, 0.54269742517812191718, -0.54629346359450747794, -0.88004590995407039333, -1.0607951764628562596, -0.386770214915317323, 0.73185507165720742329, -0.7791766852022135037} }
Definition at line 86 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_sig5 [static] |
{ {8.0056375707676412645, 2.9947749309947320207, 1.2367570923503916624, 19.305763753429292962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {-30.026695140142752649, 8.307837839928444712e-06, -2.4301404809023985365e-06, -99.99999999998537703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0.49287055372768900918, 0.59795299802278500945, 0.72517967446074338422, 1.499999999999955147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {-4.7146152770331735127, -1.6075341775064360128, 0.81763143841002616785, -2.2550678981626472996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 90 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_sig51 [static] |
{ {0.0019758831360956788901, 0.046577756215196844392, -0.05341714103952534265, 0.038119020055320480822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0.85917433021287148431, 3.6326347655629698252e-08, 1.2753791210899891873, -0.02296026572998403209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0.0018421521390111581656, 0.0013309336424003853465, 0.0024439910926895226824, 0.00084506127844618638811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {-2.8012298341138666125, 0.89678691204809468651, -4.9999999999931583616, 1.899999999961135444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 87 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_sig52 [static] |
{ {0, 0.015190485414726475483, 0.029402840059661459332, -0.03788341461455211473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0.57880911770054299659, 0.086708840790683153199, 0.96143975820959226564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0.0017431812547872745089, 0.0016439557621822475496, 0.0024073931799825833838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, -1.4962480474138397657, 0.43719757342237014486, -2.5570410154645890621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 88 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
double CSCTFPtMethods::AB_sig53 [static] |
{ {0, 0, 0.0048807272389305694088, 0.072311934401593946919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0.58247011082391897396, -0.031665576145842380673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0.0019289670515048294459, -0.00057867999502623438789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, -1.1919870686056455167, 1.8999999999981564969, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
Definition at line 89 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2011(), Pt2Stn2012_DT(), Pt3Stn2011(), and Pt3Stn2012_DT().
const float CSCTFPtMethods::AkHighEta_Fit1 [static] |
{ {0.6275, -0.2133, 0.0, 0.0}, {-1.124, 2.492, -1.347, 0.2204}, {0.5214, -0.7536, 0.3913, -.06739}, {1.394, -1.886, 0.8809, -0.1369}, {-0.5519E-02, 0.8496E-02, 0.0, 0.0}, {0.6644, -0.2312, 0.0, 0.0}, {0.80, -0.54, 0.0, 0.0}, {0.80, -0.54, 0.0, 0.0}, }
Definition at line 31 of file CSCTFPtMethods.h.
Referenced by Pt3Stn().
const float CSCTFPtMethods::AkHighEta_Fit2 [static] |
{ {0.6425, -0.2308, 0.0, 0.0}, {0.6923, -0.2336, 0.0, 0.0}, {-0.7147, .01117, -0.5255E-04, 0.7991E-07}, {-1.377, 2.150, -1.046, 0.1667}, {-.02974, .04816, -.02105, .003640}, {0.6425, -0.2308, 0.0, 0.0}, {0.80, -0.54, 0.0, 0.0}, {0.80, -0.54, 0.0, 0.0}, }
Definition at line 23 of file CSCTFPtMethods.h.
Referenced by Pt2Stn().
const float CSCTFPtMethods::AkLowEta_Fit1 [static] |
{ {3.900, -8.391, 6.062, -1.436}, {8.03602, -17.5355, 12.7725, -3.0616 }, {0.8372, -2.220, 1.908, -0.5233}, {-0.04389, 0.05174, 0.0, 0.0}, {-0.5519E-02, 0.8496E-02, 0.0, 0.0}, {-4.228, 8.546, -5.617, 1.235}, {0.80, -0.54, 0.0, 0.0}, {0.80, -0.54, 0.0, 0.0}, }
The three station pt measument only needs a one constant fit, but the dependence on eta is still there dphi = A/pt
Definition at line 30 of file CSCTFPtMethods.h.
Referenced by Pt3Stn().
const float CSCTFPtMethods::AkLowEta_Fit2 [static] |
{ {-0.6131, 0.6870, 0.0285, -0.1147}, {8.03602, -17.5355, 12.7725, -3.0616 }, {5.765, -12.85, 9.543, -2.345}, {-4.068, 8.254, -5.491, 1.214}, {-.02974, .04816, -.02105, .003640}, {-3.358, 7.038, -4.766, 1.079}, {0.80, -0.54, 0.0, 0.0}, {0.80, -0.54, 0.0, 0.0}, }
First is the parameterizations of Acosta/McDonald The two station pt measument needs a two constant fit with a break in the detector depending on what detectors it hit (eta) dphi = A/pt + B/(pt^2)
Definition at line 22 of file CSCTFPtMethods.h.
Referenced by Pt2Stn().
const float CSCTFPtMethods::BkHighEta_Fit2 [static] |
{ {14.79, -21.10, 10.16, -1.623}, {70.67, -105.7, 52.49, -8.631}, {15.70, -23.94, 11.89, -1.939}, {17.18, -26.38, 13.13, -2.139}, {0.0, 0.0, 0.0, 0.0}, {14.79, -21.10, 10.16, -1.623}, {0.0, 0.0, 0.0, 0.0}, {0.0, 0.0, 0.0, 0.0} }
Definition at line 26 of file CSCTFPtMethods.h.
Referenced by Pt2Stn().
const float CSCTFPtMethods::BkLowEta_Fit2 [static] |
{ {7.0509, -7.3282, -0.1465, 1.308}, {0.0, 0.0, 0.0, 0.0}, {-38.55, 82.95, -59.66, 14.29}, {20.71, -45.34, 32.05, -7.415}, {0.0, 0.0, 0.0, 0.0}, {-0.6167, 0.08421, 0.2454, 0.0}, {0.0, 0.0, 0.0, 0.0}, {0.0, 0.0, 0.0, 0.0} }
Definition at line 25 of file CSCTFPtMethods.h.
Referenced by Pt2Stn().
const float CSCTFPtMethods::dphifr0 [static] |
Definition at line 179 of file CSCTFPtMethods.h.
Referenced by Pt2StnChiSq(), and Pt3StnChiSq().
const float CSCTFPtMethods::dphifr1 [static] |
Definition at line 180 of file CSCTFPtMethods.h.
Referenced by Pt2StnChiSq(), and Pt3StnChiSq().
const float CSCTFPtMethods::etabins [static] |
{0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4}
Definition at line 178 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2Stn2011(), Pt2Stn2012(), Pt2Stn2012_DT(), Pt2StnChiSq(), Pt3Stn2010(), Pt3Stn2011(), Pt3Stn2012(), Pt3Stn2012_DT(), and Pt3StnChiSq().
const float CSCTFPtMethods::FRCorrHighEta [static] |
{ {0.966, 1.176}, {0.966, 1.176}, {1.0, 1.0}, {1.0, 1.0}, {1.0, 1.0}, {1.0, 1.0}, {1.0, 1.0}, {1.0, 1.0} }
Definition at line 36 of file CSCTFPtMethods.h.
const float CSCTFPtMethods::FRCorrLowEta [static] |
{ {1.30, 1.0}, {1.30, 1.0}, {1.0, 1.0}, {1.0, 1.0}, {1.0, 1.0}, {1.0, 1.0}, {1.0, 1.0}, {1.0, 1.0} }
Corrections for ME1 F/R bit
Definition at line 35 of file CSCTFPtMethods.h.
const float CSCTFPtMethods::kGlobalScaleFactor = 1.36 [static] |
Definition at line 33 of file CSCTFPtMethods.h.
const float CSCTFPtMethods::ptbins [static] |
{2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 120.0, 140.0}
Second are the parameterizations of Acosta/Yeh
Definition at line 177 of file CSCTFPtMethods.h.
Referenced by Pt2StnChiSq(), and Pt3StnChiSq().
const float CSCTFPtMethods::sigmafr0 [static] |
Definition at line 181 of file CSCTFPtMethods.h.
Referenced by Pt2StnChiSq(), and Pt3StnChiSq().
const float CSCTFPtMethods::sigmafr1 [static] |
Definition at line 182 of file CSCTFPtMethods.h.
Referenced by Pt2StnChiSq(), and Pt3StnChiSq().
const L1MuTriggerPtScale* CSCTFPtMethods::trigger_scale [private] |
Definition at line 208 of file CSCTFPtMethods.h.
Referenced by Pt2Stn(), Pt2Stn2010(), Pt2Stn2012(), Pt3Stn(), Pt3Stn2010(), and Pt3Stn2012().