CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Attributes | Private Attributes
CSCTFPtMethods Class Reference

#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. More...
 
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 const double AB_mu12F [4][15]
 
static const double AB_mu12FME11 [4][15]
 
static const double AB_mu12FnoME11 [4][15]
 
static const double AB_mu12R [4][15]
 
static const double AB_mu12RME11 [4][15]
 
static const double AB_mu12RnoME11 [4][15]
 
static const double AB_mu13F [4][15]
 
static const double AB_mu13FME11 [4][15]
 
static const double AB_mu13FnoME11 [4][15]
 
static const double AB_mu13R [4][15]
 
static const double AB_mu13RME11 [4][15]
 
static const double AB_mu13RnoME11 [4][15]
 
static const double AB_mu14F [4][15]
 
static const double AB_mu14FME11 [4][15]
 
static const double AB_mu14FnoME11 [4][15]
 
static const double AB_mu14R [4][15]
 
static const double AB_mu14RME11 [4][15]
 
static const double AB_mu14RnoME11 [4][15]
 
static const double AB_mu23 [4][15]
 
static const double AB_mu24 [4][15]
 
static const double AB_mu34 [4][15]
 
static const double AB_mu5 [4][15]
 
static const double AB_mu51 [4][15]
 
static const double AB_mu52 [4][15]
 
static const double AB_mu53 [4][15]
 
static const double AB_rho123F [5][15]
 
static const double AB_rho123R [5][15]
 
static const double AB_rho124F [5][15]
 
static const double AB_rho124R [5][15]
 
static const double AB_rho134F [5][15]
 
static const double AB_rho134R [5][15]
 
static const double AB_rho234 [5][15]
 
static const double AB_rho512 [5][15]
 
static const double AB_rho513 [5][15]
 
static const double AB_rho51B [5][15]
 
static const double AB_rho523 [5][15]
 
static const double AB_rho52B [5][15]
 
static const double AB_rho53B [5][15]
 
static const double AB_sig12F [4][15]
 
static const double AB_sig12FME11 [4][15]
 
static const double AB_sig12FnoME11 [4][15]
 
static const double AB_sig12R [4][15]
 
static const double AB_sig12RME11 [4][15]
 
static const double AB_sig12RnoME11 [4][15]
 
static const double AB_sig13F [4][15]
 
static const double AB_sig13FME11 [4][15]
 
static const double AB_sig13FnoME11 [4][15]
 
static const double AB_sig13R [4][15]
 
static const double AB_sig13RME11 [4][15]
 
static const double AB_sig13RnoME11 [4][15]
 
static const double AB_sig14F [4][15]
 
static const double AB_sig14FME11 [4][15]
 
static const double AB_sig14FnoME11 [4][15]
 
static const double AB_sig14R [4][15]
 
static const double AB_sig14RME11 [4][15]
 
static const double AB_sig14RnoME11 [4][15]
 
static const double AB_sig23 [4][15]
 
static const double AB_sig24 [4][15]
 
static const double AB_sig34 [4][15]
 
static const double AB_sig5 [4][15]
 
static const double AB_sig51 [4][15]
 
static const double AB_sig52 [4][15]
 
static const 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 L1MuTriggerPtScaletrigger_scale
 

Detailed Description

Definition at line 8 of file CSCTFPtMethods.h.

Member Enumeration Documentation

anonymous enum
Enumerator
kMaxParameters 

Definition at line 11 of file CSCTFPtMethods.h.

anonymous enum

Allowed station combinations for extrapolation units

Enumerator
kME1andME2 
kME1andME3 
kME2andME3 
kME2andME4 
kME3andME4 
kME1andME2ovr 
kME2andMB1 
kME2andMB2 

Definition at line 13 of file CSCTFPtMethods.h.

Constructor & Destructor Documentation

CSCTFPtMethods::CSCTFPtMethods ( const L1MuTriggerPtScale ptScale = 0)

Definition at line 1146 of file CSCTFPtMethods.cc.

1147  : trigger_scale( ptScale )
1148 {
1149 }
const L1MuTriggerPtScale * trigger_scale

Member Function Documentation

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 5546 of file CSCTFPtMethods.cc.

References mps_fire::result.

5547 {
5548  bool result = false;
5549 
5550  switch(method)
5551  {
5552  case 1:
5553  break;
5554  case 2:
5555  break;
5556  case 3:
5557  if(quality != 1)
5558  {
5559  if(pT <= 19)
5560  {
5561  if(eta >=4 && eta <=9)
5562  result = true;
5563  }
5564  if(pT <= 18 && pT >= 10)
5565  {
5566  if(eta > 0 && eta < 4)
5567  result = true;
5568  }
5569  }
5570  };
5571 
5572  return result;
5573 }
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 1370 of file CSCTFPtMethods.cc.

References JetChargeProducer_cfi::exp, cmsBatch::log, and rho.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

1371  {
1372  double fitval = 0.;
1373  //double Pi = acos(-1.);
1374  double m12 = 0.;
1375  if(v[0] > par_m12[3])
1376  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
1377  double m23 = 0.;
1378  if(v[0] > par_m23[3])
1379  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
1380  double sig12 = 0.1;
1381  if(v[0] > 0.) sig12 = par_sig12[0]/v[0] + par_sig12[1]/v[0]/v[0] + par_sig12[2];//sig12
1382  double sig23 = 0.1;
1383  if(v[0] > 0.) sig23 = par_sig23[0]/v[0] + par_sig23[1]/v[0]/v[0] + par_sig23[2];//sig23
1384 
1385  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
1386  if(rho > 0.95) rho = 0.95;
1387  if(rho < -0.95) rho = -0.95;
1388 //
1389  fitval = (phi12[0] - m12)*(phi12[0] - m12)/sig12/sig12 + (phi23[0] - m23)*(phi23[0] - m23)/sig23/sig23;
1390  fitval = fitval - 2.*rho*(phi12[0] - m12)*(phi23[0] - m23)/sig12/sig23;
1391  fitval = fitval*(-1./(2.*(1-rho*rho)));
1392  fitval = fitval - log(sig12) - log(sig23) - 0.5*log(1-rho*rho) ;
1393 
1394  return fitval;
1395  }
double CSCTFPtMethods::Likelihood2 ( double *  phi12,
double *  par_m12,
double *  par_sig12,
double *  v 
) const

Definition at line 1341 of file CSCTFPtMethods.cc.

References cmsBatch::log, and Pi.

Referenced by Pt2Stn2010(), and Pt2Stn2012().

1342  {
1343  double fitval = 0.;
1344  double Pi = acos(-1.);
1345  double m12 = 0;
1346  if(v[0] > par_m12[3])
1347  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
1348  double sig12 = 0.1;
1349  if(v[0] > 0.) sig12 = par_sig12[0]/v[0] + par_sig12[1]/v[0]/v[0] + par_sig12[2];//sig12
1350 //
1351  fitval = -(phi12[0] - m12)*(phi12[0] - m12)/2./sig12/sig12;
1352  fitval = fitval - log(sig12) - 0.5*log(2*Pi) ;
1353 
1354  return fitval; }
const double Pi
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 1396 of file CSCTFPtMethods.cc.

References JetChargeProducer_cfi::exp, cmsBatch::log, and rho.

Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().

1397  {
1398  double fitval = 0.;
1399  //double Pi = acos(-1.);
1400  double m12 = 0.;
1401  if(v[0] > par_m12[3])
1402  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
1403  double m23 = 0.;
1404  if(v[0] > par_m23[3])
1405  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
1406  double sig12 = 0.1;
1407  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
1408  double sig23 = 0.1;
1409  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
1410  if(sig12 <0.0015)sig12 = 0.0015;
1411  if(sig23 <0.0015)sig23 = 0.0015;
1412 
1413  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
1414  //if(rho > 0.95) rho = 0.95;
1415  //if(rho < -0.95) rho = -0.95;
1416  if(rho > 0.7) rho = 0.7;
1417  if(rho < -0.7) rho = -0.7;
1418  //rho = 0.4;
1419 //
1420  fitval = (phi12[0] - m12)*(phi12[0] - m12)/sig12/sig12 + (phi23[0] - m23)*(phi23[0] - m23)/sig23/sig23;
1421  fitval = fitval - 2.*rho*(phi12[0] - m12)*(phi23[0] - m23)/sig12/sig23;
1422  fitval = fitval*(-1./(2.*(1-rho*rho)));
1423  fitval = fitval - log(sig12) - log(sig23) - 0.5*log(1-rho*rho) ;
1424 
1425  return fitval;
1426  }
double CSCTFPtMethods::Likelihood2_2011 ( double *  phi12,
double *  par_m12,
double *  par_sig12,
double *  v 
) const

Definition at line 1355 of file CSCTFPtMethods.cc.

References cmsBatch::log, and Pi.

Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().

1356  {
1357  double fitval = 0.;
1358  double Pi = acos(-1.);
1359  double m12 = 0;
1360  if(v[0] > par_m12[3])
1361  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
1362  double sig12 = 0.1;
1363  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
1364  if(sig12 <0.0015)sig12 = 0.0015;
1365 //
1366  fitval = -(phi12[0] - m12)*(phi12[0] - m12)/2./sig12/sig12;
1367  fitval = fitval - log(sig12) - 0.5*log(2*Pi) ;
1368 
1369  return fitval; }
const double Pi
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 1155 of file CSCTFPtMethods.cc.

References patCaloMETCorrections_cff::A, AkHighEta_Fit2, AkLowEta_Fit2, TtFullHadDaughter::B, BkHighEta_Fit2, BkLowEta_Fit2, PVValHelper::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().

1156 {
1157  float A = 0;
1158  float B = 0;
1159  if (dphi == 0.0) dphi = 1.e-6;
1160  if (eta < 0.0) eta = static_cast<float>(fabs(static_cast<double>(eta)));
1161  if (dphi < 0.0) dphi = static_cast<float>(fabs(static_cast<double>(dphi)));
1163 #ifdef L1CSC_STANDALONE
1164  if (type == kME1andME2 && eta <= 1.25) fr = 1;
1165 #else
1166  if (type == kME1andME2 && eta < 1.2) fr = 1;
1167 #endif
1168  if (type >= kME1andME2 &&
1169  type <= kME2andMB2 && eta < 2.5)
1170  {
1171  if (eta >= 0.0 && eta < 1.6)
1172  {
1173  A = AkLowEta_Fit2[type-1][0] + AkLowEta_Fit2[type-1][1]*eta
1174  + AkLowEta_Fit2[type-1][2]*eta*eta + AkLowEta_Fit2[type-1][3]*eta*eta*eta;
1175  B = BkLowEta_Fit2[type-1][0] + BkLowEta_Fit2[type-1][1]*eta
1176  + BkLowEta_Fit2[type-1][2]*eta*eta + BkLowEta_Fit2[type-1][3]*eta*eta*eta;
1177  if (fr >= 0 && fr <= 1)
1178  {
1179  A *= FRCorrLowEta[type-1][fr];
1180  B *= FRCorrLowEta[type-1][fr];
1181  }
1182  }
1183 
1184  if (eta >= 1.6 && eta < 2.5)
1185  {
1186  A = AkHighEta_Fit2[type-1][0] + AkHighEta_Fit2[type-1][1]*eta
1187  + AkHighEta_Fit2[type-1][2]*eta*eta + AkHighEta_Fit2[type-1][3]*eta*eta*eta;
1188  B = BkHighEta_Fit2[type-1][0] + BkHighEta_Fit2[type-1][1]*eta
1189  + BkHighEta_Fit2[type-1][2]*eta*eta + BkHighEta_Fit2[type-1][3]*eta*eta*eta;
1190  if (fr >= 0 && fr <= 1)
1191  {
1192  A *= FRCorrHighEta[type-1][fr];
1193  B *= FRCorrHighEta[type-1][fr];
1194  }
1195  }
1196 
1197  A *= kGlobalScaleFactor;
1198  B *= kGlobalScaleFactor;
1199  float Pt = (A + sqrt(A*A + 4.*dphi*B))/(2.*dphi);
1200 
1201  // return (Pt>0.0) ? Pt : 0.0;
1202  return (Pt>trigger_scale->getPtScale()->getLowEdge(1)) ? Pt
1204  }
1205  return 0.0;
1206 }
type
Definition: HCALResponse.h:21
static const float AkHighEta_Fit2[kME2andMB2][kMaxParameters]
const L1MuScale * getPtScale() const
get the Pt scale
static const float FRCorrHighEta[kME2andMB2][2]
static const float BkLowEta_Fit2[kME2andMB2][kMaxParameters]
const L1MuTriggerPtScale * trigger_scale
T sqrt(T t)
Definition: SSEVec.h:18
static const float BkHighEta_Fit2[kME2andMB2][kMaxParameters]
static const float kGlobalScaleFactor
static const std::string B
static const float AkLowEta_Fit2[kME2andMB2][kMaxParameters]
static const float FRCorrLowEta[kME2andMB2][2]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
float CSCTFPtMethods::Pt2Stn2010 ( int  type,
float  eta,
float  dphi,
int  fr = -1,
int  method = 11 
) const

Definition at line 1428 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(), RecoTauPiZeroBuilderPlugins_cfi::par1, EnergyCorrector::pt, reco::tau::disc::Pt(), HiRegitMuonDetachedTripletStep_cff::Pt_min, trigger_scale, and findQualityFiles::v.

Referenced by CSCTFPtLUT::calcPt(), and Pt3Stn2010().

1429 {
1430  if(fabs(eta) >= 2.4) eta = 2.35;
1431  double PTsolv = 1.; // for muon plus hypothesis
1432  double PTsolvMinus = 1.;//for muon minus hypothesis
1433  for(int iETA = 0; iETA < 15; iETA++){
1434  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
1435 
1436 // calculate curvers of mean and sigma
1437  // calculate phi12 mean
1438  double par1[4] = {0., 0., 0., 0.};
1439  //double phi12mean = fitf5(v, par1); //mu12
1440  double par_sig1[3] = {0., 0., 0.};
1441  int iETA1 = iETA;
1442  switch (type) // type = mode here
1443  {
1444  case 6 : //1-2
1445  if(fr == 1){
1446  if(iETA1 < 3)iETA1 = 3;
1447  //if(iETA1 > 11)iETA1 = 11;
1448  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
1449  par1[0] = A_mu12Front[0][iETA1];
1450  par1[1] = A_mu12Front[1][iETA1];
1451  par1[2] = A_mu12Front[2][iETA1];
1452  par1[3] = A_mu12Front[3][iETA1];
1453  par_sig1[0] = A_sig12Front[0][iETA1];
1454  par_sig1[1] = A_sig12Front[1][iETA1];
1455  par_sig1[2] = A_sig12Front[2][iETA1];
1456  }
1457  if(fr == 0){
1458  if(iETA1 < 1)iETA1 = 1;
1459  //if(iETA1 > 11)iETA1 = 11;
1460  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
1461  par1[0] = A_mu12Rare[0][iETA1];
1462  par1[1] = A_mu12Rare[1][iETA1];
1463  par1[2] = A_mu12Rare[2][iETA1];
1464  par1[3] = A_mu12Rare[3][iETA1];
1465  par_sig1[0] = A_sig12Rare[0][iETA1];
1466  par_sig1[1] = A_sig12Rare[1][iETA1];
1467  par_sig1[2] = A_sig12Rare[2][iETA1];
1468  }
1469  break;
1470  case 7 : //1-3
1471  if(fr == 1){
1472  if(iETA1 < 3)iETA1 = 3;
1473  //if(iETA1 > 11)iETA1 = 11;
1474  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
1475  par1[0] = A_mu13Front[0][iETA1];
1476  par1[1] = A_mu13Front[1][iETA1];
1477  par1[2] = A_mu13Front[2][iETA1];
1478  par1[3] = A_mu13Front[3][iETA1];
1479  par_sig1[0] = A_sig13Front[0][iETA1];
1480  par_sig1[1] = A_sig13Front[1][iETA1];
1481  par_sig1[2] = A_sig13Front[2][iETA1];
1482  }
1483  if(fr == 0){
1484  if(iETA1 < 2)iETA1 = 2;
1485  //if(iETA1 > 11)iETA1 = 11;
1486  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
1487  par1[0] = A_mu13Rare[0][iETA1];
1488  par1[1] = A_mu13Rare[1][iETA1];
1489  par1[2] = A_mu13Rare[2][iETA1];
1490  par1[3] = A_mu13Rare[3][iETA1];
1491  par_sig1[0] = A_sig13Rare[0][iETA1];
1492  par_sig1[1] = A_sig13Rare[1][iETA1];
1493  par_sig1[2] = A_sig13Rare[2][iETA1];
1494  }
1495  break;
1496  case 8 : //2-3
1497  if(iETA1 < 2)iETA1 = 2;
1498  par1[0] = A_mu23[0][iETA1];
1499  par1[1] = A_mu23[1][iETA1];
1500  par1[2] = A_mu23[2][iETA1];
1501  par1[3] = A_mu23[3][iETA1];
1502  par_sig1[0] = A_sig23[0][iETA1];
1503  par_sig1[1] = A_sig23[1][iETA1];
1504  par_sig1[2] = A_sig23[2][iETA1];
1505  break;
1506  case 9 : //2-4
1507  if(iETA1 < 9)iETA1 = 9;
1508  par1[0] = A_mu24[0][iETA1];
1509  par1[1] = A_mu24[1][iETA1];
1510  par1[2] = A_mu24[2][iETA1];
1511  par1[3] = A_mu24[3][iETA1];
1512  par_sig1[0] = A_sig24[0][iETA1];
1513  par_sig1[1] = A_sig24[1][iETA1];
1514  par_sig1[2] = A_sig24[2][iETA1];
1515  break;
1516  case 10 : //3-4
1517  if(iETA1 < 9)iETA1 = 9;
1518  par1[0] = A_mu34[0][iETA1];
1519  par1[1] = A_mu34[1][iETA1];
1520  par1[2] = A_mu34[2][iETA1];
1521  par1[3] = A_mu34[3][iETA1];
1522  par_sig1[0] = A_sig34[0][iETA1];
1523  par_sig1[1] = A_sig34[1][iETA1];
1524  par_sig1[2] = A_sig34[2][iETA1];
1525  break;
1526  case 13 : //1-4
1527  if(iETA1 < 9)iETA1 = 9;
1528  if(iETA1 > 12)iETA1 = 12;
1529  if(fr == 1){
1530  par1[0] = A_mu14Front[0][iETA1];
1531  par1[1] = A_mu14Front[1][iETA1];
1532  par1[2] = A_mu14Front[2][iETA1];
1533  par1[3] = A_mu14Front[3][iETA1];
1534  par_sig1[0] = A_sig14Front[0][iETA1];
1535  par_sig1[1] = A_sig14Front[1][iETA1];
1536  par_sig1[2] = A_sig14Front[2][iETA1];
1537  }
1538  if(fr == 0){
1539  par1[0] = A_mu14Rare[0][iETA1];
1540  par1[1] = A_mu14Rare[1][iETA1];
1541  par1[2] = A_mu14Rare[2][iETA1];
1542  par1[3] = A_mu14Rare[3][iETA1];
1543  par_sig1[0] = A_sig14Rare[0][iETA1];
1544  par_sig1[1] = A_sig14Rare[1][iETA1];
1545  par_sig1[2] = A_sig14Rare[2][iETA1];
1546  }
1547  break;
1548  case 11 : // b1-3
1549  if(iETA1 != 2)iETA1 = 2;
1550  par1[0] = A_mu53[0][iETA1];
1551  par1[1] = A_mu53[1][iETA1];
1552  par1[2] = A_mu53[2][iETA1];
1553  par1[3] = A_mu53[3][iETA1];
1554  par_sig1[0] = A_sig53[0][iETA1];
1555  par_sig1[1] = A_sig53[1][iETA1];
1556  par_sig1[2] = A_sig53[2][iETA1];
1557 
1558  break;
1559  case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10: b1-2
1560  if(iETA1 < 1)iETA1 = 1;
1561  if(iETA1 > 2)iETA1 = 2;
1562  par1[0] = A_mu52[0][iETA1];
1563  par1[1] = A_mu52[1][iETA1];
1564  par1[2] = A_mu52[2][iETA1];
1565  par1[3] = A_mu52[3][iETA1];
1566  par_sig1[0] = A_sig52[0][iETA1];
1567  par_sig1[1] = A_sig52[1][iETA1];
1568  par_sig1[2] = A_sig52[2][iETA1];
1569  break;
1570  case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10
1571  if(method < 10){
1572  if(iETA1 < 1)iETA1 = 1;
1573  if(iETA1 > 2)iETA1 = 2;
1574  }
1575  par1[0] = A_mu52[0][iETA1];
1576  par1[1] = A_mu52[1][iETA1];
1577  par1[2] = A_mu52[2][iETA1];
1578  par1[3] = A_mu52[3][iETA1];
1579  par_sig1[0] = A_sig52[0][iETA1];
1580  par_sig1[1] = A_sig52[1][iETA1];
1581  par_sig1[2] = A_sig52[2][iETA1];
1582  if(method > 10){
1583  if(iETA1 > 2)iETA1 = 2;
1584  par1[0] = A_mu51[0][iETA1];
1585  par1[1] = A_mu51[1][iETA1];
1586  par1[2] = A_mu51[2][iETA1];
1587  par1[3] = A_mu51[3][iETA1];
1588  par_sig1[0] = A_sig51[0][iETA1];
1589  par_sig1[1] = A_sig51[1][iETA1];
1590  par_sig1[2] = A_sig51[2][iETA1];
1591  }
1592  break;
1593  //default:
1594  //return 0.0;
1595  }
1596 
1597 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
1598  //if(fabs(dphi) >= 0.002)
1599  //if(fabs(dphi) >= 0.00)
1600  //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14)))
1601  //{
1602  double pt = 140;
1603  double dpt = 0.1;
1604  double step = 5.;
1605  while(pt > 2. ){
1606  double par_phi12[1] = {dphi};
1607  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
1608  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
1609  v[0] = pt;
1610  lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1611  v[0] = pt + dpt;
1612  lpt1_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1613  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
1614  v[0] = pt - step;
1615  lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1616  v[0] = pt - step + dpt;
1617  lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1618  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
1619  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
1620  v[0] = pt - 0.5*step;
1621  double fx = Likelihood2(par_phi12, par1, par_sig1, v);
1622  v[0] = pt - 0.5*step + dpt;
1623  double fxh = Likelihood2(par_phi12, par1, par_sig1, v);
1624  v[0] = pt - 0.5*step + 2*dpt;
1625  double fx2h = Likelihood2(par_phi12, par1, par_sig1, v);
1626 
1627  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
1628  //if(lpt1*lpt2 <= 0 && lpt2nd < 0) std::cout << "lpt2nd < 0 dphi12 = " << dphi <<" PT = " << pt<< " eta =" << fabs(eta) << std::endl;
1629  //lpt2nd = 1.; // don't care about 2nd derivative
1630  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
1631 /*
1632  if(pt == 140.){
1633  v[0] = 200;
1634  lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1635  v[0] = 200. + 5.;
1636  lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1637  lpt2 = (lpt2_2-lpt2_1)/5.;
1638 
1639  v[0] = 170.;
1640  fx = Likelihood2(par_phi12, par1, par_sig1, v);
1641  v[0] = 170.+5.;
1642  fxh = Likelihood2(par_phi12, par1, par_sig1, v);
1643  v[0] = 170.+2*5.;
1644  fx2h = Likelihood2(par_phi12, par1, par_sig1, v);
1645  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
1646  }
1647  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1 ){PTsolv = 137.5; break;}
1648 */
1649  if(pt > 25) {dpt = 0.1; step = 5.;}
1650  if(pt <= 25) {dpt = 0.01; step = 0.5;}
1651  pt = pt - step;
1652  }// end while
1653 //*********** end solve equation for muon plus
1654 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
1655 // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0
1656  dphi = - dphi;
1657  pt = 140;
1658  dpt = 0.1;
1659  step = 5.;
1660  while(pt > 2. ){
1661  double par_phi12[1] = {dphi};
1662  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
1663  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
1664  v[0] = pt;
1665  lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1666  v[0] = pt + dpt;
1667  lpt1_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1668  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
1669  v[0] = pt - step;
1670  lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1671  v[0] = pt - step + dpt;
1672  lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1673  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
1674  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
1675  v[0] = pt - 0.5*step;
1676  double fx = Likelihood2(par_phi12, par1, par_sig1, v);
1677  v[0] = pt - 0.5*step + dpt;
1678  double fxh = Likelihood2(par_phi12, par1, par_sig1, v);
1679  v[0] = pt - 0.5*step + 2*dpt;
1680  double fx2h = Likelihood2(par_phi12, par1, par_sig1, v);
1681 
1682  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
1683 
1684  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
1685 /*
1686  if(pt == 140.){
1687  v[0] = 200;
1688  lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1689  v[0] = 200. + 5.;
1690  lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1691 
1692  lpt2 = (lpt2_2-lpt2_1)/5.;
1693 
1694  v[0] = 170.;
1695  fx = Likelihood2(par_phi12, par1, par_sig1, v);
1696  v[0] = 170.+5.;
1697  fxh = Likelihood2(par_phi12, par1, par_sig1, v);
1698  v[0] = 170.+2*5.;
1699  fx2h = Likelihood2(par_phi12, par1, par_sig1, v);
1700  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
1701  }
1702  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1){PTsolvMinus = 137.5; break;}
1703 */
1704  if(pt > 25) {dpt = 0.1; step = 5.;}
1705  if(pt <= 25) {dpt = 0.01; step = 0.5;}
1706  pt = pt - step;
1707  }// end while
1708 // }// if(fabs(dphi) >= 0.002)
1709 // else
1710 // {PTsolv = 137.5;}
1711 
1712 //*********** end solve equation for muon minus
1713  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
1714  PTsolv = PTsolv*1.2;
1715  if(PTsolv > 137.5) PTsolv = 137.5;
1716  if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.;
1717  if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.;
1718  dphi = - dphi; //return to correct sing dphi
1719 
1720  } //if(fabs(eta_TracMy)
1721  } //end "for by iETA"
1722 
1723  float Pt = PTsolv;
1724  if(Pt > 10 && fabs(dphi) >= 0.1 ) std::cout << "iF = 0 for dphi = " << dphi <<" and Pt = " << Pt << std::endl;
1725 
1726  //if(Pt > 100 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi > 0.015 )std::cout << "dphi = " << dphi << " eta = " << eta << std::endl;
1727  //if(Pt < 10 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi < 0.01)std::cout << "dphi = " << dphi << " eta = " << eta << std::endl;
1728  // return (Pt>0.0) ? Pt : 0.0;
1729 
1730  float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
1731  if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
1732 
1733  return (Pt > Pt_min) ? Pt : Pt_min;
1734 }
static const double A_sig14Front[3][15]
type
Definition: HCALResponse.h:21
static const double A_sig13Rare[3][15]
const L1MuScale * getPtScale() const
get the Pt scale
static const double A_sig12Front[3][15]
const L1MuTriggerPtScale * trigger_scale
static const double A_sig34[3][15]
static const double A_sig53[3][15]
static const double A_mu53[4][15]
static const double A_mu24[4][15]
static const double A_sig23[3][15]
static const double A_mu14Front[4][15]
static const double A_mu23[4][15]
static const double A_sig14Rare[3][15]
static const double A_sig12Rare[3][15]
static const double A_sig51[3][15]
static const double A_mu52[4][15]
static const double A_mu13Front[4][15]
double Likelihood2(double *phi12, double *par_m12, double *par_sig12, double *v) const
static const double A_mu12Rare[4][15]
static const double A_mu13Rare[4][15]
static const double A_mu12Front[4][15]
static const double A_sig24[3][15]
static const double A_mu14Rare[4][15]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
static const double A_sig13Front[3][15]
static const double A_mu51[4][15]
step
static const double A_sig52[3][15]
static const double A_mu34[4][15]
static const float etabins[16]
float CSCTFPtMethods::Pt2Stn2011 ( int  type,
float  eta,
float  dphi,
int  fr = -1,
int  method = 11,
int  phiSign = 2 
) const

Definition at line 1735 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(), RecoTauPiZeroBuilderPlugins_cfi::par1, EnergyCorrector::pt, reco::tau::disc::Pt(), HiRegitMuonDetachedTripletStep_cff::Pt_min, and findQualityFiles::v.

Referenced by CSCTFPtLUT::calcPt(), and Pt3Stn2011().

