![]() |
![]() |
#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 |
float | Pt2Stn (int type, float eta, float dphi, int fr=-1) const |
float | Pt2Stn2010 (int type, float eta, float dphi, int fr=-1) 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) 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_mu52 [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_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_sig52 [3][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 427 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 1953 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 636 of file CSCTFPtMethods.cc.
References funct::exp(), funct::log(), and rho.
Referenced by Pt3Stn2010().
{ 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 622 of file CSCTFPtMethods.cc.
References funct::log(), and Pi.
Referenced by Pt2Stn2010().
{ 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; }
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 436 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 |
||
) | const |
Definition at line 664 of file CSCTFPtMethods.cc.
References A_mu12Front, A_mu12Rare, A_mu13Front, A_mu13Rare, A_mu14Front, A_mu14Rare, A_mu23, A_mu24, A_mu34, A_mu52, A_sig12Front, A_sig12Rare, A_sig13Front, A_sig13Rare, A_sig14Front, A_sig14Rare, A_sig23, A_sig24, A_sig34, A_sig52, gather_cfg::cout, etabins, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), Likelihood2(), reco::tau::disc::Pt(), ExpressReco_HICollisions_FallBack::pt, ExpressReco_HICollisions_FallBack::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 12 : //1-2-b1 = 2-b1 case 14 : //2-b1 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; //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 == 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; return (Pt>trigger_scale->getPtScale()->getLowEdge(1)) ? Pt : trigger_scale->getPtScale()->getLowEdge(1); }
float CSCTFPtMethods::Pt2StnChiSq | ( | int | type, |
float | eta, | ||
int | dphi, | ||
int | fr | ||
) | const |
Definition at line 1548 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 1923 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 489 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(), csvReporter::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 |
||
) | const |
*
Definition at line 935 of file CSCTFPtMethods.cc.
References A_mu12Front, A_mu12Rare, A_mu13Front, A_mu13Rare, A_mu23, A_mu24, A_mu34, A_rho123FrontCSCTF, A_rho123RareCSCTF, A_rho124FrontCSCTF, A_rho124RareCSCTF, A_rho134FrontCSCTF, A_rho134RareCSCTF, A_rho234CSCTF, A_sig12Front, A_sig12Rare, A_sig13Front, A_sig13Rare, A_sig23, A_sig24, A_sig34, etabins, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), Likelihood(), reco::tau::disc::Pt(), ExpressReco_HICollisions_FallBack::pt, Pt2Stn2010(), ExpressReco_HICollisions_FallBack::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; //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 == 12) type = 14; //1-2-b1 -> 2-b1 Pt = Pt2Stn2010(type, eta, dphi1, fr); } 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; if (Pt<trigger_scale->getPtScale()->getLowEdge(1)) Pt = trigger_scale->getPtScale()->getLowEdge(1); return Pt; }
float CSCTFPtMethods::Pt3StnChiSq | ( | int | type, |
float | eta, | ||
int | dphi1, | ||
int | dphi2, | ||
int | fr | ||
) | const |
Definition at line 1691 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 1937 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 1982 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 39 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 46 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 41 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 48 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 43 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010().
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 50 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010().
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 56 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 58 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 60 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 53 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010().
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 71 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010().
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 75 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010().
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 72 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010().
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 76 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010().
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 73 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010().
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 77 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010().
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 79 of file CSCTFPtMethods.h.
Referenced by Pt3Stn2010().
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 40 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 47 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 42 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 49 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 44 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010().
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 51 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010().
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 57 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 59 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 61 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), and Pt3Stn2010().
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 54 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010().
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 96 of file CSCTFPtMethods.h.
Referenced by Pt2StnChiSq(), and Pt3StnChiSq().
const float CSCTFPtMethods::dphifr1 [static] |
Definition at line 97 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 95 of file CSCTFPtMethods.h.
Referenced by Pt2Stn2010(), Pt2StnChiSq(), Pt3Stn2010(), 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 94 of file CSCTFPtMethods.h.
Referenced by Pt2StnChiSq(), and Pt3StnChiSq().
const float CSCTFPtMethods::sigmafr0 [static] |
Definition at line 98 of file CSCTFPtMethods.h.
Referenced by Pt2StnChiSq(), and Pt3StnChiSq().
const float CSCTFPtMethods::sigmafr1 [static] |
Definition at line 99 of file CSCTFPtMethods.h.
Referenced by Pt2StnChiSq(), and Pt3StnChiSq().
const L1MuTriggerPtScale* CSCTFPtMethods::trigger_scale [private] |
Definition at line 125 of file CSCTFPtMethods.h.
Referenced by Pt2Stn(), Pt2Stn2010(), Pt3Stn(), and Pt3Stn2010().