1736 {
1737 
1738 
1739 
1740  //if(fabs(eta) >= 2.4) eta = 2.35;
1741  if(fabs(eta) >= 2.2) eta = 2.15;
1742  double PTsolv = 1.; // for muon plus hypothesis
1743  double PTsolvMinus = 1.;//for muon minus hypothesis
1744  for(int iETA = 0; iETA < 15; iETA++){
1745  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
1746 
1747 // calculate curvers of mean and sigma
1748  // calculate phi12 mean
1749  double par1[4] = {0., 0., 0., 0.};
1750  //double phi12mean = fitf5(v, par1); //mu12
1751  double par_sig1[4] = {0., 0., 0.,0};
1752  int iETA1 = iETA;
1753  int iETA2 = iETA;
1754 
1755  const double(*Amean12FnoME11)[15] = AB_mu12FnoME11;
1756  const double(*Asig12FnoME11)[15] = AB_sig12FnoME11;
1757  const double(*Amean12RnoME11)[15] = AB_mu12RnoME11;
1758  const double(*Asig12RnoME11)[15] = AB_sig12RnoME11;
1759 
1760  const double(*Amean13FnoME11)[15] = AB_mu13FnoME11;
1761  const double(*Asig13FnoME11)[15] = AB_sig13FnoME11;
1762  const double(*Amean13RnoME11)[15] = AB_mu13RnoME11;
1763  const double(*Asig13RnoME11)[15] = AB_sig13RnoME11;
1764 
1765  const double(*Amean14FnoME11)[15] = AB_mu14FnoME11;
1766  const double(*Asig14FnoME11)[15] = AB_sig14FnoME11;
1767  const double(*Amean14RnoME11)[15] = AB_mu14RnoME11;
1768  const double(*Asig14RnoME11)[15] = AB_sig14RnoME11;
1769  //
1770  const double(*Amean12FME11)[15] = AB_mu12FME11;
1771  const double(*Asig12FME11)[15] = AB_sig12FME11;
1772  const double(*Amean12RME11)[15] = AB_mu12RME11;
1773  const double(*Asig12RME11)[15] = AB_sig12RME11;
1774 
1775  const double(*Amean13FME11)[15] = AB_mu13FME11;
1776  const double(*Asig13FME11)[15] = AB_sig13FME11;
1777  const double(*Amean13RME11)[15] = AB_mu13RME11;
1778  const double(*Asig13RME11)[15] = AB_sig13RME11;
1779 
1780  const double(*Amean14FME11)[15] = AB_mu14FME11;
1781  const double(*Asig14FME11)[15] = AB_sig14FME11;
1782  const double(*Amean14RME11)[15] = AB_mu14RME11;
1783  const double(*Asig14RME11)[15] = AB_sig14RME11;
1784  //
1785  const double(*Amean12F)[15] = AB_mu12F;
1786  const double(*Asig12F)[15] = AB_sig12F;
1787  const double(*Amean12R)[15] = AB_mu12R;
1788  const double(*Asig12R)[15] = AB_sig12R;
1789 
1790  const double(*Amean13F)[15] = AB_mu13F;
1791  const double(*Asig13F)[15] = AB_sig13F;
1792  const double(*Amean13R)[15] = AB_mu13R;
1793  const double(*Asig13R)[15] = AB_sig13R;
1794 
1795  const double(*Amean14F)[15] = AB_mu14F;
1796  const double(*Asig14F)[15] = AB_sig14F;
1797  const double(*Amean14R)[15] = AB_mu14R;
1798  const double(*Asig14R)[15] = AB_sig14R;
1799 
1800  const double(*Amean23)[15] = AB_mu23;
1801  const double(*Asig23)[15] = AB_sig23;
1802  const double(*Amean24)[15] = AB_mu24;
1803  const double(*Asig24)[15] = AB_sig24;
1804  const double(*Amean34)[15] = AB_mu34;
1805  const double(*Asig34)[15] = AB_sig34;
1806 
1807  const double(*Amean51)[15] = AB_mu51;
1808  const double(*Asig51)[15] = AB_sig51;
1809  const double(*Amean52)[15] = AB_mu52;
1810  const double(*Asig52)[15] = AB_sig52;
1811  const double(*Amean53)[15] = AB_mu53;
1812  const double(*Asig53)[15] = AB_sig53;
1813 
1814  switch (type) // type = mode here
1815  {
1816  case 6 : //1-2
1817  if(fr == 1){
1818  if(iETA1 < 3)iETA1 = 3;
1819  //if(iETA1 > 11)iETA1 = 11;
1820  par1[0] = (*(Amean12F+0))[iETA1];
1821  par1[1] = (*(Amean12F+1))[iETA1];
1822  par1[2] = (*(Amean12F+2))[iETA1];
1823  par1[3] = (*(Amean12F+3))[iETA1];
1824  par_sig1[0] = (*(Asig12F+0))[iETA1];
1825  par_sig1[1] = (*(Asig12F+1))[iETA1];
1826  par_sig1[2] = (*(Asig12F+2))[iETA1];
1827  par_sig1[3] = (*(Asig12F+3))[iETA1];
1828  }
1829  if(fr == 0){
1830  if(iETA1 < 1)iETA1 = 1;
1831  //if(iETA1 > 11)iETA1 = 11;
1832  par1[0] = (*(Amean12R+0))[iETA1];
1833  par1[1] = (*(Amean12R+1))[iETA1];
1834  par1[2] = (*(Amean12R+2))[iETA1];
1835  par1[3] = (*(Amean12R+3))[iETA1];
1836  par_sig1[0] = (*(Asig12R+0))[iETA1];
1837  par_sig1[1] = (*(Asig12R+1))[iETA1];
1838  par_sig1[2] = (*(Asig12R+2))[iETA1];
1839  par_sig1[3] = (*(Asig12R+3))[iETA1];
1840  }
1841  if(phiSign == 0){ // track belong to ME11 station
1842  if(fr == 1){
1843  if(iETA2 < 7)iETA2 = 7;
1844  par1[0] = (*(Amean12FME11+0))[iETA2];
1845  par1[1] = (*(Amean12FME11+1))[iETA2];
1846  par1[2] = (*(Amean12FME11+2))[iETA2];
1847  par1[3] = (*(Amean12FME11+3))[iETA2];
1848  par_sig1[0] = (*(Asig12FME11+0))[iETA2];
1849  par_sig1[1] = (*(Asig12FME11+1))[iETA2];
1850  par_sig1[2] = (*(Asig12FME11+2))[iETA2];
1851  par_sig1[3] = (*(Asig12FME11+3))[iETA2];
1852  }
1853  if(fr == 0){
1854  if(iETA2 < 7)iETA2 = 7;
1855  par1[0] = (*(Amean12RME11+0))[iETA2];
1856  par1[1] = (*(Amean12RME11+1))[iETA2];
1857  par1[2] = (*(Amean12RME11+2))[iETA2];
1858  par1[3] = (*(Amean12RME11+3))[iETA2];
1859  par_sig1[0] = (*(Asig12RME11+0))[iETA2];
1860  par_sig1[1] = (*(Asig12RME11+1))[iETA2];
1861  par_sig1[2] = (*(Asig12RME11+2))[iETA2];
1862  par_sig1[3] = (*(Asig12RME11+3))[iETA2];
1863  }
1864  }
1865  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
1866  if(fr == 1){
1867  if(iETA2 < 3)iETA2 = 3;
1868  if(iETA2 > 7)iETA2 = 7;
1869  par1[0] = (*(Amean12FnoME11+0))[iETA2];
1870  par1[1] = (*(Amean12FnoME11+1))[iETA2];
1871  par1[2] = (*(Amean12FnoME11+2))[iETA2];
1872  par1[3] = (*(Amean12FnoME11+3))[iETA2];
1873  par_sig1[0] = (*(Asig12FnoME11+0))[iETA2];
1874  par_sig1[1] = (*(Asig12FnoME11+1))[iETA2];
1875  par_sig1[2] = (*(Asig12FnoME11+2))[iETA2];
1876  par_sig1[3] = (*(Asig12FnoME11+3))[iETA2];
1877  }
1878  if(fr == 0){
1879  if(iETA2 < 1)iETA2 = 1;
1880  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
1881  par1[0] = (*(Amean12RnoME11+0))[iETA2];
1882  par1[1] = (*(Amean12RnoME11+1))[iETA2];
1883  par1[2] = (*(Amean12RnoME11+2))[iETA2];
1884  par1[3] = (*(Amean12RnoME11+3))[iETA2];
1885  par_sig1[0] = (*(Asig12RnoME11+0))[iETA2];
1886  par_sig1[1] = (*(Asig12RnoME11+1))[iETA2];
1887  par_sig1[2] = (*(Asig12RnoME11+2))[iETA2];
1888  par_sig1[3] = (*(Asig12RnoME11+3))[iETA2];
1889  }
1890  }
1891 
1892  break;
1893  case 7 : //1-3
1894  if(fr == 1){
1895  if(iETA1 < 3)iETA1 = 3;
1896  //if(iETA1 > 11)iETA1 = 11;
1897  par1[0] = (*(Amean13F+0))[iETA1];
1898  par1[1] = (*(Amean13F+1))[iETA1];
1899  par1[2] = (*(Amean13F+2))[iETA1];
1900  par1[3] = (*(Amean13F+3))[iETA1];
1901  par_sig1[0] = (*(Asig13F+0))[iETA1];
1902  par_sig1[1] = (*(Asig13F+1))[iETA1];
1903  par_sig1[2] = (*(Asig13F+2))[iETA1];
1904  par_sig1[3] = (*(Asig13F+3))[iETA1];
1905  }
1906  if(fr == 0){
1907  if(iETA1 < 3)iETA1 = 3;
1908  //if(iETA1 > 11)iETA1 = 11;
1909  par1[0] = (*(Amean13R+0))[iETA1];
1910  par1[1] = (*(Amean13R+1))[iETA1];
1911  par1[2] = (*(Amean13R+2))[iETA1];
1912  par1[3] = (*(Amean13R+3))[iETA1];
1913  par_sig1[0] = (*(Asig13R+0))[iETA1];
1914  par_sig1[1] = (*(Asig13R+1))[iETA1];
1915  par_sig1[2] = (*(Asig13R+2))[iETA1];
1916  par_sig1[3] = (*(Asig13R+3))[iETA1];
1917  }
1918  if(phiSign == 0){ // track belong to ME11 station
1919  if(fr == 1){
1920  if(iETA2 < 7)iETA2 = 7;
1921  par1[0] = (*(Amean13FME11+0))[iETA2];
1922  par1[1] = (*(Amean13FME11+1))[iETA2];
1923  par1[2] = (*(Amean13FME11+2))[iETA2];
1924  par1[3] = (*(Amean13FME11+3))[iETA2];
1925  par_sig1[0] = (*(Asig13FME11+0))[iETA2];
1926  par_sig1[1] = (*(Asig13FME11+1))[iETA2];
1927  par_sig1[2] = (*(Asig13FME11+2))[iETA2];
1928  par_sig1[3] = (*(Asig13FME11+3))[iETA2];
1929  }
1930  if(fr == 0){
1931  if(iETA2 < 7)iETA2 = 7;
1932  par1[0] = (*(Amean13RME11+0))[iETA2];
1933  par1[1] = (*(Amean13RME11+1))[iETA2];
1934  par1[2] = (*(Amean13RME11+2))[iETA2];
1935  par1[3] = (*(Amean13RME11+3))[iETA2];
1936  par_sig1[0] = (*(Asig13RME11+0))[iETA2];
1937  par_sig1[1] = (*(Asig13RME11+1))[iETA2];
1938  par_sig1[2] = (*(Asig13RME11+2))[iETA2];
1939  par_sig1[3] = (*(Asig13RME11+3))[iETA2];
1940  }
1941  }
1942  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
1943  if(fr == 1){
1944  if(iETA2 < 3)iETA2 = 3;
1945  if(iETA2 > 7)iETA2 = 7;
1946  par1[0] = (*(Amean13FnoME11+0))[iETA2];
1947  par1[1] = (*(Amean13FnoME11+1))[iETA2];
1948  par1[2] = (*(Amean13FnoME11+2))[iETA2];
1949  par1[3] = (*(Amean13FnoME11+3))[iETA2];
1950  par_sig1[0] = (*(Asig13FnoME11+0))[iETA2];
1951  par_sig1[1] = (*(Asig13FnoME11+1))[iETA2];
1952  par_sig1[2] = (*(Asig13FnoME11+2))[iETA2];
1953  par_sig1[3] = (*(Asig13FnoME11+3))[iETA2];
1954  }
1955  if(fr == 0){
1956  if(iETA2 < 3)iETA2 = 3;
1957  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
1958  par1[0] = (*(Amean13RnoME11+0))[iETA2];
1959  par1[1] = (*(Amean13RnoME11+1))[iETA2];
1960  par1[2] = (*(Amean13RnoME11+2))[iETA2];
1961  par1[3] = (*(Amean13RnoME11+3))[iETA2];
1962  par_sig1[0] = (*(Asig13RnoME11+0))[iETA2];
1963  par_sig1[1] = (*(Asig13RnoME11+1))[iETA2];
1964  par_sig1[2] = (*(Asig13RnoME11+2))[iETA2];
1965  par_sig1[3] = (*(Asig13RnoME11+3))[iETA2];
1966  }
1967  }
1968  break;
1969  case 8 : //2-3
1970  if(iETA1 < 2)iETA1 = 2;
1971  par1[0] = (*(Amean23+0))[iETA1];
1972  par1[1] = (*(Amean23+1))[iETA1];
1973  par1[2] = (*(Amean23+2))[iETA1];
1974  par1[3] = (*(Amean23+3))[iETA1];
1975  par_sig1[0] = (*(Asig23+0))[iETA1];
1976  par_sig1[1] = (*(Asig23+1))[iETA1];
1977  par_sig1[2] = (*(Asig23+2))[iETA1];
1978  par_sig1[3] = (*(Asig23+3))[iETA1];
1979 
1980  break;
1981  case 9 : //2-4
1982  if(iETA1 < 3)iETA1 = 3;
1983  par1[0] = (*(Amean24+0))[iETA1];
1984  par1[1] = (*(Amean24+1))[iETA1];
1985  par1[2] = (*(Amean24+2))[iETA1];
1986  par1[3] = (*(Amean24+3))[iETA1];
1987  par_sig1[0] = (*(Asig24+0))[iETA1];
1988  par_sig1[1] = (*(Asig24+1))[iETA1];
1989  par_sig1[2] = (*(Asig24+2))[iETA1];
1990  par_sig1[3] = (*(Asig24+3))[iETA1];
1991  break;
1992  case 10 : //3-4
1993  if(iETA1 < 3)iETA1 = 3;
1994  par1[0] = (*(Amean34+0))[iETA1];
1995  par1[1] = (*(Amean34+1))[iETA1];
1996  par1[2] = (*(Amean34+2))[iETA1];
1997  par1[3] = (*(Amean34+3))[iETA1];
1998  par_sig1[0] = (*(Asig34+0))[iETA1];
1999  par_sig1[1] = (*(Asig34+1))[iETA1];
2000  par_sig1[2] = (*(Asig34+2))[iETA1];
2001  par_sig1[3] = (*(Asig34+3))[iETA1];
2002  break;
2003  case 13 : //1-4
2004  if(fr == 1){
2005  if(iETA1 < 3)iETA1 = 3;
2006  //if(iETA1 > 11)iETA1 = 11;
2007  par1[0] = (*(Amean14F+0))[iETA1];
2008  par1[1] = (*(Amean14F+1))[iETA1];
2009  par1[2] = (*(Amean14F+2))[iETA1];
2010  par1[3] = (*(Amean14F+3))[iETA1];
2011  par_sig1[0] = (*(Asig14F+0))[iETA1];
2012  par_sig1[1] = (*(Asig14F+1))[iETA1];
2013  par_sig1[2] = (*(Asig14F+2))[iETA1];
2014  par_sig1[3] = (*(Asig14F+3))[iETA1];
2015  }
2016  if(fr == 0){
2017  if(iETA1 < 2)iETA1 = 2;
2018  //if(iETA1 > 11)iETA1 = 11;
2019  par1[0] = (*(Amean14R+0))[iETA1];
2020  par1[1] = (*(Amean14R+1))[iETA1];
2021  par1[2] = (*(Amean14R+2))[iETA1];
2022  par1[3] = (*(Amean14R+3))[iETA1];
2023  par_sig1[0] = (*(Asig14R+0))[iETA1];
2024  par_sig1[1] = (*(Asig14R+1))[iETA1];
2025  par_sig1[2] = (*(Asig14R+2))[iETA1];
2026  par_sig1[3] = (*(Asig14R+3))[iETA1];
2027  }
2028  if(phiSign == 0){ // track belong to ME11 station
2029  if(fr == 1){
2030  if(iETA2 < 9)iETA2 = 9;
2031  par1[0] = (*(Amean14FME11+0))[iETA2];
2032  par1[1] = (*(Amean14FME11+1))[iETA2];
2033  par1[2] = (*(Amean14FME11+2))[iETA2];
2034  par1[3] = (*(Amean14FME11+3))[iETA2];
2035  par_sig1[0] = (*(Asig14FME11+0))[iETA2];
2036  par_sig1[1] = (*(Asig14FME11+1))[iETA2];
2037  par_sig1[2] = (*(Asig14FME11+2))[iETA2];
2038  par_sig1[3] = (*(Asig14FME11+3))[iETA2];
2039  }
2040  if(fr == 0){
2041  if(iETA2 < 9)iETA2 = 9;
2042  par1[0] = (*(Amean14RME11+0))[iETA2];
2043  par1[1] = (*(Amean14RME11+1))[iETA2];
2044  par1[2] = (*(Amean14RME11+2))[iETA2];
2045  par1[3] = (*(Amean14RME11+3))[iETA2];
2046  par_sig1[0] = (*(Asig14RME11+0))[iETA2];
2047  par_sig1[1] = (*(Asig14RME11+1))[iETA2];
2048  par_sig1[2] = (*(Asig14RME11+2))[iETA2];
2049  par_sig1[3] = (*(Asig14RME11+3))[iETA2];
2050  }
2051  }
2052  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
2053  if(fr == 1){
2054  if(iETA2 < 4)iETA2 = 4;
2055  if(iETA2 > 7)iETA2 = 7;
2056  par1[0] = (*(Amean14FnoME11+0))[iETA2];
2057  par1[1] = (*(Amean14FnoME11+1))[iETA2];
2058  par1[2] = (*(Amean14FnoME11+2))[iETA2];
2059  par1[3] = (*(Amean14FnoME11+3))[iETA2];
2060  par_sig1[0] = (*(Asig14FnoME11+0))[iETA2];
2061  par_sig1[1] = (*(Asig14FnoME11+1))[iETA2];
2062  par_sig1[2] = (*(Asig14FnoME11+2))[iETA2];
2063  par_sig1[3] = (*(Asig14FnoME11+3))[iETA2];
2064  }
2065  if(fr == 0){
2066  if(iETA2 < 4)iETA2 = 4;
2067  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
2068  par1[0] = (*(Amean14RnoME11+0))[iETA2];
2069  par1[1] = (*(Amean14RnoME11+1))[iETA2];
2070  par1[2] = (*(Amean14RnoME11+2))[iETA2];
2071  par1[3] = (*(Amean14RnoME11+3))[iETA2];
2072  par_sig1[0] = (*(Asig14RnoME11+0))[iETA2];
2073  par_sig1[1] = (*(Asig14RnoME11+1))[iETA2];
2074  par_sig1[2] = (*(Asig14RnoME11+2))[iETA2];
2075  par_sig1[3] = (*(Asig14RnoME11+3))[iETA2];
2076  }
2077  }
2078 
2079  break;
2080  case 11 : // b1-3 for pt_method > 10 & fr = 0, singles for pt_method < 10
2081  if(iETA1 != 2)iETA1 = 2;
2082  par1[0] = (*(Amean53+0))[iETA1];
2083  par1[1] = (*(Amean53+1))[iETA1];
2084  par1[2] = (*(Amean53+2))[iETA1];
2085  par1[3] = (*(Amean53+3))[iETA1];
2086  par_sig1[0] = (*(Asig53+0))[iETA1];
2087  par_sig1[1] = (*(Asig53+1))[iETA1];
2088  par_sig1[2] = (*(Asig53+2))[iETA1];
2089  par_sig1[3] = (*(Asig53+3))[iETA1];
2090  break;
2091 
2092  case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10 & fr = 0: b1-2
2093  if(iETA1 < 1)iETA1 = 1;
2094  if(iETA1 > 2)iETA1 = 2;
2095 
2096  par1[0] = (*(Amean52+0))[iETA1];
2097  par1[1] = (*(Amean52+1))[iETA1];
2098  par1[2] = (*(Amean52+2))[iETA1];
2099  par1[3] = (*(Amean52+3))[iETA1];
2100  par_sig1[0] = (*(Asig52+0))[iETA1];
2101  par_sig1[1] = (*(Asig52+1))[iETA1];
2102  par_sig1[2] = (*(Asig52+2))[iETA1];
2103  par_sig1[3] = (*(Asig52+3))[iETA1];
2104 
2105  break;
2106  case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10 & fr = 0
2107  if(method < 10){
2108  if(iETA1 < 1)iETA1 = 1;
2109  if(iETA1 > 2)iETA1 = 2;
2110  }
2111  par1[0] = (*(Amean52+0))[iETA1];
2112  par1[1] = (*(Amean52+1))[iETA1];
2113  par1[2] = (*(Amean52+2))[iETA1];
2114  par1[3] = (*(Amean52+3))[iETA1];
2115  par_sig1[0] = (*(Asig52+0))[iETA1];
2116  par_sig1[1] = (*(Asig52+1))[iETA1];
2117  par_sig1[2] = (*(Asig52+2))[iETA1];
2118  par_sig1[3] = (*(Asig52+3))[iETA1];
2119 
2120  if(method > 10){
2121  if(iETA1 > 2)iETA1 = 2;
2122  par1[0] = (*(Amean51+0))[iETA1];
2123  par1[1] = (*(Amean51+1))[iETA1];
2124  par1[2] = (*(Amean51+2))[iETA1];
2125  par1[3] = (*(Amean51+3))[iETA1];
2126  par_sig1[0] = (*(Asig51+0))[iETA1];
2127  par_sig1[1] = (*(Asig51+1))[iETA1];
2128  par_sig1[2] = (*(Asig51+2))[iETA1];
2129  par_sig1[3] = (*(Asig51+3))[iETA1];
2130  }
2131  break;
2132  //default:
2133  //return 0.0;
2134  }
2135 
2136 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
2137  //if(fabs(dphi) >= 0.002)
2138  //if(fabs(dphi) >= 0.00)
2139  //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14)))
2140  //{
2141  double pt = 140;
2142  double dpt = 0.1;
2143  double step = 5.;
2144  while(pt > 2. ){
2145  double par_phi12[1] = {dphi};
2146  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
2147  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
2148  v[0] = pt;
2149  lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2150  v[0] = pt + dpt;
2151  lpt1_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2152  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
2153  v[0] = pt - step;
2154  lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2155  v[0] = pt - step + dpt;
2156  lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2157  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
2158  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
2159  v[0] = pt - 0.5*step;
2160  double fx = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2161  v[0] = pt - 0.5*step + dpt;
2162  double fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2163  v[0] = pt - 0.5*step + 2*dpt;
2164  double fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2165 
2166  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
2167  //if(lpt1*lpt2 <= 0 && lpt2nd < 0) std::cout << "lpt2nd < 0 dphi12 = " << dphi <<" PT = " << pt<< " eta =" << fabs(eta) << std::endl;
2168  //lpt2nd = 1.; // don't care about 2nd derivative
2169  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
2170 /*
2171  if(pt == 140.){
2172  v[0] = 200;
2173  lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2174  v[0] = 200. + 5.;
2175  lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2176  lpt2 = (lpt2_2-lpt2_1)/5.;
2177 
2178  v[0] = 170.;
2179  fx = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2180  v[0] = 170.+5.;
2181  fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2182  v[0] = 170.+2*5.;
2183  fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2184  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
2185  }
2186  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1 ){PTsolv = 137.5; break;}
2187 */
2188  if(pt > 25) {dpt = 0.1; step = 5.;}
2189  if(pt <= 25) {dpt = 0.01; step = 0.5;}
2190  pt = pt - step;
2191  }// end while
2192 //*********** end solve equation for muon plus
2193 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
2194 // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0
2195  dphi = - dphi;
2196  pt = 140;
2197  dpt = 0.1;
2198  step = 5.;
2199  while(pt > 2. ){
2200  double par_phi12[1] = {dphi};
2201  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
2202  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
2203  v[0] = pt;
2204  lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2205  v[0] = pt + dpt;
2206  lpt1_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2207  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
2208  v[0] = pt - step;
2209  lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2210  v[0] = pt - step + dpt;
2211  lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2212  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
2213  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
2214  v[0] = pt - 0.5*step;
2215  double fx = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2216  v[0] = pt - 0.5*step + dpt;
2217  double fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2218  v[0] = pt - 0.5*step + 2*dpt;
2219  double fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2220 
2221  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
2222 
2223  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
2224 /*
2225  if(pt == 140.){
2226  v[0] = 200;
2227  lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2228  v[0] = 200. + 5.;
2229  lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2230 
2231  lpt2 = (lpt2_2-lpt2_1)/5.;
2232 
2233  v[0] = 170.;
2234  fx = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2235  v[0] = 170.+5.;
2236  fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2237  v[0] = 170.+2*5.;
2238  fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2239  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
2240  }
2241  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1){PTsolvMinus = 137.5; break;}
2242 */
2243  if(pt > 25) {dpt = 0.1; step = 5.;}
2244  if(pt <= 25) {dpt = 0.01; step = 0.5;}
2245  pt = pt - step;
2246  }// end while
2247 // }// if(fabs(dphi) >= 0.002)
2248 // else
2249 // {PTsolv = 137.5;}
2250 
2251 //*********** end solve equation for muon minus
2252  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
2253  PTsolv = PTsolv*1.2;
2254  if(PTsolv > 137.5) PTsolv = 137.5;
2255  if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.;
2256  //if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.;
2257  dphi = - dphi; //return to correct sing dphi
2258 
2259  } //if(fabs(eta_TracMy)
2260  } //end "for by iETA"
2261 
2262  float Pt = PTsolv;
2263 
2264  //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
2265  //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
2266  float Pt_min = 2;// 0 GeV
2267 
2268  return (Pt > Pt_min) ? Pt : Pt_min;
2269 }
type
Definition: HCALResponse.h:21
static const double AB_sig14FnoME11[4][15]
static const double AB_sig24[4][15]
static const double AB_mu14R[4][15]
static const double AB_sig14RnoME11[4][15]
static const double AB_sig52[4][15]
static const double AB_mu12R[4][15]
static const double AB_mu13RME11[4][15]
static const double AB_sig13F[4][15]
static const double AB_mu24[4][15]
static const double AB_mu13RnoME11[4][15]
static const double AB_mu52[4][15]
static const double AB_mu14RME11[4][15]
static const double AB_sig12FnoME11[4][15]
static const double AB_mu13FnoME11[4][15]
static const double AB_mu14F[4][15]
static const double AB_sig13FME11[4][15]
static const double AB_mu51[4][15]
static const double AB_sig12FME11[4][15]
static const double AB_mu23[4][15]
static const double AB_sig12R[4][15]
static const double AB_sig51[4][15]
static const double AB_mu14FME11[4][15]
static const double AB_sig53[4][15]
static const double AB_mu14RnoME11[4][15]
double Likelihood2_2011(double *phi12, double *par_m12, double *par_sig12, double *v) const
static const double AB_sig14R[4][15]
static const double AB_mu12RnoME11[4][15]
static const double AB_mu12FnoME11[4][15]
static const double AB_mu13R[4][15]
static const double AB_sig34[4][15]
static const double AB_mu12RME11[4][15]
static const double AB_mu12FME11[4][15]
static const double AB_sig14F[4][15]
static const double AB_sig14FME11[4][15]
static const double AB_mu13F[4][15]
static const double AB_sig13R[4][15]
static const double AB_mu53[4][15]
static const double AB_sig13RME11[4][15]
static const double AB_mu14FnoME11[4][15]
static const double AB_sig13FnoME11[4][15]
static const double AB_sig23[4][15]
static const double AB_sig12RnoME11[4][15]
static const double AB_mu34[4][15]
step
static const double AB_sig13RnoME11[4][15]
static const double AB_sig12F[4][15]
static const double AB_mu12F[4][15]
static const double AB_sig14RME11[4][15]
static const double AB_mu13FME11[4][15]
static const float etabins[16]
static const double AB_sig12RME11[4][15]
float CSCTFPtMethods::Pt2Stn2012 ( int  type,
float  eta,
float  dphi,
int  PtbyMLH,
float &  theLH,
int  fr = -1,
int  method = 11 
) const

Definition at line 3170 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(), RecoTauPiZeroBuilderPlugins_cfi::par1, EnergyCorrector::pt, reco::tau::disc::Pt(), HiRegitMuonDetachedTripletStep_cff::Pt_min, trigger_scale, and findQualityFiles::v.

Referenced by CSCTFPtLUT::calcPt(), and Pt3Stn2012().

3171 {
3172  int useBestMLH = PtbyMLH;
3173  int useBOXcut = false;
3174  int useDTBOXcut = true;
3175  if(type == 5) useBOXcut = true; // useBOXcut for mode 5 which come from 3 station
3176  if(type == 5) type = 8; // 2-3-4 -> 2-3//
3177 
3178  if(fabs(eta) >= 2.4) eta = 2.35;
3179  double PTsolv = 1.; // for muon plus hypothesis
3180  double PTsolvMinus = 1.;//for muon minus hypothesis
3181  for(int iETA = 0; iETA < 15; iETA++){
3182  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
3183 
3184 // calculate curvers of mean and sigma
3185  // calculate phi12 mean
3186  double par1[4] = {0., 0., 0., 0.};
3187  //double phi12mean = fitf5(v, par1); //mu12
3188  double par_sig1[3] = {0., 0., 0.};
3189  int iETA1 = iETA;
3190  switch (type) // type = mode here
3191  {
3192  case 6 : //1-2
3193  if(fr == 1){
3194  if(iETA1 < 3)iETA1 = 3;
3195  //if(iETA1 > 11)iETA1 = 11;
3196  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3197  par1[0] = A_mu12Front[0][iETA1];
3198  par1[1] = A_mu12Front[1][iETA1];
3199  par1[2] = A_mu12Front[2][iETA1];
3200  par1[3] = A_mu12Front[3][iETA1];
3201  par_sig1[0] = A_sig12Front[0][iETA1];
3202  par_sig1[1] = A_sig12Front[1][iETA1];
3203  par_sig1[2] = A_sig12Front[2][iETA1];
3204  }
3205  if(fr == 0){
3206  if(iETA1 < 1)iETA1 = 1;
3207  //if(iETA1 > 11)iETA1 = 11;
3208  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3209  par1[0] = A_mu12Rare[0][iETA1];
3210  par1[1] = A_mu12Rare[1][iETA1];
3211  par1[2] = A_mu12Rare[2][iETA1];
3212  par1[3] = A_mu12Rare[3][iETA1];
3213  par_sig1[0] = A_sig12Rare[0][iETA1];
3214  par_sig1[1] = A_sig12Rare[1][iETA1];
3215  par_sig1[2] = A_sig12Rare[2][iETA1];
3216  }
3217  break;
3218  case 7 : //1-3
3219  if(fr == 1){
3220  if(iETA1 < 3)iETA1 = 3;
3221  //if(iETA1 > 11)iETA1 = 11;
3222  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3223  par1[0] = A_mu13Front[0][iETA1];
3224  par1[1] = A_mu13Front[1][iETA1];
3225  par1[2] = A_mu13Front[2][iETA1];
3226  par1[3] = A_mu13Front[3][iETA1];
3227  par_sig1[0] = A_sig13Front[0][iETA1];
3228  par_sig1[1] = A_sig13Front[1][iETA1];
3229  par_sig1[2] = A_sig13Front[2][iETA1];
3230  }
3231  if(fr == 0){
3232  if(iETA1 < 2)iETA1 = 2;
3233  //if(iETA1 > 11)iETA1 = 11;
3234  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3235  par1[0] = A_mu13Rare[0][iETA1];
3236  par1[1] = A_mu13Rare[1][iETA1];
3237  par1[2] = A_mu13Rare[2][iETA1];
3238  par1[3] = A_mu13Rare[3][iETA1];
3239  par_sig1[0] = A_sig13Rare[0][iETA1];
3240  par_sig1[1] = A_sig13Rare[1][iETA1];
3241  par_sig1[2] = A_sig13Rare[2][iETA1];
3242  }
3243  break;
3244  case 8 : //2-3
3245  if(iETA1 < 2)iETA1 = 2;
3246  par1[0] = A_mu23[0][iETA1];
3247  par1[1] = A_mu23[1][iETA1];
3248  par1[2] = A_mu23[2][iETA1];
3249  par1[3] = A_mu23[3][iETA1];
3250  par_sig1[0] = A_sig23[0][iETA1];
3251  par_sig1[1] = A_sig23[1][iETA1];
3252  par_sig1[2] = A_sig23[2][iETA1];
3253  break;
3254  case 9 : //2-4
3255  if(iETA1 < 9)iETA1 = 9;
3256  par1[0] = A_mu24[0][iETA1];
3257  par1[1] = A_mu24[1][iETA1];
3258  par1[2] = A_mu24[2][iETA1];
3259  par1[3] = A_mu24[3][iETA1];
3260  par_sig1[0] = A_sig24[0][iETA1];
3261  par_sig1[1] = A_sig24[1][iETA1];
3262  par_sig1[2] = A_sig24[2][iETA1];
3263  break;
3264  case 10 : //3-4
3265  if(iETA1 < 9)iETA1 = 9;
3266  par1[0] = A_mu34[0][iETA1];
3267  par1[1] = A_mu34[1][iETA1];
3268  par1[2] = A_mu34[2][iETA1];
3269  par1[3] = A_mu34[3][iETA1];
3270  par_sig1[0] = A_sig34[0][iETA1];
3271  par_sig1[1] = A_sig34[1][iETA1];
3272  par_sig1[2] = A_sig34[2][iETA1];
3273  break;
3274  case 13 : //1-4
3275  if(iETA1 < 9)iETA1 = 9;
3276  //if(iETA1 > 11)iETA1 = 11;
3277  //if(iETA1 > 12)iETA1 = 12;
3278  if(fr == 1){
3279  par1[0] = A_mu14Front[0][iETA1];
3280  par1[1] = A_mu14Front[1][iETA1];
3281  par1[2] = A_mu14Front[2][iETA1];
3282  par1[3] = A_mu14Front[3][iETA1];
3283  par_sig1[0] = A_sig14Front[0][iETA1];
3284  par_sig1[1] = A_sig14Front[1][iETA1];
3285  par_sig1[2] = A_sig14Front[2][iETA1];
3286  }
3287  if(fr == 0){
3288  par1[0] = A_mu14Rare[0][iETA1];
3289  par1[1] = A_mu14Rare[1][iETA1];
3290  par1[2] = A_mu14Rare[2][iETA1];
3291  par1[3] = A_mu14Rare[3][iETA1];
3292  par_sig1[0] = A_sig14Rare[0][iETA1];
3293  par_sig1[1] = A_sig14Rare[1][iETA1];
3294  par_sig1[2] = A_sig14Rare[2][iETA1];
3295  }
3296  break;
3297  case 11 : // b1-3
3298  if(iETA1 != 2)iETA1 = 2;
3299  par1[0] = A_mu53[0][iETA1];
3300  par1[1] = A_mu53[1][iETA1];
3301  par1[2] = A_mu53[2][iETA1];
3302  par1[3] = A_mu53[3][iETA1];
3303  par_sig1[0] = A_sig53[0][iETA1];
3304  par_sig1[1] = A_sig53[1][iETA1];
3305  par_sig1[2] = A_sig53[2][iETA1];
3306 
3307  break;
3308  case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10: b1-2
3309  if(iETA1 < 1)iETA1 = 1;
3310  if(iETA1 > 2)iETA1 = 2;
3311  par1[0] = A_mu52[0][iETA1];
3312  par1[1] = A_mu52[1][iETA1];
3313  par1[2] = A_mu52[2][iETA1];
3314  par1[3] = A_mu52[3][iETA1];
3315  par_sig1[0] = A_sig52[0][iETA1];
3316  par_sig1[1] = A_sig52[1][iETA1];
3317  par_sig1[2] = A_sig52[2][iETA1];
3318  break;
3319  case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10
3320  if(method < 10){
3321  if(iETA1 < 1)iETA1 = 1;
3322  if(iETA1 > 2)iETA1 = 2;
3323  }
3324  par1[0] = A_mu52[0][iETA1];
3325  par1[1] = A_mu52[1][iETA1];
3326  par1[2] = A_mu52[2][iETA1];
3327  par1[3] = A_mu52[3][iETA1];
3328  par_sig1[0] = A_sig52[0][iETA1];
3329  par_sig1[1] = A_sig52[1][iETA1];
3330  par_sig1[2] = A_sig52[2][iETA1];
3331  if(method > 10){
3332  if(iETA1 > 2)iETA1 = 2;
3333  par1[0] = A_mu51[0][iETA1];
3334  par1[1] = A_mu51[1][iETA1];
3335  par1[2] = A_mu51[2][iETA1];
3336  par1[3] = A_mu51[3][iETA1];
3337  par_sig1[0] = A_sig51[0][iETA1];
3338  par_sig1[1] = A_sig51[1][iETA1];
3339  par_sig1[2] = A_sig51[2][iETA1];
3340  }
3341  break;
3342  //default:
3343  //return 0.0;
3344  }
3345 
3346 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
3347  //if(fabs(dphi) >= 0.002)
3348  //if(fabs(dphi) >= 0.00)
3349  //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14)))
3350  //{
3351  double muPlusMaxLH = -1e9;
3352  double pt = 140;
3353  double step = 5.;
3354  double maxLH = -1e9;
3355 
3356  while(pt > 2. )
3357  {
3358  double par_phi12[1] = {dphi};
3359  double v[1], lpt1_1;
3360  v[0] = 0; lpt1_1 = 1.;
3361  v[0] = pt;
3362  lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v);
3363 
3364  if (lpt1_1 > maxLH)
3365  {
3366  maxLH = lpt1_1;
3367  PTsolv = pt;
3368  }
3369 
3370 
3371  if(pt <= 100) {step = 10.0/4.0;}
3372  if(pt <= 50) {step = 5.0/4.0;}
3373  if(pt <= 20) {step = 2.0/4.0;}
3374  if(pt <= 10) {step = 1.0/4.0;}
3375  if(pt <=5) {step = 0.5/4.0;}
3376 
3377  pt = pt - step;
3378  }// end while
3379  muPlusMaxLH = maxLH;
3380 
3381 //*********** end solve equation for muon plus
3382 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
3383 // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0
3384  double muMinusMaxLH = -1e9;
3385  dphi = - dphi;
3386  pt = 140;
3387  step = 5.;
3388  maxLH = -1e9;
3389  while(pt > 2. )
3390  {
3391  double par_phi12[1] = {dphi};
3392  double v[1], lpt1_1;
3393  v[0] = 0; lpt1_1 = 1.;
3394  v[0] = pt;
3395  lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v);
3396 
3397  if (lpt1_1 > maxLH)
3398  {
3399  maxLH = lpt1_1;
3400  PTsolvMinus = pt;
3401  }
3402 
3403 
3404  if(pt <= 100) {step = 10.0/4.0;}
3405  if(pt <= 50) {step = 5.0/4.0;}
3406  if(pt <= 20) {step = 2.0/4.0;}
3407  if(pt <= 10) {step = 1.0/4.0;}
3408  if(pt <=5) {step = 0.5/4.0;}
3409 
3410  pt = pt - step;
3411  }// end while
3412  muMinusMaxLH = maxLH;
3413 
3414  // }// if(fabs(dphi) >= 0.002)
3415  // else
3416 // {PTsolv = 137.5;}
3417 
3418 //*********** end solve equation for muon minus
3419  if (useBestMLH)
3420  PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
3421  else
3422  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
3423 
3424  bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH;
3425 
3426 
3427  PTsolv = PTsolv*1.2;
3428  if(PTsolv > 137.5) PTsolv = 137.5;
3429 
3430  if (useBOXcut)
3431  if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.;
3432  if (useDTBOXcut)
3433  if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.;
3434 
3435  dphi = - dphi; //return to correct sing dphi
3436 
3437  } //if(fabs(eta_TracMy)
3438  } //end "for by iETA"
3439 
3440  float Pt = PTsolv;
3441  if(Pt > 10 && fabs(dphi) >= 0.1 ) std::cout << "iF = 0 for dphi = " << dphi <<" and Pt = " << Pt << std::endl;
3442 
3443  //if(Pt > 100 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi > 0.015 )std::cout << "dphi = " << dphi << " eta = " << eta << std::endl;
3444  //if(Pt < 10 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi < 0.01)std::cout << "dphi = " << dphi << " eta = " << eta << std::endl;
3445  // return (Pt>0.0) ? Pt : 0.0;
3446 
3447  float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
3448  if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
3449 
3450  return (Pt > Pt_min) ? Pt : Pt_min;
3451 }
static const double A_sig14Front[3][15]
type
Definition: HCALResponse.h:21
static const double A_sig13Rare[3][15]
const L1MuScale * getPtScale() const
get the Pt scale
static const double A_sig12Front[3][15]
const L1MuTriggerPtScale * trigger_scale
static const double A_sig34[3][15]
static const double A_sig53[3][15]
static const double A_mu53[4][15]
static const double A_mu24[4][15]
static const double A_sig23[3][15]
static const double A_mu14Front[4][15]
static const double A_mu23[4][15]
static const double A_sig14Rare[3][15]
static const double A_sig12Rare[3][15]
static const double A_sig51[3][15]
static const double A_mu52[4][15]
static const double A_mu13Front[4][15]
double Likelihood2(double *phi12, double *par_m12, double *par_sig12, double *v) const
static const double A_mu12Rare[4][15]
static const double A_mu13Rare[4][15]
static const double A_mu12Front[4][15]
static const double A_sig24[3][15]
static const double A_mu14Rare[4][15]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
static const double A_sig13Front[3][15]
static const double A_mu51[4][15]
step
static const double A_sig52[3][15]
static const double A_mu34[4][15]
static const float etabins[16]
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 4339 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, dphifr0, dphifr1, etabins, Likelihood2_2011(), RecoTauPiZeroBuilderPlugins_cfi::par1, EnergyCorrector::pt, reco::tau::disc::Pt(), HiRegitMuonDetachedTripletStep_cff::Pt_min, sigmafr0, sigmafr1, and findQualityFiles::v.

Referenced by Pt3Stn2012_DT().

4340 {
4341  int useBestMLH = PtbyMLH;
4342  int useBOXcut = true;
4343 
4344  //if(fabs(eta) >= 2.4) eta = 2.35;
4345  if(fabs(eta) >= 2.2) eta = 2.15;
4346  double PTsolv = 1.; // for muon plus hypothesis
4347  double PTsolvMinus = 1.;//for muon minus hypothesis
4348  for(int iETA = 0; iETA < 15; iETA++){
4349  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
4350 
4351 // calculate curvers of mean and sigma
4352  // calculate phi12 mean
4353  double par1[4] = {0., 0., 0., 0.};
4354  //double phi12mean = fitf5(v, par1); //mu12
4355  double par_sig1[4] = {0., 0., 0.,0};
4356  int iETA1 = iETA;
4357  int iETA2 = iETA;
4358 
4359  const double(*Amean12FnoME11)[15] = AB_mu12FnoME11;
4360  const double(*Asig12FnoME11)[15] = AB_sig12FnoME11;
4361  const double(*Amean12RnoME11)[15] = AB_mu12RnoME11;
4362  const double(*Asig12RnoME11)[15] = AB_sig12RnoME11;
4363 
4364  const double(*Amean13FnoME11)[15] = AB_mu13FnoME11;
4365  const double(*Asig13FnoME11)[15] = AB_sig13FnoME11;
4366  const double(*Amean13RnoME11)[15] = AB_mu13RnoME11;
4367  const double(*Asig13RnoME11)[15] = AB_sig13RnoME11;
4368 
4369  const double(*Amean14FnoME11)[15] = AB_mu14FnoME11;
4370  const double(*Asig14FnoME11)[15] = AB_sig14FnoME11;
4371  const double(*Amean14RnoME11)[15] = AB_mu14RnoME11;
4372  const double(*Asig14RnoME11)[15] = AB_sig14RnoME11;
4373  //
4374  const double(*Amean12FME11)[15] = AB_mu12FME11;
4375  const double(*Asig12FME11)[15] = AB_sig12FME11;
4376  const double(*Amean12RME11)[15] = AB_mu12RME11;
4377  const double(*Asig12RME11)[15] = AB_sig12RME11;
4378 
4379  const double(*Amean13FME11)[15] = AB_mu13FME11;
4380  const double(*Asig13FME11)[15] = AB_sig13FME11;
4381  const double(*Amean13RME11)[15] = AB_mu13RME11;
4382  const double(*Asig13RME11)[15] = AB_sig13RME11;
4383 
4384  const double(*Amean14FME11)[15] = AB_mu14FME11;
4385  const double(*Asig14FME11)[15] = AB_sig14FME11;
4386  const double(*Amean14RME11)[15] = AB_mu14RME11;
4387  const double(*Asig14RME11)[15] = AB_sig14RME11;
4388  //
4389  const double(*Amean12F)[15] = AB_mu12F;
4390  const double(*Asig12F)[15] = AB_sig12F;
4391  const double(*Amean12R)[15] = AB_mu12R;
4392  const double(*Asig12R)[15] = AB_sig12R;
4393 
4394  const double(*Amean13F)[15] = AB_mu13F;
4395  const double(*Asig13F)[15] = AB_sig13F;
4396  const double(*Amean13R)[15] = AB_mu13R;
4397  const double(*Asig13R)[15] = AB_sig13R;
4398 
4399  const double(*Amean14F)[15] = AB_mu14F;
4400  const double(*Asig14F)[15] = AB_sig14F;
4401  const double(*Amean14R)[15] = AB_mu14R;
4402  const double(*Asig14R)[15] = AB_sig14R;
4403 
4404  const double(*Amean23)[15] = AB_mu23;
4405  const double(*Asig23)[15] = AB_sig23;
4406  const double(*Amean24)[15] = AB_mu24;
4407  const double(*Asig24)[15] = AB_sig24;
4408  const double(*Amean34)[15] = AB_mu34;
4409  const double(*Asig34)[15] = AB_sig34;
4410 
4411  const double(*Amean51)[15] = AB_mu51;
4412  const double(*Asig51)[15] = AB_sig51;
4413  const double(*Amean52)[15] = AB_mu52;
4414  const double(*Asig52)[15] = AB_sig52;
4415  const double(*Amean53)[15] = AB_mu53;
4416  const double(*Asig53)[15] = AB_sig53;
4417 
4418  switch (type) // type = mode here
4419  {
4420  case 6 : //1-2
4421  if(fr == 1){
4422  if(iETA1 < 3)iETA1 = 3;
4423  //if(iETA1 > 11)iETA1 = 11;
4424  par1[0] = (*(Amean12F+0))[iETA1];
4425  par1[1] = (*(Amean12F+1))[iETA1];
4426  par1[2] = (*(Amean12F+2))[iETA1];
4427  par1[3] = (*(Amean12F+3))[iETA1];
4428  par_sig1[0] = (*(Asig12F+0))[iETA1];
4429  par_sig1[1] = (*(Asig12F+1))[iETA1];
4430  par_sig1[2] = (*(Asig12F+2))[iETA1];
4431  par_sig1[3] = (*(Asig12F+3))[iETA1];
4432  }
4433  if(fr == 0){
4434  if(iETA1 < 1)iETA1 = 1;
4435  //if(iETA1 > 11)iETA1 = 11;
4436  par1[0] = (*(Amean12R+0))[iETA1];
4437  par1[1] = (*(Amean12R+1))[iETA1];
4438  par1[2] = (*(Amean12R+2))[iETA1];
4439  par1[3] = (*(Amean12R+3))[iETA1];
4440  par_sig1[0] = (*(Asig12R+0))[iETA1];
4441  par_sig1[1] = (*(Asig12R+1))[iETA1];
4442  par_sig1[2] = (*(Asig12R+2))[iETA1];
4443  par_sig1[3] = (*(Asig12R+3))[iETA1];
4444  }
4445  if(phiSign == 0){ // track belong to ME11 station
4446  if(fr == 1){
4447  if(iETA2 < 7)iETA2 = 7;
4448  par1[0] = (*(Amean12FME11+0))[iETA2];
4449  par1[1] = (*(Amean12FME11+1))[iETA2];
4450  par1[2] = (*(Amean12FME11+2))[iETA2];
4451  par1[3] = (*(Amean12FME11+3))[iETA2];
4452  par_sig1[0] = (*(Asig12FME11+0))[iETA2];
4453  par_sig1[1] = (*(Asig12FME11+1))[iETA2];
4454  par_sig1[2] = (*(Asig12FME11+2))[iETA2];
4455  par_sig1[3] = (*(Asig12FME11+3))[iETA2];
4456  }
4457  if(fr == 0){
4458  if(iETA2 < 7)iETA2 = 7;
4459  par1[0] = (*(Amean12RME11+0))[iETA2];
4460  par1[1] = (*(Amean12RME11+1))[iETA2];
4461  par1[2] = (*(Amean12RME11+2))[iETA2];
4462  par1[3] = (*(Amean12RME11+3))[iETA2];
4463  par_sig1[0] = (*(Asig12RME11+0))[iETA2];
4464  par_sig1[1] = (*(Asig12RME11+1))[iETA2];
4465  par_sig1[2] = (*(Asig12RME11+2))[iETA2];
4466  par_sig1[3] = (*(Asig12RME11+3))[iETA2];
4467  }
4468  }
4469  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
4470  if(fr == 1){
4471  if(iETA2 < 3)iETA2 = 3;
4472  if(iETA2 > 7)iETA2 = 7;
4473  par1[0] = (*(Amean12FnoME11+0))[iETA2];
4474  par1[1] = (*(Amean12FnoME11+1))[iETA2];
4475  par1[2] = (*(Amean12FnoME11+2))[iETA2];
4476  par1[3] = (*(Amean12FnoME11+3))[iETA2];
4477  par_sig1[0] = (*(Asig12FnoME11+0))[iETA2];
4478  par_sig1[1] = (*(Asig12FnoME11+1))[iETA2];
4479  par_sig1[2] = (*(Asig12FnoME11+2))[iETA2];
4480  par_sig1[3] = (*(Asig12FnoME11+3))[iETA2];
4481  }
4482  if(fr == 0){
4483  if(iETA2 < 1)iETA2 = 1;
4484  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
4485  par1[0] = (*(Amean12RnoME11+0))[iETA2];
4486  par1[1] = (*(Amean12RnoME11+1))[iETA2];
4487  par1[2] = (*(Amean12RnoME11+2))[iETA2];
4488  par1[3] = (*(Amean12RnoME11+3))[iETA2];
4489  par_sig1[0] = (*(Asig12RnoME11+0))[iETA2];
4490  par_sig1[1] = (*(Asig12RnoME11+1))[iETA2];
4491  par_sig1[2] = (*(Asig12RnoME11+2))[iETA2];
4492  par_sig1[3] = (*(Asig12RnoME11+3))[iETA2];
4493  }
4494  }
4495 
4496  break;
4497  case 7 : //1-3
4498  if(fr == 1){
4499  if(iETA1 < 3)iETA1 = 3;
4500  //if(iETA1 > 11)iETA1 = 11;
4501  par1[0] = (*(Amean13F+0))[iETA1];
4502  par1[1] = (*(Amean13F+1))[iETA1];
4503  par1[2] = (*(Amean13F+2))[iETA1];
4504  par1[3] = (*(Amean13F+3))[iETA1];
4505  par_sig1[0] = (*(Asig13F+0))[iETA1];
4506  par_sig1[1] = (*(Asig13F+1))[iETA1];
4507  par_sig1[2] = (*(Asig13F+2))[iETA1];
4508  par_sig1[3] = (*(Asig13F+3))[iETA1];
4509  }
4510  if(fr == 0){
4511  if(iETA1 < 3)iETA1 = 3;
4512  //if(iETA1 > 11)iETA1 = 11;
4513  par1[0] = (*(Amean13R+0))[iETA1];
4514  par1[1] = (*(Amean13R+1))[iETA1];
4515  par1[2] = (*(Amean13R+2))[iETA1];
4516  par1[3] = (*(Amean13R+3))[iETA1];
4517  par_sig1[0] = (*(Asig13R+0))[iETA1];
4518  par_sig1[1] = (*(Asig13R+1))[iETA1];
4519  par_sig1[2] = (*(Asig13R+2))[iETA1];
4520  par_sig1[3] = (*(Asig13R+3))[iETA1];
4521  }
4522  if(phiSign == 0){ // track belong to ME11 station
4523  if(fr == 1){
4524  if(iETA2 < 7)iETA2 = 7;
4525  par1[0] = (*(Amean13FME11+0))[iETA2];
4526  par1[1] = (*(Amean13FME11+1))[iETA2];
4527  par1[2] = (*(Amean13FME11+2))[iETA2];
4528  par1[3] = (*(Amean13FME11+3))[iETA2];
4529  par_sig1[0] = (*(Asig13FME11+0))[iETA2];
4530  par_sig1[1] = (*(Asig13FME11+1))[iETA2];
4531  par_sig1[2] = (*(Asig13FME11+2))[iETA2];
4532  par_sig1[3] = (*(Asig13FME11+3))[iETA2];
4533  }
4534  if(fr == 0){
4535  if(iETA2 < 7)iETA2 = 7;
4536  par1[0] = (*(Amean13RME11+0))[iETA2];
4537  par1[1] = (*(Amean13RME11+1))[iETA2];
4538  par1[2] = (*(Amean13RME11+2))[iETA2];
4539  par1[3] = (*(Amean13RME11+3))[iETA2];
4540  par_sig1[0] = (*(Asig13RME11+0))[iETA2];
4541  par_sig1[1] = (*(Asig13RME11+1))[iETA2];
4542  par_sig1[2] = (*(Asig13RME11+2))[iETA2];
4543  par_sig1[3] = (*(Asig13RME11+3))[iETA2];
4544  }
4545  }
4546  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
4547  if(fr == 1){
4548  if(iETA2 < 3)iETA2 = 3;
4549  if(iETA2 > 7)iETA2 = 7;
4550  par1[0] = (*(Amean13FnoME11+0))[iETA2];
4551  par1[1] = (*(Amean13FnoME11+1))[iETA2];
4552  par1[2] = (*(Amean13FnoME11+2))[iETA2];
4553  par1[3] = (*(Amean13FnoME11+3))[iETA2];
4554  par_sig1[0] = (*(Asig13FnoME11+0))[iETA2];
4555  par_sig1[1] = (*(Asig13FnoME11+1))[iETA2];
4556  par_sig1[2] = (*(Asig13FnoME11+2))[iETA2];
4557  par_sig1[3] = (*(Asig13FnoME11+3))[iETA2];
4558  }
4559  if(fr == 0){
4560  if(iETA2 < 3)iETA2 = 3;
4561  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
4562  par1[0] = (*(Amean13RnoME11+0))[iETA2];
4563  par1[1] = (*(Amean13RnoME11+1))[iETA2];
4564  par1[2] = (*(Amean13RnoME11+2))[iETA2];
4565  par1[3] = (*(Amean13RnoME11+3))[iETA2];
4566  par_sig1[0] = (*(Asig13RnoME11+0))[iETA2];
4567  par_sig1[1] = (*(Asig13RnoME11+1))[iETA2];
4568  par_sig1[2] = (*(Asig13RnoME11+2))[iETA2];
4569  par_sig1[3] = (*(Asig13RnoME11+3))[iETA2];
4570  }
4571  }
4572  break;
4573  case 8 : //2-3
4574  if(iETA1 < 2)iETA1 = 2;
4575  par1[0] = (*(Amean23+0))[iETA1];
4576  par1[1] = (*(Amean23+1))[iETA1];
4577  par1[2] = (*(Amean23+2))[iETA1];
4578  par1[3] = (*(Amean23+3))[iETA1];
4579  par_sig1[0] = (*(Asig23+0))[iETA1];
4580  par_sig1[1] = (*(Asig23+1))[iETA1];
4581  par_sig1[2] = (*(Asig23+2))[iETA1];
4582  par_sig1[3] = (*(Asig23+3))[iETA1];
4583 
4584  break;
4585  case 9 : //2-4
4586  if(iETA1 < 3)iETA1 = 3;
4587  par1[0] = (*(Amean24+0))[iETA1];
4588  par1[1] = (*(Amean24+1))[iETA1];
4589  par1[2] = (*(Amean24+2))[iETA1];
4590  par1[3] = (*(Amean24+3))[iETA1];
4591  par_sig1[0] = (*(Asig24+0))[iETA1];
4592  par_sig1[1] = (*(Asig24+1))[iETA1];
4593  par_sig1[2] = (*(Asig24+2))[iETA1];
4594  par_sig1[3] = (*(Asig24+3))[iETA1];
4595  break;
4596  case 10 : //3-4
4597  if(iETA1 < 3)iETA1 = 3;
4598  par1[0] = (*(Amean34+0))[iETA1];
4599  par1[1] = (*(Amean34+1))[iETA1];
4600  par1[2] = (*(Amean34+2))[iETA1];
4601  par1[3] = (*(Amean34+3))[iETA1];
4602  par_sig1[0] = (*(Asig34+0))[iETA1];
4603  par_sig1[1] = (*(Asig34+1))[iETA1];
4604  par_sig1[2] = (*(Asig34+2))[iETA1];
4605  par_sig1[3] = (*(Asig34+3))[iETA1];
4606  break;
4607  case 13 : //1-4
4608  if(fr == 1){
4609  if(iETA1 < 3)iETA1 = 3;
4610  //if(iETA1 > 11)iETA1 = 11;
4611  par1[0] = (*(Amean14F+0))[iETA1];
4612  par1[1] = (*(Amean14F+1))[iETA1];
4613  par1[2] = (*(Amean14F+2))[iETA1];
4614  par1[3] = (*(Amean14F+3))[iETA1];
4615  par_sig1[0] = (*(Asig14F+0))[iETA1];
4616  par_sig1[1] = (*(Asig14F+1))[iETA1];
4617  par_sig1[2] = (*(Asig14F+2))[iETA1];
4618  par_sig1[3] = (*(Asig14F+3))[iETA1];
4619  }
4620  if(fr == 0){
4621  if(iETA1 < 2)iETA1 = 2;
4622  //if(iETA1 > 11)iETA1 = 11;
4623  par1[0] = (*(Amean14R+0))[iETA1];
4624  par1[1] = (*(Amean14R+1))[iETA1];
4625  par1[2] = (*(Amean14R+2))[iETA1];
4626  par1[3] = (*(Amean14R+3))[iETA1];
4627  par_sig1[0] = (*(Asig14R+0))[iETA1];
4628  par_sig1[1] = (*(Asig14R+1))[iETA1];
4629  par_sig1[2] = (*(Asig14R+2))[iETA1];
4630  par_sig1[3] = (*(Asig14R+3))[iETA1];
4631  }
4632  if(phiSign == 0){ // track belong to ME11 station
4633  if(fr == 1){
4634  if(iETA2 < 9)iETA2 = 9;
4635  par1[0] = (*(Amean14FME11+0))[iETA2];
4636  par1[1] = (*(Amean14FME11+1))[iETA2];
4637  par1[2] = (*(Amean14FME11+2))[iETA2];
4638  par1[3] = (*(Amean14FME11+3))[iETA2];
4639  par_sig1[0] = (*(Asig14FME11+0))[iETA2];
4640  par_sig1[1] = (*(Asig14FME11+1))[iETA2];
4641  par_sig1[2] = (*(Asig14FME11+2))[iETA2];
4642  par_sig1[3] = (*(Asig14FME11+3))[iETA2];
4643  }
4644  if(fr == 0){
4645  if(iETA2 < 9)iETA2 = 9;
4646  par1[0] = (*(Amean14RME11+0))[iETA2];
4647  par1[1] = (*(Amean14RME11+1))[iETA2];
4648  par1[2] = (*(Amean14RME11+2))[iETA2];
4649  par1[3] = (*(Amean14RME11+3))[iETA2];
4650  par_sig1[0] = (*(Asig14RME11+0))[iETA2];
4651  par_sig1[1] = (*(Asig14RME11+1))[iETA2];
4652  par_sig1[2] = (*(Asig14RME11+2))[iETA2];
4653  par_sig1[3] = (*(Asig14RME11+3))[iETA2];
4654  }
4655  }
4656  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
4657  if(fr == 1){
4658  if(iETA2 < 4)iETA2 = 4;
4659  if(iETA2 > 7)iETA2 = 7;
4660  par1[0] = (*(Amean14FnoME11+0))[iETA2];
4661  par1[1] = (*(Amean14FnoME11+1))[iETA2];
4662  par1[2] = (*(Amean14FnoME11+2))[iETA2];
4663  par1[3] = (*(Amean14FnoME11+3))[iETA2];
4664  par_sig1[0] = (*(Asig14FnoME11+0))[iETA2];
4665  par_sig1[1] = (*(Asig14FnoME11+1))[iETA2];
4666  par_sig1[2] = (*(Asig14FnoME11+2))[iETA2];
4667  par_sig1[3] = (*(Asig14FnoME11+3))[iETA2];
4668  }
4669  if(fr == 0){
4670  if(iETA2 < 4)iETA2 = 4;
4671  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
4672  par1[0] = (*(Amean14RnoME11+0))[iETA2];
4673  par1[1] = (*(Amean14RnoME11+1))[iETA2];
4674  par1[2] = (*(Amean14RnoME11+2))[iETA2];
4675  par1[3] = (*(Amean14RnoME11+3))[iETA2];
4676  par_sig1[0] = (*(Asig14RnoME11+0))[iETA2];
4677  par_sig1[1] = (*(Asig14RnoME11+1))[iETA2];
4678  par_sig1[2] = (*(Asig14RnoME11+2))[iETA2];
4679  par_sig1[3] = (*(Asig14RnoME11+3))[iETA2];
4680  }
4681  }
4682 
4683  break;
4684  case 11 : // b1-3 for pt_method > 10 & fr = 0, singles for pt_method < 10
4685  if(iETA1 != 2)iETA1 = 2;
4686  par1[0] = (*(Amean53+0))[iETA1];
4687  par1[1] = (*(Amean53+1))[iETA1];
4688  par1[2] = (*(Amean53+2))[iETA1];
4689  par1[3] = (*(Amean53+3))[iETA1];
4690  par_sig1[0] = (*(Asig53+0))[iETA1];
4691  par_sig1[1] = (*(Asig53+1))[iETA1];
4692  par_sig1[2] = (*(Asig53+2))[iETA1];
4693  par_sig1[3] = (*(Asig53+3))[iETA1];
4694  break;
4695 
4696  case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10 & fr = 0: b1-2
4697  if(iETA1 < 1)iETA1 = 1;
4698  if(iETA1 > 2)iETA1 = 2;
4699 
4700  par1[0] = (*(Amean52+0))[iETA1];
4701  par1[1] = (*(Amean52+1))[iETA1];
4702  par1[2] = (*(Amean52+2))[iETA1];
4703  par1[3] = (*(Amean52+3))[iETA1];
4704  par_sig1[0] = (*(Asig52+0))[iETA1];
4705  par_sig1[1] = (*(Asig52+1))[iETA1];
4706  par_sig1[2] = (*(Asig52+2))[iETA1];
4707  par_sig1[3] = (*(Asig52+3))[iETA1];
4708 
4709  break;
4710  case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10 & fr = 0
4711  if(method < 10){
4712  if(iETA1 < 1)iETA1 = 1;
4713  if(iETA1 > 2)iETA1 = 2;
4714  }
4715  par1[0] = (*(Amean52+0))[iETA1];
4716  par1[1] = (*(Amean52+1))[iETA1];
4717  par1[2] = (*(Amean52+2))[iETA1];
4718  par1[3] = (*(Amean52+3))[iETA1];
4719  par_sig1[0] = (*(Asig52+0))[iETA1];
4720  par_sig1[1] = (*(Asig52+1))[iETA1];
4721  par_sig1[2] = (*(Asig52+2))[iETA1];
4722  par_sig1[3] = (*(Asig52+3))[iETA1];
4723 
4724  if(method > 10){
4725  if(iETA1 > 2)iETA1 = 2;
4726  par1[0] = (*(Amean51+0))[iETA1];
4727  par1[1] = (*(Amean51+1))[iETA1];
4728  par1[2] = (*(Amean51+2))[iETA1];
4729  par1[3] = (*(Amean51+3))[iETA1];
4730  par_sig1[0] = (*(Asig51+0))[iETA1];
4731  par_sig1[1] = (*(Asig51+1))[iETA1];
4732  par_sig1[2] = (*(Asig51+2))[iETA1];
4733  par_sig1[3] = (*(Asig51+3))[iETA1];
4734  }
4735  break;
4736  //default:
4737  //return 0.0;
4738  }
4739 
4740 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
4741  //if(fabs(dphi) >= 0.002)
4742  //if(fabs(dphi) >= 0.00)
4743  //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14)))
4744  //{
4745  double muPlusMaxLH = -1e9;
4746  double pt = 140;
4747  double step = 5.;
4748  double maxLH = -1e9;
4749  while(pt > 2. )
4750  {
4751  double par_phi12[1] = {dphi};
4752  double v[1], lpt1_1;
4753  v[0] = 0; lpt1_1 = 1.;
4754  v[0] = pt;
4755  lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
4756 
4757  if (lpt1_1 > maxLH)
4758  {
4759  maxLH = lpt1_1;
4760  PTsolv = pt;
4761  }
4762 
4763  if(pt <= 100) {step = 10.0/4.0;}
4764  if(pt <= 50) {step = 5.0/4.0;}
4765  if(pt <= 20) {step = 2.0/4.0;}
4766  if(pt <= 10) {step = 1.0/4.0;}
4767  if(pt <=5) {step = 0.5/4.0;}
4768 
4769 
4770  pt = pt - step;
4771  }// end while
4772  muPlusMaxLH = maxLH;
4773 
4774 //*********** end solve equation for muon plus
4775 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
4776 // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0
4777  double muMinusMaxLH = -1e9;
4778  dphi = - dphi;
4779  pt = 140;
4780  step = 5.;
4781  maxLH = -1e9;
4782  while(pt > 2. )
4783  {
4784  double par_phi12[1] = {dphi};
4785  double v[1], lpt1_1;
4786  v[0] = 0; lpt1_1 = 1.;
4787  v[0] = pt;
4788  lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
4789 
4790  if (lpt1_1 > maxLH)
4791  {
4792  maxLH = lpt1_1;
4793  PTsolvMinus = pt;
4794  }
4795 
4796  if(pt <= 100) {step = 10.0/4.0;}
4797  if(pt <= 50) {step = 5.0/4.0;}
4798  if(pt <= 20) {step = 2.0/4.0;}
4799  if(pt <= 10) {step = 1.0/4.0;}
4800  if(pt <=5) {step = 0.5/4.0;}
4801 
4802 
4803 
4804  pt = pt - step;
4805  }// end while
4806  muMinusMaxLH = maxLH;
4807 
4808 // }// if(fabs(dphi) >= 0.002)
4809 // else
4810 // {PTsolv = 137.5;}
4811 
4812 //*********** end solve equation for muon minus
4813  if (useBestMLH)
4814  PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
4815  else
4816  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
4817 
4818  bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH;
4819 
4820 
4821 
4822  PTsolv = PTsolv*1.2;
4823  if(PTsolv > 137.5) PTsolv = 137.5;
4824 
4825  if (useBOXcut)
4826  if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.;
4827  //if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.;
4828  dphi = - dphi; //return to correct sing dphi
4829 
4830  } //if(fabs(eta_TracMy)
4831  } //end "for by iETA"
4832 
4833  float Pt = PTsolv;
4834 
4835  //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
4836  //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
4837  float Pt_min = 2;// 0 GeV
4838 
4839  return (Pt > Pt_min) ? Pt : Pt_min;
4840 }
type
Definition: HCALResponse.h:21
static const double AB_sig14FnoME11[4][15]
static const double AB_sig24[4][15]
static const double AB_mu14R[4][15]
static const double AB_sig14RnoME11[4][15]
static const double AB_sig52[4][15]
static const double AB_mu12R[4][15]
static const double AB_mu13RME11[4][15]
static const double AB_sig13F[4][15]
static const double AB_mu24[4][15]
static const double AB_mu13RnoME11[4][15]
static const double AB_mu52[4][15]
static const double AB_mu14RME11[4][15]
static const double AB_sig12FnoME11[4][15]
static const double AB_mu13FnoME11[4][15]
static const double AB_mu14F[4][15]
static const double AB_sig13FME11[4][15]
static const double AB_mu51[4][15]
static const double AB_sig12FME11[4][15]
static const double AB_mu23[4][15]
static const double AB_sig12R[4][15]
static const double AB_sig51[4][15]
static const double AB_mu14FME11[4][15]
static const double AB_sig53[4][15]
static const double AB_mu14RnoME11[4][15]
double Likelihood2_2011(double *phi12, double *par_m12, double *par_sig12, double *v) const
static const double AB_sig14R[4][15]
static const double AB_mu12RnoME11[4][15]
static const double AB_mu12FnoME11[4][15]
static const double AB_mu13R[4][15]
static const double AB_sig34[4][15]
static const double AB_mu12RME11[4][15]
static const double AB_mu12FME11[4][15]
static const double AB_sig14F[4][15]
static const double AB_sig14FME11[4][15]
static const double AB_mu13F[4][15]
static const double AB_sig13R[4][15]
static const double AB_mu53[4][15]
static const double AB_sig13RME11[4][15]
static const double AB_mu14FnoME11[4][15]
static const double AB_sig13FnoME11[4][15]
static const double AB_sig23[4][15]
static const double AB_sig12RnoME11[4][15]
static const double AB_mu34[4][15]
step
static const double AB_sig13RnoME11[4][15]
static const double AB_sig12F[4][15]
static const double AB_mu12F[4][15]
static const double AB_sig14RME11[4][15]
static const double AB_mu13FME11[4][15]
static const float etabins[16]
static const double AB_sig12RME11[4][15]
float CSCTFPtMethods::Pt2StnChiSq ( int  type,
float  eta,
int  dphi,
int  fr 
) const

Definition at line 5141 of file CSCTFPtMethods.cc.

References diffTreeTool::diff, dphifr0, dphifr1, etabins, cmsRelvalreport::exit, mps_fire::i, gen::k, min(), Pt2Stn(), ptbins, ptmin, CSCTFConstants::SECTOR_RAD, sigmafr0, and sigmafr1.

Referenced by CSCTFPtLUT::calcPt(), and Pt2StnHybrid().

5142 {
5143 
5144  float diff, min, ptmin, ptmax;
5145  float mypt = 0.0;
5146 
5147  int dphicopy = dphi;
5148 
5149  if (type<0 || type>3)
5150  {
5151 // std::cout << "CSCTFPtMethods: illegal track type for Chi-square method" << std::endl;
5152  edm::LogError("CSCTFPtMethods::Pt2StnChiSq()")<<"Illegal track type for Chi-square method";
5153  return 0.;
5154  }
5155 
5156  // flip sign
5157  //dphi = -dphi;
5158 
5159  // force positive
5160  eta = fabs(eta);
5161 
5162  //determine which eta bin muon falls into
5163  int i = 0;
5164  for(i = 0; i < 15; i++)
5165  {
5166  if (eta >= etabins[i] && eta < etabins[i+1]) break;
5167  }
5168  if ( i == 15 )
5169  {
5170 // std::cout<<" CSCTFPtMethods: muon not within any eta range"<< std::endl;
5171  edm::LogWarning("CSCTFPtMethods::Pt2StnChiSq()")<<"Muon not within any eta range";
5172  if (eta<etabins[0])
5173  {
5174  eta = etabins[0];
5175  i = 0;
5176  }
5177  else if (eta>=etabins[15])
5178  {
5179  eta = etabins[15];
5180  i = 15;
5181  }
5182  else
5183  exit(0);
5184  }
5185 
5186  bool bCallOldMethod = false;
5187 
5188  if (fr == 0)
5189  {
5190  //advance past bins in array w/ default values
5191  //default is: dphifr0[x][y][z] = -1, sigmafr0[x][y][z] = 1
5192  int j = 0; //start from 1st column, j=0
5193  while (dphifr0[type][i][j] == -1 && sigmafr0[type][i][j] == 1 && j != 28) j++;
5194  if ( j == 28 )
5195  {
5196 // std::cout <<" CSCTFPtMethods: every entry in row is default"<< std::endl;
5197  edm::LogInfo("CSCTFPtMethods::Pt2StnChiSq()")<<"Every entry in row is default";
5198  // exit(0); //normal termination
5199  bCallOldMethod = true;
5200  }
5201 
5202  if (!bCallOldMethod)
5203  {
5204  //set min, ptmin, ptmax to first bin
5205  //in row that is not default
5206  min = fabs(dphi - dphifr0[type][i][j]) / sigmafr0[type][i][j];
5207  ptmin = ptbins[j];
5208  ptmax = ptbins[j+1];
5209 
5210  //loop through all pt bins. assign pt of bin w/ least diff
5211  //do not include default bins in calculation
5212  for ( int k = j; k < 28; k++ )
5213  {
5214  if(dphifr0[type][i][k] != -1 || sigmafr0[type][i][k] != 1)
5215  {
5216  diff = fabs(dphi - dphifr0[type][i][k]) / sigmafr0[type][i][k];
5217  if (diff < min)
5218  {
5219  min = diff;
5220  ptmin = ptbins[k];
5221  ptmax = ptbins[k+1];
5222  }
5223  }
5224  }
5225  mypt = (ptmin + ptmax)/2;
5226  }
5227  }
5228 
5229  if (fr == 1)
5230  {
5231  //advance past bins in array w/ default values
5232  //default is: dphifr1[x][y][z] = -1, sigmafr1[x][y][z] = 1
5233  int j = 0; //start from 1st column, j=0
5234 
5235  while (dphifr1[type][i][j] == -1 && sigmafr1[type][i][j] == 1 && j != 28) j++;
5236 
5237  if ( j == 28 )
5238  {
5239 // std::cout <<" CSCTFPtMethods: every entry in row is default"<< std::endl;
5240  edm::LogInfo("CSCTFPtMethods::Pt2StnChiSq()")<<"Every entry in row is default";
5241  // exit(0); //normal termination
5242  bCallOldMethod = true;
5243  }
5244 
5245  if (!bCallOldMethod)
5246  {
5247  //set min, ptmin, ptmax to first bin
5248  //in row that is not default
5249  min = fabs(dphi - dphifr1[type][i][j]) / sigmafr1[type][i][j];
5250  ptmin = ptbins[j];
5251  ptmax = ptbins[j+1];
5252 
5253  //loop through all pt bins. assign pt of bin w/ least diff
5254  //do not include default bins in calculation
5255  for ( int k = j; k < 28; k++ )
5256  {
5257  if(dphifr1[type][i][k] != -1 || sigmafr1[type][i][k] != 1)
5258  {
5259  diff = fabs(dphi - dphifr1[type][i][k]) / sigmafr1[type][i][k];
5260  if (diff < min)
5261  {
5262  min = diff;
5263  ptmin = ptbins[k];
5264  ptmax = ptbins[k+1];
5265  }
5266  }
5267  }
5268  mypt = (ptmin + ptmax)/2;
5269  }
5270  }
5271 
5272  // hybrid approach:
5273  if (bCallOldMethod)
5274  {
5275  float dphiR = static_cast<float>(dphicopy) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5276  // must change type definition, just add one
5277  mypt = Pt2Stn(type+1, eta, dphiR, fr);
5278  }
5279 
5280  return mypt;
5281 }
type
Definition: HCALResponse.h:21
static const float dphifr1[4][15][28]
static const float dphifr0[4][15][28]
static const float sigmafr0[4][15][28]
T min(T a, T b)
Definition: MathUtil.h:58
int k[5][pyjets_maxn]
double ptmin
Definition: HydjetWrapper.h:90
static const double SECTOR_RAD
static const float ptbins[29]
Definition: mypt.h:6
float Pt2Stn(int type, float eta, float dphi, int fr=-1) const
static const float sigmafr1[4][15][28]
static const float etabins[16]
float CSCTFPtMethods::Pt2StnHybrid ( int  type,
float  eta,
int  dphi,
int  fr 
) const

Third is the hybrid method

Definition at line 5516 of file CSCTFPtMethods.cc.

References Pt2Stn(), Pt2StnChiSq(), and CSCTFConstants::SECTOR_RAD.

Referenced by CSCTFPtLUT::calcPt().

5517 {
5518  float mypt = 0.0;
5519 
5520  mypt = Pt2StnChiSq(type, eta, dphi, fr);
5521  if(mypt >= 8.0)
5522  {
5523  float dphiR = static_cast<float>(dphi) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5524  mypt = Pt2Stn(type+1, eta, dphiR, fr);
5525  }
5526 
5527  return mypt;
5528 }
type
Definition: HCALResponse.h:21
float Pt2StnChiSq(int type, float eta, int dphi, int fr) const
static const double SECTOR_RAD
Definition: mypt.h:6
float Pt2Stn(int type, float eta, float dphi, int fr=-1) const
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 1208 of file CSCTFPtMethods.cc.

References AkHighEta_Fit1, AkLowEta_Fit1, alignmentValidation::c1, PVValHelper::eta, etabins, FRCorrHighEta, FRCorrLowEta, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), kGlobalScaleFactor, kME1andME2, kME1andME3, kME2andME3, kME2andME4, kME3andME4, reco::tau::disc::Pt(), Pt2Stn(), ptbins, alignCSCRings::r, mathSSE::sqrt(), and trigger_scale.

Referenced by CSCTFPtLUT::calcPt(), Pt3StnChiSq(), and Pt3StnHybrid().

1209 {
1210  int ty1 = 0, ty2 =0;
1211 
1212  switch (type)
1213  {
1214  case 1 :
1215  ty1 = kME1andME2 -1; // subtype sets the right position for array A
1216  ty2 = kME2andME3 -1;
1217  break;
1218  case 2 :
1219  ty1 = kME1andME2 -1;
1220  ty2 = kME2andME4 -1;
1221  break;
1222  case 3 :
1223  ty1 = kME1andME3 -1;
1224  ty2 = kME3andME4 -1;
1225  break;
1226  case 4 :
1227  ty1 = kME2andME3 -1;
1228  ty2 = kME3andME4 -1;
1229  break;
1230  default:
1231  return 0.0;
1232  }
1233 
1234  // Switch to 2-Station measurement if dphi is too small
1235  // box cut around Pt of 10 GeV
1236  float Pt;
1237 // if ( (fabs(static_cast<double>(dphi2))<0.004) &&
1238 // (fabs(static_cast<double>(dphi1))<0.030)) {
1239  if ( fabs(static_cast<double>(dphi2))<0.004 )
1240  {
1241  Pt = Pt2Stn((ty1+1), eta, dphi1, fr);
1242  }
1243  else
1244  {
1245  float c1=(-.2999 * (eta*eta*eta) + 2.030 * (eta*eta) - 4.235 * eta + 3.024) + 0.02;
1246  float c2=(-2.484 * (eta*eta*eta) + 14.43 * (eta*eta) - 27.66 * eta + 18.47)*.72;
1247  float r = 0.6; //correlation
1248  float A1 = 0;
1249  float A2 = 0;
1250 
1251  if (dphi1 == 0.0) dphi1 = 1.e-6;
1252  if (dphi2 == 0.0) dphi2 = 1.e-6;
1253  if (eta < 0.0) eta = static_cast<float>(fabs(static_cast<double>(eta)));
1254  if (eta >= 0.0 && eta < 1.6)
1255  {
1256  A1 = AkLowEta_Fit1[ty1][0] + AkLowEta_Fit1[ty1][1]*eta
1257  + AkLowEta_Fit1[ty1][2]*eta*eta + AkLowEta_Fit1[ty1][3]*eta*eta*eta;
1258  A2 = AkLowEta_Fit1[ty2][0] + AkLowEta_Fit1[ty2][1]*eta
1259  + AkLowEta_Fit1[ty2][2]*eta*eta + AkLowEta_Fit1[ty2][3]*eta*eta*eta;
1260  if (fr >= 0 && fr <= 1)
1261  {
1262  A1 *= FRCorrLowEta[ty1][fr];
1263  }
1264  }
1265 
1266  if (eta >= 1.6 && eta < 2.5)
1267  {
1268  A1 = AkHighEta_Fit1[ty1][0] + AkHighEta_Fit1[ty1][1]*eta
1269  + AkHighEta_Fit1[ty1][2]*eta*eta + AkHighEta_Fit1[ty1][3]*eta*eta*eta;
1270  A2 = AkHighEta_Fit1[ty2][0] + AkHighEta_Fit1[ty2][1]*eta
1271  + AkHighEta_Fit1[ty2][2]*eta*eta + AkHighEta_Fit1[ty2][3]*eta*eta*eta;
1272  if (fr >= 0 && fr <= 1)
1273  {
1274  A1 *= FRCorrHighEta[ty1][fr];
1275  }
1276  }
1277  A1 *= kGlobalScaleFactor;
1278  A2 *= kGlobalScaleFactor;
1279  Pt = 1/((( -dphi1/c1/c1/A1+r*dphi2/c1/c2/A2+dphi1*r/c1/c2/A1-dphi2/c2/c2/A2)
1280  + sqrt( (dphi1/c1/c1/A1-r*dphi2/c1/c2/A2-dphi1*r/c1/A1/c2+dphi2/c2/c2/A2)
1281  *(dphi1/c1/c1/A1-r*dphi2/c1/c2/A2-dphi1*r/c1/A1/c2+dphi2/c2/c2/A2)
1282  + 8*(1-r*r)*(dphi1*dphi1/c1/c1/A1/A1-2*dphi1*dphi2*r/c1/A1/c2/A2
1283  +dphi2*dphi2/c2/c2/A2/A2)))/(4*(1-r*r)));
1284 
1285  } // end 2 or 3 station method
1286  // if (Pt<0.0) Pt = 0.0;
1287  if (Pt<trigger_scale->getPtScale()->getLowEdge(1))
1288  Pt = trigger_scale->getPtScale()->getLowEdge(1);
1289 
1290  // switch to 2-stn Pt above 10 GeV:
1291  /*
1292  if (Pt>10.0) {
1293  switch (type)
1294  {
1295  case 1 :
1296  case 2 :
1297  Pt = Pt2Stn(1, eta, dphi1);
1298  break;
1299  case 3:
1300  Pt = Pt2Stn(2, eta, dphi1);
1301  break;
1302  case 4:
1303  Pt = Pt2Stn(3, eta, dphi1);
1304  }
1305  }
1306  */
1307 
1308  return Pt;
1309 }
type
Definition: HCALResponse.h:21
const L1MuScale * getPtScale() const
get the Pt scale
static const float FRCorrHighEta[kME2andMB2][2]
static const float AkLowEta_Fit1[kME2andMB2][kMaxParameters]
const L1MuTriggerPtScale * trigger_scale
static const float AkHighEta_Fit1[kME2andMB2][kMaxParameters]
T sqrt(T t)
Definition: SSEVec.h:18
static const float kGlobalScaleFactor
static const float FRCorrLowEta[kME2andMB2][2]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
float Pt2Stn(int type, float eta, float dphi, int fr=-1) const
float CSCTFPtMethods::Pt3Stn2010 ( int  type,
float  eta,
float  dphi1,
float  dphi2,
int  fr = -1,
int  method = 11 
) const

Definition at line 2270 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(), RecoTauPiZeroBuilderPlugins_cfi::par1, EnergyCorrector::pt, reco::tau::disc::Pt(), Pt2Stn2010(), HiRegitMuonDetachedTripletStep_cff::Pt_min, trigger_scale, and findQualityFiles::v.

Referenced by CSCTFPtLUT::calcPt().

2271 {
2272 
2273  if(fabs(eta) >= 2.4)eta = 2.35;
2274  float Pt = 0.;
2275  double PTsolv = 1.; // for muon plus hypothesis
2276  double PTsolvMinus = 1.;//for muon minus hypothesis
2277  for(int iETA = 0; iETA < 15; iETA++){
2278  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
2279 
2280 // calculate curvers of mean and sigma
2281  // calculate phi12 mean
2282  double par1[4] = {0., 0., 0., 0.};
2283  //double phi12mean = fitf5(v, par1); //mu12
2284  double par_sig1[3] = {0., 0., 0.};
2285  // calculate phi23 mean
2286  double par2[4] = {0., 0., 0., 0.};
2287  // calculate phi23 sig
2288  double par_sig2[3] = {0., 0., 0.};
2289  // calculate correlation rho
2290  double par_rho[5] = {0., 0., 0., 0., 0.};
2291  int iETA1 = iETA;
2292  int iETA2 = iETA;
2293  switch (type) // type = mode here
2294  {
2295  case 2 : //1-2-3
2296  if(fr == 1){
2297  if(iETA1 < 3)iETA1 = 3;
2298  //if(iETA1 > 11)iETA1 = 11;
2299  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
2300  par1[0] = A_mu12Front[0][iETA1];
2301  par1[1] = A_mu12Front[1][iETA1];
2302  par1[2] = A_mu12Front[2][iETA1];
2303  par1[3] = A_mu12Front[3][iETA1];
2304  par_sig1[0] = A_sig12Front[0][iETA1];
2305  par_sig1[1] = A_sig12Front[1][iETA1];
2306  par_sig1[2] = A_sig12Front[2][iETA1];
2307  par_rho[0] = A_rho123FrontCSCTF[0][iETA1];
2308  par_rho[1] = A_rho123FrontCSCTF[1][iETA1];
2309  par_rho[2] = A_rho123FrontCSCTF[2][iETA1];
2310  par_rho[3] = A_rho123FrontCSCTF[3][iETA1];
2311  par_rho[4] = A_rho123FrontCSCTF[4][iETA1];
2312  }
2313  if(fr == 0){
2314  if(iETA1 < 1)iETA1 = 1;
2315  //if(iETA1 > 11)iETA1 = 11;
2316  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
2317  par1[0] = A_mu12Rare[0][iETA1];
2318  par1[1] = A_mu12Rare[1][iETA1];
2319  par1[2] = A_mu12Rare[2][iETA1];
2320  par1[3] = A_mu12Rare[3][iETA1];
2321  par_sig1[0] = A_sig12Rare[0][iETA1];
2322  par_sig1[1] = A_sig12Rare[1][iETA1];
2323  par_sig1[2] = A_sig12Rare[2][iETA1];
2324  par_rho[0] = A_rho123RareCSCTF[0][iETA1];
2325  par_rho[1] = A_rho123RareCSCTF[1][iETA1];
2326  par_rho[2] = A_rho123RareCSCTF[2][iETA1];
2327  par_rho[3] = A_rho123RareCSCTF[3][iETA1];
2328  par_rho[4] = A_rho123RareCSCTF[4][iETA1];
2329  }
2330  if(iETA2 < 2)iETA2 = 2;
2331  par2[0] = A_mu23[0][iETA2];
2332  par2[1] = A_mu23[1][iETA2];
2333  par2[2] = A_mu23[2][iETA2];
2334  par2[3] = A_mu23[3][iETA2];
2335  par_sig2[0] = A_sig23[0][iETA2];
2336  par_sig2[1] = A_sig23[1][iETA2];
2337  par_sig2[2] = A_sig23[2][iETA2];
2338 
2339  break;
2340  case 3 : //1-2-4
2341  if(fr == 1){
2342  if(iETA1 < 3)iETA1 = 3;
2343  //if(iETA1 > 11)iETA1 = 11;
2344  par1[0] = A_mu12Front[0][iETA1];
2345  par1[1] = A_mu12Front[1][iETA1];
2346  par1[2] = A_mu12Front[2][iETA1];
2347  par1[3] = A_mu12Front[3][iETA1];
2348  par_sig1[0] = A_sig12Front[0][iETA1];
2349  par_sig1[1] = A_sig12Front[1][iETA1];
2350  par_sig1[2] = A_sig12Front[2][iETA1];
2351  par_rho[0] = A_rho124FrontCSCTF[0][iETA1];
2352  par_rho[1] = A_rho124FrontCSCTF[1][iETA1];
2353  par_rho[2] = A_rho124FrontCSCTF[2][iETA1];
2354  par_rho[3] = A_rho124FrontCSCTF[3][iETA1];
2355  par_rho[4] = A_rho124FrontCSCTF[4][iETA1];
2356  }
2357  if(fr == 0){
2358  if(iETA1 < 1)iETA1 = 1;
2359  //if(iETA1 > 11)iETA1 = 11;
2360  par1[0] = A_mu12Rare[0][iETA1];
2361  par1[1] = A_mu12Rare[1][iETA1];
2362  par1[2] = A_mu12Rare[2][iETA1];
2363  par1[3] = A_mu12Rare[3][iETA1];
2364  par_sig1[0] = A_sig12Rare[0][iETA1];
2365  par_sig1[1] = A_sig12Rare[1][iETA1];
2366  par_sig1[2] = A_sig12Rare[2][iETA1];
2367  par_rho[0] = A_rho124RareCSCTF[0][iETA1];
2368  par_rho[1] = A_rho124RareCSCTF[1][iETA1];
2369  par_rho[2] = A_rho124RareCSCTF[2][iETA1];
2370  par_rho[3] = A_rho124RareCSCTF[3][iETA1];
2371  par_rho[4] = A_rho124RareCSCTF[4][iETA1];
2372  }
2373  if(iETA2 < 9)iETA2 = 9;
2374  par2[0] = A_mu24[0][iETA2];
2375  par2[1] = A_mu24[1][iETA2];
2376  par2[2] = A_mu24[2][iETA2];
2377  par2[3] = A_mu24[3][iETA2];
2378  par_sig2[0] = A_sig24[0][iETA2];
2379  par_sig2[1] = A_sig24[1][iETA2];
2380  par_sig2[2] = A_sig24[2][iETA2];
2381  break;
2382  case 4 : //1-3-4
2383  if(fr == 1){
2384  if(iETA1 < 3)iETA1 = 3;
2385  //if(iETA1 > 11)iETA1 = 11;
2386  par1[0] = A_mu13Front[0][iETA1];
2387  par1[1] = A_mu13Front[1][iETA1];
2388  par1[2] = A_mu13Front[2][iETA1];
2389  par1[3] = A_mu13Front[3][iETA1];
2390  par_sig1[0] = A_sig13Front[0][iETA1];
2391  par_sig1[1] = A_sig13Front[1][iETA1];
2392  par_sig1[2] = A_sig13Front[2][iETA1];
2393  par_rho[0] = A_rho134FrontCSCTF[0][iETA1];
2394  par_rho[1] = A_rho134FrontCSCTF[1][iETA1];
2395  par_rho[2] = A_rho134FrontCSCTF[2][iETA1];
2396  par_rho[3] = A_rho134FrontCSCTF[3][iETA1];
2397  par_rho[4] = A_rho134FrontCSCTF[4][iETA1];
2398  }
2399  if(fr == 0){
2400  if(iETA1 < 2)iETA1 = 2;
2401  //if(iETA1 > 11)iETA1 = 11;
2402  par1[0] = A_mu13Rare[0][iETA1];
2403  par1[1] = A_mu13Rare[1][iETA1];
2404  par1[2] = A_mu13Rare[2][iETA1];
2405  par1[3] = A_mu13Rare[3][iETA1];
2406  par_sig1[0] = A_sig13Rare[0][iETA1];
2407  par_sig1[1] = A_sig13Rare[1][iETA1];
2408  par_sig1[2] = A_sig13Rare[2][iETA1];
2409  par_rho[0] = A_rho134RareCSCTF[0][iETA1];
2410  par_rho[1] = A_rho134RareCSCTF[1][iETA1];
2411  par_rho[2] = A_rho134RareCSCTF[2][iETA1];
2412  par_rho[3] = A_rho134RareCSCTF[3][iETA1];
2413  par_rho[4] = A_rho134RareCSCTF[4][iETA1];
2414  }
2415  if(iETA2 < 9)iETA2 = 9;
2416  par2[0] = A_mu34[0][iETA2];
2417  par2[1] = A_mu34[1][iETA2];
2418  par2[2] = A_mu34[2][iETA2];
2419  par2[3] = A_mu34[3][iETA2];
2420  par_sig2[0] = A_sig34[0][iETA2];
2421  par_sig2[1] = A_sig34[1][iETA2];
2422  par_sig2[2] = A_sig34[2][iETA2];
2423  break;
2424  case 5 ://2-3-4
2425  if(iETA1 < 9)iETA1 = 9;
2426  par1[0] = A_mu23[0][iETA1];
2427  par1[1] = A_mu23[1][iETA1];
2428  par1[2] = A_mu23[2][iETA1];
2429  par1[3] = A_mu23[3][iETA1];
2430  par_sig1[0] = A_sig23[0][iETA1];
2431  par_sig1[1] = A_sig23[1][iETA1];
2432  par_sig1[2] = A_sig23[2][iETA1];
2433  par_rho[0] = A_rho234CSCTF[0][iETA1];
2434  par_rho[1] = A_rho234CSCTF[1][iETA1];
2435  par_rho[2] = A_rho234CSCTF[2][iETA1];
2436  par_rho[3] = A_rho234CSCTF[3][iETA1];
2437  par_rho[4] = A_rho234CSCTF[4][iETA1];
2438 
2439  par2[0] = A_mu34[0][iETA1];
2440  par2[1] = A_mu34[1][iETA1];
2441  par2[2] = A_mu34[2][iETA1];
2442  par2[3] = A_mu34[3][iETA1];
2443  par_sig2[0] = A_sig34[0][iETA1];
2444  par_sig2[1] = A_sig34[1][iETA1];
2445  par_sig2[2] = A_sig34[2][iETA1];
2446  break;
2447  case 11 : // b1-1-3
2448  if(iETA1 != 2)iETA1 = 2;
2449  par1[0] = A_mu51[0][iETA1];
2450  par1[1] = A_mu51[1][iETA1];
2451  par1[2] = A_mu51[2][iETA1];
2452  par1[3] = A_mu51[3][iETA1];
2453  par_sig1[0] = A_sig51[0][iETA1];
2454  par_sig1[1] = A_sig51[1][iETA1];
2455  par_sig1[2] = A_sig51[2][iETA1];
2456  par_rho[0] = A_rho513[0][iETA1];
2457  par_rho[1] = A_rho513[0][iETA1];
2458  par_rho[2] = A_rho513[0][iETA1];
2459  par_rho[3] = A_rho513[0][iETA1];
2460  par_rho[4] = A_rho513[0][iETA1];
2461 
2462  par2[0] = A_mu13Rare[0][iETA1];
2463  par2[1] = A_mu13Rare[1][iETA1];
2464  par2[2] = A_mu13Rare[2][iETA1];
2465  par2[3] = A_mu13Rare[3][iETA1];
2466  par_sig2[0] = A_sig13Rare[0][iETA1];
2467  par_sig2[1] = A_sig13Rare[1][iETA1];
2468  par_sig2[2] = A_sig13Rare[2][iETA1];
2469  break;
2470  case 12 : // b1-2-3
2471  if(iETA1 != 2)iETA1 = 2;
2472  par1[0] = A_mu52[0][iETA1];
2473  par1[1] = A_mu52[1][iETA1];
2474  par1[2] = A_mu52[2][iETA1];
2475  par1[3] = A_mu52[3][iETA1];
2476  par_sig1[0] = A_sig52[0][iETA1];
2477  par_sig1[1] = A_sig52[1][iETA1];
2478  par_sig1[2] = A_sig52[2][iETA1];
2479  par_rho[0] = A_rho523[0][iETA1];
2480  par_rho[1] = A_rho523[0][iETA1];
2481  par_rho[2] = A_rho523[0][iETA1];
2482  par_rho[3] = A_rho523[0][iETA1];
2483  par_rho[4] = A_rho523[0][iETA1];
2484 
2485  par2[0] = A_mu23[0][iETA1];
2486  par2[1] = A_mu23[1][iETA1];
2487  par2[2] = A_mu23[2][iETA1];
2488  par2[3] = A_mu23[3][iETA1];
2489  par_sig2[0] = A_sig23[0][iETA1];
2490  par_sig2[1] = A_sig23[1][iETA1];
2491  par_sig2[2] = A_sig23[2][iETA1];
2492  break;
2493  case 14 : // b1-1-2-(3)
2494  if(iETA1 < 1)iETA1 = 1;
2495  if(iETA1 > 2)iETA1 = 2;
2496  par1[0] = A_mu51[0][iETA1];
2497  par1[1] = A_mu51[1][iETA1];
2498  par1[2] = A_mu51[2][iETA1];
2499  par1[3] = A_mu51[3][iETA1];
2500  par_sig1[0] = A_sig51[0][iETA1];
2501  par_sig1[1] = A_sig51[1][iETA1];
2502  par_sig1[2] = A_sig51[2][iETA1];
2503  par_rho[0] = A_rho512[0][iETA1];
2504  par_rho[1] = A_rho512[0][iETA1];
2505  par_rho[2] = A_rho512[0][iETA1];
2506  par_rho[3] = A_rho512[0][iETA1];
2507  par_rho[4] = A_rho512[0][iETA1];
2508 
2509  par2[0] = A_mu12Rare[0][iETA1];
2510  par2[1] = A_mu12Rare[1][iETA1];
2511  par2[2] = A_mu12Rare[2][iETA1];
2512  par2[3] = A_mu12Rare[3][iETA1];
2513  par_sig2[0] = A_sig12Rare[0][iETA1];
2514  par_sig2[1] = A_sig12Rare[1][iETA1];
2515  par_sig2[2] = A_sig12Rare[2][iETA1];
2516  break;
2517  //default:
2518  //return 0.0;
2519  }
2520 
2521  // Switch to 2-Station measurement if dphi is too small
2522  // box cut around Pt of 10 GeV
2523  if ( fabs(static_cast<double>(dphi2))<0.004 )
2524  {
2525  if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2
2526  if(type == 4) type = 7; // 1-3-4 -> 1-3
2527  if(type == 5) type = 8; // 2-3-4 -> 2-3
2528  if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10
2529  Pt = Pt2Stn2010(type, eta, dphi1, fr, method);
2530  }
2531  else
2532  {
2533 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
2534  double pt = 140;
2535  double dpt = 0.1;
2536  double step = 5.;
2537  while(pt > 2. ){
2538  double par_phi12[1] = {dphi1};
2539  double par_phi23[1] = {dphi2};
2540  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
2541  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
2542  v[0] = pt;
2543  lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2544  v[0] = pt + dpt;
2545  lpt1_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2546  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
2547  v[0] = pt - step;
2548  lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2549  v[0] = pt - step + dpt;
2550  lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2551  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
2552  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
2553  v[0] = pt - 0.5*step;
2554  double fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2555  v[0] = pt - 0.5*step + dpt;
2556  double fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2557  v[0] = pt - 0.5*step + 2*dpt;
2558  double fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2559 
2560  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
2561 
2562  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
2563 /*
2564  if(pt == 140.){
2565  v[0] = 200.;
2566  lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2567  v[0] = 200.+ 5.;
2568  lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2569  lpt2 = (lpt2_2-lpt2_1)/5.;
2570  v[0] = 170.;
2571  fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2572  v[0] = 170.+5.;
2573  fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2574  v[0] = 170.+2*5.;
2575  fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2576  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
2577  }
2578 
2579  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolv = 137.5; break;}
2580 */
2581  //double rho = fitfrho(v, par_rho); //rho
2582  if(pt > 25) {dpt = 0.1; step = 5.;}
2583  if(pt <= 25) {dpt = 0.01; step = 0.5;}
2584  pt = pt - step;
2585  }// end while
2586 //*********** end solve equation for muon plus
2587 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
2588 // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0
2589  dphi1 = - dphi1;
2590  dphi2 = - dphi2;
2591  pt = 140;
2592  dpt = 0.1;
2593  step = 5.;
2594  while(pt > 2. ){
2595  double par_phi12[1] = {dphi1};
2596  double par_phi23[1] = {dphi2};
2597  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
2598  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
2599  v[0] = pt;
2600  lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2601  v[0] = pt + dpt;
2602  lpt1_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2603  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
2604  v[0] = pt - step;
2605  lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2606  v[0] = pt - step + dpt;
2607  lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2608  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
2609  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
2610  v[0] = pt - 0.5*step;
2611  double fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2612  v[0] = pt - 0.5*step + dpt;
2613  double fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2614  v[0] = pt - 0.5*step + 2*dpt;
2615  double fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2616 
2617  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
2618 
2619  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
2620  //if(iETA == 3 && v[0] < 4 && v[0] > 3) cout << "m12 = " << fitf5(v, par1) << " sig12 = " << fitf2(v, par_sig1) << endl;
2622 /*
2623  if(pt == 140.){
2624  v[0] = 200.;
2625  lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2626  v[0] = 200.+ 5.;
2627  lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2628  lpt2 = (lpt2_2-lpt2_1)/5.;
2629  v[0] = 170.;
2630  fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2631  v[0] = 170.+5.;
2632  fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2633  v[0] = 170.+2*5.;
2634  fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2635  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
2636  }
2637  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolvMinus = 137.5; break;}
2638 */
2639  //double rho = fitfrho(v, par_rho); //rho
2640  if(pt > 25) {dpt = 0.1; step = 5.;}
2641  if(pt <= 25) {dpt = 0.01; step = 0.5;}
2642  pt = pt - step;
2643  }// end while
2644 //*********** end solve equation for muon minus
2645  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
2646  PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts
2647  if(PTsolv > 137.5) PTsolv = 137.5;
2648  //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;}
2649  dphi1 = - dphi1; //return to correct sing dphi
2650  dphi2 = - dphi2; //return to correct sing dphi
2651  Pt = PTsolv;
2652  } // end 2 or 3 station method
2653  }}
2654  // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl;
2655 
2656  float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
2657  if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
2658 
2659  return (Pt > Pt_min) ? Pt : Pt_min;
2660 }
type
Definition: HCALResponse.h:21
static const double A_rho123RareCSCTF[5][15]
static const double A_sig13Rare[3][15]
const L1MuScale * getPtScale() const
get the Pt scale
static const double A_sig12Front[3][15]
float Pt2Stn2010(int type, float eta, float dphi, int fr=-1, int method=11) const
const L1MuTriggerPtScale * trigger_scale
static const double A_sig34[3][15]
static const double A_mu24[4][15]
static const double A_sig23[3][15]
double Likelihood(double *phi12, double *phi23, double *par_m12, double *par_m23, double *par_sig12, double *par_sig23, double *par_rho, double *v) const
static const double A_rho134RareCSCTF[5][15]
static const double A_mu23[4][15]
static const double A_rho512[5][15]
DT correlation.
static const double A_sig12Rare[3][15]
static const double A_sig51[3][15]
static const double A_rho523[5][15]
static const double A_mu52[4][15]
static const double A_mu13Front[4][15]
static const double A_rho134FrontCSCTF[5][15]
static const double A_mu12Rare[4][15]
static const double A_mu13Rare[4][15]
static const double A_mu12Front[4][15]
static const double A_sig24[3][15]
static const double A_rho234CSCTF[5][15]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
static const double A_sig13Front[3][15]
static const double A_mu51[4][15]
static const double A_rho123FrontCSCTF[5][15]
step
static const double A_rho124FrontCSCTF[5][15]
static const double A_sig52[3][15]
static const double A_rho513[5][15]
static const double A_rho124RareCSCTF[5][15]
static const double A_mu34[4][15]
static const float etabins[16]
float CSCTFPtMethods::Pt3Stn2011 ( int  type,
float  eta,
float  dphi1,
float  dphi2,
int  fr = -1,
int  method = 11 
) const

Definition at line 2661 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(), RecoTauPiZeroBuilderPlugins_cfi::par1, EnergyCorrector::pt, reco::tau::disc::Pt(), Pt2Stn2011(), HiRegitMuonDetachedTripletStep_cff::Pt_min, and findQualityFiles::v.

Referenced by CSCTFPtLUT::calcPt().

2662 {
2663 
2664  //if(fabs(eta) >= 2.4)eta = 2.35;
2665  if(fabs(eta) >= 2.2) eta = 2.15;
2666  float Pt = 0.;
2667  double PTsolv = 1.; // for muon plus hypothesis
2668  double PTsolvMinus = 1.;//for muon minus hypothesis
2669  for(int iETA = 0; iETA < 15; iETA++){
2670  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
2671 
2672 // calculate curvers of mean and sigma
2673  // calculate phi12 mean
2674  double par1[4] = {0., 0., 0., 0.};
2675  //double phi12mean = fitf5(v, par1); //mu12
2676  double par_sig1[4] = {0., 0., 0., 0};
2677  // calculate phi23 mean
2678  double par2[4] = {0., 0., 0., 0.};
2679  // calculate phi23 sig
2680  double par_sig2[4] = {0., 0., 0., 0.};
2681  // calculate correlation rho
2682  double par_rho[5] = {0., 0., 0., 0., 0.};
2683  int iETA1 = iETA;
2684  int iETA2 = iETA;
2685 
2686 // defind which parameters will be use
2687  const double(*Amean12F)[15] = AB_mu12F;
2688  const double(*Asig12F)[15] = AB_sig12F;
2689  const double(*Amean12R)[15] = AB_mu12R;
2690  const double(*Asig12R)[15] = AB_sig12R;
2691 
2692  const double(*Amean13F)[15] = AB_mu13F;
2693  const double(*Asig13F)[15] = AB_sig13F;
2694  const double(*Amean13R)[15] = AB_mu13R;
2695  const double(*Asig13R)[15] = AB_sig13R;
2696 
2697  //const double(*Amean14F)[15] = AB_mu14F;
2698  //const double(*Asig14F)[15] = AB_sig14F;
2699  //const double(*Amean14R)[15] = AB_mu14R;
2700  //const double(*Asig14R)[15] = AB_sig14R;
2701 
2702  const double(*Amean23)[15] = AB_mu23;
2703  const double(*Asig23)[15] = AB_sig23;
2704  const double(*Amean24)[15] = AB_mu24;
2705  const double(*Asig24)[15] = AB_sig24;
2706  const double(*Amean34)[15] = AB_mu34;
2707  const double(*Asig34)[15] = AB_sig34;
2708 
2709  const double(*Amean5)[15] = AB_mu5;
2710  const double(*Asig5)[15] = AB_sig5;
2711  const double(*Amean51)[15] = AB_mu51;
2712  const double(*Asig51)[15] = AB_sig51;
2713  const double(*Amean52)[15] = AB_mu52;
2714  const double(*Asig52)[15] = AB_sig52;
2715  const double(*Amean53)[15] = AB_mu53;
2716  const double(*Asig53)[15] = AB_sig53;
2717 
2718  const double(*Arho123F)[15] = AB_rho123F;
2719  const double(*Arho123R)[15] = AB_rho123R;
2720  const double(*Arho124F)[15] = AB_rho124F;
2721  const double(*Arho124R)[15] = AB_rho124R;
2722  const double(*Arho134F)[15] = AB_rho134F;
2723  const double(*Arho134R)[15] = AB_rho134R;
2724  const double(*Arho234)[15] = AB_rho234;
2725 
2726  const double(*Arho51B)[15] = AB_rho51B;
2727  const double(*Arho52B)[15] = AB_rho52B;
2728  const double(*Arho53B)[15] = AB_rho53B;
2729  const double(*Arho512)[15] = AB_rho512;
2730  const double(*Arho513)[15] = AB_rho513;
2731  const double(*Arho523)[15] = AB_rho523;
2732 
2733  //cout << "iETA = " << iETA
2734  // << " AB_mu51[0][iETA] = " << AB_mu51[0][iETA] << " pointer = " << (*(Amean51+0))[iETA]
2735  // << " AB_mu51[3][iETA] = " << AB_mu51[3][iETA] << " pointer = " << (*(Amean51+3))[iETA]
2736  // << endl;
2737 
2738  switch (type) // type = mode here
2739  {
2740  case 2 : //1-2-3
2741  if(iETA < 2)iETA2 = 2;
2742  if(fr == 1){
2743  if(iETA < 3)iETA1 = 3;
2744  par1[0] = (*(Amean12F+0))[iETA1];
2745  par1[1] = (*(Amean12F+1))[iETA1];
2746  par1[2] = (*(Amean12F+2))[iETA1];
2747  par1[3] = (*(Amean12F+3))[iETA1];
2748  par_sig1[0] = (*(Asig12F+0))[iETA1];
2749  par_sig1[1] = (*(Asig12F+1))[iETA1];
2750  par_sig1[2] = (*(Asig12F+2))[iETA1];
2751  par_sig1[3] = (*(Asig12F+3))[iETA1];
2752  par_rho[0] = (*(Arho123F+0))[iETA2];
2753  par_rho[1] = (*(Arho123F+1))[iETA2];
2754  par_rho[2] = (*(Arho123F+2))[iETA2];
2755  par_rho[3] = (*(Arho123F+3))[iETA2];
2756  par_rho[4] = (*(Arho123F+4))[iETA2];
2757 
2758  }
2759  if(fr == 0){
2760  if(iETA < 1)iETA1 = 1;
2761  par1[0] = (*(Amean12R+0))[iETA1];
2762  par1[1] = (*(Amean12R+1))[iETA1];
2763  par1[2] = (*(Amean12R+2))[iETA1];
2764  par1[3] = (*(Amean12R+3))[iETA1];
2765  par_sig1[0] = (*(Asig12R+0))[iETA1];
2766  par_sig1[1] = (*(Asig12R+1))[iETA1];
2767  par_sig1[2] = (*(Asig12R+2))[iETA1];
2768  par_sig1[3] = (*(Asig12R+3))[iETA1];
2769  par_rho[0] = (*(Arho123R+0))[iETA2];
2770  par_rho[1] = (*(Arho123R+1))[iETA2];
2771  par_rho[2] = (*(Arho123R+2))[iETA2];
2772  par_rho[3] = (*(Arho123R+3))[iETA2];
2773  par_rho[4] = (*(Arho123R+4))[iETA2];
2774  }
2775  par2[0] = (*(Amean23+0))[iETA2];
2776  par2[1] = (*(Amean23+1))[iETA2];
2777  par2[2] = (*(Amean23+2))[iETA2];
2778  par2[3] = (*(Amean23+3))[iETA2];
2779  par_sig2[0] = (*(Asig23+0))[iETA2];
2780  par_sig2[1] = (*(Asig23+1))[iETA2];
2781  par_sig2[2] = (*(Asig23+2))[iETA2];
2782  par_sig2[3] = (*(Asig23+3))[iETA2];
2783 
2784  break;
2785  case 3 : //1-2-4
2786  if(iETA < 3)iETA2 = 3;
2787  if(fr == 1){
2788  if(iETA < 3)iETA1 = 3;
2789  par1[0] = (*(Amean12F+0))[iETA1];
2790  par1[1] = (*(Amean12F+1))[iETA1];
2791  par1[2] = (*(Amean12F+2))[iETA1];
2792  par1[3] = (*(Amean12F+3))[iETA1];
2793  par_sig1[0] = (*(Asig12F+0))[iETA1];
2794  par_sig1[1] = (*(Asig12F+1))[iETA1];
2795  par_sig1[2] = (*(Asig12F+2))[iETA1];
2796  par_sig1[3] = (*(Asig12F+3))[iETA1];
2797  par_rho[0] = (*(Arho124F+0))[iETA2];
2798  par_rho[1] = (*(Arho124F+1))[iETA2];
2799  par_rho[2] = (*(Arho124F+2))[iETA2];
2800  par_rho[3] = (*(Arho124F+3))[iETA2];
2801  par_rho[4] = (*(Arho124F+4))[iETA2];
2802 
2803  }
2804  if(fr == 0){
2805  if(iETA < 1)iETA1 = 1;
2806  par1[0] = (*(Amean12R+0))[iETA1];
2807  par1[1] = (*(Amean12R+1))[iETA1];
2808  par1[2] = (*(Amean12R+2))[iETA1];
2809  par1[3] = (*(Amean12R+3))[iETA1];
2810  par_sig1[0] = (*(Asig12R+0))[iETA1];
2811  par_sig1[1] = (*(Asig12R+1))[iETA1];
2812  par_sig1[2] = (*(Asig12R+2))[iETA1];
2813  par_sig1[3] = (*(Asig12R+3))[iETA1];
2814  par_rho[0] = (*(Arho124R+0))[iETA2];
2815  par_rho[1] = (*(Arho124R+1))[iETA2];
2816  par_rho[2] = (*(Arho124R+2))[iETA2];
2817  par_rho[3] = (*(Arho124R+3))[iETA2];
2818  par_rho[4] = (*(Arho124R+4))[iETA2];
2819  }
2820  par2[0] = (*(Amean24+0))[iETA2];
2821  par2[1] = (*(Amean24+1))[iETA2];
2822  par2[2] = (*(Amean24+2))[iETA2];
2823  par2[3] = (*(Amean24+3))[iETA2];
2824  par_sig2[0] = (*(Asig24+0))[iETA2];
2825  par_sig2[1] = (*(Asig24+1))[iETA2];
2826  par_sig2[2] = (*(Asig24+2))[iETA2];
2827  par_sig2[3] = (*(Asig24+3))[iETA2];
2828  break;
2829  case 4 : //1-3-4
2830  if(iETA < 3)iETA2 = 3;
2831  if(fr == 1){
2832  if(iETA < 3)iETA1 = 3;
2833  par1[0] = (*(Amean13F+0))[iETA1];
2834  par1[1] = (*(Amean13F+1))[iETA1];
2835  par1[2] = (*(Amean13F+2))[iETA1];
2836  par1[3] = (*(Amean13F+3))[iETA1];
2837  par_sig1[0] = (*(Asig13F+0))[iETA1];
2838  par_sig1[1] = (*(Asig13F+1))[iETA1];
2839  par_sig1[2] = (*(Asig13F+2))[iETA1];
2840  par_sig1[3] = (*(Asig13F+3))[iETA1];
2841  par_rho[0] = (*(Arho134F+0))[iETA2];
2842  par_rho[1] = (*(Arho134F+1))[iETA2];
2843  par_rho[2] = (*(Arho134F+2))[iETA2];
2844  par_rho[3] = (*(Arho134F+3))[iETA2];
2845  par_rho[4] = (*(Arho134F+4))[iETA2];
2846 
2847  }
2848  if(fr == 0){
2849  if(iETA < 3)iETA1 = 3;
2850  par1[0] = (*(Amean13R+0))[iETA1];
2851  par1[1] = (*(Amean13R+1))[iETA1];
2852  par1[2] = (*(Amean13R+2))[iETA1];
2853  par1[3] = (*(Amean13R+3))[iETA1];
2854  par_sig1[0] = (*(Asig13R+0))[iETA1];
2855  par_sig1[1] = (*(Asig13R+1))[iETA1];
2856  par_sig1[2] = (*(Asig13R+2))[iETA1];
2857  par_sig1[3] = (*(Asig13R+3))[iETA1];
2858  par_rho[0] = (*(Arho134R+0))[iETA2];
2859  par_rho[1] = (*(Arho134R+1))[iETA2];
2860  par_rho[2] = (*(Arho134R+2))[iETA2];
2861  par_rho[3] = (*(Arho134R+3))[iETA2];
2862  par_rho[4] = (*(Arho134R+4))[iETA2];
2863  }
2864  par2[0] = (*(Amean34+0))[iETA2];
2865  par2[1] = (*(Amean34+1))[iETA2];
2866  par2[2] = (*(Amean34+2))[iETA2];
2867  par2[3] = (*(Amean34+3))[iETA2];
2868  par_sig2[0] = (*(Asig34+0))[iETA2];
2869  par_sig2[1] = (*(Asig34+1))[iETA2];
2870  par_sig2[2] = (*(Asig34+2))[iETA2];
2871  par_sig2[3] = (*(Asig34+3))[iETA2];
2872  break;
2873  case 5 ://2-3-4
2874  if(iETA < 2)iETA1 = 2;
2875  if(iETA < 3)iETA2 = 3;
2876  par1[0] = (*(Amean23+0))[iETA1];
2877  par1[1] = (*(Amean23+1))[iETA1];
2878  par1[2] = (*(Amean23+2))[iETA1];
2879  par1[3] = (*(Amean23+3))[iETA1];
2880  par_sig1[0] = (*(Asig23+0))[iETA1];
2881  par_sig1[1] = (*(Asig23+1))[iETA1];
2882  par_sig1[2] = (*(Asig23+2))[iETA1];
2883  par_sig1[3] = (*(Asig23+3))[iETA1];
2884  par_rho[0] = (*(Arho234+0))[iETA2];
2885  par_rho[1] = (*(Arho234+1))[iETA2];
2886  par_rho[2] = (*(Arho234+2))[iETA2];
2887  par_rho[3] = (*(Arho234+3))[iETA2];
2888  par_rho[4] = (*(Arho234+4))[iETA2];
2889 
2890  par2[0] = (*(Amean34+0))[iETA2];
2891  par2[1] = (*(Amean34+1))[iETA2];
2892  par2[2] = (*(Amean34+2))[iETA2];
2893  par2[3] = (*(Amean34+3))[iETA2];
2894  par_sig2[0] = (*(Asig34+0))[iETA2];
2895  par_sig2[1] = (*(Asig34+1))[iETA2];
2896  par_sig2[2] = (*(Asig34+2))[iETA2];
2897  par_sig2[3] = (*(Asig34+3))[iETA2];
2898  break;
2899  case 11 : // singles for method < 10, for method > 10: fr = 1 -> b1-1-3, fr = 0 -> b1-3-phiBend
2900  if(iETA != 2)iETA1 = 2;
2901  par1[0] = (*(Amean53+0))[iETA1];
2902  par1[1] = (*(Amean53+1))[iETA1];
2903  par1[2] = (*(Amean53+2))[iETA1];
2904  par1[3] = (*(Amean53+3))[iETA1];
2905  par_sig1[0] = (*(Asig53+0))[iETA1];
2906  par_sig1[1] = (*(Asig53+1))[iETA1];
2907  par_sig1[2] = (*(Asig53+2))[iETA1];
2908  par_sig1[3] = (*(Asig53+3))[iETA1];
2909  par_rho[0] = (*(Arho53B+0))[iETA1];
2910  par_rho[1] = (*(Arho53B+1))[iETA1];
2911  par_rho[2] = (*(Arho53B+2))[iETA1];
2912  par_rho[3] = (*(Arho53B+3))[iETA1];
2913  par_rho[4] = (*(Arho53B+4))[iETA1];
2914 
2915  par2[0] = (*(Amean5+0))[iETA1];
2916  par2[1] = (*(Amean5+1))[iETA1];
2917  par2[2] = (*(Amean5+2))[iETA1];
2918  par2[3] = (*(Amean5+3))[iETA1];
2919  par_sig2[0] = (*(Asig5+0))[iETA1];
2920  par_sig2[1] = (*(Asig5+1))[iETA1];
2921  par_sig2[2] = (*(Asig5+2))[iETA1];
2922  par_sig2[3] = (*(Asig5+3))[iETA1];
2923 
2924  if(fr == 1){
2925  par1[0] = (*(Amean51+0))[iETA1];
2926  par1[1] = (*(Amean51+1))[iETA1];
2927  par1[2] = (*(Amean51+2))[iETA1];
2928  par1[3] = (*(Amean51+3))[iETA1];
2929  par_sig1[0] = (*(Asig51+0))[iETA1];
2930  par_sig1[1] = (*(Asig51+1))[iETA1];
2931  par_sig1[2] = (*(Asig51+2))[iETA1];
2932  par_sig1[3] = (*(Asig51+3))[iETA1];
2933  par_rho[0] = (*(Arho513+0))[iETA1];
2934  par_rho[1] = (*(Arho513+1))[iETA1];
2935  par_rho[2] = (*(Arho513+2))[iETA1];
2936  par_rho[3] = (*(Arho513+3))[iETA1];
2937  par_rho[4] = (*(Arho513+4))[iETA1];
2938 
2939  par2[0] = (*(Amean13R+0))[iETA1];
2940  par2[1] = (*(Amean13R+1))[iETA1];
2941  par2[2] = (*(Amean13R+2))[iETA1];
2942  par2[3] = (*(Amean13R+3))[iETA1];
2943  par_sig2[0] = (*(Asig13R+0))[iETA1];
2944  par_sig2[1] = (*(Asig13R+1))[iETA1];
2945  par_sig2[2] = (*(Asig13R+2))[iETA1];
2946  par_sig2[3] = (*(Asig13R+3))[iETA1];
2947  }
2948  break;
2949  case 12 : // b1-1-2 for method < 10; for method > 10: fr = 1 -> b1-2-3, fr = 0 -> b1-2-phiBend
2950  if(iETA < 1)iETA1 = 1;
2951  if(iETA > 2)iETA1 = 2;
2952  par1[0] = (*(Amean52+0))[iETA1];
2953  par1[1] = (*(Amean52+1))[iETA1];
2954  par1[2] = (*(Amean52+2))[iETA1];
2955  par1[3] = (*(Amean52+3))[iETA1];
2956  par_sig1[0] = (*(Asig52+0))[iETA1];
2957  par_sig1[1] = (*(Asig52+1))[iETA1];
2958  par_sig1[2] = (*(Asig52+2))[iETA1];
2959  par_sig1[3] = (*(Asig52+3))[iETA1];
2960  par_rho[0] = (*(Arho52B+0))[iETA1];
2961  par_rho[1] = (*(Arho52B+1))[iETA1];
2962  par_rho[2] = (*(Arho52B+2))[iETA1];
2963  par_rho[3] = (*(Arho52B+3))[iETA1];
2964  par_rho[4] = (*(Arho52B+4))[iETA1];
2965 
2966  par2[0] = (*(Amean5+0))[iETA1];
2967  par2[1] = (*(Amean5+1))[iETA1];
2968  par2[2] = (*(Amean5+2))[iETA1];
2969  par2[3] = (*(Amean5+3))[iETA1];
2970  par_sig2[0] = (*(Asig5+0))[iETA1];
2971  par_sig2[1] = (*(Asig5+1))[iETA1];
2972  par_sig2[2] = (*(Asig5+2))[iETA1];
2973  par_sig2[3] = (*(Asig5+3))[iETA1];
2974 
2975  if(fr == 1){
2976  if(iETA != 2)iETA1 = 2;
2977  par1[0] = (*(Amean52+0))[iETA1];
2978  par1[1] = (*(Amean52+1))[iETA1];
2979  par1[2] = (*(Amean52+2))[iETA1];
2980  par1[3] = (*(Amean52+3))[iETA1];
2981  par_sig1[0] = (*(Asig52+0))[iETA1];
2982  par_sig1[1] = (*(Asig52+1))[iETA1];
2983  par_sig1[2] = (*(Asig52+2))[iETA1];
2984  par_sig1[3] = (*(Asig52+3))[iETA1];
2985  par_rho[0] = (*(Arho523+0))[iETA1];
2986  par_rho[1] = (*(Arho523+1))[iETA1];
2987  par_rho[2] = (*(Arho523+2))[iETA1];
2988  par_rho[3] = (*(Arho523+3))[iETA1];
2989  par_rho[4] = (*(Arho523+4))[iETA1];
2990 
2991  par2[0] = (*(Amean23+0))[iETA1];
2992  par2[1] = (*(Amean23+1))[iETA1];
2993  par2[2] = (*(Amean23+2))[iETA1];
2994  par2[3] = (*(Amean23+3))[iETA1];
2995  par_sig2[0] = (*(Asig23+0))[iETA1];
2996  par_sig2[1] = (*(Asig23+1))[iETA1];
2997  par_sig2[2] = (*(Asig23+2))[iETA1];
2998  par_sig2[3] = (*(Asig23+3))[iETA1];
2999  }
3000  break;
3001  case 14 : // b1-2 for method < 10; for method > 10: fr = 1 -> b1-1-2-(3), fr = 0 -> b1-1-phiBend
3002  if(iETA > 2)iETA1 = 2;
3003  par1[0] = (*(Amean51+0))[iETA1];
3004  par1[1] = (*(Amean51+1))[iETA1];
3005  par1[2] = (*(Amean51+2))[iETA1];
3006  par1[3] = (*(Amean51+3))[iETA1];
3007  par_sig1[0] = (*(Asig51+0))[iETA1];
3008  par_sig1[1] = (*(Asig51+1))[iETA1];
3009  par_sig1[2] = (*(Asig51+2))[iETA1];
3010  par_sig1[3] = (*(Asig51+3))[iETA1];
3011  par_rho[0] = (*(Arho51B+0))[iETA1];
3012  par_rho[1] = (*(Arho51B+1))[iETA1];
3013  par_rho[2] = (*(Arho51B+2))[iETA1];
3014  par_rho[3] = (*(Arho51B+3))[iETA1];
3015  par_rho[4] = (*(Arho51B+4))[iETA1];
3016 
3017  par2[0] = (*(Amean5+0))[iETA1];
3018  par2[1] = (*(Amean5+1))[iETA1];
3019  par2[2] = (*(Amean5+2))[iETA1];
3020  par2[3] = (*(Amean5+3))[iETA1];
3021  par_sig2[0] = (*(Asig5+0))[iETA1];
3022  par_sig2[1] = (*(Asig5+1))[iETA1];
3023  par_sig2[2] = (*(Asig5+2))[iETA1];
3024  par_sig2[3] = (*(Asig5+3))[iETA1];
3025 
3026  if(fr == 1){
3027  if(iETA < 1)iETA1 = 1;
3028  if(iETA > 2)iETA1 = 2;
3029  par1[0] = (*(Amean51+0))[iETA1];
3030  par1[1] = (*(Amean51+1))[iETA1];
3031  par1[2] = (*(Amean51+2))[iETA1];
3032  par1[3] = (*(Amean51+3))[iETA1];
3033  par_sig1[0] = (*(Asig51+0))[iETA1];
3034  par_sig1[1] = (*(Asig51+1))[iETA1];
3035  par_sig1[2] = (*(Asig51+2))[iETA1];
3036  par_sig1[3] = (*(Asig51+3))[iETA1];
3037  par_rho[0] = (*(Arho512+0))[iETA1];
3038  par_rho[1] = (*(Arho512+1))[iETA1];
3039  par_rho[2] = (*(Arho512+2))[iETA1];
3040  par_rho[3] = (*(Arho512+3))[iETA1];
3041  par_rho[4] = (*(Arho512+4))[iETA1];
3042 
3043  par2[0] = (*(Amean12R+0))[iETA1];
3044  par2[1] = (*(Amean12R+1))[iETA1];
3045  par2[2] = (*(Amean12R+2))[iETA1];
3046  par2[3] = (*(Amean12R+3))[iETA1];
3047  par_sig2[0] = (*(Asig12R+0))[iETA1];
3048  par_sig2[1] = (*(Asig12R+1))[iETA1];
3049  par_sig2[2] = (*(Asig12R+2))[iETA1];
3050  par_sig2[3] = (*(Asig12R+3))[iETA1];
3051  }
3052  break;
3053  //default:
3054  //return 0.0;
3055  }
3056 
3057  // Switch to 2-Station measurement if dphi is too small
3058  // box cut around Pt of 10 GeV
3059  if ( (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && method < 25)||
3060  (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && type != 14 && type != 11 && method >= 25) )
3061  {
3062  //if(type == 12 || type == 14 || type == 11) std::cout << "mode = " << type << " dphi23 = " << dphi2 << " method = " << method << std::endl; //test
3063  if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2
3064  if(type == 4) type = 7; // 1-3-4 -> 1-3
3065  if(type == 5) type = 8; // 2-3-4 -> 2-3
3066  if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10
3067  //if(type == 14) type = 11;
3068  //phiSign
3069  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
3070  }
3071  else
3072  {
3073 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
3074  double pt = 140;
3075  double dpt = 0.1;
3076  double step = 5.;
3077  while(pt > 2. ){
3078  double par_phi12[1] = {dphi1};
3079  double par_phi23[1] = {dphi2};
3080  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
3081  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
3082  v[0] = pt;
3083  lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3084  v[0] = pt + dpt;
3085  lpt1_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3086  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
3087  v[0] = pt - step;
3088  lpt2_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3089  v[0] = pt - step + dpt;
3090  lpt2_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3091  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
3092  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
3093  v[0] = pt - 0.5*step;
3094  double fx = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3095  v[0] = pt - 0.5*step + dpt;
3096  double fxh = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3097  v[0] = pt - 0.5*step + 2*dpt;
3098  double fx2h = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3099 
3100  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
3101 
3102  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
3103  //double rho = fitfrho(v, par_rho); //rho
3104  if(pt > 25) {dpt = 0.1; step = 5.;}
3105  if(pt <= 25) {dpt = 0.01; step = 0.5;}
3106  pt = pt - step;
3107  }// end while
3108 //*********** end solve equation for muon plus
3109 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
3110 // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0
3111  dphi1 = - dphi1;
3112  dphi2 = - dphi2;
3113  pt = 140;
3114  dpt = 0.1;
3115  step = 5.;
3116  while(pt > 2. ){
3117  double par_phi12[1] = {dphi1};
3118  double par_phi23[1] = {dphi2};
3119  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
3120  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
3121  v[0] = pt;
3122  lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3123  v[0] = pt + dpt;
3124  lpt1_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3125  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
3126  v[0] = pt - step;
3127  lpt2_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3128  v[0] = pt - step + dpt;
3129  lpt2_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3130  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
3131  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
3132  v[0] = pt - 0.5*step;
3133  double fx = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3134  v[0] = pt - 0.5*step + dpt;
3135  double fxh = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3136  v[0] = pt - 0.5*step + 2*dpt;
3137  double fx2h = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3138 
3139  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
3140 
3141  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
3142  //double rho = fitfrho(v, par_rho); //rho
3143  if(pt > 25) {dpt = 0.1; step = 5.;}
3144  if(pt <= 25) {dpt = 0.01; step = 0.5;}
3145  pt = pt - step;
3146  }// end while
3147 //*********** end solve equation for muon minus
3148  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
3149  PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts
3150  if(PTsolv > 137.5) PTsolv = 137.5;
3151  //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;}
3152  dphi1 = - dphi1; //return to correct sing dphi
3153  dphi2 = - dphi2; //return to correct sing dphi
3154  Pt = PTsolv;
3155  } // end 2 or 3 station method
3156  }}
3157  // fix overlap region high pt:
3158  if(method >= 25 && (type == 12 || type == 14 || type == 11) && fabs(dphi1)<0.003 && fabs(dphi2) <2) Pt = 140.;
3159  // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl;
3160 
3161  //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
3162  //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
3163  float Pt_min = 2;// 2 GeV
3164 
3165  return (Pt > Pt_min) ? Pt : Pt_min;
3166 }
type
Definition: HCALResponse.h:21
static const double AB_sig24[4][15]
static const double AB_sig52[4][15]
static const double AB_mu12R[4][15]
static const double AB_rho523[5][15]
static const double AB_sig13F[4][15]
static const double AB_mu24[4][15]
static const double AB_mu52[4][15]
float Pt2Stn2011(int type, float eta, float dphi, int fr=-1, int method=11, int phiSign=2) const
static const double AB_rho513[5][15]
static const double AB_mu51[4][15]
static const double AB_mu23[4][15]
static const double AB_sig12R[4][15]
static const double AB_sig51[4][15]
static const double AB_sig53[4][15]
static const double AB_rho512[5][15]
static const double AB_mu13R[4][15]
static const double AB_rho134F[5][15]
static const double AB_sig34[4][15]
static const double AB_rho52B[5][15]
static const double AB_sig5[4][15]
double Likelihood2011(double *phi12, double *phi23, double *par_m12, double *par_m23, double *par_sig12, double *par_sig23, double *par_rho, double *v) const
static const double AB_rho124F[5][15]
static const double AB_rho124R[5][15]
static const double AB_mu13F[4][15]
static const double AB_rho53B[5][15]
static const double AB_sig13R[4][15]
static const double AB_mu5[4][15]
static const double AB_mu53[4][15]
static const double AB_rho234[5][15]
static const double AB_sig23[4][15]
static const double AB_rho134R[5][15]
static const double AB_mu34[4][15]
step
static const double AB_rho123F[5][15]
static const double AB_sig12F[4][15]
static const double AB_rho51B[5][15]
static const double AB_mu12F[4][15]
static const double AB_rho123R[5][15]
static const float etabins[16]
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 3456 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(), RecoTauPiZeroBuilderPlugins_cfi::par1, EnergyCorrector::pt, reco::tau::disc::Pt(), Pt2Stn2012(), HiRegitMuonDetachedTripletStep_cff::Pt_min, trigger_scale, and findQualityFiles::v.

Referenced by CSCTFPtLUT::calcPt().

3457 {
3458 
3459  int useBestMLH = PtbyMLH;
3460  int use2Stn = false;
3461  int use2StnDT = true;
3462  if(type == 5) use2Stn = true;//switch 2 station assighment for mode = 5
3463 
3464  if(fabs(eta) >= 2.4)eta = 2.35;
3465  float Pt = 0.;
3466  double PTsolv = 1.; // for muon plus hypothesis
3467  double PTsolvMinus = 1.;//for muon minus hypothesis
3468  for(int iETA = 0; iETA < 15; iETA++){
3469  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
3470 
3471 // calculate curvers of mean and sigma
3472  // calculate phi12 mean
3473  double par1[4] = {0., 0., 0., 0.};
3474  //double phi12mean = fitf5(v, par1); //mu12
3475  double par_sig1[3] = {0., 0., 0.};
3476  // calculate phi23 mean
3477  double par2[4] = {0., 0., 0., 0.};
3478  // calculate phi23 sig
3479  double par_sig2[3] = {0., 0., 0.};
3480  // calculate correlation rho
3481  double par_rho[5] = {0., 0., 0., 0., 0.};
3482  int iETA1 = iETA;
3483  int iETA2 = iETA;
3484  switch (type) // type = mode here
3485  {
3486  case 2 : //1-2-3
3487  if(fr == 1){
3488  if(iETA1 < 3)iETA1 = 3;
3489  //if(iETA1 > 11)iETA1 = 11;
3490  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3491  par1[0] = A_mu12Front[0][iETA1];
3492  par1[1] = A_mu12Front[1][iETA1];
3493  par1[2] = A_mu12Front[2][iETA1];
3494  par1[3] = A_mu12Front[3][iETA1];
3495  par_sig1[0] = A_sig12Front[0][iETA1];
3496  par_sig1[1] = A_sig12Front[1][iETA1];
3497  par_sig1[2] = A_sig12Front[2][iETA1];
3498  par_rho[0] = A_rho123FrontCSCTF[0][iETA1];
3499  par_rho[1] = A_rho123FrontCSCTF[1][iETA1];
3500  par_rho[2] = A_rho123FrontCSCTF[2][iETA1];
3501  par_rho[3] = A_rho123FrontCSCTF[3][iETA1];
3502  par_rho[4] = A_rho123FrontCSCTF[4][iETA1];
3503  }
3504  if(fr == 0){
3505  if(iETA1 < 1)iETA1 = 1;
3506  //if(iETA1 > 11)iETA1 = 11;
3507  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3508  par1[0] = A_mu12Rare[0][iETA1];
3509  par1[1] = A_mu12Rare[1][iETA1];
3510  par1[2] = A_mu12Rare[2][iETA1];
3511  par1[3] = A_mu12Rare[3][iETA1];
3512  par_sig1[0] = A_sig12Rare[0][iETA1];
3513  par_sig1[1] = A_sig12Rare[1][iETA1];
3514  par_sig1[2] = A_sig12Rare[2][iETA1];
3515  par_rho[0] = A_rho123RareCSCTF[0][iETA1];
3516  par_rho[1] = A_rho123RareCSCTF[1][iETA1];
3517  par_rho[2] = A_rho123RareCSCTF[2][iETA1];
3518  par_rho[3] = A_rho123RareCSCTF[3][iETA1];
3519  par_rho[4] = A_rho123RareCSCTF[4][iETA1];
3520  }
3521  if(iETA2 < 2)iETA2 = 2;
3522  par2[0] = A_mu23[0][iETA2];
3523  par2[1] = A_mu23[1][iETA2];
3524  par2[2] = A_mu23[2][iETA2];
3525  par2[3] = A_mu23[3][iETA2];
3526  par_sig2[0] = A_sig23[0][iETA2];
3527  par_sig2[1] = A_sig23[1][iETA2];
3528  par_sig2[2] = A_sig23[2][iETA2];
3529 
3530  break;
3531  case 3 : //1-2-4
3532  if(fr == 1){
3533  if(iETA1 < 3)iETA1 = 3;
3534  //if(iETA1 > 11)iETA1 = 11;
3535  par1[0] = A_mu12Front[0][iETA1];
3536  par1[1] = A_mu12Front[1][iETA1];
3537  par1[2] = A_mu12Front[2][iETA1];
3538  par1[3] = A_mu12Front[3][iETA1];
3539  par_sig1[0] = A_sig12Front[0][iETA1];
3540  par_sig1[1] = A_sig12Front[1][iETA1];
3541  par_sig1[2] = A_sig12Front[2][iETA1];
3542  par_rho[0] = A_rho124FrontCSCTF[0][iETA1];
3543  par_rho[1] = A_rho124FrontCSCTF[1][iETA1];
3544  par_rho[2] = A_rho124FrontCSCTF[2][iETA1];
3545  par_rho[3] = A_rho124FrontCSCTF[3][iETA1];
3546  par_rho[4] = A_rho124FrontCSCTF[4][iETA1];
3547  }
3548  if(fr == 0){
3549  if(iETA1 < 1)iETA1 = 1;
3550  //if(iETA1 > 11)iETA1 = 11;
3551  par1[0] = A_mu12Rare[0][iETA1];
3552  par1[1] = A_mu12Rare[1][iETA1];
3553  par1[2] = A_mu12Rare[2][iETA1];
3554  par1[3] = A_mu12Rare[3][iETA1];
3555  par_sig1[0] = A_sig12Rare[0][iETA1];
3556  par_sig1[1] = A_sig12Rare[1][iETA1];
3557  par_sig1[2] = A_sig12Rare[2][iETA1];
3558  par_rho[0] = A_rho124RareCSCTF[0][iETA1];
3559  par_rho[1] = A_rho124RareCSCTF[1][iETA1];
3560  par_rho[2] = A_rho124RareCSCTF[2][iETA1];
3561  par_rho[3] = A_rho124RareCSCTF[3][iETA1];
3562  par_rho[4] = A_rho124RareCSCTF[4][iETA1];
3563  }
3564  if(iETA2 < 9)iETA2 = 9;
3565  par2[0] = A_mu24[0][iETA2];
3566  par2[1] = A_mu24[1][iETA2];
3567  par2[2] = A_mu24[2][iETA2];
3568  par2[3] = A_mu24[3][iETA2];
3569  par_sig2[0] = A_sig24[0][iETA2];
3570  par_sig2[1] = A_sig24[1][iETA2];
3571  par_sig2[2] = A_sig24[2][iETA2];
3572  break;
3573  case 4 : //1-3-4
3574  if(fr == 1){
3575  if(iETA1 < 3)iETA1 = 3;
3576  //if(iETA1 > 11)iETA1 = 11;
3577  par1[0] = A_mu13Front[0][iETA1];
3578  par1[1] = A_mu13Front[1][iETA1];
3579  par1[2] = A_mu13Front[2][iETA1];
3580  par1[3] = A_mu13Front[3][iETA1];
3581  par_sig1[0] = A_sig13Front[0][iETA1];
3582  par_sig1[1] = A_sig13Front[1][iETA1];
3583  par_sig1[2] = A_sig13Front[2][iETA1];
3584  par_rho[0] = A_rho134FrontCSCTF[0][iETA1];
3585  par_rho[1] = A_rho134FrontCSCTF[1][iETA1];
3586  par_rho[2] = A_rho134FrontCSCTF[2][iETA1];
3587  par_rho[3] = A_rho134FrontCSCTF[3][iETA1];
3588  par_rho[4] = A_rho134FrontCSCTF[4][iETA1];
3589  }
3590  if(fr == 0){
3591  if(iETA1 < 2)iETA1 = 2;
3592  //if(iETA1 > 11)iETA1 = 11;
3593  par1[0] = A_mu13Rare[0][iETA1];
3594  par1[1] = A_mu13Rare[1][iETA1];
3595  par1[2] = A_mu13Rare[2][iETA1];
3596  par1[3] = A_mu13Rare[3][iETA1];
3597  par_sig1[0] = A_sig13Rare[0][iETA1];
3598  par_sig1[1] = A_sig13Rare[1][iETA1];
3599  par_sig1[2] = A_sig13Rare[2][iETA1];
3600  par_rho[0] = A_rho134RareCSCTF[0][iETA1];
3601  par_rho[1] = A_rho134RareCSCTF[1][iETA1];
3602  par_rho[2] = A_rho134RareCSCTF[2][iETA1];
3603  par_rho[3] = A_rho134RareCSCTF[3][iETA1];
3604  par_rho[4] = A_rho134RareCSCTF[4][iETA1];
3605  }
3606  if(iETA2 < 9)iETA2 = 9;
3607  par2[0] = A_mu34[0][iETA2];
3608  par2[1] = A_mu34[1][iETA2];
3609  par2[2] = A_mu34[2][iETA2];
3610  par2[3] = A_mu34[3][iETA2];
3611  par_sig2[0] = A_sig34[0][iETA2];
3612  par_sig2[1] = A_sig34[1][iETA2];
3613  par_sig2[2] = A_sig34[2][iETA2];
3614  break;
3615  case 5 ://2-3-4
3616  if(iETA1 < 9)iETA1 = 9;
3617  par1[0] = A_mu23[0][iETA1];
3618  par1[1] = A_mu23[1][iETA1];
3619  par1[2] = A_mu23[2][iETA1];
3620  par1[3] = A_mu23[3][iETA1];
3621  par_sig1[0] = A_sig23[0][iETA1];
3622  par_sig1[1] = A_sig23[1][iETA1];
3623  par_sig1[2] = A_sig23[2][iETA1];
3624  par_rho[0] = A_rho234CSCTF[0][iETA1];
3625  par_rho[1] = A_rho234CSCTF[1][iETA1];
3626  par_rho[2] = A_rho234CSCTF[2][iETA1];
3627  par_rho[3] = A_rho234CSCTF[3][iETA1];
3628  par_rho[4] = A_rho234CSCTF[4][iETA1];
3629 
3630  par2[0] = A_mu34[0][iETA1];
3631  par2[1] = A_mu34[1][iETA1];
3632  par2[2] = A_mu34[2][iETA1];
3633  par2[3] = A_mu34[3][iETA1];
3634  par_sig2[0] = A_sig34[0][iETA1];
3635  par_sig2[1] = A_sig34[1][iETA1];
3636  par_sig2[2] = A_sig34[2][iETA1];
3637  break;
3638  case 11 : // b1-1-3
3639  if(iETA1 != 2)iETA1 = 2;
3640  par1[0] = A_mu51[0][iETA1];
3641  par1[1] = A_mu51[1][iETA1];
3642  par1[2] = A_mu51[2][iETA1];
3643  par1[3] = A_mu51[3][iETA1];
3644  par_sig1[0] = A_sig51[0][iETA1];
3645  par_sig1[1] = A_sig51[1][iETA1];
3646  par_sig1[2] = A_sig51[2][iETA1];
3647  par_rho[0] = A_rho513[0][iETA1];
3648  par_rho[1] = A_rho513[0][iETA1];
3649  par_rho[2] = A_rho513[0][iETA1];
3650  par_rho[3] = A_rho513[0][iETA1];
3651  par_rho[4] = A_rho513[0][iETA1];
3652 
3653  par2[0] = A_mu13Rare[0][iETA1];
3654  par2[1] = A_mu13Rare[1][iETA1];
3655  par2[2] = A_mu13Rare[2][iETA1];
3656  par2[3] = A_mu13Rare[3][iETA1];
3657  par_sig2[0] = A_sig13Rare[0][iETA1];
3658  par_sig2[1] = A_sig13Rare[1][iETA1];
3659  par_sig2[2] = A_sig13Rare[2][iETA1];
3660  break;
3661  case 12 : // b1-2-3
3662  if(iETA1 != 2)iETA1 = 2;
3663  par1[0] = A_mu52[0][iETA1];
3664  par1[1] = A_mu52[1][iETA1];
3665  par1[2] = A_mu52[2][iETA1];
3666  par1[3] = A_mu52[3][iETA1];
3667  par_sig1[0] = A_sig52[0][iETA1];
3668  par_sig1[1] = A_sig52[1][iETA1];
3669  par_sig1[2] = A_sig52[2][iETA1];
3670  par_rho[0] = A_rho523[0][iETA1];
3671  par_rho[1] = A_rho523[0][iETA1];
3672  par_rho[2] = A_rho523[0][iETA1];
3673  par_rho[3] = A_rho523[0][iETA1];
3674  par_rho[4] = A_rho523[0][iETA1];
3675 
3676  par2[0] = A_mu23[0][iETA1];
3677  par2[1] = A_mu23[1][iETA1];
3678  par2[2] = A_mu23[2][iETA1];
3679  par2[3] = A_mu23[3][iETA1];
3680  par_sig2[0] = A_sig23[0][iETA1];
3681  par_sig2[1] = A_sig23[1][iETA1];
3682  par_sig2[2] = A_sig23[2][iETA1];
3683  break;
3684  case 14 : // b1-1-2-(3)
3685  if(iETA1 < 1)iETA1 = 1;
3686  if(iETA1 > 2)iETA1 = 2;
3687  par1[0] = A_mu51[0][iETA1];
3688  par1[1] = A_mu51[1][iETA1];
3689  par1[2] = A_mu51[2][iETA1];
3690  par1[3] = A_mu51[3][iETA1];
3691  par_sig1[0] = A_sig51[0][iETA1];
3692  par_sig1[1] = A_sig51[1][iETA1];
3693  par_sig1[2] = A_sig51[2][iETA1];
3694  par_rho[0] = A_rho512[0][iETA1];
3695  par_rho[1] = A_rho512[0][iETA1];
3696  par_rho[2] = A_rho512[0][iETA1];
3697  par_rho[3] = A_rho512[0][iETA1];
3698  par_rho[4] = A_rho512[0][iETA1];
3699 
3700  par2[0] = A_mu12Rare[0][iETA1];
3701  par2[1] = A_mu12Rare[1][iETA1];
3702  par2[2] = A_mu12Rare[2][iETA1];
3703  par2[3] = A_mu12Rare[3][iETA1];
3704  par_sig2[0] = A_sig12Rare[0][iETA1];
3705  par_sig2[1] = A_sig12Rare[1][iETA1];
3706  par_sig2[2] = A_sig12Rare[2][iETA1];
3707  break;
3708  //default:
3709  //return 0.0;
3710  }
3711 
3712  // Switch to 2-Station measurement if dphi is too small
3713  // box cut around Pt of 10 GeV
3714  if ( fabs(static_cast<double>(dphi2))<0.004 && ((type >= 11 && use2StnDT) || (type>=2 && type<=5 && use2Stn)))
3715  {
3716  if (use2Stn)
3717  {
3718  if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2
3719  if(type == 4) type = 7; // 1-3-4 -> 1-3
3720  Pt = Pt2Stn2012(type, eta, dphi1, useBestMLH, bestLH, fr, method);
3721  }
3722  if (use2StnDT)
3723  {
3724  if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10
3725  Pt = Pt2Stn2012(type, eta, dphi1, useBestMLH, bestLH, fr, method);
3726  }
3727  }
3728  else
3729  {
3730 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
3731  double muPlusMaxLH = -1e9;
3732  double pt = 140;
3733  double step = 5.;
3734  double maxLH = -1e9;
3735 
3736  while(pt > 2. )
3737  {
3738  double par_phi12[1] = {dphi1};
3739  double par_phi23[1] = {dphi2};
3740  double v[1], lpt1_1;
3741  v[0] = 0; lpt1_1 = 1.;
3742  v[0] = pt;
3743  lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3744 
3745  if (lpt1_1 > maxLH)
3746  {
3747  maxLH = lpt1_1;
3748  PTsolv = pt;
3749  }
3750 
3751 
3752  if(pt <= 100) {step = 10.0/4.0;}
3753  if(pt <= 50) {step = 5.0/4.0;}
3754  if(pt <= 20) {step = 2.0/4.0;}
3755  if(pt <= 10) {step = 1.0/4.0;}
3756  if(pt <=5) {step = 0.5/4.0;}
3757 
3758  pt = pt - step;
3759  }// end while
3760  muPlusMaxLH = maxLH;
3761 
3762 //*********** end solve equation for muon plus
3763 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
3764 // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0
3765  double muMinusMaxLH = -1e9;
3766  dphi1 = - dphi1;
3767  dphi2 = - dphi2;
3768  pt = 140;
3769  step = 5.;
3770  maxLH = -1e9;
3771 
3772  while(pt > 2. )
3773  {
3774  double par_phi12[1] = {dphi1};
3775  double par_phi23[1] = {dphi2};
3776  double v[1], lpt1_1;
3777  v[0] = 0; lpt1_1 = 1.;
3778  v[0] = pt;
3779  lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3780 
3781  if (lpt1_1 > maxLH)
3782  {
3783  maxLH = lpt1_1;
3784  PTsolvMinus = pt;
3785  }
3786 
3787  if(pt <= 100) {step = 10.0/4.0;}
3788  if(pt <= 50) {step = 5.0/4.0;}
3789  if(pt <= 20) {step = 2.0/4.0;}
3790  if(pt <= 10) {step = 1.0/4.0;}
3791  if(pt <=5) {step = 0.5/4.0;}
3792 
3793  pt = pt - step;
3794  }// end while
3795  muMinusMaxLH = maxLH;
3796 
3797  if (useBestMLH)
3798  PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
3799  else
3800  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
3801 
3802  bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH;
3803  //*********** end solve equation for muon minus
3804 
3805  PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts
3806  if(PTsolv > 137.5) PTsolv = 137.5;
3807  //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;}
3808  dphi1 = - dphi1; //return to correct sing dphi
3809  dphi2 = - dphi2; //return to correct sing dphi
3810  Pt = PTsolv;
3811  } // end 2 or 3 station method
3812  }
3813  }
3814  // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl;
3815 
3816  float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
3817  if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
3818 
3819  return (Pt > Pt_min) ? Pt : Pt_min;
3820 }
type
Definition: HCALResponse.h:21
static const double A_rho123RareCSCTF[5][15]
static const double A_sig13Rare[3][15]
const L1MuScale * getPtScale() const
get the Pt scale
static const double A_sig12Front[3][15]
const L1MuTriggerPtScale * trigger_scale
static const double A_sig34[3][15]
static const double A_mu24[4][15]
static const double A_sig23[3][15]
double Likelihood(double *phi12, double *phi23, double *par_m12, double *par_m23, double *par_sig12, double *par_sig23, double *par_rho, double *v) const
static const double A_rho134RareCSCTF[5][15]
static const double A_mu23[4][15]
static const double A_rho512[5][15]
DT correlation.
static const double A_sig12Rare[3][15]
static const double A_sig51[3][15]
static const double A_rho523[5][15]
static const double A_mu52[4][15]
static const double A_mu13Front[4][15]
static const double A_rho134FrontCSCTF[5][15]
static const double A_mu12Rare[4][15]
static const double A_mu13Rare[4][15]
static const double A_mu12Front[4][15]
static const double A_sig24[3][15]
static const double A_rho234CSCTF[5][15]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
float Pt2Stn2012(int type, float eta, float dphi, int PtbyMLH, float &theLH, int fr=-1, int method=11) const
static const double A_sig13Front[3][15]
static const double A_mu51[4][15]
static const double A_rho123FrontCSCTF[5][15]
step
static const double A_rho124FrontCSCTF[5][15]
static const double A_sig52[3][15]
static const double A_rho513[5][15]
static const double A_rho124RareCSCTF[5][15]
static const double A_mu34[4][15]
static const float etabins[16]
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 3824 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(), RecoTauPiZeroBuilderPlugins_cfi::par1, EnergyCorrector::pt, reco::tau::disc::Pt(), Pt2Stn2012_DT(), HiRegitMuonDetachedTripletStep_cff::Pt_min, and findQualityFiles::v.

Referenced by CSCTFPtLUT::calcPt().

3825 {
3826  int useBestMLH = PtbyMLH;
3827  int useBOXcutDT = true;
3828  int use2Stn = false;
3829  int use2StnDT = true;
3830 
3831  //if(fabs(eta) >= 2.4)eta = 2.35;
3832  if(fabs(eta) >= 2.2) eta = 2.15;
3833  float Pt = 0.;
3834  double PTsolv = 1.; // for muon plus hypothesis
3835  double PTsolvMinus = 1.;//for muon minus hypothesis
3836  for(int iETA = 0; iETA < 15; iETA++){
3837  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
3838 
3839 // calculate curvers of mean and sigma
3840  // calculate phi12 mean
3841  double par1[4] = {0., 0., 0., 0.};
3842  //double phi12mean = fitf5(v, par1); //mu12
3843  double par_sig1[4] = {0., 0., 0., 0};
3844  // calculate phi23 mean
3845  double par2[4] = {0., 0., 0., 0.};
3846  // calculate phi23 sig
3847  double par_sig2[4] = {0., 0., 0., 0.};
3848  // calculate correlation rho
3849  double par_rho[5] = {0., 0., 0., 0., 0.};
3850  int iETA1 = iETA;
3851  int iETA2 = iETA;
3852 
3853 // defind which parameters will be use
3854  const double(*Amean12F)[15] = AB_mu12F;
3855  const double(*Asig12F)[15] = AB_sig12F;
3856  const double(*Amean12R)[15] = AB_mu12R;
3857  const double(*Asig12R)[15] = AB_sig12R;
3858 
3859  const double(*Amean13F)[15] = AB_mu13F;
3860  const double(*Asig13F)[15] = AB_sig13F;
3861  const double(*Amean13R)[15] = AB_mu13R;
3862  const double(*Asig13R)[15] = AB_sig13R;
3863 
3864  //const double(*Amean14F)[15] = AB_mu14F;
3865  //const double(*Asig14F)[15] = AB_sig14F;
3866  //const double(*Amean14R)[15] = AB_mu14R;
3867  //const double(*Asig14R)[15] = AB_sig14R;
3868 
3869  const double(*Amean23)[15] = AB_mu23;
3870  const double(*Asig23)[15] = AB_sig23;
3871  const double(*Amean24)[15] = AB_mu24;
3872  const double(*Asig24)[15] = AB_sig24;
3873  const double(*Amean34)[15] = AB_mu34;
3874  const double(*Asig34)[15] = AB_sig34;
3875 
3876  const double(*Amean5)[15] = AB_mu5;
3877  const double(*Asig5)[15] = AB_sig5;
3878  const double(*Amean51)[15] = AB_mu51;
3879  const double(*Asig51)[15] = AB_sig51;
3880  const double(*Amean52)[15] = AB_mu52;
3881  const double(*Asig52)[15] = AB_sig52;
3882  const double(*Amean53)[15] = AB_mu53;
3883  const double(*Asig53)[15] = AB_sig53;
3884 
3885  const double(*Arho123F)[15] = AB_rho123F;
3886  const double(*Arho123R)[15] = AB_rho123R;
3887  const double(*Arho124F)[15] = AB_rho124F;
3888  const double(*Arho124R)[15] = AB_rho124R;
3889  const double(*Arho134F)[15] = AB_rho134F;
3890  const double(*Arho134R)[15] = AB_rho134R;
3891  const double(*Arho234)[15] = AB_rho234;
3892 
3893  const double(*Arho51B)[15] = AB_rho51B;
3894  const double(*Arho52B)[15] = AB_rho52B;
3895  const double(*Arho53B)[15] = AB_rho53B;
3896  const double(*Arho512)[15] = AB_rho512;
3897  const double(*Arho513)[15] = AB_rho513;
3898  const double(*Arho523)[15] = AB_rho523;
3899 
3900  //cout << "iETA = " << iETA
3901  // << " AB_mu51[0][iETA] = " << AB_mu51[0][iETA] << " pointer = " << (*(Amean51+0))[iETA]
3902  // << " AB_mu51[3][iETA] = " << AB_mu51[3][iETA] << " pointer = " << (*(Amean51+3))[iETA]
3903  // << endl;
3904 
3905  switch (type) // type = mode here
3906  {
3907  case 2 : //1-2-3
3908  if(iETA < 2)iETA2 = 2;
3909  if(fr == 1){
3910  if(iETA < 3)iETA1 = 3;
3911  par1[0] = (*(Amean12F+0))[iETA1];
3912  par1[1] = (*(Amean12F+1))[iETA1];
3913  par1[2] = (*(Amean12F+2))[iETA1];
3914  par1[3] = (*(Amean12F+3))[iETA1];
3915  par_sig1[0] = (*(Asig12F+0))[iETA1];
3916  par_sig1[1] = (*(Asig12F+1))[iETA1];
3917  par_sig1[2] = (*(Asig12F+2))[iETA1];
3918  par_sig1[3] = (*(Asig12F+3))[iETA1];
3919  par_rho[0] = (*(Arho123F+0))[iETA2];
3920  par_rho[1] = (*(Arho123F+1))[iETA2];
3921  par_rho[2] = (*(Arho123F+2))[iETA2];
3922  par_rho[3] = (*(Arho123F+3))[iETA2];
3923  par_rho[4] = (*(Arho123F+4))[iETA2];
3924 
3925  }
3926  if(fr == 0){
3927  if(iETA < 1)iETA1 = 1;
3928  par1[0] = (*(Amean12R+0))[iETA1];
3929  par1[1] = (*(Amean12R+1))[iETA1];
3930  par1[2] = (*(Amean12R+2))[iETA1];
3931  par1[3] = (*(Amean12R+3))[iETA1];
3932  par_sig1[0] = (*(Asig12R+0))[iETA1];
3933  par_sig1[1] = (*(Asig12R+1))[iETA1];
3934  par_sig1[2] = (*(Asig12R+2))[iETA1];
3935  par_sig1[3] = (*(Asig12R+3))[iETA1];
3936  par_rho[0] = (*(Arho123R+0))[iETA2];
3937  par_rho[1] = (*(Arho123R+1))[iETA2];
3938  par_rho[2] = (*(Arho123R+2))[iETA2];
3939  par_rho[3] = (*(Arho123R+3))[iETA2];
3940  par_rho[4] = (*(Arho123R+4))[iETA2];
3941  }
3942  par2[0] = (*(Amean23+0))[iETA2];
3943  par2[1] = (*(Amean23+1))[iETA2];
3944  par2[2] = (*(Amean23+2))[iETA2];
3945  par2[3] = (*(Amean23+3))[iETA2];
3946  par_sig2[0] = (*(Asig23+0))[iETA2];
3947  par_sig2[1] = (*(Asig23+1))[iETA2];
3948  par_sig2[2] = (*(Asig23+2))[iETA2];
3949  par_sig2[3] = (*(Asig23+3))[iETA2];
3950 
3951  break;
3952  case 3 : //1-2-4
3953  if(iETA < 3)iETA2 = 3;
3954  if(fr == 1){
3955  if(iETA < 3)iETA1 = 3;
3956  par1[0] = (*(Amean12F+0))[iETA1];
3957  par1[1] = (*(Amean12F+1))[iETA1];
3958  par1[2] = (*(Amean12F+2))[iETA1];
3959  par1[3] = (*(Amean12F+3))[iETA1];
3960  par_sig1[0] = (*(Asig12F+0))[iETA1];
3961  par_sig1[1] = (*(Asig12F+1))[iETA1];
3962  par_sig1[2] = (*(Asig12F+2))[iETA1];
3963  par_sig1[3] = (*(Asig12F+3))[iETA1];
3964  par_rho[0] = (*(Arho124F+0))[iETA2];
3965  par_rho[1] = (*(Arho124F+1))[iETA2];
3966  par_rho[2] = (*(Arho124F+2))[iETA2];
3967  par_rho[3] = (*(Arho124F+3))[iETA2];
3968  par_rho[4] = (*(Arho124F+4))[iETA2];
3969 
3970  }
3971  if(fr == 0){
3972  if(iETA < 1)iETA1 = 1;
3973  par1[0] = (*(Amean12R+0))[iETA1];
3974  par1[1] = (*(Amean12R+1))[iETA1];
3975  par1[2] = (*(Amean12R+2))[iETA1];
3976  par1[3] = (*(Amean12R+3))[iETA1];
3977  par_sig1[0] = (*(Asig12R+0))[iETA1];
3978  par_sig1[1] = (*(Asig12R+1))[iETA1];
3979  par_sig1[2] = (*(Asig12R+2))[iETA1];
3980  par_sig1[3] = (*(Asig12R+3))[iETA1];
3981  par_rho[0] = (*(Arho124R+0))[iETA2];
3982  par_rho[1] = (*(Arho124R+1))[iETA2];
3983  par_rho[2] = (*(Arho124R+2))[iETA2];
3984  par_rho[3] = (*(Arho124R+3))[iETA2];
3985  par_rho[4] = (*(Arho124R+4))[iETA2];
3986  }
3987  par2[0] = (*(Amean24+0))[iETA2];
3988  par2[1] = (*(Amean24+1))[iETA2];
3989  par2[2] = (*(Amean24+2))[iETA2];
3990  par2[3] = (*(Amean24+3))[iETA2];
3991  par_sig2[0] = (*(Asig24+0))[iETA2];
3992  par_sig2[1] = (*(Asig24+1))[iETA2];
3993  par_sig2[2] = (*(Asig24+2))[iETA2];
3994  par_sig2[3] = (*(Asig24+3))[iETA2];
3995  break;
3996  case 4 : //1-3-4
3997  if(iETA < 3)iETA2 = 3;
3998  if(fr == 1){
3999  if(iETA < 3)iETA1 = 3;
4000  par1[0] = (*(Amean13F+0))[iETA1];
4001  par1[1] = (*(Amean13F+1))[iETA1];
4002  par1[2] = (*(Amean13F+2))[iETA1];
4003  par1[3] = (*(Amean13F+3))[iETA1];
4004  par_sig1[0] = (*(Asig13F+0))[iETA1];
4005  par_sig1[1] = (*(Asig13F+1))[iETA1];
4006  par_sig1[2] = (*(Asig13F+2))[iETA1];
4007  par_sig1[3] = (*(Asig13F+3))[iETA1];
4008  par_rho[0] = (*(Arho134F+0))[iETA2];
4009  par_rho[1] = (*(Arho134F+1))[iETA2];
4010  par_rho[2] = (*(Arho134F+2))[iETA2];
4011  par_rho[3] = (*(Arho134F+3))[iETA2];
4012  par_rho[4] = (*(Arho134F+4))[iETA2];
4013 
4014  }
4015  if(fr == 0){
4016  if(iETA < 3)iETA1 = 3;
4017  par1[0] = (*(Amean13R+0))[iETA1];
4018  par1[1] = (*(Amean13R+1))[iETA1];
4019  par1[2] = (*(Amean13R+2))[iETA1];
4020  par1[3] = (*(Amean13R+3))[iETA1];
4021  par_sig1[0] = (*(Asig13R+0))[iETA1];
4022  par_sig1[1] = (*(Asig13R+1))[iETA1];
4023  par_sig1[2] = (*(Asig13R+2))[iETA1];
4024  par_sig1[3] = (*(Asig13R+3))[iETA1];
4025  par_rho[0] = (*(Arho134R+0))[iETA2];
4026  par_rho[1] = (*(Arho134R+1))[iETA2];
4027  par_rho[2] = (*(Arho134R+2))[iETA2];
4028  par_rho[3] = (*(Arho134R+3))[iETA2];
4029  par_rho[4] = (*(Arho134R+4))[iETA2];
4030  }
4031  par2[0] = (*(Amean34+0))[iETA2];
4032  par2[1] = (*(Amean34+1))[iETA2];
4033  par2[2] = (*(Amean34+2))[iETA2];
4034  par2[3] = (*(Amean34+3))[iETA2];
4035  par_sig2[0] = (*(Asig34+0))[iETA2];
4036  par_sig2[1] = (*(Asig34+1))[iETA2];
4037  par_sig2[2] = (*(Asig34+2))[iETA2];
4038  par_sig2[3] = (*(Asig34+3))[iETA2];
4039  break;
4040  case 5 ://2-3-4
4041  if(iETA < 2)iETA1 = 2;
4042  if(iETA < 3)iETA2 = 3;
4043  par1[0] = (*(Amean23+0))[iETA1];
4044  par1[1] = (*(Amean23+1))[iETA1];
4045  par1[2] = (*(Amean23+2))[iETA1];
4046  par1[3] = (*(Amean23+3))[iETA1];
4047  par_sig1[0] = (*(Asig23+0))[iETA1];
4048  par_sig1[1] = (*(Asig23+1))[iETA1];
4049  par_sig1[2] = (*(Asig23+2))[iETA1];
4050  par_sig1[3] = (*(Asig23+3))[iETA1];
4051  par_rho[0] = (*(Arho234+0))[iETA2];
4052  par_rho[1] = (*(Arho234+1))[iETA2];
4053  par_rho[2] = (*(Arho234+2))[iETA2];
4054  par_rho[3] = (*(Arho234+3))[iETA2];
4055  par_rho[4] = (*(Arho234+4))[iETA2];
4056 
4057  par2[0] = (*(Amean34+0))[iETA2];
4058  par2[1] = (*(Amean34+1))[iETA2];
4059  par2[2] = (*(Amean34+2))[iETA2];
4060  par2[3] = (*(Amean34+3))[iETA2];
4061  par_sig2[0] = (*(Asig34+0))[iETA2];
4062  par_sig2[1] = (*(Asig34+1))[iETA2];
4063  par_sig2[2] = (*(Asig34+2))[iETA2];
4064  par_sig2[3] = (*(Asig34+3))[iETA2];
4065  break;
4066  case 11 : // singles for method < 10, for method > 10: fr = 1 -> b1-1-3, fr = 0 -> b1-3-phiBend
4067  if(iETA != 2)iETA1 = 2;
4068  par1[0] = (*(Amean53+0))[iETA1];
4069  par1[1] = (*(Amean53+1))[iETA1];
4070  par1[2] = (*(Amean53+2))[iETA1];
4071  par1[3] = (*(Amean53+3))[iETA1];
4072  par_sig1[0] = (*(Asig53+0))[iETA1];
4073  par_sig1[1] = (*(Asig53+1))[iETA1];
4074  par_sig1[2] = (*(Asig53+2))[iETA1];
4075  par_sig1[3] = (*(Asig53+3))[iETA1];
4076  par_rho[0] = (*(Arho53B+0))[iETA1];
4077  par_rho[1] = (*(Arho53B+1))[iETA1];
4078  par_rho[2] = (*(Arho53B+2))[iETA1];
4079  par_rho[3] = (*(Arho53B+3))[iETA1];
4080  par_rho[4] = (*(Arho53B+4))[iETA1];
4081 
4082  par2[0] = (*(Amean5+0))[iETA1];
4083  par2[1] = (*(Amean5+1))[iETA1];
4084  par2[2] = (*(Amean5+2))[iETA1];
4085  par2[3] = (*(Amean5+3))[iETA1];
4086  par_sig2[0] = (*(Asig5+0))[iETA1];
4087  par_sig2[1] = (*(Asig5+1))[iETA1];
4088  par_sig2[2] = (*(Asig5+2))[iETA1];
4089  par_sig2[3] = (*(Asig5+3))[iETA1];
4090 
4091  if(fr == 1){
4092  par1[0] = (*(Amean51+0))[iETA1];
4093  par1[1] = (*(Amean51+1))[iETA1];
4094  par1[2] = (*(Amean51+2))[iETA1];
4095  par1[3] = (*(Amean51+3))[iETA1];
4096  par_sig1[0] = (*(Asig51+0))[iETA1];
4097  par_sig1[1] = (*(Asig51+1))[iETA1];
4098  par_sig1[2] = (*(Asig51+2))[iETA1];
4099  par_sig1[3] = (*(Asig51+3))[iETA1];
4100  par_rho[0] = (*(Arho513+0))[iETA1];
4101  par_rho[1] = (*(Arho513+1))[iETA1];
4102  par_rho[2] = (*(Arho513+2))[iETA1];
4103  par_rho[3] = (*(Arho513+3))[iETA1];
4104  par_rho[4] = (*(Arho513+4))[iETA1];
4105 
4106  par2[0] = (*(Amean13R+0))[iETA1];
4107  par2[1] = (*(Amean13R+1))[iETA1];
4108  par2[2] = (*(Amean13R+2))[iETA1];
4109  par2[3] = (*(Amean13R+3))[iETA1];
4110  par_sig2[0] = (*(Asig13R+0))[iETA1];
4111  par_sig2[1] = (*(Asig13R+1))[iETA1];
4112  par_sig2[2] = (*(Asig13R+2))[iETA1];
4113  par_sig2[3] = (*(Asig13R+3))[iETA1];
4114  }
4115  break;
4116  case 12 : // b1-1-2 for method < 10; for method > 10: fr = 1 -> b1-2-3, fr = 0 -> b1-2-phiBend
4117  if(iETA < 1)iETA1 = 1;
4118  if(iETA > 2)iETA1 = 2;
4119  par1[0] = (*(Amean52+0))[iETA1];
4120  par1[1] = (*(Amean52+1))[iETA1];
4121  par1[2] = (*(Amean52+2))[iETA1];
4122  par1[3] = (*(Amean52+3))[iETA1];
4123  par_sig1[0] = (*(Asig52+0))[iETA1];
4124  par_sig1[1] = (*(Asig52+1))[iETA1];
4125  par_sig1[2] = (*(Asig52+2))[iETA1];
4126  par_sig1[3] = (*(Asig52+3))[iETA1];
4127  par_rho[0] = (*(Arho52B+0))[iETA1];
4128  par_rho[1] = (*(Arho52B+1))[iETA1];
4129  par_rho[2] = (*(Arho52B+2))[iETA1];
4130  par_rho[3] = (*(Arho52B+3))[iETA1];
4131  par_rho[4] = (*(Arho52B+4))[iETA1];
4132 
4133  par2[0] = (*(Amean5+0))[iETA1];
4134  par2[1] = (*(Amean5+1))[iETA1];
4135  par2[2] = (*(Amean5+2))[iETA1];
4136  par2[3] = (*(Amean5+3))[iETA1];
4137  par_sig2[0] = (*(Asig5+0))[iETA1];
4138  par_sig2[1] = (*(Asig5+1))[iETA1];
4139  par_sig2[2] = (*(Asig5+2))[iETA1];
4140  par_sig2[3] = (*(Asig5+3))[iETA1];
4141 
4142  if(fr == 1){
4143  if(iETA != 2)iETA1 = 2;
4144  par1[0] = (*(Amean52+0))[iETA1];
4145  par1[1] = (*(Amean52+1))[iETA1];
4146  par1[2] = (*(Amean52+2))[iETA1];
4147  par1[3] = (*(Amean52+3))[iETA1];
4148  par_sig1[0] = (*(Asig52+0))[iETA1];
4149  par_sig1[1] = (*(Asig52+1))[iETA1];
4150  par_sig1[2] = (*(Asig52+2))[iETA1];
4151  par_sig1[3] = (*(Asig52+3))[iETA1];
4152  par_rho[0] = (*(Arho523+0))[iETA1];
4153  par_rho[1] = (*(Arho523+1))[iETA1];
4154  par_rho[2] = (*(Arho523+2))[iETA1];
4155  par_rho[3] = (*(Arho523+3))[iETA1];
4156  par_rho[4] = (*(Arho523+4))[iETA1];
4157 
4158  par2[0] = (*(Amean23+0))[iETA1];
4159  par2[1] = (*(Amean23+1))[iETA1];
4160  par2[2] = (*(Amean23+2))[iETA1];
4161  par2[3] = (*(Amean23+3))[iETA1];
4162  par_sig2[0] = (*(Asig23+0))[iETA1];
4163  par_sig2[1] = (*(Asig23+1))[iETA1];
4164  par_sig2[2] = (*(Asig23+2))[iETA1];
4165  par_sig2[3] = (*(Asig23+3))[iETA1];
4166  }
4167  break;
4168  case 14 : // b1-2 for method < 10; for method > 10: fr = 1 -> b1-1-2-(3), fr = 0 -> b1-1-phiBend
4169  if(iETA > 2)iETA1 = 2;
4170  par1[0] = (*(Amean51+0))[iETA1];
4171  par1[1] = (*(Amean51+1))[iETA1];
4172  par1[2] = (*(Amean51+2))[iETA1];
4173  par1[3] = (*(Amean51+3))[iETA1];
4174  par_sig1[0] = (*(Asig51+0))[iETA1];
4175  par_sig1[1] = (*(Asig51+1))[iETA1];
4176  par_sig1[2] = (*(Asig51+2))[iETA1];
4177  par_sig1[3] = (*(Asig51+3))[iETA1];
4178  par_rho[0] = (*(Arho51B+0))[iETA1];
4179  par_rho[1] = (*(Arho51B+1))[iETA1];
4180  par_rho[2] = (*(Arho51B+2))[iETA1];
4181  par_rho[3] = (*(Arho51B+3))[iETA1];
4182  par_rho[4] = (*(Arho51B+4))[iETA1];
4183 
4184  par2[0] = (*(Amean5+0))[iETA1];
4185  par2[1] = (*(Amean5+1))[iETA1];
4186  par2[2] = (*(Amean5+2))[iETA1];
4187  par2[3] = (*(Amean5+3))[iETA1];
4188  par_sig2[0] = (*(Asig5+0))[iETA1];
4189  par_sig2[1] = (*(Asig5+1))[iETA1];
4190  par_sig2[2] = (*(Asig5+2))[iETA1];
4191  par_sig2[3] = (*(Asig5+3))[iETA1];
4192 
4193  if(fr == 1){
4194  if(iETA < 1)iETA1 = 1;
4195  if(iETA > 2)iETA1 = 2;
4196  par1[0] = (*(Amean51+0))[iETA1];
4197  par1[1] = (*(Amean51+1))[iETA1];
4198  par1[2] = (*(Amean51+2))[iETA1];
4199  par1[3] = (*(Amean51+3))[iETA1];
4200  par_sig1[0] = (*(Asig51+0))[iETA1];
4201  par_sig1[1] = (*(Asig51+1))[iETA1];
4202  par_sig1[2] = (*(Asig51+2))[iETA1];
4203  par_sig1[3] = (*(Asig51+3))[iETA1];
4204  par_rho[0] = (*(Arho512+0))[iETA1];
4205  par_rho[1] = (*(Arho512+1))[iETA1];
4206  par_rho[2] = (*(Arho512+2))[iETA1];
4207  par_rho[3] = (*(Arho512+3))[iETA1];
4208  par_rho[4] = (*(Arho512+4))[iETA1];
4209 
4210  par2[0] = (*(Amean12R+0))[iETA1];
4211  par2[1] = (*(Amean12R+1))[iETA1];
4212  par2[2] = (*(Amean12R+2))[iETA1];
4213  par2[3] = (*(Amean12R+3))[iETA1];
4214  par_sig2[0] = (*(Asig12R+0))[iETA1];
4215  par_sig2[1] = (*(Asig12R+1))[iETA1];
4216  par_sig2[2] = (*(Asig12R+2))[iETA1];
4217  par_sig2[3] = (*(Asig12R+3))[iETA1];
4218  }
4219  break;
4220  //default:
4221  //return 0.0;
4222  }
4223 
4224  // Switch to 2-Station measurement if dphi is too small
4225  // box cut around Pt of 10 GeV
4226  if ( ( ( (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && method < 25)||
4227  (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && type != 14 && type != 11 && method >= 25))) &&
4228  ((type>=2 && type<=5 && use2Stn) || (type >= 11 && use2StnDT)))
4229  {
4230  if (use2Stn)
4231  {
4232  //if(type == 12 || type == 14 || type == 11) std::cout << "mode = " << type << " dphi23 = " << dphi2 << " method = " << method << std::endl; //test
4233  if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2
4234  if(type == 4) type = 7; // 1-3-4 -> 1-3
4235  if(type == 5) type = 8; // 2-3-4 -> 2-3
4236  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
4237  }
4238  if (use2StnDT)
4239  {
4240  if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10
4241  //if(type == 14) type = 11;
4242  //phiSign
4243  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
4244  }
4245  }
4246  else
4247  {
4248  //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
4249  double muPlusMaxLH = -1e9;
4250  double pt = 140;
4251  double step = 5.;
4252  double maxLH = -1e9;
4253  while(pt > 2. )
4254  {
4255  double par_phi12[1] = {dphi1};
4256  double par_phi23[1] = {dphi2};
4257  double v[1], lpt1_1;
4258  v[0] = 0; lpt1_1 = 1.;
4259  v[0] = pt;
4260  lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
4261 
4262  if (lpt1_1 > maxLH)
4263  {
4264  maxLH = lpt1_1;
4265  PTsolv = pt;
4266  }
4267 
4268  if(pt <= 100) {step = 10.0/4.0;}
4269  if(pt <= 50) {step = 5.0/4.0;}
4270  if(pt <= 20) {step = 2.0/4.0;}
4271  if(pt <= 10) {step = 1.0/4.0;}
4272  if(pt <=5) {step = 0.5/4.0;}
4273 
4274  pt = pt - step;
4275  }// end while
4276  muPlusMaxLH = maxLH;
4277 //*********** end solve equation for muon plus
4278 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
4279 // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0
4280  double muMinusMaxLH = -1e9;
4281  dphi1 = - dphi1;
4282  dphi2 = - dphi2;
4283  pt = 140;
4284  step = 5.;
4285  maxLH = -1e9;
4286 
4287  while(pt > 2. )
4288  {
4289  double par_phi12[1] = {dphi1};
4290  double par_phi23[1] = {dphi2};
4291  double v[1], lpt1_1;
4292  v[0] = 0; lpt1_1 = 1.;
4293  v[0] = pt;
4294  lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
4295 
4296  if (lpt1_1 > maxLH)
4297  {
4298  maxLH = lpt1_1;
4299  PTsolvMinus = pt;
4300  }
4301 
4302  if(pt <= 100) {step = 10.0/4.0;}
4303  if(pt <= 50) {step = 5.0/4.0;}
4304  if(pt <= 20) {step = 2.0/4.0;}
4305  if(pt <= 10) {step = 1.0/4.0;}
4306  if(pt <=5) {step = 0.5/4.0;}
4307  pt = pt - step;
4308  }// end while
4309  muMinusMaxLH = maxLH;
4310 
4311  if (useBestMLH)
4312  PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
4313  else
4314  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
4315 
4316  bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH;
4317 
4318  PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts
4319  if(PTsolv > 137.5) PTsolv = 137.5;
4320  //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;}
4321  dphi1 = - dphi1; //return to correct sing dphi
4322  dphi2 = - dphi2; //return to correct sing dphi
4323  Pt = PTsolv;
4324  } // end 2 or 3 station method
4325  }}
4326  // fix overlap region high pt:
4327  if (useBOXcutDT)
4328  if(method >= 25 && (type == 12 || type == 14 || type == 11) && fabs(dphi1)<0.003 && fabs(dphi2) <2) Pt = 140.;
4329  // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl;
4330 
4331  //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
4332  //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
4333  float Pt_min = 2;// 2 GeV
4334 
4335  return (Pt > Pt_min) ? Pt : Pt_min;
4336 }
type
Definition: HCALResponse.h:21
float Pt2Stn2012_DT(int type, float eta, float dphi, int PtbyMLH, float &theLH, int fr=-1, int method=11, int phiSign=2) const
static const double AB_sig24[4][15]
static const double AB_sig52[4][15]
static const double AB_mu12R[4][15]
static const double AB_rho523[5][15]
static const double AB_sig13F[4][15]
static const double AB_mu24[4][15]
static const double AB_mu52[4][15]
static const double AB_rho513[5][15]
static const double AB_mu51[4][15]
static const double AB_mu23[4][15]
static const double AB_sig12R[4][15]
static const double AB_sig51[4][15]
static const double AB_sig53[4][15]
static const double AB_rho512[5][15]
static const double AB_mu13R[4][15]
static const double AB_rho134F[5][15]
static const double AB_sig34[4][15]
static const double AB_rho52B[5][15]
static const double AB_sig5[4][15]
double Likelihood2011(double *phi12, double *phi23, double *par_m12, double *par_m23, double *par_sig12, double *par_sig23, double *par_rho, double *v) const
static const double AB_rho124F[5][15]
static const double AB_rho124R[5][15]
static const double AB_mu13F[4][15]
static const double AB_rho53B[5][15]
static const double AB_sig13R[4][15]
static const double AB_mu5[4][15]
static const double AB_mu53[4][15]
static const double AB_rho234[5][15]
static const double AB_sig23[4][15]
static const double AB_rho134R[5][15]
static const double AB_mu34[4][15]
step
static const double AB_rho123F[5][15]
static const double AB_sig12F[4][15]
static const double AB_rho51B[5][15]
static const double AB_mu12F[4][15]
static const double AB_rho123R[5][15]
static const float etabins[16]
float CSCTFPtMethods::Pt3StnChiSq ( int  type,
float  eta,
int  dphi1,
int  dphi2,
int  fr 
) const

Definition at line 5284 of file CSCTFPtMethods.cc.

References funct::abs(), diffTreeTool::diff, dphifr0, dphifr1, etabins, cmsRelvalreport::exit, mps_fire::i, gen::k, min(), funct::pow(), Pt3Stn(), ptbins, ptmin, CSCTFConstants::SECTOR_RAD, sigmafr0, and sigmafr1.

Referenced by CSCTFPtLUT::calcPt(), and Pt3StnHybrid().

5285 {
5286 
5287  float diff, min, ptmin, ptmax;
5288  float mypt = 0.0;
5289 
5290  int dphi1copy = dphi1, dphi2copy = dphi2;
5291 
5292  if (type<4 || type>5)
5293  {
5294 // std::cout << "PtParams: illegal track type for Chi-square method" << std::endl;
5295  edm::LogError("CSCTFPtMethods::Pt3StnChiSq()")<<"Illegal track type for Chi-square method";
5296  return 0.;
5297  }
5298 
5299  // flip sign
5300  //dphi1 = -dphi1;
5301  //dphi2 = -dphi2;
5302 
5303 
5304  //determine which eta bin muon falls into
5305  int i = 0;
5306  for( i = 0; i < 15; i++ )
5307  {
5308  if ( eta >= etabins[i] && eta < etabins[i + 1] ) break;
5309  }
5310  if ( i == 15 )
5311  {
5312  //std::cout<<"muon not within any eta range";
5313  edm::LogWarning("CSCTFPtMethods::Pt3StnChiSq()")<<"Muon not within any eta range";
5314  if (eta<etabins[0])
5315  {
5316  eta = etabins[0];
5317  i = 0;
5318  }
5319  else if (eta>=etabins[15])
5320  {
5321  eta = etabins[15];
5322  i = 15;
5323  }
5324  else
5325  exit(0);
5326  }
5327 
5328  bool bCallOldMethod = false;
5329 
5330  if(abs(dphi2) < 32) dphi2 = 0; //dphi2=dphi23 or dphi24
5331 
5332  //sta1-2-3, dphi1=dphi12, dphi2=dphi23
5333  if (type == 4)
5334  {
5335  if (fr == 0)
5336  {
5337  //advance past bins in array w/ default values
5338  //default is: dphifr0[x][y][z] = -1, sigmafr0[x][y][z] = 1
5339  int j = 0; //start from 1st column, j = 0
5340  while ( ((dphifr0[0][i][j] == -1 && sigmafr0[0][i][j] == 1) || (dphifr0[2][i][j] == -1 && sigmafr0[2][i][j] == 1)) && j != 28 ) j++;
5341  if ( j == 28 )
5342  {
5343 // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl;
5344  edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default";
5345  // exit(0); //normal termination
5346  bCallOldMethod = true;
5347  }
5348 
5349  if (!bCallOldMethod)
5350  {
5351  //set min, ptmin, ptmax to first bin
5352  //in row that is not default
5353  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
5354  ptmin = ptbins[j];
5355  ptmax = ptbins[j + 1];
5356 
5357  //loop through all pt bins. assign pt of bin w/ least diff
5358  //do not include default bins in calculation
5359  for ( int k = j; k < 28; k++ )
5360  {
5361  if( (dphifr0[0][i][k] != -1 || sigmafr0[0][i][k] != 1) && (dphifr0[2][i][k] != -1 || sigmafr0[2][i][k] != 1) )
5362  {
5363  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])) );
5364  if (diff < min)
5365  {
5366  min = diff;
5367  ptmin = ptbins[k];
5368  ptmax = ptbins[k + 1];
5369  }
5370  }
5371  }
5372  mypt = (ptmin + ptmax) / 2;
5373  }
5374  }
5375 
5376  if (fr == 1)
5377  {
5378  //advance past bins in array w/ default values
5379  //default is: dphifr1[x][y][z] = -1, sigmafr1[x][y][z] = 1
5380  int j = 0; //start from 1st column, j = 0
5381  while ( ((dphifr1[0][i][j] == -1 && sigmafr1[0][i][j] == 1) || (dphifr1[2][i][j] == -1 && sigmafr1[2][i][j] == 1)) && j != 28 ) j++;
5382  if ( j == 28 )
5383  {
5384 // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl;
5385  edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default";
5386  // exit(0); //normal termination
5387  bCallOldMethod = true;
5388  }
5389 
5390  if (!bCallOldMethod)
5391  {
5392  //set min, ptmin, ptmax to first bin
5393  //in row that is not default
5394  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
5395  ptmin = ptbins[j];
5396  ptmax = ptbins[j + 1];
5397 
5398  //loop through all pt bins. assign pt of bin w/ least diff
5399  //do not include default bins in calculation
5400  for ( int k = j; k < 28; k++ )
5401  {
5402  if( (dphifr1[0][i][k] != -1 || sigmafr1[0][i][k] != 1) && (dphifr1[2][i][k] != -1 || sigmafr1[2][i][k] != 1) )
5403  {
5404  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])) );
5405  if (diff < min)
5406  {
5407  min = diff;
5408  ptmin = ptbins[k];
5409  ptmax = ptbins[k + 1];
5410  }
5411  }
5412  mypt = (ptmin + ptmax) / 2;
5413  }
5414  }
5415  }
5416  }
5417 
5418  //sta1-2-4, dphi1=dphi12, dphi2=dphi24
5419  if (type == 5)
5420  {
5421 
5422  if (fr == 0)
5423  {
5424  //advance past bins in array w/ default values
5425  //default is: dphifr0[x][y][z] = -1, sigmafr0[x][y][z] = 1
5426  int j = 0; //start from 1st column, j = 0
5427  while ( ((dphifr0[0][i][j] == -1 && sigmafr0[0][i][j] == 1) || (dphifr0[3][i][j] == -1 && sigmafr0[3][i][j] == 1)) && j != 28 ) j++;
5428  if ( j == 28 )
5429  {
5430 // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl;
5431  edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default";
5432  // exit(0); //normal termination
5433  bCallOldMethod = true;
5434  }
5435 
5436  if (!bCallOldMethod)
5437  {
5438  //set min, ptmin, ptmax to first bin
5439  //in row that is not default
5440  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
5441  ptmin = ptbins[j];
5442  ptmax = ptbins[j + 1];
5443 
5444  //loop through all pt bins. assign pt of bin w/ least diff
5445  //do not include default bins in calculation
5446  for ( int k = j; k < 28; k++ )
5447  {
5448  if( (dphifr0[0][i][k] != -1 || sigmafr0[0][i][k] != 1) && (dphifr0[3][i][k] != -1 || sigmafr0[3][i][k] != 1) )
5449  {
5450  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])) );
5451  if (diff < min)
5452  {
5453  min = diff;
5454  ptmin = ptbins[k];
5455  ptmax = ptbins[k + 1];
5456  }
5457  }
5458  }
5459  mypt = (ptmin + ptmax) / 2;
5460  }
5461  }
5462 
5463  if (fr == 1)
5464  {
5465  //advance past bins in array w/ default values
5466  //default is: dphifr1[x][y][z] = -1, sigmafr1[x][y][z] = 1
5467  int j = 0; //start from 1st column, j = 0
5468  while ( ((dphifr1[0][i][j] == -1 && sigmafr1[0][i][j] == 1) || (dphifr1[3][i][j] == -1 && sigmafr1[3][i][j] == 1)) && j != 28 ) j++;
5469  if ( j == 28 )
5470  {
5471 // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl;
5472  edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default";
5473  // exit(0); //normal termination
5474  bCallOldMethod = true;
5475  }
5476 
5477  if (!bCallOldMethod)
5478  {
5479  //set min, ptmin, ptmax to first bin
5480  //in row that is not default
5481  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
5482  ptmin = ptbins[j];
5483  ptmax = ptbins[j + 1];
5484 
5485  //loop through all pt bins. assign pt of bin w/ least diff
5486  //do not include default bins in calculation
5487  for ( int k = j; k < 28; k++ )
5488  {
5489  if( (dphifr1[0][i][k] != -1 || sigmafr1[0][i][k] != 1) && (dphifr1[3][i][k] != -1 || sigmafr1[3][i][k] != 1) )
5490  {
5491  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])) );
5492  if (diff < min)
5493  {
5494  min = diff;
5495  ptmin = ptbins[k];
5496  ptmax = ptbins[k + 1];
5497  }
5498  }
5499  }
5500  mypt = (ptmin + ptmax) / 2;
5501  }
5502  }
5503  }
5504 
5505  if (bCallOldMethod)
5506  {
5507  float dphi12R = (static_cast<float>(dphi1copy)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5508  float dphi23R = (static_cast<float>(dphi2copy)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5509  // change defintion of track type to old method
5510  mypt = Pt3Stn(type-3, eta, dphi12R, dphi23R, fr);
5511  }
5512  return mypt;
5513 
5514 }
type
Definition: HCALResponse.h:21
static const float dphifr1[4][15][28]
static const float dphifr0[4][15][28]
float Pt3Stn(int type, float eta, float dphi1, float dphi2, int fr=-1) const
static const float sigmafr0[4][15][28]
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
T min(T a, T b)
Definition: MathUtil.h:58
int k[5][pyjets_maxn]
double ptmin
Definition: HydjetWrapper.h:90
static const double SECTOR_RAD
static const float ptbins[29]
Definition: mypt.h:6
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
static const float sigmafr1[4][15][28]
static const float etabins[16]
float CSCTFPtMethods::Pt3StnHybrid ( int  type,
float  eta,
int  dphi1,
int  dphi2,
int  fr 
) const

Definition at line 5530 of file CSCTFPtMethods.cc.

References Pt3Stn(), Pt3StnChiSq(), and CSCTFConstants::SECTOR_RAD.

Referenced by CSCTFPtLUT::calcPt().

5531 {
5532  float mypt = 0.0;
5533 
5534  mypt = Pt3StnChiSq(type, eta, dphi1, dphi2, fr);
5535  if(mypt >= 8.0)
5536  {
5537  float dphi12R = (static_cast<float>(dphi1)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5538  float dphi23R = (static_cast<float>(dphi2)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5539  // change defintion of track type to old method
5540  mypt = Pt3Stn(type-3, eta, dphi12R, dphi23R, fr);
5541  }
5542 
5543  return mypt;
5544 }
type
Definition: HCALResponse.h:21
float Pt3StnChiSq(int type, float eta, int dphi1, int dphi2, int fr) const
float Pt3Stn(int type, float eta, float dphi1, float dphi2, int fr=-1) const
static const double SECTOR_RAD
Definition: mypt.h:6
float CSCTFPtMethods::PtEff90 ( float  pt,
float  eta,
int  mode 
) const

Legacy Pt90 calculation function

Definition at line 5575 of file CSCTFPtMethods.cc.

References EnergyCorrector::c, and PVValHelper::eta.

5576 {
5577  // set pT resolution
5578  float c;
5579  switch (mode)
5580  {
5581  // 3-stn with ME1
5582  case 2:
5583  case 3:
5584  case 4:
5585  // leave as 2 Stn for now:
5586  // if (eta < 2.0)
5587  // c = 0.2;
5588  // else
5589  // c = 0.2 + (eta-2.0)*0.5;
5590  // break;
5591  // 2-stn with ME1
5592  case 6:
5593  case 7:
5594  // c=(-.2999 * (eta*eta*eta) + 2.030 * (eta*eta) - 4.235 * eta + 3.024)+0.02;
5595  // Try just fixed value from fits to Pt turn-on curves
5596  c=0.3;
5597  break;
5598  // 2 or 3 stn without ME1
5599  case 5:
5600  case 8:
5601  case 9:
5602  c=(-2.484 * (eta*eta*eta) + 14.43 * (eta*eta) - 27.66 * eta + 18.47)*.72;
5603  break;
5604  case 10:
5605  c=2.0;
5606  break;
5607  // MB1 tracks
5608  case 11:
5609  case 12:
5610  case 13:
5611  case 14:
5612  case 15:
5613  c=0.3;
5614  break;
5615  default:
5616  c = 0.0;
5617  };
5618  // Calculation of 90% threshold from 50% one, assuming Gaussian resolution
5619  // 90% of Gaussian area extends to 1.28*sigma
5620  if (c>0.78) c = 0.78;
5621  // return pt/(1.0 - 1.28*c);
5622  // Let's go back to old empirical method:
5623  return pt*(1.0 + 1.28*c);
5624 }

Member Data Documentation

const double CSCTFPtMethods::A_mu12Front
static
Initial value:
=
{{0, 0, 0, -0.10523922235654110946, -0.10983929659374999654, -0.11452047380694262146, -0.11922097760176857129, -0.31345770385362781152, -0.29879434616186489881, -0.26915122313015271693, -0.23825592462089598134, -0.21577716540165170489, -0.19031742310020227649, -0.16472747325571124311, -0.13913752341122032075}, {0, 0, 0, 0.26520808786388666567, 0.20543788970357632073, 0.15092171845376831096, 0.10960449046799547457, 0.07249357497808966988, 0.084725241812656573726, 0.080545185052021503469, 0.063499540823294411962, 0.052274729725005748826, 0.041661879230324716517, 0.030222161181156725895, 0.018782443131988790785}, {0, 0, 0, 0.00053807554094229155788, 0.00045289727656323158257, 0.00048500971554021258918, 0.00062343043239925161666, 0.00018916793540052533398, 9.9877853046464147579e-05, 0.00011936753945903473204, -0.00013555974179713960442, -0.00018396374782998390577, -0.00027673232078907284218, -0.0003749024169206836149, -0.00047307251305229438762}, {0, 0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.59999999975777595917, 0.59999999975777595917, 0.59999999975777595917}}

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
Initial value:
=
{{0, -0.10374889091836100863, -0.099788822609968519384, -0.13818657823143312702, -0.13717556879309533713, -0.14490849378394998759, -0.14408105919423722097, -0.2740736915947392105, -0.25354252758973594428, -0.22856287512160483599, -0.19978450972956338094, -0.18078462391477437277, -0.15524879962407600598, -0.13121518430206646766, -0.10718156898005704036}, {0, 0.43901381552049162371, 0.33269140862921836588, 0.2867281989745522619, 0.1745740696789168378, 0.13068773408294853677, 0.090289532623200399741, 0.14511096793044100939, 0.089110172781148286325, 0.088325915559225531837, 0.058284739852102536439, 0.054838099980182117288, 0.023722628572238391165, 0.0025855116892946616858, -0.018551605193649012282}, {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.00014973114536521569401, -0.0002818219225062231284, -0.00041391269964723056279}, {0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.59999999975777595917, 0.59999999975777595917, 0.59999999975777595917}}

Definition at line 113 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_mu13Front
static
Initial value:
=
{{0, 0, 0, -0.13778088536998894797, -0.15278054690526707282, -0.143346136779766542, -0.14969165155567873415, -0.31735124864642083597, -0.33366154127080654979, -0.32035587063652937179, -0.29063133844224109392, -0.2625110988870774098, -0.24099599747273847683, -0.21667841153818945266, -0.19236082560364053951}, {0, 0, 0, 0.50472519215627242861, 0.45431218833331760143, 0.27978303792475944789, 0.21659344933388599563, 0.39042059382545513113, 0.21436973705419076763, 0.21989939737961083921, 0.17248537946455347325, 0.14545152483288878442, 0.068978577839075017053, 0.015796328281602489696, -0.037385921275869593572}, {0, 0, 0, 0.00074029784977316568338, 0.00094379263107391029794, 0.00044290989468863904959, 0.00032465731761844673995, 0.00080437043173185620963, 0.00030621821048436737717, 0.00036742704696401365556, 0.00031744969589481185704, 4.3755432326479009111e-05, -8.5155390635296632218e-05, -0.0002361552419779932438, -0.00038715509332068898801}, {0, 0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.59999999975777595917, 0.59999999975777595917, 0.59999999975777595917}}

Definition at line 108 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_mu13Rare
static
Initial value:
=
{{0, 0, -0.12623127354128180211, -0.17935797490956165157, -0.18060840788964968584, -0.18696605249703140972, -0.19077279628481272344, -0.29349472537983850584, -0.28999462954606641807, -0.28042269536018021858, -0.24794997339523475177, -0.22381101094323510581, -0.21271098141773814305, -0.1945697729153351152, -0.17642856441293225389}, {0, 0, 0.46581826439734036471, 0.59045368664701669559, 0.42112504758806018623, 0.31214409746624299791, 0.22991099738945788844, 0.38259688787882195626, 0.21032714197086083141, 0.23803428613207575082, 0.16848812991169570541, 0.13391107896586992854, 0.064908316006158539579, 0.010987253017647136133, -0.042933809970864045269}, {0, 0, 0.0002201385928033240463, 0.00094588024264893161806, 0.0006090017795757148196, 0.00055819818498869361832, 0.00051220623767016942862, 0.0010722093641169425093, 0.00033951226487555219435, 0.00057667736469464204747, 0.00038672362687909188003, 0.00018665348905046641372, -4.8148940218185019846e-06, -0.00017720493282215006928, -0.00034959497162248120289}, {0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.59999999975777595917, 0.59999999975777595917, 0.59999999975777595917}}

Definition at line 115 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_mu14Front
static
Initial value:
=
{{0, 0, 0, 0, 0, 0, 0, 0, 0, -0.32728513383665119862, -0.30618420062024648276, -0.27554118389520276811, -0.16285631900256525295, -0.13698434403203019194, -0.084591397909304699709}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.32023477684420448286, 0.2693691108403535317, 0.22056748837118930751, 0.064251774309308562483, 0.014418130072725965363, -0.067256932934660618173}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00042613689417415228419, 0.00055054357631906247761, 0.00015434926334609733872, -0.012950297280226659088, 0.00037700991127977064596, 0.00037700991127977064596}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.59999999974533591018, 0.59999999974533591018}}

Definition at line 110 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), and Pt2Stn2012().

const double CSCTFPtMethods::A_mu14Rare
static
Initial value:
=
{{0, 0, 0, 0, 0, 0, 0, 0, 0, -0.2849452232390318196, -0.26600970450734234829, -0.23683395869018955548, -0.22057309433227462181, -0.1965174620579153153, -0.17428824880417448373}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33740004932669764859, 0.27762229117854592131, 0.19628468723350062097, 0.17323896845886521678, 0.10268128741218718325, 0.045299202757331347158}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00036794862559287675862, 0.00059266387001125628905, 0.00029802341315537321086, 0.00025629117987456756858, 0.00022132857323278612785, 0.00015836729382168461717}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.59999999974533591018, 0.59999999974533591018}}

Definition at line 117 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), and Pt2Stn2012().

const double CSCTFPtMethods::A_mu23
static
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{
{-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
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{{0, 0, 0, -1.8018355270558423786, -3.0800442413303450451, -73.019003781704810763, -71.455790570687398144, -64.380384468942153831, 2.1550121774347754666, 2.5576552488389672213, 2.449616802429892104, 2.6048654763866916362, 2.4417874257938438909, 2.4417874257938438909, 2.4417874257938438909}, {0, 0, 0, -2.1007675246065984354, 5.0425956104081919307, 199.99999998505296617, 197.550283903424031, 199.99999998947504309, -3.6752175165788334432, -5.1722529027050292427, -4.3622079033393852399, -3.8822092661387657131, -4.2729718954881441562, -4.2729718954881441562, -4.2729718954881441562}, {0, 0, 0, 4.7467280498208239692, -0.9954101483761357283, -174.31370635014994264, -172.76138545990900752, -195.76348611065316163, 3.4105036734574345481, 4.6147873662827647578, 3.7484788313774726198, 3.1712066148946220778, 3.7362441319556776165, 3.7362441319556776165, 3.7362441319556776165}, {0, 0, 0, 0.30810891952961361184, -1.5943850767419220915e-06, 54.774256057823905053, 53.990647071858525408, 62.484493391665445472, -0.69848464296741152868, -0.91930506751317175862, -0.74283883233049896599, -0.63029551267626326982, -0.74773101223055604692, -0.74773101223055604692, -0.74773101223055604692}, {0, 0, 0, 1.5832663901749726154, 0.74552216086091394054, 2.3871718840149540597, 2.3429031884405246977, 2.5923987724387411724, 0.78470036712835855575, 0.84997184658808944135, 0.77449725473134001241, 0.7103384244719952445, 0.77987697419799162368, 0.77987697419799162368, 0.77987697419799162368}}

Definition at line 142 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_rho123RareCSCTF
static
Initial value:
=
{{0, 3.693736660096563762e-07, 3.6624889920579235536, -1.5878130861362493853, -16.882029490672145755, -19.782998814333478066, -60.455933184308456418, 4.7409034663087075145, 1.2313698717610916944, 4.0535624038761168819, 2.839672990936767949, 1.1264072104945499486, 2.7983831906712062221, 2.7983831906712062221, 2.7983831906712062221}, {0, 1.2460479107724575787e-08, -9.1322692253088106895, 2.7885945213228429118, 35.574384349975474606, 52.562872763020486389, 165.96545891988304788, -7.8572084740661054525, -2.2073725837258022509, -8.2319545861659868535, -5.2739465547973312098, -1.6641893104460985242, -5.0469343040027743186, -5.0469343040027743186, -5.0469343040027743186}, {0, -3.4521070809865814222e-09, 0.304049807886722534, -1.0070939003771062215, -25.509204584815140748, -43.856338459435548316, -142.9795139802988615, 5.1120722960994200434, 2.5507720910098483635, 6.5298492011791555711, 4.4578719360600889132, 2.2487455007422072484, 4.1798622107590110986, 4.1798622107590110986, 4.1798622107590110986}, {0, 0.11247782203128549317, 6.1743739480412145326, 0.11162411914689808479, 8.9528675403092599083, 15.100558849256662697, 44.430568006333729159, -0.9341261050017011236, -0.55701647459573400134, -1.2571707419142834627, -0.88779580801276813951, -0.51779245640493165581, -0.83078031791749751278, -0.83078031791749751278, -0.83078031791749751278}, {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.78172523860247711269, 0.78172523860247711269, 0.78172523860247711269}}

Definition at line 146 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_rho124FrontCSCTF
static
Initial value:
=
{{0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3870060999256690337, 2.9712356450806232111, 3.570810174736656073, 4.8268213813923779298, 5.9187234187980806155, 7.0106254562037761957}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -2.5249315692538325528, -5.0029964029336300158, -5.9723457657194050086, -7.9475054424365261241, -9.6712125406703215447, -11.394919638904116965}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 2.5905258665507675531, 3.7350919226554304409, 4.4308882990573090765, 5.4258644619269134068, 6.3460456781797809356, 7.2662268944326449116}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.46509034721864128681, -0.65123509278498414865, -0.77222404956138701593, -0.93665019886425904261, -1.0902170500355508054, -1.24378390120684168}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.80362588618902608406, 0.76388670904989408594, 0.8119443249235495097, 0.79315230672804426515, 0.79315230672804426515, 0.79315230672804426515}}

Definition at line 143 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_rho124RareCSCTF
static
Initial value:
=
{{0, 0, 0, 0, 0, 0, 0, 0, 0, 3.6863837484595949334, 2.3224336525694582178, 3.2507026803368823664, 3.0865066927589901447, 3.0865066927589901447, 3.0865066927589901447}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -6.9075821699787951502, -4.3426737934213210934, -6.2428017762167931082, -5.8310192443035493426, -5.8310192443035493426, -5.8310192443035493426}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 5.1741882361155777659, 3.6659747818805397124, 5.1137870308059385493, 4.6513166894848883004, 4.6513166894848883004, 4.6513166894848883004}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.8788429753762293517, -0.6687776952912940498, -0.89611818355296113392, -0.81457961884259244556, -0.81457961884259244556, -0.81457961884259244556}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.89064996021251574554, 0.79339716446029262542, 0.92504977817804989737, 0.86969896765468779343, 0.86969896765468779343, 0.86969896765468779343}}

Definition at line 147 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_rho134FrontCSCTF
static
Initial value:
=
{{0, 0, 0, 0, 0, 0, 0, 0, 0, 1.9650106495811070495, 4.4682144046367060497, 3.6127345552596952238, 3.3486532031297944201, 3.3486532031297944201, 3.3486532031297944201}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -2.8639423697800454605, -8.5042162539937766752, -6.2743097440414938859, -5.8808227847000313915, -5.8808227847000313915, -5.8808227847000313915}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 2.3846745836159768395, 6.2976695885419857746, 4.8907783903396619962, 4.5243741882849342062, 4.5243741882849342062, 4.5243741882849342062}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.45508861624906205012, -1.1535577557401812676, -0.887603855749135362, -0.83208340850272133338, -0.83208340850272133338, -0.83208340850272133338}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.61133320621013831353, 0.8416666357275194299, 0.84060163399865650558, 0.76453382567690186811, 0.76453382567690186811, 0.76453382567690186811}}

Definition at line 144 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_rho134RareCSCTF
static
Initial value:
=
{{0, 0, 0, 0, 0, 0, 0, 0, 0, 3.4612440846722587473, 5.7154640478562965811, 6.1988763822017318716, 7.8628271357737773428, 9.2316432845389506667, 10.600459433304120438}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -5.7252426310553330424, -10.734814097449786985, -11.773479219426080888, -15.459415237678861388, -18.483533531863088228, -21.507651826047307964}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 4.1825411479975462825, 7.4929964403945605866, 8.4655628853855269256, 10.996721895319737428, 13.138232764016670728, 15.279743632713589818}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -0.76190351147590362757, -1.349101837260204606, -1.4909015696715794963, -1.9296336976648227335, -2.2941327267626210329, -2.6586317558604193323}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.73180297067413413448, 0.85937126410475961347, 0.96408406745158758966, 1.0840338641877096393, 1.200174412576484162, 1.3163149609652586847}}

Definition at line 148 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_rho234CSCTF
static
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{{0, 0, 0, 0.012128390128145795368, 0.0060118459615588950434, 0.0066857690437444544998, 0.016870580188088974555, 3.2471855065940857799e-17, 0.04950616849006982817, 0.047875666889731632869, 0.046434926233452016031, 0.043576561593816925955, 0.04204094046553233377, 0.040117984331038282486, 0.038195028196544238142}, {0, 0, 0, 0.11205437847560090203, 0.14710111810994394577, 0.12139003108545433351, 0.05805544863709271447, 0.44230910905171338943, 0.097455948703866090987, 0.091167182629549800565, 0.08155034337565571223, 0.10115334241053108855, 0.066199416910004638126, 0.058246614245665323528, 0.05029381158132600893}, {0, 0, 0, 0.00045794655246943964493, 0.00060328713936987944655, 0.00059167776206113108402, 0.00032821487645948946993, 0.0017467056059844235372, 0.00059613339189244513722, 0.00058184715339610595854, 0.00064476542748265707177, 0.00065843267283058381015, 0.00062029466140044826547, 0.00062029466140044826547, 0.00062029466140044826547}}

Definition at line 107 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_sig12Rare
static
Initial value:
=
{{0, 0.0038093885421048444447, 0.0065769632315039548015, 0.0055592323950014550446, 0.0093835962422483230883, 0.017396352418037726306, 0.020259861529127568686, 0.028034021369845840699, 0.039800110854239546809, 0.039980148857628114434, 0.038524308685830198351, 0.040281758067103733134, 0.039646581616244812307, 0.039646581616244812307, 0.039646581616244812307}, {0, 0.23514753393254139713, 0.20840454339700395514, 0.1734554515667367236, 0.14712778893221009624, 0.068478644292554124995, 0.045578777378287992084, 0.17971688457142401263, 0.10413274328597779683, 0.096806606002943468292, 0.095972114441355463321, 0.077888109608563196873, 0.073807795186255298336, 0.065850955926872206669, 0.057894116667489142758}, {0, 0.00060835884164537896556, 0.00057248928258038056342, 0.00054601310456751364283, 0.00045596139082362406765, 0.00036256195477186049098, 0.00033554189220614231851, 0.00081415383922815243514, 0.00064529700989722222747, 0.00063280618158918571729, 0.00066801533625483495039, 0.00061304601669530541484, 0.0006244051798697089397, 0.00061825079737559966893, 0.00061209641488149039816}}

Definition at line 114 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_sig13Front
static
Initial value:
=
{{0, 0, 0, 0.022229486577380466045, 0.014786622332179612943, 0.022206319015528955263, 0.030956563988669690696, 0.10438632614093404372, 0.052151139493775117151, 0.061379169888241082165, 0.063070119166874993866, 0.062738437335733338029, 0.062395908796719634637, 0.062395908796719634637, 0.062395908796719634637}, {0, 0, 0, 0.17561127734822717938, 0.248243347883890908, 0.15435972163154007553, 0.098222588303399416265, 0.28864281120179885454, 0.28143242857015660086, 0.16091447629058408531, 0.13483945718353784748, 0.13542102637707623125, 0.062124540683669238206, 0.015713618115037908396, -0.030697304453592977325}, {0, 0, 0, 0.00050105260335033322255, 0.00060095811169912115909, 0.00049407859567527159534, 0.00062091453005704531909, 0.00046438613640785659023, 0.00074251112464886865304, 0.00070054085319381544095, 0.00064104982805283157888, 0.00060566613754535849647, 0.00055493548941629275602, 0.00050793289077544624514, 0.00046093029213459995111}}

Definition at line 109 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_sig13Rare
static
Initial value:
=
{{0, 0, 0.015046443595756202674, 0.024350274050281187077, 0.030516519859742685661, 0.034951536569288559064, 0.040872596013944946514, 0.075500038528175023034, 0.054258877880390701809, 0.057948329004836200695, 0.055684189309453437089, 0.055547652610341891055, 0.055859762201452584085, 0.055859762201452584085, 0.055859762201452584085}, {0, 0, 0.72981359973468040714, 0.25552798678505961316, 0.20538399097483123201, 0.13568477284924612691, 0.087691623490571385391, 0.14380693710811331965, 0.17784552932129321645, 0.15447707796169932171, 0.15118995597952319954, 0.13106219757004208826, 0.11773441089914793434, 0.10337069917555474774, 0.089006987451961616653}, {0, 0, 0.00047001852983351251119, 0.00053481400606665866967, 0.00036348184816972377081, 0.00037774161715020031574, 0.00026657604722595630358, 0.00029086094173271957383, 0.00068184877937593074432, 0.00058313040724595804811, 0.00061068422520455867882, 0.00061315948044054677767, 0.0006222057231541136546, 0.0006222057231541136546, 0.0006222057231541136546}}

Definition at line 116 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), Pt2Stn2012(), Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_sig14Front
static
Initial value:
=
{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0.060082258981389996544, 0.07247051398468504213, 0.069785008221314948074, 3.6424053064063738328e-12, 0.067445927062646751637, 0.067445927062646751637}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.30722806049859069377, 0.20925971382909466789, 0.21969785537300090539, 0.022179262487250456931, -0.021585840075354578715, -0.10605666532436131}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00094734288756094921311, 0.00069588950170735620632, 0.00069173065831375820777, 0.095265205090887594697, 0.0007783210158606876589, 0.0007783210158606876589}}

Definition at line 111 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), and Pt2Stn2012().

const double CSCTFPtMethods::A_sig14Rare
static
Initial value:
=
{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0.057936258148966857107, 0.067831242837197713857, 0.065620840504349520206, 0.054328715544637938561, 0.061429264258856704217, 0.061429264258856704217}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.30423086251952391468, 0.20761013178198547968, 0.19093892168102474804, 0.38288685251508419727, 0.2714166921244430819, 0.2714166921244430819}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00080261760198784384054, 0.00063696047781503656055, 0.00065139580093967995589, 0.00069639579902228165072, 0.00069684237379447067084, 0.00069684237379447067084}}

Definition at line 118 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), and Pt2Stn2012().

const double CSCTFPtMethods::A_sig23
static
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu12F
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu12FME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu12FnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu12R
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu12RME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu12RnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu13F
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu13FME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu13FnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu13R
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu13RME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu13RnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu14F
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu14FME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu14FnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu14R
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu14RME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu14RnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu23
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu24
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu34
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu5
static
Initial value:
=
{
{-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().

const double CSCTFPtMethods::AB_mu51
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu52
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_mu53
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho123F
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho123R
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho124F
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho124R
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho134F
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho134R
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho234
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho512
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho513
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho51B
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho523
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho52B
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_rho53B
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig12F
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig12FME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig12FnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig12R
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig12RME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig12RnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig13F
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig13FME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig13FnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig13R
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig13RME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig13RnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig14F
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig14FME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig14FnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig14R
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig14RME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig14RnoME11
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig23
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig24
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig34
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig5
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig51
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig52
static
Initial value:
=
{
{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().

const double CSCTFPtMethods::AB_sig53
static
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{
{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
Initial value:
=
{
{-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
Initial value:
=
{
{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
Initial value:
=
{
{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 Pt2Stn2012_DT(), Pt2StnChiSq(), and Pt3StnChiSq().

const float CSCTFPtMethods::dphifr1
static

Definition at line 180 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2012_DT(), Pt2StnChiSq(), and Pt3StnChiSq().

const float CSCTFPtMethods::etabins
static
Initial value:
=
{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(), Pt3Stn(), Pt3Stn2010(), Pt3Stn2011(), Pt3Stn2012(), Pt3Stn2012_DT(), and Pt3StnChiSq().

const float CSCTFPtMethods::FRCorrHighEta
static
Initial value:
=
{
{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.

Referenced by Pt2Stn(), and Pt3Stn().

const float CSCTFPtMethods::FRCorrLowEta
static
Initial value:
=
{
{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.

Referenced by Pt2Stn(), and Pt3Stn().

const float CSCTFPtMethods::kGlobalScaleFactor = 1.36
static

Definition at line 33 of file CSCTFPtMethods.h.

Referenced by Pt2Stn(), and Pt3Stn().

const float CSCTFPtMethods::ptbins
static
Initial value:
=
{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(), Pt3Stn(), and Pt3StnChiSq().

const float CSCTFPtMethods::sigmafr0
static

Definition at line 181 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2012_DT(), Pt2StnChiSq(), and Pt3StnChiSq().

const float CSCTFPtMethods::sigmafr1
static

Definition at line 182 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2012_DT(), 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().