CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 1235 of file CSCTFPtMethods.cc.

1236  : trigger_scale( ptScale )
1237 {
1238 }
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 5635 of file CSCTFPtMethods.cc.

References query::result.

5636 {
5637  bool result = false;
5638 
5639  switch(method)
5640  {
5641  case 1:
5642  break;
5643  case 2:
5644  break;
5645  case 3:
5646  if(quality != 1)
5647  {
5648  if(pT <= 19)
5649  {
5650  if(eta >=4 && eta <=9)
5651  result = true;
5652  }
5653  if(pT <= 18 && pT >= 10)
5654  {
5655  if(eta > 0 && eta < 4)
5656  result = true;
5657  }
5658  }
5659  };
5660 
5661  return result;
5662 }
T eta() const
tuple result
Definition: query.py:137
double CSCTFPtMethods::Likelihood ( double *  phi12,
double *  phi23,
double *  par_m12,
double *  par_m23,
double *  par_sig12,
double *  par_sig23,
double *  par_rho,
double *  v 
) const

Definition at line 1459 of file CSCTFPtMethods.cc.

References create_public_lumi_plots::exp, fff_deletion::log, and rho.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

1460  {
1461  double fitval = 0.;
1462  //double Pi = acos(-1.);
1463  double m12 = 0.;
1464  if(v[0] > par_m12[3])
1465  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
1466  double m23 = 0.;
1467  if(v[0] > par_m23[3])
1468  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
1469  double sig12 = 0.1;
1470  if(v[0] > 0.) sig12 = par_sig12[0]/v[0] + par_sig12[1]/v[0]/v[0] + par_sig12[2];//sig12
1471  double sig23 = 0.1;
1472  if(v[0] > 0.) sig23 = par_sig23[0]/v[0] + par_sig23[1]/v[0]/v[0] + par_sig23[2];//sig23
1473 
1474  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
1475  if(rho > 0.95) rho = 0.95;
1476  if(rho < -0.95) rho = -0.95;
1477 //
1478  fitval = (phi12[0] - m12)*(phi12[0] - m12)/sig12/sig12 + (phi23[0] - m23)*(phi23[0] - m23)/sig23/sig23;
1479  fitval = fitval - 2.*rho*(phi12[0] - m12)*(phi23[0] - m23)/sig12/sig23;
1480  fitval = fitval*(-1./(2.*(1-rho*rho)));
1481  fitval = fitval - log(sig12) - log(sig23) - 0.5*log(1-rho*rho) ;
1482 
1483  return fitval;
1484  }
Definition: DDAxes.h:10
double CSCTFPtMethods::Likelihood2 ( double *  phi12,
double *  par_m12,
double *  par_sig12,
double *  v 
) const

Definition at line 1430 of file CSCTFPtMethods.cc.

References fff_deletion::log, and Pi.

Referenced by Pt2Stn2010(), and Pt2Stn2012().

1431  {
1432  double fitval = 0.;
1433  double Pi = acos(-1.);
1434  double m12 = 0;
1435  if(v[0] > par_m12[3])
1436  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
1437  double sig12 = 0.1;
1438  if(v[0] > 0.) sig12 = par_sig12[0]/v[0] + par_sig12[1]/v[0]/v[0] + par_sig12[2];//sig12
1439 //
1440  fitval = -(phi12[0] - m12)*(phi12[0] - m12)/2./sig12/sig12;
1441  fitval = fitval - log(sig12) - 0.5*log(2*Pi) ;
1442 
1443  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 1485 of file CSCTFPtMethods.cc.

References create_public_lumi_plots::exp, fff_deletion::log, and rho.

Referenced by Pt3Stn2011(), and Pt3Stn2012_DT().

1486  {
1487  double fitval = 0.;
1488  //double Pi = acos(-1.);
1489  double m12 = 0.;
1490  if(v[0] > par_m12[3])
1491  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
1492  double m23 = 0.;
1493  if(v[0] > par_m23[3])
1494  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
1495  double sig12 = 0.1;
1496  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
1497  double sig23 = 0.1;
1498  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
1499  if(sig12 <0.0015)sig12 = 0.0015;
1500  if(sig23 <0.0015)sig23 = 0.0015;
1501 
1502  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
1503  //if(rho > 0.95) rho = 0.95;
1504  //if(rho < -0.95) rho = -0.95;
1505  if(rho > 0.7) rho = 0.7;
1506  if(rho < -0.7) rho = -0.7;
1507  //rho = 0.4;
1508 //
1509  fitval = (phi12[0] - m12)*(phi12[0] - m12)/sig12/sig12 + (phi23[0] - m23)*(phi23[0] - m23)/sig23/sig23;
1510  fitval = fitval - 2.*rho*(phi12[0] - m12)*(phi23[0] - m23)/sig12/sig23;
1511  fitval = fitval*(-1./(2.*(1-rho*rho)));
1512  fitval = fitval - log(sig12) - log(sig23) - 0.5*log(1-rho*rho) ;
1513 
1514  return fitval;
1515  }
Definition: DDAxes.h:10
double CSCTFPtMethods::Likelihood2_2011 ( double *  phi12,
double *  par_m12,
double *  par_sig12,
double *  v 
) const

Definition at line 1444 of file CSCTFPtMethods.cc.

References fff_deletion::log, and Pi.

Referenced by Pt2Stn2011(), and Pt2Stn2012_DT().

1445  {
1446  double fitval = 0.;
1447  double Pi = acos(-1.);
1448  double m12 = 0;
1449  if(v[0] > par_m12[3])
1450  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
1451  double sig12 = 0.1;
1452  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
1453  if(sig12 <0.0015)sig12 = 0.0015;
1454 //
1455  fitval = -(phi12[0] - m12)*(phi12[0] - m12)/2./sig12/sig12;
1456  fitval = fitval - log(sig12) - 0.5*log(2*Pi) ;
1457 
1458  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 1244 of file CSCTFPtMethods.cc.

References funct::A, AkHighEta_Fit2, AkLowEta_Fit2, BkHighEta_Fit2, BkLowEta_Fit2, eta(), FRCorrHighEta, FRCorrLowEta, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), kGlobalScaleFactor, kME1andME2, kME2andMB2, reco::tau::disc::Pt(), mathSSE::sqrt(), and trigger_scale.

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

1245 {
1246  float A = 0;
1247  float B = 0;
1248  if (dphi == 0.0) dphi = 1.e-6;
1249  if (eta < 0.0) eta = static_cast<float>(fabs(static_cast<double>(eta)));
1250  if (dphi < 0.0) dphi = static_cast<float>(fabs(static_cast<double>(dphi)));
1252 #ifdef L1CSC_STANDALONE
1253  if (type == kME1andME2 && eta <= 1.25) fr = 1;
1254 #else
1255  if (type == kME1andME2 && eta < 1.2) fr = 1;
1256 #endif
1257  if (type >= kME1andME2 &&
1258  type <= kME2andMB2 && eta < 2.5)
1259  {
1260  if (eta >= 0.0 && eta < 1.6)
1261  {
1262  A = AkLowEta_Fit2[type-1][0] + AkLowEta_Fit2[type-1][1]*eta
1263  + AkLowEta_Fit2[type-1][2]*eta*eta + AkLowEta_Fit2[type-1][3]*eta*eta*eta;
1264  B = BkLowEta_Fit2[type-1][0] + BkLowEta_Fit2[type-1][1]*eta
1265  + BkLowEta_Fit2[type-1][2]*eta*eta + BkLowEta_Fit2[type-1][3]*eta*eta*eta;
1266  if (fr >= 0 && fr <= 1)
1267  {
1268  A *= FRCorrLowEta[type-1][fr];
1269  B *= FRCorrLowEta[type-1][fr];
1270  }
1271  }
1272 
1273  if (eta >= 1.6 && eta < 2.5)
1274  {
1275  A = AkHighEta_Fit2[type-1][0] + AkHighEta_Fit2[type-1][1]*eta
1276  + AkHighEta_Fit2[type-1][2]*eta*eta + AkHighEta_Fit2[type-1][3]*eta*eta*eta;
1277  B = BkHighEta_Fit2[type-1][0] + BkHighEta_Fit2[type-1][1]*eta
1278  + BkHighEta_Fit2[type-1][2]*eta*eta + BkHighEta_Fit2[type-1][3]*eta*eta*eta;
1279  if (fr >= 0 && fr <= 1)
1280  {
1281  A *= FRCorrHighEta[type-1][fr];
1282  B *= FRCorrHighEta[type-1][fr];
1283  }
1284  }
1285 
1286  A *= kGlobalScaleFactor;
1287  B *= kGlobalScaleFactor;
1288  float Pt = (A + sqrt(A*A + 4.*dphi*B))/(2.*dphi);
1289 
1290  // return (Pt>0.0) ? Pt : 0.0;
1291  return (Pt>trigger_scale->getPtScale()->getLowEdge(1)) ? Pt
1293  }
1294  return 0.0;
1295 }
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]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
T eta() const
static const float BkLowEta_Fit2[kME2andMB2][kMaxParameters]
const L1MuTriggerPtScale * trigger_scale
T sqrt(T t)
Definition: SSEVec.h:48
static const float BkHighEta_Fit2[kME2andMB2][kMaxParameters]
static const float kGlobalScaleFactor
static const float AkLowEta_Fit2[kME2andMB2][kMaxParameters]
static const float FRCorrLowEta[kME2andMB2][2]
float CSCTFPtMethods::Pt2Stn2010 ( int  type,
float  eta,
float  dphi,
int  fr = -1,
int  method = 11 
) const

Definition at line 1517 of file CSCTFPtMethods.cc.

References A_mu12Front, A_mu12Rare, A_mu13Front, A_mu13Rare, A_mu14Front, A_mu14Rare, A_mu23, A_mu24, A_mu34, A_mu51, A_mu52, A_mu53, A_sig12Front, A_sig12Rare, A_sig13Front, A_sig13Rare, A_sig14Front, A_sig14Rare, A_sig23, A_sig24, A_sig34, A_sig51, A_sig52, A_sig53, gather_cfg::cout, etabins, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), Likelihood2(), RecoTauCleanerPlugins::pt, reco::tau::disc::Pt(), relval_parameters_module::step, trigger_scale, and findQualityFiles::v.

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

1518 {
1519  if(fabs(eta) >= 2.4) eta = 2.35;
1520  double PTsolv = 1.; // for muon plus hypothesis
1521  double PTsolvMinus = 1.;//for muon minus hypothesis
1522  for(int iETA = 0; iETA < 15; iETA++){
1523  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
1524 
1525 // calculate curvers of mean and sigma
1526  // calculate phi12 mean
1527  double par1[4] = {0., 0., 0., 0.};
1528  //double phi12mean = fitf5(v, par1); //mu12
1529  double par_sig1[3] = {0., 0., 0.};
1530  int iETA1 = iETA;
1531  switch (type) // type = mode here
1532  {
1533  case 6 : //1-2
1534  if(fr == 1){
1535  if(iETA1 < 3)iETA1 = 3;
1536  if(iETA1 > 11)iETA1 = 11;
1537  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
1538  par1[0] = A_mu12Front[0][iETA1];
1539  par1[1] = A_mu12Front[1][iETA1];
1540  par1[2] = A_mu12Front[2][iETA1];
1541  par1[3] = A_mu12Front[3][iETA1];
1542  par_sig1[0] = A_sig12Front[0][iETA1];
1543  par_sig1[1] = A_sig12Front[1][iETA1];
1544  par_sig1[2] = A_sig12Front[2][iETA1];
1545  }
1546  if(fr == 0){
1547  if(iETA1 < 1)iETA1 = 1;
1548  if(iETA1 > 11)iETA1 = 11;
1549  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
1550  par1[0] = A_mu12Rare[0][iETA1];
1551  par1[1] = A_mu12Rare[1][iETA1];
1552  par1[2] = A_mu12Rare[2][iETA1];
1553  par1[3] = A_mu12Rare[3][iETA1];
1554  par_sig1[0] = A_sig12Rare[0][iETA1];
1555  par_sig1[1] = A_sig12Rare[1][iETA1];
1556  par_sig1[2] = A_sig12Rare[2][iETA1];
1557  }
1558  break;
1559  case 7 : //1-3
1560  if(fr == 1){
1561  if(iETA1 < 3)iETA1 = 3;
1562  if(iETA1 > 11)iETA1 = 11;
1563  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
1564  par1[0] = A_mu13Front[0][iETA1];
1565  par1[1] = A_mu13Front[1][iETA1];
1566  par1[2] = A_mu13Front[2][iETA1];
1567  par1[3] = A_mu13Front[3][iETA1];
1568  par_sig1[0] = A_sig13Front[0][iETA1];
1569  par_sig1[1] = A_sig13Front[1][iETA1];
1570  par_sig1[2] = A_sig13Front[2][iETA1];
1571  }
1572  if(fr == 0){
1573  if(iETA1 < 2)iETA1 = 2;
1574  if(iETA1 > 11)iETA1 = 11;
1575  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
1576  par1[0] = A_mu13Rare[0][iETA1];
1577  par1[1] = A_mu13Rare[1][iETA1];
1578  par1[2] = A_mu13Rare[2][iETA1];
1579  par1[3] = A_mu13Rare[3][iETA1];
1580  par_sig1[0] = A_sig13Rare[0][iETA1];
1581  par_sig1[1] = A_sig13Rare[1][iETA1];
1582  par_sig1[2] = A_sig13Rare[2][iETA1];
1583  }
1584  break;
1585  case 8 : //2-3
1586  if(iETA1 < 2)iETA1 = 2;
1587  par1[0] = A_mu23[0][iETA1];
1588  par1[1] = A_mu23[1][iETA1];
1589  par1[2] = A_mu23[2][iETA1];
1590  par1[3] = A_mu23[3][iETA1];
1591  par_sig1[0] = A_sig23[0][iETA1];
1592  par_sig1[1] = A_sig23[1][iETA1];
1593  par_sig1[2] = A_sig23[2][iETA1];
1594  break;
1595  case 9 : //2-4
1596  if(iETA1 < 9)iETA1 = 9;
1597  par1[0] = A_mu24[0][iETA1];
1598  par1[1] = A_mu24[1][iETA1];
1599  par1[2] = A_mu24[2][iETA1];
1600  par1[3] = A_mu24[3][iETA1];
1601  par_sig1[0] = A_sig24[0][iETA1];
1602  par_sig1[1] = A_sig24[1][iETA1];
1603  par_sig1[2] = A_sig24[2][iETA1];
1604  break;
1605  case 10 : //3-4
1606  if(iETA1 < 9)iETA1 = 9;
1607  par1[0] = A_mu34[0][iETA1];
1608  par1[1] = A_mu34[1][iETA1];
1609  par1[2] = A_mu34[2][iETA1];
1610  par1[3] = A_mu34[3][iETA1];
1611  par_sig1[0] = A_sig34[0][iETA1];
1612  par_sig1[1] = A_sig34[1][iETA1];
1613  par_sig1[2] = A_sig34[2][iETA1];
1614  break;
1615  case 13 : //1-4
1616  if(iETA1 < 9)iETA1 = 9;
1617  if(iETA1 > 12)iETA1 = 12;
1618  if(fr == 1){
1619  par1[0] = A_mu14Front[0][iETA1];
1620  par1[1] = A_mu14Front[1][iETA1];
1621  par1[2] = A_mu14Front[2][iETA1];
1622  par1[3] = A_mu14Front[3][iETA1];
1623  par_sig1[0] = A_sig14Front[0][iETA1];
1624  par_sig1[1] = A_sig14Front[1][iETA1];
1625  par_sig1[2] = A_sig14Front[2][iETA1];
1626  }
1627  if(fr == 0){
1628  par1[0] = A_mu14Rare[0][iETA1];
1629  par1[1] = A_mu14Rare[1][iETA1];
1630  par1[2] = A_mu14Rare[2][iETA1];
1631  par1[3] = A_mu14Rare[3][iETA1];
1632  par_sig1[0] = A_sig14Rare[0][iETA1];
1633  par_sig1[1] = A_sig14Rare[1][iETA1];
1634  par_sig1[2] = A_sig14Rare[2][iETA1];
1635  }
1636  break;
1637  case 11 : // b1-3
1638  if(iETA1 != 2)iETA1 = 2;
1639  par1[0] = A_mu53[0][iETA1];
1640  par1[1] = A_mu53[1][iETA1];
1641  par1[2] = A_mu53[2][iETA1];
1642  par1[3] = A_mu53[3][iETA1];
1643  par_sig1[0] = A_sig53[0][iETA1];
1644  par_sig1[1] = A_sig53[1][iETA1];
1645  par_sig1[2] = A_sig53[2][iETA1];
1646 
1647  break;
1648  case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10: b1-2
1649  if(iETA1 < 1)iETA1 = 1;
1650  if(iETA1 > 2)iETA1 = 2;
1651  par1[0] = A_mu52[0][iETA1];
1652  par1[1] = A_mu52[1][iETA1];
1653  par1[2] = A_mu52[2][iETA1];
1654  par1[3] = A_mu52[3][iETA1];
1655  par_sig1[0] = A_sig52[0][iETA1];
1656  par_sig1[1] = A_sig52[1][iETA1];
1657  par_sig1[2] = A_sig52[2][iETA1];
1658  break;
1659  case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10
1660  if(method < 10){
1661  if(iETA1 < 1)iETA1 = 1;
1662  if(iETA1 > 2)iETA1 = 2;
1663  }
1664  par1[0] = A_mu52[0][iETA1];
1665  par1[1] = A_mu52[1][iETA1];
1666  par1[2] = A_mu52[2][iETA1];
1667  par1[3] = A_mu52[3][iETA1];
1668  par_sig1[0] = A_sig52[0][iETA1];
1669  par_sig1[1] = A_sig52[1][iETA1];
1670  par_sig1[2] = A_sig52[2][iETA1];
1671  if(method > 10){
1672  if(iETA1 > 2)iETA1 = 2;
1673  par1[0] = A_mu51[0][iETA1];
1674  par1[1] = A_mu51[1][iETA1];
1675  par1[2] = A_mu51[2][iETA1];
1676  par1[3] = A_mu51[3][iETA1];
1677  par_sig1[0] = A_sig51[0][iETA1];
1678  par_sig1[1] = A_sig51[1][iETA1];
1679  par_sig1[2] = A_sig51[2][iETA1];
1680  }
1681  break;
1682  //default:
1683  //return 0.0;
1684  }
1685 
1686 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
1687  //if(fabs(dphi) >= 0.002)
1688  //if(fabs(dphi) >= 0.00)
1689  //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14)))
1690  //{
1691  double pt = 140;
1692  double dpt = 0.1;
1693  double step = 5.;
1694  while(pt > 2. ){
1695  double par_phi12[1] = {dphi};
1696  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
1697  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
1698  v[0] = pt;
1699  lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1700  v[0] = pt + dpt;
1701  lpt1_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1702  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
1703  v[0] = pt - step;
1704  lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1705  v[0] = pt - step + dpt;
1706  lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1707  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
1708  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
1709  v[0] = pt - 0.5*step;
1710  double fx = Likelihood2(par_phi12, par1, par_sig1, v);
1711  v[0] = pt - 0.5*step + dpt;
1712  double fxh = Likelihood2(par_phi12, par1, par_sig1, v);
1713  v[0] = pt - 0.5*step + 2*dpt;
1714  double fx2h = Likelihood2(par_phi12, par1, par_sig1, v);
1715 
1716  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
1717  //if(lpt1*lpt2 <= 0 && lpt2nd < 0) std::cout << "lpt2nd < 0 dphi12 = " << dphi <<" PT = " << pt<< " eta =" << fabs(eta) << std::endl;
1718  //lpt2nd = 1.; // don't care about 2nd derivative
1719  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
1720 /*
1721  if(pt == 140.){
1722  v[0] = 200;
1723  lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1724  v[0] = 200. + 5.;
1725  lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1726  lpt2 = (lpt2_2-lpt2_1)/5.;
1727 
1728  v[0] = 170.;
1729  fx = Likelihood2(par_phi12, par1, par_sig1, v);
1730  v[0] = 170.+5.;
1731  fxh = Likelihood2(par_phi12, par1, par_sig1, v);
1732  v[0] = 170.+2*5.;
1733  fx2h = Likelihood2(par_phi12, par1, par_sig1, v);
1734  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
1735  }
1736  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1 ){PTsolv = 137.5; break;}
1737 */
1738  if(pt > 25) {dpt = 0.1; step = 5.;}
1739  if(pt <= 25) {dpt = 0.01; step = 0.5;}
1740  pt = pt - step;
1741  }// end while
1742 //*********** end solve equation for muon plus
1743 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
1744 // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0
1745  dphi = - dphi;
1746  pt = 140;
1747  dpt = 0.1;
1748  step = 5.;
1749  while(pt > 2. ){
1750  double par_phi12[1] = {dphi};
1751  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
1752  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
1753  v[0] = pt;
1754  lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1755  v[0] = pt + dpt;
1756  lpt1_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1757  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
1758  v[0] = pt - step;
1759  lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1760  v[0] = pt - step + dpt;
1761  lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1762  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
1763  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
1764  v[0] = pt - 0.5*step;
1765  double fx = Likelihood2(par_phi12, par1, par_sig1, v);
1766  v[0] = pt - 0.5*step + dpt;
1767  double fxh = Likelihood2(par_phi12, par1, par_sig1, v);
1768  v[0] = pt - 0.5*step + 2*dpt;
1769  double fx2h = Likelihood2(par_phi12, par1, par_sig1, v);
1770 
1771  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
1772 
1773  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
1774 /*
1775  if(pt == 140.){
1776  v[0] = 200;
1777  lpt2_1 = Likelihood2(par_phi12, par1, par_sig1, v);
1778  v[0] = 200. + 5.;
1779  lpt2_2 = Likelihood2(par_phi12, par1, par_sig1, v);
1780 
1781  lpt2 = (lpt2_2-lpt2_1)/5.;
1782 
1783  v[0] = 170.;
1784  fx = Likelihood2(par_phi12, par1, par_sig1, v);
1785  v[0] = 170.+5.;
1786  fxh = Likelihood2(par_phi12, par1, par_sig1, v);
1787  v[0] = 170.+2*5.;
1788  fx2h = Likelihood2(par_phi12, par1, par_sig1, v);
1789  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
1790  }
1791  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1){PTsolvMinus = 137.5; break;}
1792 */
1793  if(pt > 25) {dpt = 0.1; step = 5.;}
1794  if(pt <= 25) {dpt = 0.01; step = 0.5;}
1795  pt = pt - step;
1796  }// end while
1797 // }// if(fabs(dphi) >= 0.002)
1798 // else
1799 // {PTsolv = 137.5;}
1800 
1801 //*********** end solve equation for muon minus
1802  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
1803  PTsolv = PTsolv*1.2;
1804  if(PTsolv > 137.5) PTsolv = 137.5;
1805  if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.;
1806  if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.;
1807  dphi = - dphi; //return to correct sing dphi
1808 
1809  } //if(fabs(eta_TracMy)
1810  } //end "for by iETA"
1811 
1812  float Pt = PTsolv;
1813  if(Pt > 10 && fabs(dphi) >= 0.1 ) std::cout << "iF = 0 for dphi = " << dphi <<" and Pt = " << Pt << std::endl;
1814 
1815  //if(Pt > 100 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi > 0.015 )std::cout << "dphi = " << dphi << " eta = " << eta << std::endl;
1816  //if(Pt < 10 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi < 0.01)std::cout << "dphi = " << dphi << " eta = " << eta << std::endl;
1817  // return (Pt>0.0) ? Pt : 0.0;
1818 
1819  float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
1820  if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
1821 
1822  return (Pt > Pt_min) ? Pt : Pt_min;
1823 }
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]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
T eta() const
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]
static const double A_sig13Front[3][15]
static const double A_mu51[4][15]
tuple cout
Definition: gather_cfg.py:121
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 1824 of file CSCTFPtMethods.cc.

References AB_mu12F, AB_mu12FME11, AB_mu12FnoME11, AB_mu12R, AB_mu12RME11, AB_mu12RnoME11, AB_mu13F, AB_mu13FME11, AB_mu13FnoME11, AB_mu13R, AB_mu13RME11, AB_mu13RnoME11, AB_mu14F, AB_mu14FME11, AB_mu14FnoME11, AB_mu14R, AB_mu14RME11, AB_mu14RnoME11, AB_mu23, AB_mu24, AB_mu34, AB_mu51, AB_mu52, AB_mu53, AB_sig12F, AB_sig12FME11, AB_sig12FnoME11, AB_sig12R, AB_sig12RME11, AB_sig12RnoME11, AB_sig13F, AB_sig13FME11, AB_sig13FnoME11, AB_sig13R, AB_sig13RME11, AB_sig13RnoME11, AB_sig14F, AB_sig14FME11, AB_sig14FnoME11, AB_sig14R, AB_sig14RME11, AB_sig14RnoME11, AB_sig23, AB_sig24, AB_sig34, AB_sig51, AB_sig52, AB_sig53, etabins, Likelihood2_2011(), RecoTauCleanerPlugins::pt, reco::tau::disc::Pt(), relval_parameters_module::step, and findQualityFiles::v.

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

1825 {
1826 
1827 
1828 
1829  //if(fabs(eta) >= 2.4) eta = 2.35;
1830  if(fabs(eta) >= 2.2) eta = 2.15;
1831  double PTsolv = 1.; // for muon plus hypothesis
1832  double PTsolvMinus = 1.;//for muon minus hypothesis
1833  for(int iETA = 0; iETA < 15; iETA++){
1834  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
1835 
1836 // calculate curvers of mean and sigma
1837  // calculate phi12 mean
1838  double par1[4] = {0., 0., 0., 0.};
1839  //double phi12mean = fitf5(v, par1); //mu12
1840  double par_sig1[4] = {0., 0., 0.,0};
1841  int iETA1 = iETA;
1842  int iETA2 = iETA;
1843 
1844  const double (*Amean12FnoME11)[15] = AB_mu12FnoME11;
1845  const double (*Asig12FnoME11)[15] = AB_sig12FnoME11;
1846  const double (*Amean12RnoME11)[15] = AB_mu12RnoME11;
1847  const double (*Asig12RnoME11)[15] = AB_sig12RnoME11;
1848 
1849  const double (*Amean13FnoME11)[15] = AB_mu13FnoME11;
1850  const double (*Asig13FnoME11)[15] = AB_sig13FnoME11;
1851  const double (*Amean13RnoME11)[15] = AB_mu13RnoME11;
1852  const double (*Asig13RnoME11)[15] = AB_sig13RnoME11;
1853 
1854  const double (*Amean14FnoME11)[15] = AB_mu14FnoME11;
1855  const double (*Asig14FnoME11)[15] = AB_sig14FnoME11;
1856  const double (*Amean14RnoME11)[15] = AB_mu14RnoME11;
1857  const double (*Asig14RnoME11)[15] = AB_sig14RnoME11;
1858  //
1859  const double (*Amean12FME11)[15] = AB_mu12FME11;
1860  const double (*Asig12FME11)[15] = AB_sig12FME11;
1861  const double (*Amean12RME11)[15] = AB_mu12RME11;
1862  const double (*Asig12RME11)[15] = AB_sig12RME11;
1863 
1864  const double (*Amean13FME11)[15] = AB_mu13FME11;
1865  const double (*Asig13FME11)[15] = AB_sig13FME11;
1866  const double (*Amean13RME11)[15] = AB_mu13RME11;
1867  const double (*Asig13RME11)[15] = AB_sig13RME11;
1868 
1869  const double (*Amean14FME11)[15] = AB_mu14FME11;
1870  const double (*Asig14FME11)[15] = AB_sig14FME11;
1871  const double (*Amean14RME11)[15] = AB_mu14RME11;
1872  const double (*Asig14RME11)[15] = AB_sig14RME11;
1873  //
1874  const double (*Amean12F)[15] = AB_mu12F;
1875  const double (*Asig12F)[15] = AB_sig12F;
1876  const double (*Amean12R)[15] = AB_mu12R;
1877  const double (*Asig12R)[15] = AB_sig12R;
1878 
1879  const double (*Amean13F)[15] = AB_mu13F;
1880  const double (*Asig13F)[15] = AB_sig13F;
1881  const double (*Amean13R)[15] = AB_mu13R;
1882  const double (*Asig13R)[15] = AB_sig13R;
1883 
1884  const double (*Amean14F)[15] = AB_mu14F;
1885  const double (*Asig14F)[15] = AB_sig14F;
1886  const double (*Amean14R)[15] = AB_mu14R;
1887  const double (*Asig14R)[15] = AB_sig14R;
1888 
1889  const double (*Amean23)[15] = AB_mu23;
1890  const double (*Asig23)[15] = AB_sig23;
1891  const double (*Amean24)[15] = AB_mu24;
1892  const double (*Asig24)[15] = AB_sig24;
1893  const double (*Amean34)[15] = AB_mu34;
1894  const double (*Asig34)[15] = AB_sig34;
1895 
1896  const double (*Amean51)[15] = AB_mu51;
1897  const double (*Asig51)[15] = AB_sig51;
1898  const double (*Amean52)[15] = AB_mu52;
1899  const double (*Asig52)[15] = AB_sig52;
1900  const double (*Amean53)[15] = AB_mu53;
1901  const double (*Asig53)[15] = AB_sig53;
1902 
1903  switch (type) // type = mode here
1904  {
1905  case 6 : //1-2
1906  if(fr == 1){
1907  if(iETA1 < 3)iETA1 = 3;
1908  //if(iETA1 > 11)iETA1 = 11;
1909  par1[0] = (*(Amean12F+0))[iETA1];
1910  par1[1] = (*(Amean12F+1))[iETA1];
1911  par1[2] = (*(Amean12F+2))[iETA1];
1912  par1[3] = (*(Amean12F+3))[iETA1];
1913  par_sig1[0] = (*(Asig12F+0))[iETA1];
1914  par_sig1[1] = (*(Asig12F+1))[iETA1];
1915  par_sig1[2] = (*(Asig12F+2))[iETA1];
1916  par_sig1[3] = (*(Asig12F+3))[iETA1];
1917  }
1918  if(fr == 0){
1919  if(iETA1 < 1)iETA1 = 1;
1920  //if(iETA1 > 11)iETA1 = 11;
1921  par1[0] = (*(Amean12R+0))[iETA1];
1922  par1[1] = (*(Amean12R+1))[iETA1];
1923  par1[2] = (*(Amean12R+2))[iETA1];
1924  par1[3] = (*(Amean12R+3))[iETA1];
1925  par_sig1[0] = (*(Asig12R+0))[iETA1];
1926  par_sig1[1] = (*(Asig12R+1))[iETA1];
1927  par_sig1[2] = (*(Asig12R+2))[iETA1];
1928  par_sig1[3] = (*(Asig12R+3))[iETA1];
1929  }
1930  if(phiSign == 0){ // track belong to ME11 station
1931  if(fr == 1){
1932  if(iETA2 < 7)iETA2 = 7;
1933  par1[0] = (*(Amean12FME11+0))[iETA2];
1934  par1[1] = (*(Amean12FME11+1))[iETA2];
1935  par1[2] = (*(Amean12FME11+2))[iETA2];
1936  par1[3] = (*(Amean12FME11+3))[iETA2];
1937  par_sig1[0] = (*(Asig12FME11+0))[iETA2];
1938  par_sig1[1] = (*(Asig12FME11+1))[iETA2];
1939  par_sig1[2] = (*(Asig12FME11+2))[iETA2];
1940  par_sig1[3] = (*(Asig12FME11+3))[iETA2];
1941  }
1942  if(fr == 0){
1943  if(iETA2 < 7)iETA2 = 7;
1944  par1[0] = (*(Amean12RME11+0))[iETA2];
1945  par1[1] = (*(Amean12RME11+1))[iETA2];
1946  par1[2] = (*(Amean12RME11+2))[iETA2];
1947  par1[3] = (*(Amean12RME11+3))[iETA2];
1948  par_sig1[0] = (*(Asig12RME11+0))[iETA2];
1949  par_sig1[1] = (*(Asig12RME11+1))[iETA2];
1950  par_sig1[2] = (*(Asig12RME11+2))[iETA2];
1951  par_sig1[3] = (*(Asig12RME11+3))[iETA2];
1952  }
1953  }
1954  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
1955  if(fr == 1){
1956  if(iETA2 < 3)iETA2 = 3;
1957  if(iETA2 > 7)iETA2 = 7;
1958  par1[0] = (*(Amean12FnoME11+0))[iETA2];
1959  par1[1] = (*(Amean12FnoME11+1))[iETA2];
1960  par1[2] = (*(Amean12FnoME11+2))[iETA2];
1961  par1[3] = (*(Amean12FnoME11+3))[iETA2];
1962  par_sig1[0] = (*(Asig12FnoME11+0))[iETA2];
1963  par_sig1[1] = (*(Asig12FnoME11+1))[iETA2];
1964  par_sig1[2] = (*(Asig12FnoME11+2))[iETA2];
1965  par_sig1[3] = (*(Asig12FnoME11+3))[iETA2];
1966  }
1967  if(fr == 0){
1968  if(iETA2 < 1)iETA2 = 1;
1969  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
1970  par1[0] = (*(Amean12RnoME11+0))[iETA2];
1971  par1[1] = (*(Amean12RnoME11+1))[iETA2];
1972  par1[2] = (*(Amean12RnoME11+2))[iETA2];
1973  par1[3] = (*(Amean12RnoME11+3))[iETA2];
1974  par_sig1[0] = (*(Asig12RnoME11+0))[iETA2];
1975  par_sig1[1] = (*(Asig12RnoME11+1))[iETA2];
1976  par_sig1[2] = (*(Asig12RnoME11+2))[iETA2];
1977  par_sig1[3] = (*(Asig12RnoME11+3))[iETA2];
1978  }
1979  }
1980 
1981  break;
1982  case 7 : //1-3
1983  if(fr == 1){
1984  if(iETA1 < 3)iETA1 = 3;
1985  //if(iETA1 > 11)iETA1 = 11;
1986  par1[0] = (*(Amean13F+0))[iETA1];
1987  par1[1] = (*(Amean13F+1))[iETA1];
1988  par1[2] = (*(Amean13F+2))[iETA1];
1989  par1[3] = (*(Amean13F+3))[iETA1];
1990  par_sig1[0] = (*(Asig13F+0))[iETA1];
1991  par_sig1[1] = (*(Asig13F+1))[iETA1];
1992  par_sig1[2] = (*(Asig13F+2))[iETA1];
1993  par_sig1[3] = (*(Asig13F+3))[iETA1];
1994  }
1995  if(fr == 0){
1996  if(iETA1 < 3)iETA1 = 3;
1997  //if(iETA1 > 11)iETA1 = 11;
1998  par1[0] = (*(Amean13R+0))[iETA1];
1999  par1[1] = (*(Amean13R+1))[iETA1];
2000  par1[2] = (*(Amean13R+2))[iETA1];
2001  par1[3] = (*(Amean13R+3))[iETA1];
2002  par_sig1[0] = (*(Asig13R+0))[iETA1];
2003  par_sig1[1] = (*(Asig13R+1))[iETA1];
2004  par_sig1[2] = (*(Asig13R+2))[iETA1];
2005  par_sig1[3] = (*(Asig13R+3))[iETA1];
2006  }
2007  if(phiSign == 0){ // track belong to ME11 station
2008  if(fr == 1){
2009  if(iETA2 < 7)iETA2 = 7;
2010  par1[0] = (*(Amean13FME11+0))[iETA2];
2011  par1[1] = (*(Amean13FME11+1))[iETA2];
2012  par1[2] = (*(Amean13FME11+2))[iETA2];
2013  par1[3] = (*(Amean13FME11+3))[iETA2];
2014  par_sig1[0] = (*(Asig13FME11+0))[iETA2];
2015  par_sig1[1] = (*(Asig13FME11+1))[iETA2];
2016  par_sig1[2] = (*(Asig13FME11+2))[iETA2];
2017  par_sig1[3] = (*(Asig13FME11+3))[iETA2];
2018  }
2019  if(fr == 0){
2020  if(iETA2 < 7)iETA2 = 7;
2021  par1[0] = (*(Amean13RME11+0))[iETA2];
2022  par1[1] = (*(Amean13RME11+1))[iETA2];
2023  par1[2] = (*(Amean13RME11+2))[iETA2];
2024  par1[3] = (*(Amean13RME11+3))[iETA2];
2025  par_sig1[0] = (*(Asig13RME11+0))[iETA2];
2026  par_sig1[1] = (*(Asig13RME11+1))[iETA2];
2027  par_sig1[2] = (*(Asig13RME11+2))[iETA2];
2028  par_sig1[3] = (*(Asig13RME11+3))[iETA2];
2029  }
2030  }
2031  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
2032  if(fr == 1){
2033  if(iETA2 < 3)iETA2 = 3;
2034  if(iETA2 > 7)iETA2 = 7;
2035  par1[0] = (*(Amean13FnoME11+0))[iETA2];
2036  par1[1] = (*(Amean13FnoME11+1))[iETA2];
2037  par1[2] = (*(Amean13FnoME11+2))[iETA2];
2038  par1[3] = (*(Amean13FnoME11+3))[iETA2];
2039  par_sig1[0] = (*(Asig13FnoME11+0))[iETA2];
2040  par_sig1[1] = (*(Asig13FnoME11+1))[iETA2];
2041  par_sig1[2] = (*(Asig13FnoME11+2))[iETA2];
2042  par_sig1[3] = (*(Asig13FnoME11+3))[iETA2];
2043  }
2044  if(fr == 0){
2045  if(iETA2 < 3)iETA2 = 3;
2046  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
2047  par1[0] = (*(Amean13RnoME11+0))[iETA2];
2048  par1[1] = (*(Amean13RnoME11+1))[iETA2];
2049  par1[2] = (*(Amean13RnoME11+2))[iETA2];
2050  par1[3] = (*(Amean13RnoME11+3))[iETA2];
2051  par_sig1[0] = (*(Asig13RnoME11+0))[iETA2];
2052  par_sig1[1] = (*(Asig13RnoME11+1))[iETA2];
2053  par_sig1[2] = (*(Asig13RnoME11+2))[iETA2];
2054  par_sig1[3] = (*(Asig13RnoME11+3))[iETA2];
2055  }
2056  }
2057  break;
2058  case 8 : //2-3
2059  if(iETA1 < 2)iETA1 = 2;
2060  par1[0] = (*(Amean23+0))[iETA1];
2061  par1[1] = (*(Amean23+1))[iETA1];
2062  par1[2] = (*(Amean23+2))[iETA1];
2063  par1[3] = (*(Amean23+3))[iETA1];
2064  par_sig1[0] = (*(Asig23+0))[iETA1];
2065  par_sig1[1] = (*(Asig23+1))[iETA1];
2066  par_sig1[2] = (*(Asig23+2))[iETA1];
2067  par_sig1[3] = (*(Asig23+3))[iETA1];
2068 
2069  break;
2070  case 9 : //2-4
2071  if(iETA1 < 3)iETA1 = 3;
2072  par1[0] = (*(Amean24+0))[iETA1];
2073  par1[1] = (*(Amean24+1))[iETA1];
2074  par1[2] = (*(Amean24+2))[iETA1];
2075  par1[3] = (*(Amean24+3))[iETA1];
2076  par_sig1[0] = (*(Asig24+0))[iETA1];
2077  par_sig1[1] = (*(Asig24+1))[iETA1];
2078  par_sig1[2] = (*(Asig24+2))[iETA1];
2079  par_sig1[3] = (*(Asig24+3))[iETA1];
2080  break;
2081  case 10 : //3-4
2082  if(iETA1 < 3)iETA1 = 3;
2083  par1[0] = (*(Amean34+0))[iETA1];
2084  par1[1] = (*(Amean34+1))[iETA1];
2085  par1[2] = (*(Amean34+2))[iETA1];
2086  par1[3] = (*(Amean34+3))[iETA1];
2087  par_sig1[0] = (*(Asig34+0))[iETA1];
2088  par_sig1[1] = (*(Asig34+1))[iETA1];
2089  par_sig1[2] = (*(Asig34+2))[iETA1];
2090  par_sig1[3] = (*(Asig34+3))[iETA1];
2091  break;
2092  case 13 : //1-4
2093  if(fr == 1){
2094  if(iETA1 < 3)iETA1 = 3;
2095  //if(iETA1 > 11)iETA1 = 11;
2096  par1[0] = (*(Amean14F+0))[iETA1];
2097  par1[1] = (*(Amean14F+1))[iETA1];
2098  par1[2] = (*(Amean14F+2))[iETA1];
2099  par1[3] = (*(Amean14F+3))[iETA1];
2100  par_sig1[0] = (*(Asig14F+0))[iETA1];
2101  par_sig1[1] = (*(Asig14F+1))[iETA1];
2102  par_sig1[2] = (*(Asig14F+2))[iETA1];
2103  par_sig1[3] = (*(Asig14F+3))[iETA1];
2104  }
2105  if(fr == 0){
2106  if(iETA1 < 2)iETA1 = 2;
2107  //if(iETA1 > 11)iETA1 = 11;
2108  par1[0] = (*(Amean14R+0))[iETA1];
2109  par1[1] = (*(Amean14R+1))[iETA1];
2110  par1[2] = (*(Amean14R+2))[iETA1];
2111  par1[3] = (*(Amean14R+3))[iETA1];
2112  par_sig1[0] = (*(Asig14R+0))[iETA1];
2113  par_sig1[1] = (*(Asig14R+1))[iETA1];
2114  par_sig1[2] = (*(Asig14R+2))[iETA1];
2115  par_sig1[3] = (*(Asig14R+3))[iETA1];
2116  }
2117  if(phiSign == 0){ // track belong to ME11 station
2118  if(fr == 1){
2119  if(iETA2 < 9)iETA2 = 9;
2120  par1[0] = (*(Amean14FME11+0))[iETA2];
2121  par1[1] = (*(Amean14FME11+1))[iETA2];
2122  par1[2] = (*(Amean14FME11+2))[iETA2];
2123  par1[3] = (*(Amean14FME11+3))[iETA2];
2124  par_sig1[0] = (*(Asig14FME11+0))[iETA2];
2125  par_sig1[1] = (*(Asig14FME11+1))[iETA2];
2126  par_sig1[2] = (*(Asig14FME11+2))[iETA2];
2127  par_sig1[3] = (*(Asig14FME11+3))[iETA2];
2128  }
2129  if(fr == 0){
2130  if(iETA2 < 9)iETA2 = 9;
2131  par1[0] = (*(Amean14RME11+0))[iETA2];
2132  par1[1] = (*(Amean14RME11+1))[iETA2];
2133  par1[2] = (*(Amean14RME11+2))[iETA2];
2134  par1[3] = (*(Amean14RME11+3))[iETA2];
2135  par_sig1[0] = (*(Asig14RME11+0))[iETA2];
2136  par_sig1[1] = (*(Asig14RME11+1))[iETA2];
2137  par_sig1[2] = (*(Asig14RME11+2))[iETA2];
2138  par_sig1[3] = (*(Asig14RME11+3))[iETA2];
2139  }
2140  }
2141  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
2142  if(fr == 1){
2143  if(iETA2 < 4)iETA2 = 4;
2144  if(iETA2 > 7)iETA2 = 7;
2145  par1[0] = (*(Amean14FnoME11+0))[iETA2];
2146  par1[1] = (*(Amean14FnoME11+1))[iETA2];
2147  par1[2] = (*(Amean14FnoME11+2))[iETA2];
2148  par1[3] = (*(Amean14FnoME11+3))[iETA2];
2149  par_sig1[0] = (*(Asig14FnoME11+0))[iETA2];
2150  par_sig1[1] = (*(Asig14FnoME11+1))[iETA2];
2151  par_sig1[2] = (*(Asig14FnoME11+2))[iETA2];
2152  par_sig1[3] = (*(Asig14FnoME11+3))[iETA2];
2153  }
2154  if(fr == 0){
2155  if(iETA2 < 4)iETA2 = 4;
2156  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
2157  par1[0] = (*(Amean14RnoME11+0))[iETA2];
2158  par1[1] = (*(Amean14RnoME11+1))[iETA2];
2159  par1[2] = (*(Amean14RnoME11+2))[iETA2];
2160  par1[3] = (*(Amean14RnoME11+3))[iETA2];
2161  par_sig1[0] = (*(Asig14RnoME11+0))[iETA2];
2162  par_sig1[1] = (*(Asig14RnoME11+1))[iETA2];
2163  par_sig1[2] = (*(Asig14RnoME11+2))[iETA2];
2164  par_sig1[3] = (*(Asig14RnoME11+3))[iETA2];
2165  }
2166  }
2167 
2168  break;
2169  case 11 : // b1-3 for pt_method > 10 & fr = 0, singles for pt_method < 10
2170  if(iETA1 != 2)iETA1 = 2;
2171  par1[0] = (*(Amean53+0))[iETA1];
2172  par1[1] = (*(Amean53+1))[iETA1];
2173  par1[2] = (*(Amean53+2))[iETA1];
2174  par1[3] = (*(Amean53+3))[iETA1];
2175  par_sig1[0] = (*(Asig53+0))[iETA1];
2176  par_sig1[1] = (*(Asig53+1))[iETA1];
2177  par_sig1[2] = (*(Asig53+2))[iETA1];
2178  par_sig1[3] = (*(Asig53+3))[iETA1];
2179  break;
2180 
2181  case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10 & fr = 0: b1-2
2182  if(iETA1 < 1)iETA1 = 1;
2183  if(iETA1 > 2)iETA1 = 2;
2184 
2185  par1[0] = (*(Amean52+0))[iETA1];
2186  par1[1] = (*(Amean52+1))[iETA1];
2187  par1[2] = (*(Amean52+2))[iETA1];
2188  par1[3] = (*(Amean52+3))[iETA1];
2189  par_sig1[0] = (*(Asig52+0))[iETA1];
2190  par_sig1[1] = (*(Asig52+1))[iETA1];
2191  par_sig1[2] = (*(Asig52+2))[iETA1];
2192  par_sig1[3] = (*(Asig52+3))[iETA1];
2193 
2194  break;
2195  case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10 & fr = 0
2196  if(method < 10){
2197  if(iETA1 < 1)iETA1 = 1;
2198  if(iETA1 > 2)iETA1 = 2;
2199  }
2200  par1[0] = (*(Amean52+0))[iETA1];
2201  par1[1] = (*(Amean52+1))[iETA1];
2202  par1[2] = (*(Amean52+2))[iETA1];
2203  par1[3] = (*(Amean52+3))[iETA1];
2204  par_sig1[0] = (*(Asig52+0))[iETA1];
2205  par_sig1[1] = (*(Asig52+1))[iETA1];
2206  par_sig1[2] = (*(Asig52+2))[iETA1];
2207  par_sig1[3] = (*(Asig52+3))[iETA1];
2208 
2209  if(method > 10){
2210  if(iETA1 > 2)iETA1 = 2;
2211  par1[0] = (*(Amean51+0))[iETA1];
2212  par1[1] = (*(Amean51+1))[iETA1];
2213  par1[2] = (*(Amean51+2))[iETA1];
2214  par1[3] = (*(Amean51+3))[iETA1];
2215  par_sig1[0] = (*(Asig51+0))[iETA1];
2216  par_sig1[1] = (*(Asig51+1))[iETA1];
2217  par_sig1[2] = (*(Asig51+2))[iETA1];
2218  par_sig1[3] = (*(Asig51+3))[iETA1];
2219  }
2220  break;
2221  //default:
2222  //return 0.0;
2223  }
2224 
2225 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
2226  //if(fabs(dphi) >= 0.002)
2227  //if(fabs(dphi) >= 0.00)
2228  //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14)))
2229  //{
2230  double pt = 140;
2231  double dpt = 0.1;
2232  double step = 5.;
2233  while(pt > 2. ){
2234  double par_phi12[1] = {dphi};
2235  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
2236  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
2237  v[0] = pt;
2238  lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2239  v[0] = pt + dpt;
2240  lpt1_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2241  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
2242  v[0] = pt - step;
2243  lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2244  v[0] = pt - step + dpt;
2245  lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2246  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
2247  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
2248  v[0] = pt - 0.5*step;
2249  double fx = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2250  v[0] = pt - 0.5*step + dpt;
2251  double fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2252  v[0] = pt - 0.5*step + 2*dpt;
2253  double fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2254 
2255  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
2256  //if(lpt1*lpt2 <= 0 && lpt2nd < 0) std::cout << "lpt2nd < 0 dphi12 = " << dphi <<" PT = " << pt<< " eta =" << fabs(eta) << std::endl;
2257  //lpt2nd = 1.; // don't care about 2nd derivative
2258  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
2259 /*
2260  if(pt == 140.){
2261  v[0] = 200;
2262  lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2263  v[0] = 200. + 5.;
2264  lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2265  lpt2 = (lpt2_2-lpt2_1)/5.;
2266 
2267  v[0] = 170.;
2268  fx = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2269  v[0] = 170.+5.;
2270  fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2271  v[0] = 170.+2*5.;
2272  fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2273  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
2274  }
2275  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1 ){PTsolv = 137.5; break;}
2276 */
2277  if(pt > 25) {dpt = 0.1; step = 5.;}
2278  if(pt <= 25) {dpt = 0.01; step = 0.5;}
2279  pt = pt - step;
2280  }// end while
2281 //*********** end solve equation for muon plus
2282 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
2283 // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0
2284  dphi = - dphi;
2285  pt = 140;
2286  dpt = 0.1;
2287  step = 5.;
2288  while(pt > 2. ){
2289  double par_phi12[1] = {dphi};
2290  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
2291  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
2292  v[0] = pt;
2293  lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2294  v[0] = pt + dpt;
2295  lpt1_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2296  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
2297  v[0] = pt - step;
2298  lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2299  v[0] = pt - step + dpt;
2300  lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2301  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
2302  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
2303  v[0] = pt - 0.5*step;
2304  double fx = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2305  v[0] = pt - 0.5*step + dpt;
2306  double fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2307  v[0] = pt - 0.5*step + 2*dpt;
2308  double fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2309 
2310  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
2311 
2312  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
2313 /*
2314  if(pt == 140.){
2315  v[0] = 200;
2316  lpt2_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2317  v[0] = 200. + 5.;
2318  lpt2_2 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2319 
2320  lpt2 = (lpt2_2-lpt2_1)/5.;
2321 
2322  v[0] = 170.;
2323  fx = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2324  v[0] = 170.+5.;
2325  fxh = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2326  v[0] = 170.+2*5.;
2327  fx2h = Likelihood2_2011(par_phi12, par1, par_sig1, v);
2328  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
2329  }
2330  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0 && fabs(dphi) < 0.1){PTsolvMinus = 137.5; break;}
2331 */
2332  if(pt > 25) {dpt = 0.1; step = 5.;}
2333  if(pt <= 25) {dpt = 0.01; step = 0.5;}
2334  pt = pt - step;
2335  }// end while
2336 // }// if(fabs(dphi) >= 0.002)
2337 // else
2338 // {PTsolv = 137.5;}
2339 
2340 //*********** end solve equation for muon minus
2341  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
2342  PTsolv = PTsolv*1.2;
2343  if(PTsolv > 137.5) PTsolv = 137.5;
2344  if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.;
2345  //if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.;
2346  dphi = - dphi; //return to correct sing dphi
2347 
2348  } //if(fabs(eta_TracMy)
2349  } //end "for by iETA"
2350 
2351  float Pt = PTsolv;
2352 
2353  //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
2354  //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
2355  float Pt_min = 2;// 0 GeV
2356 
2357  return (Pt > Pt_min) ? Pt : Pt_min;
2358 }
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]
T eta() const
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]
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 3259 of file CSCTFPtMethods.cc.

References A_mu12Front, A_mu12Rare, A_mu13Front, A_mu13Rare, A_mu14Front, A_mu14Rare, A_mu23, A_mu24, A_mu34, A_mu51, A_mu52, A_mu53, A_sig12Front, A_sig12Rare, A_sig13Front, A_sig13Rare, A_sig14Front, A_sig14Rare, A_sig23, A_sig24, A_sig34, A_sig51, A_sig52, A_sig53, gather_cfg::cout, etabins, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), Likelihood2(), RecoTauCleanerPlugins::pt, reco::tau::disc::Pt(), relval_parameters_module::step, trigger_scale, and findQualityFiles::v.

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

3260 {
3261  int useBestMLH = PtbyMLH;
3262  int useBOXcut = false;
3263  int useDTBOXcut = true;
3264  if(type == 5) useBOXcut = true; // useBOXcut for mode 5 which come from 3 station
3265  if(type == 5) type = 8; // 2-3-4 -> 2-3//
3266 
3267  if(fabs(eta) >= 2.4) eta = 2.35;
3268  double PTsolv = 1.; // for muon plus hypothesis
3269  double PTsolvMinus = 1.;//for muon minus hypothesis
3270  for(int iETA = 0; iETA < 15; iETA++){
3271  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
3272 
3273 // calculate curvers of mean and sigma
3274  // calculate phi12 mean
3275  double par1[4] = {0., 0., 0., 0.};
3276  //double phi12mean = fitf5(v, par1); //mu12
3277  double par_sig1[3] = {0., 0., 0.};
3278  int iETA1 = iETA;
3279  switch (type) // type = mode here
3280  {
3281  case 6 : //1-2
3282  if(fr == 1){
3283  if(iETA1 < 3)iETA1 = 3;
3284  if(iETA1 > 11)iETA1 = 11;
3285  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3286  par1[0] = A_mu12Front[0][iETA1];
3287  par1[1] = A_mu12Front[1][iETA1];
3288  par1[2] = A_mu12Front[2][iETA1];
3289  par1[3] = A_mu12Front[3][iETA1];
3290  par_sig1[0] = A_sig12Front[0][iETA1];
3291  par_sig1[1] = A_sig12Front[1][iETA1];
3292  par_sig1[2] = A_sig12Front[2][iETA1];
3293  }
3294  if(fr == 0){
3295  if(iETA1 < 1)iETA1 = 1;
3296  if(iETA1 > 11)iETA1 = 11;
3297  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3298  par1[0] = A_mu12Rare[0][iETA1];
3299  par1[1] = A_mu12Rare[1][iETA1];
3300  par1[2] = A_mu12Rare[2][iETA1];
3301  par1[3] = A_mu12Rare[3][iETA1];
3302  par_sig1[0] = A_sig12Rare[0][iETA1];
3303  par_sig1[1] = A_sig12Rare[1][iETA1];
3304  par_sig1[2] = A_sig12Rare[2][iETA1];
3305  }
3306  break;
3307  case 7 : //1-3
3308  if(fr == 1){
3309  if(iETA1 < 3)iETA1 = 3;
3310  if(iETA1 > 11)iETA1 = 11;
3311  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3312  par1[0] = A_mu13Front[0][iETA1];
3313  par1[1] = A_mu13Front[1][iETA1];
3314  par1[2] = A_mu13Front[2][iETA1];
3315  par1[3] = A_mu13Front[3][iETA1];
3316  par_sig1[0] = A_sig13Front[0][iETA1];
3317  par_sig1[1] = A_sig13Front[1][iETA1];
3318  par_sig1[2] = A_sig13Front[2][iETA1];
3319  }
3320  if(fr == 0){
3321  if(iETA1 < 2)iETA1 = 2;
3322  if(iETA1 > 11)iETA1 = 11;
3323  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3324  par1[0] = A_mu13Rare[0][iETA1];
3325  par1[1] = A_mu13Rare[1][iETA1];
3326  par1[2] = A_mu13Rare[2][iETA1];
3327  par1[3] = A_mu13Rare[3][iETA1];
3328  par_sig1[0] = A_sig13Rare[0][iETA1];
3329  par_sig1[1] = A_sig13Rare[1][iETA1];
3330  par_sig1[2] = A_sig13Rare[2][iETA1];
3331  }
3332  break;
3333  case 8 : //2-3
3334  if(iETA1 < 2)iETA1 = 2;
3335  par1[0] = A_mu23[0][iETA1];
3336  par1[1] = A_mu23[1][iETA1];
3337  par1[2] = A_mu23[2][iETA1];
3338  par1[3] = A_mu23[3][iETA1];
3339  par_sig1[0] = A_sig23[0][iETA1];
3340  par_sig1[1] = A_sig23[1][iETA1];
3341  par_sig1[2] = A_sig23[2][iETA1];
3342  break;
3343  case 9 : //2-4
3344  if(iETA1 < 9)iETA1 = 9;
3345  par1[0] = A_mu24[0][iETA1];
3346  par1[1] = A_mu24[1][iETA1];
3347  par1[2] = A_mu24[2][iETA1];
3348  par1[3] = A_mu24[3][iETA1];
3349  par_sig1[0] = A_sig24[0][iETA1];
3350  par_sig1[1] = A_sig24[1][iETA1];
3351  par_sig1[2] = A_sig24[2][iETA1];
3352  break;
3353  case 10 : //3-4
3354  if(iETA1 < 9)iETA1 = 9;
3355  par1[0] = A_mu34[0][iETA1];
3356  par1[1] = A_mu34[1][iETA1];
3357  par1[2] = A_mu34[2][iETA1];
3358  par1[3] = A_mu34[3][iETA1];
3359  par_sig1[0] = A_sig34[0][iETA1];
3360  par_sig1[1] = A_sig34[1][iETA1];
3361  par_sig1[2] = A_sig34[2][iETA1];
3362  break;
3363  case 13 : //1-4
3364  if(iETA1 < 9)iETA1 = 9;
3365  if(iETA1 > 11)iETA1 = 11;
3366  //if(iETA1 > 12)iETA1 = 12;
3367  if(fr == 1){
3368  par1[0] = A_mu14Front[0][iETA1];
3369  par1[1] = A_mu14Front[1][iETA1];
3370  par1[2] = A_mu14Front[2][iETA1];
3371  par1[3] = A_mu14Front[3][iETA1];
3372  par_sig1[0] = A_sig14Front[0][iETA1];
3373  par_sig1[1] = A_sig14Front[1][iETA1];
3374  par_sig1[2] = A_sig14Front[2][iETA1];
3375  }
3376  if(fr == 0){
3377  par1[0] = A_mu14Rare[0][iETA1];
3378  par1[1] = A_mu14Rare[1][iETA1];
3379  par1[2] = A_mu14Rare[2][iETA1];
3380  par1[3] = A_mu14Rare[3][iETA1];
3381  par_sig1[0] = A_sig14Rare[0][iETA1];
3382  par_sig1[1] = A_sig14Rare[1][iETA1];
3383  par_sig1[2] = A_sig14Rare[2][iETA1];
3384  }
3385  break;
3386  case 11 : // b1-3
3387  if(iETA1 != 2)iETA1 = 2;
3388  par1[0] = A_mu53[0][iETA1];
3389  par1[1] = A_mu53[1][iETA1];
3390  par1[2] = A_mu53[2][iETA1];
3391  par1[3] = A_mu53[3][iETA1];
3392  par_sig1[0] = A_sig53[0][iETA1];
3393  par_sig1[1] = A_sig53[1][iETA1];
3394  par_sig1[2] = A_sig53[2][iETA1];
3395 
3396  break;
3397  case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10: b1-2
3398  if(iETA1 < 1)iETA1 = 1;
3399  if(iETA1 > 2)iETA1 = 2;
3400  par1[0] = A_mu52[0][iETA1];
3401  par1[1] = A_mu52[1][iETA1];
3402  par1[2] = A_mu52[2][iETA1];
3403  par1[3] = A_mu52[3][iETA1];
3404  par_sig1[0] = A_sig52[0][iETA1];
3405  par_sig1[1] = A_sig52[1][iETA1];
3406  par_sig1[2] = A_sig52[2][iETA1];
3407  break;
3408  case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10
3409  if(method < 10){
3410  if(iETA1 < 1)iETA1 = 1;
3411  if(iETA1 > 2)iETA1 = 2;
3412  }
3413  par1[0] = A_mu52[0][iETA1];
3414  par1[1] = A_mu52[1][iETA1];
3415  par1[2] = A_mu52[2][iETA1];
3416  par1[3] = A_mu52[3][iETA1];
3417  par_sig1[0] = A_sig52[0][iETA1];
3418  par_sig1[1] = A_sig52[1][iETA1];
3419  par_sig1[2] = A_sig52[2][iETA1];
3420  if(method > 10){
3421  if(iETA1 > 2)iETA1 = 2;
3422  par1[0] = A_mu51[0][iETA1];
3423  par1[1] = A_mu51[1][iETA1];
3424  par1[2] = A_mu51[2][iETA1];
3425  par1[3] = A_mu51[3][iETA1];
3426  par_sig1[0] = A_sig51[0][iETA1];
3427  par_sig1[1] = A_sig51[1][iETA1];
3428  par_sig1[2] = A_sig51[2][iETA1];
3429  }
3430  break;
3431  //default:
3432  //return 0.0;
3433  }
3434 
3435 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
3436  //if(fabs(dphi) >= 0.002)
3437  //if(fabs(dphi) >= 0.00)
3438  //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14)))
3439  //{
3440  double muPlusMaxLH = -1e9;
3441  double pt = 140;
3442  double step = 5.;
3443  double maxLH = -1e9;
3444 
3445  while(pt > 2. )
3446  {
3447  double par_phi12[1] = {dphi};
3448  double v[1], lpt1_1;
3449  v[0] = 0; lpt1_1 = 1.;
3450  v[0] = pt;
3451  lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v);
3452 
3453  if (lpt1_1 > maxLH)
3454  {
3455  maxLH = lpt1_1;
3456  PTsolv = pt;
3457  }
3458 
3459 
3460  if(pt <= 100) {step = 10.0/4.0;}
3461  if(pt <= 50) {step = 5.0/4.0;}
3462  if(pt <= 20) {step = 2.0/4.0;}
3463  if(pt <= 10) {step = 1.0/4.0;}
3464  if(pt <=5) {step = 0.5/4.0;}
3465 
3466  pt = pt - step;
3467  }// end while
3468  muPlusMaxLH = maxLH;
3469 
3470 //*********** end solve equation for muon plus
3471 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
3472 // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0
3473  double muMinusMaxLH = -1e9;
3474  dphi = - dphi;
3475  pt = 140;
3476  step = 5.;
3477  maxLH = -1e9;
3478  while(pt > 2. )
3479  {
3480  double par_phi12[1] = {dphi};
3481  double v[1], lpt1_1;
3482  v[0] = 0; lpt1_1 = 1.;
3483  v[0] = pt;
3484  lpt1_1 = Likelihood2(par_phi12, par1, par_sig1, v);
3485 
3486  if (lpt1_1 > maxLH)
3487  {
3488  maxLH = lpt1_1;
3489  PTsolvMinus = pt;
3490  }
3491 
3492 
3493  if(pt <= 100) {step = 10.0/4.0;}
3494  if(pt <= 50) {step = 5.0/4.0;}
3495  if(pt <= 20) {step = 2.0/4.0;}
3496  if(pt <= 10) {step = 1.0/4.0;}
3497  if(pt <=5) {step = 0.5/4.0;}
3498 
3499  pt = pt - step;
3500  }// end while
3501  muMinusMaxLH = maxLH;
3502 
3503  // }// if(fabs(dphi) >= 0.002)
3504  // else
3505 // {PTsolv = 137.5;}
3506 
3507 //*********** end solve equation for muon minus
3508  if (useBestMLH)
3509  PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
3510  else
3511  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
3512 
3513  bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH;
3514 
3515 
3516  PTsolv = PTsolv*1.2;
3517  if(PTsolv > 137.5) PTsolv = 137.5;
3518 
3519  if (useBOXcut)
3520  if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.;
3521  if (useDTBOXcut)
3522  if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.;
3523 
3524  dphi = - dphi; //return to correct sing dphi
3525 
3526  } //if(fabs(eta_TracMy)
3527  } //end "for by iETA"
3528 
3529  float Pt = PTsolv;
3530  if(Pt > 10 && fabs(dphi) >= 0.1 ) std::cout << "iF = 0 for dphi = " << dphi <<" and Pt = " << Pt << std::endl;
3531 
3532  //if(Pt > 100 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi > 0.015 )std::cout << "dphi = " << dphi << " eta = " << eta << std::endl;
3533  //if(Pt < 10 && (type == 12 || type == 14) && fabs(eta) <= 1.2 && dphi < 0.01)std::cout << "dphi = " << dphi << " eta = " << eta << std::endl;
3534  // return (Pt>0.0) ? Pt : 0.0;
3535 
3536  float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
3537  if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
3538 
3539  return (Pt > Pt_min) ? Pt : Pt_min;
3540 }
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]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
T eta() const
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]
static const double A_sig13Front[3][15]
static const double A_mu51[4][15]
tuple cout
Definition: gather_cfg.py:121
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 4428 of file CSCTFPtMethods.cc.

References AB_mu12F, AB_mu12FME11, AB_mu12FnoME11, AB_mu12R, AB_mu12RME11, AB_mu12RnoME11, AB_mu13F, AB_mu13FME11, AB_mu13FnoME11, AB_mu13R, AB_mu13RME11, AB_mu13RnoME11, AB_mu14F, AB_mu14FME11, AB_mu14FnoME11, AB_mu14R, AB_mu14RME11, AB_mu14RnoME11, AB_mu23, AB_mu24, AB_mu34, AB_mu51, AB_mu52, AB_mu53, AB_sig12F, AB_sig12FME11, AB_sig12FnoME11, AB_sig12R, AB_sig12RME11, AB_sig12RnoME11, AB_sig13F, AB_sig13FME11, AB_sig13FnoME11, AB_sig13R, AB_sig13RME11, AB_sig13RnoME11, AB_sig14F, AB_sig14FME11, AB_sig14FnoME11, AB_sig14R, AB_sig14RME11, AB_sig14RnoME11, AB_sig23, AB_sig24, AB_sig34, AB_sig51, AB_sig52, AB_sig53, etabins, Likelihood2_2011(), RecoTauCleanerPlugins::pt, reco::tau::disc::Pt(), relval_parameters_module::step, and findQualityFiles::v.

Referenced by Pt3Stn2012_DT().

4429 {
4430  int useBestMLH = PtbyMLH;
4431  int useBOXcut = true;
4432 
4433  //if(fabs(eta) >= 2.4) eta = 2.35;
4434  if(fabs(eta) >= 2.2) eta = 2.15;
4435  double PTsolv = 1.; // for muon plus hypothesis
4436  double PTsolvMinus = 1.;//for muon minus hypothesis
4437  for(int iETA = 0; iETA < 15; iETA++){
4438  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
4439 
4440 // calculate curvers of mean and sigma
4441  // calculate phi12 mean
4442  double par1[4] = {0., 0., 0., 0.};
4443  //double phi12mean = fitf5(v, par1); //mu12
4444  double par_sig1[4] = {0., 0., 0.,0};
4445  int iETA1 = iETA;
4446  int iETA2 = iETA;
4447 
4448  const double (*Amean12FnoME11)[15] = AB_mu12FnoME11;
4449  const double (*Asig12FnoME11)[15] = AB_sig12FnoME11;
4450  const double (*Amean12RnoME11)[15] = AB_mu12RnoME11;
4451  const double (*Asig12RnoME11)[15] = AB_sig12RnoME11;
4452 
4453  const double (*Amean13FnoME11)[15] = AB_mu13FnoME11;
4454  const double (*Asig13FnoME11)[15] = AB_sig13FnoME11;
4455  const double (*Amean13RnoME11)[15] = AB_mu13RnoME11;
4456  const double (*Asig13RnoME11)[15] = AB_sig13RnoME11;
4457 
4458  const double (*Amean14FnoME11)[15] = AB_mu14FnoME11;
4459  const double (*Asig14FnoME11)[15] = AB_sig14FnoME11;
4460  const double (*Amean14RnoME11)[15] = AB_mu14RnoME11;
4461  const double (*Asig14RnoME11)[15] = AB_sig14RnoME11;
4462  //
4463  const double (*Amean12FME11)[15] = AB_mu12FME11;
4464  const double (*Asig12FME11)[15] = AB_sig12FME11;
4465  const double (*Amean12RME11)[15] = AB_mu12RME11;
4466  const double (*Asig12RME11)[15] = AB_sig12RME11;
4467 
4468  const double (*Amean13FME11)[15] = AB_mu13FME11;
4469  const double (*Asig13FME11)[15] = AB_sig13FME11;
4470  const double (*Amean13RME11)[15] = AB_mu13RME11;
4471  const double (*Asig13RME11)[15] = AB_sig13RME11;
4472 
4473  const double (*Amean14FME11)[15] = AB_mu14FME11;
4474  const double (*Asig14FME11)[15] = AB_sig14FME11;
4475  const double (*Amean14RME11)[15] = AB_mu14RME11;
4476  const double (*Asig14RME11)[15] = AB_sig14RME11;
4477  //
4478  const double (*Amean12F)[15] = AB_mu12F;
4479  const double (*Asig12F)[15] = AB_sig12F;
4480  const double (*Amean12R)[15] = AB_mu12R;
4481  const double (*Asig12R)[15] = AB_sig12R;
4482 
4483  const double (*Amean13F)[15] = AB_mu13F;
4484  const double (*Asig13F)[15] = AB_sig13F;
4485  const double (*Amean13R)[15] = AB_mu13R;
4486  const double (*Asig13R)[15] = AB_sig13R;
4487 
4488  const double (*Amean14F)[15] = AB_mu14F;
4489  const double (*Asig14F)[15] = AB_sig14F;
4490  const double (*Amean14R)[15] = AB_mu14R;
4491  const double (*Asig14R)[15] = AB_sig14R;
4492 
4493  const double (*Amean23)[15] = AB_mu23;
4494  const double (*Asig23)[15] = AB_sig23;
4495  const double (*Amean24)[15] = AB_mu24;
4496  const double (*Asig24)[15] = AB_sig24;
4497  const double (*Amean34)[15] = AB_mu34;
4498  const double (*Asig34)[15] = AB_sig34;
4499 
4500  const double (*Amean51)[15] = AB_mu51;
4501  const double (*Asig51)[15] = AB_sig51;
4502  const double (*Amean52)[15] = AB_mu52;
4503  const double (*Asig52)[15] = AB_sig52;
4504  const double (*Amean53)[15] = AB_mu53;
4505  const double (*Asig53)[15] = AB_sig53;
4506 
4507  switch (type) // type = mode here
4508  {
4509  case 6 : //1-2
4510  if(fr == 1){
4511  if(iETA1 < 3)iETA1 = 3;
4512  //if(iETA1 > 11)iETA1 = 11;
4513  par1[0] = (*(Amean12F+0))[iETA1];
4514  par1[1] = (*(Amean12F+1))[iETA1];
4515  par1[2] = (*(Amean12F+2))[iETA1];
4516  par1[3] = (*(Amean12F+3))[iETA1];
4517  par_sig1[0] = (*(Asig12F+0))[iETA1];
4518  par_sig1[1] = (*(Asig12F+1))[iETA1];
4519  par_sig1[2] = (*(Asig12F+2))[iETA1];
4520  par_sig1[3] = (*(Asig12F+3))[iETA1];
4521  }
4522  if(fr == 0){
4523  if(iETA1 < 1)iETA1 = 1;
4524  //if(iETA1 > 11)iETA1 = 11;
4525  par1[0] = (*(Amean12R+0))[iETA1];
4526  par1[1] = (*(Amean12R+1))[iETA1];
4527  par1[2] = (*(Amean12R+2))[iETA1];
4528  par1[3] = (*(Amean12R+3))[iETA1];
4529  par_sig1[0] = (*(Asig12R+0))[iETA1];
4530  par_sig1[1] = (*(Asig12R+1))[iETA1];
4531  par_sig1[2] = (*(Asig12R+2))[iETA1];
4532  par_sig1[3] = (*(Asig12R+3))[iETA1];
4533  }
4534  if(phiSign == 0){ // track belong to ME11 station
4535  if(fr == 1){
4536  if(iETA2 < 7)iETA2 = 7;
4537  par1[0] = (*(Amean12FME11+0))[iETA2];
4538  par1[1] = (*(Amean12FME11+1))[iETA2];
4539  par1[2] = (*(Amean12FME11+2))[iETA2];
4540  par1[3] = (*(Amean12FME11+3))[iETA2];
4541  par_sig1[0] = (*(Asig12FME11+0))[iETA2];
4542  par_sig1[1] = (*(Asig12FME11+1))[iETA2];
4543  par_sig1[2] = (*(Asig12FME11+2))[iETA2];
4544  par_sig1[3] = (*(Asig12FME11+3))[iETA2];
4545  }
4546  if(fr == 0){
4547  if(iETA2 < 7)iETA2 = 7;
4548  par1[0] = (*(Amean12RME11+0))[iETA2];
4549  par1[1] = (*(Amean12RME11+1))[iETA2];
4550  par1[2] = (*(Amean12RME11+2))[iETA2];
4551  par1[3] = (*(Amean12RME11+3))[iETA2];
4552  par_sig1[0] = (*(Asig12RME11+0))[iETA2];
4553  par_sig1[1] = (*(Asig12RME11+1))[iETA2];
4554  par_sig1[2] = (*(Asig12RME11+2))[iETA2];
4555  par_sig1[3] = (*(Asig12RME11+3))[iETA2];
4556  }
4557  }
4558  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
4559  if(fr == 1){
4560  if(iETA2 < 3)iETA2 = 3;
4561  if(iETA2 > 7)iETA2 = 7;
4562  par1[0] = (*(Amean12FnoME11+0))[iETA2];
4563  par1[1] = (*(Amean12FnoME11+1))[iETA2];
4564  par1[2] = (*(Amean12FnoME11+2))[iETA2];
4565  par1[3] = (*(Amean12FnoME11+3))[iETA2];
4566  par_sig1[0] = (*(Asig12FnoME11+0))[iETA2];
4567  par_sig1[1] = (*(Asig12FnoME11+1))[iETA2];
4568  par_sig1[2] = (*(Asig12FnoME11+2))[iETA2];
4569  par_sig1[3] = (*(Asig12FnoME11+3))[iETA2];
4570  }
4571  if(fr == 0){
4572  if(iETA2 < 1)iETA2 = 1;
4573  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
4574  par1[0] = (*(Amean12RnoME11+0))[iETA2];
4575  par1[1] = (*(Amean12RnoME11+1))[iETA2];
4576  par1[2] = (*(Amean12RnoME11+2))[iETA2];
4577  par1[3] = (*(Amean12RnoME11+3))[iETA2];
4578  par_sig1[0] = (*(Asig12RnoME11+0))[iETA2];
4579  par_sig1[1] = (*(Asig12RnoME11+1))[iETA2];
4580  par_sig1[2] = (*(Asig12RnoME11+2))[iETA2];
4581  par_sig1[3] = (*(Asig12RnoME11+3))[iETA2];
4582  }
4583  }
4584 
4585  break;
4586  case 7 : //1-3
4587  if(fr == 1){
4588  if(iETA1 < 3)iETA1 = 3;
4589  //if(iETA1 > 11)iETA1 = 11;
4590  par1[0] = (*(Amean13F+0))[iETA1];
4591  par1[1] = (*(Amean13F+1))[iETA1];
4592  par1[2] = (*(Amean13F+2))[iETA1];
4593  par1[3] = (*(Amean13F+3))[iETA1];
4594  par_sig1[0] = (*(Asig13F+0))[iETA1];
4595  par_sig1[1] = (*(Asig13F+1))[iETA1];
4596  par_sig1[2] = (*(Asig13F+2))[iETA1];
4597  par_sig1[3] = (*(Asig13F+3))[iETA1];
4598  }
4599  if(fr == 0){
4600  if(iETA1 < 3)iETA1 = 3;
4601  //if(iETA1 > 11)iETA1 = 11;
4602  par1[0] = (*(Amean13R+0))[iETA1];
4603  par1[1] = (*(Amean13R+1))[iETA1];
4604  par1[2] = (*(Amean13R+2))[iETA1];
4605  par1[3] = (*(Amean13R+3))[iETA1];
4606  par_sig1[0] = (*(Asig13R+0))[iETA1];
4607  par_sig1[1] = (*(Asig13R+1))[iETA1];
4608  par_sig1[2] = (*(Asig13R+2))[iETA1];
4609  par_sig1[3] = (*(Asig13R+3))[iETA1];
4610  }
4611  if(phiSign == 0){ // track belong to ME11 station
4612  if(fr == 1){
4613  if(iETA2 < 7)iETA2 = 7;
4614  par1[0] = (*(Amean13FME11+0))[iETA2];
4615  par1[1] = (*(Amean13FME11+1))[iETA2];
4616  par1[2] = (*(Amean13FME11+2))[iETA2];
4617  par1[3] = (*(Amean13FME11+3))[iETA2];
4618  par_sig1[0] = (*(Asig13FME11+0))[iETA2];
4619  par_sig1[1] = (*(Asig13FME11+1))[iETA2];
4620  par_sig1[2] = (*(Asig13FME11+2))[iETA2];
4621  par_sig1[3] = (*(Asig13FME11+3))[iETA2];
4622  }
4623  if(fr == 0){
4624  if(iETA2 < 7)iETA2 = 7;
4625  par1[0] = (*(Amean13RME11+0))[iETA2];
4626  par1[1] = (*(Amean13RME11+1))[iETA2];
4627  par1[2] = (*(Amean13RME11+2))[iETA2];
4628  par1[3] = (*(Amean13RME11+3))[iETA2];
4629  par_sig1[0] = (*(Asig13RME11+0))[iETA2];
4630  par_sig1[1] = (*(Asig13RME11+1))[iETA2];
4631  par_sig1[2] = (*(Asig13RME11+2))[iETA2];
4632  par_sig1[3] = (*(Asig13RME11+3))[iETA2];
4633  }
4634  }
4635  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
4636  if(fr == 1){
4637  if(iETA2 < 3)iETA2 = 3;
4638  if(iETA2 > 7)iETA2 = 7;
4639  par1[0] = (*(Amean13FnoME11+0))[iETA2];
4640  par1[1] = (*(Amean13FnoME11+1))[iETA2];
4641  par1[2] = (*(Amean13FnoME11+2))[iETA2];
4642  par1[3] = (*(Amean13FnoME11+3))[iETA2];
4643  par_sig1[0] = (*(Asig13FnoME11+0))[iETA2];
4644  par_sig1[1] = (*(Asig13FnoME11+1))[iETA2];
4645  par_sig1[2] = (*(Asig13FnoME11+2))[iETA2];
4646  par_sig1[3] = (*(Asig13FnoME11+3))[iETA2];
4647  }
4648  if(fr == 0){
4649  if(iETA2 < 3)iETA2 = 3;
4650  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
4651  par1[0] = (*(Amean13RnoME11+0))[iETA2];
4652  par1[1] = (*(Amean13RnoME11+1))[iETA2];
4653  par1[2] = (*(Amean13RnoME11+2))[iETA2];
4654  par1[3] = (*(Amean13RnoME11+3))[iETA2];
4655  par_sig1[0] = (*(Asig13RnoME11+0))[iETA2];
4656  par_sig1[1] = (*(Asig13RnoME11+1))[iETA2];
4657  par_sig1[2] = (*(Asig13RnoME11+2))[iETA2];
4658  par_sig1[3] = (*(Asig13RnoME11+3))[iETA2];
4659  }
4660  }
4661  break;
4662  case 8 : //2-3
4663  if(iETA1 < 2)iETA1 = 2;
4664  par1[0] = (*(Amean23+0))[iETA1];
4665  par1[1] = (*(Amean23+1))[iETA1];
4666  par1[2] = (*(Amean23+2))[iETA1];
4667  par1[3] = (*(Amean23+3))[iETA1];
4668  par_sig1[0] = (*(Asig23+0))[iETA1];
4669  par_sig1[1] = (*(Asig23+1))[iETA1];
4670  par_sig1[2] = (*(Asig23+2))[iETA1];
4671  par_sig1[3] = (*(Asig23+3))[iETA1];
4672 
4673  break;
4674  case 9 : //2-4
4675  if(iETA1 < 3)iETA1 = 3;
4676  par1[0] = (*(Amean24+0))[iETA1];
4677  par1[1] = (*(Amean24+1))[iETA1];
4678  par1[2] = (*(Amean24+2))[iETA1];
4679  par1[3] = (*(Amean24+3))[iETA1];
4680  par_sig1[0] = (*(Asig24+0))[iETA1];
4681  par_sig1[1] = (*(Asig24+1))[iETA1];
4682  par_sig1[2] = (*(Asig24+2))[iETA1];
4683  par_sig1[3] = (*(Asig24+3))[iETA1];
4684  break;
4685  case 10 : //3-4
4686  if(iETA1 < 3)iETA1 = 3;
4687  par1[0] = (*(Amean34+0))[iETA1];
4688  par1[1] = (*(Amean34+1))[iETA1];
4689  par1[2] = (*(Amean34+2))[iETA1];
4690  par1[3] = (*(Amean34+3))[iETA1];
4691  par_sig1[0] = (*(Asig34+0))[iETA1];
4692  par_sig1[1] = (*(Asig34+1))[iETA1];
4693  par_sig1[2] = (*(Asig34+2))[iETA1];
4694  par_sig1[3] = (*(Asig34+3))[iETA1];
4695  break;
4696  case 13 : //1-4
4697  if(fr == 1){
4698  if(iETA1 < 3)iETA1 = 3;
4699  //if(iETA1 > 11)iETA1 = 11;
4700  par1[0] = (*(Amean14F+0))[iETA1];
4701  par1[1] = (*(Amean14F+1))[iETA1];
4702  par1[2] = (*(Amean14F+2))[iETA1];
4703  par1[3] = (*(Amean14F+3))[iETA1];
4704  par_sig1[0] = (*(Asig14F+0))[iETA1];
4705  par_sig1[1] = (*(Asig14F+1))[iETA1];
4706  par_sig1[2] = (*(Asig14F+2))[iETA1];
4707  par_sig1[3] = (*(Asig14F+3))[iETA1];
4708  }
4709  if(fr == 0){
4710  if(iETA1 < 2)iETA1 = 2;
4711  //if(iETA1 > 11)iETA1 = 11;
4712  par1[0] = (*(Amean14R+0))[iETA1];
4713  par1[1] = (*(Amean14R+1))[iETA1];
4714  par1[2] = (*(Amean14R+2))[iETA1];
4715  par1[3] = (*(Amean14R+3))[iETA1];
4716  par_sig1[0] = (*(Asig14R+0))[iETA1];
4717  par_sig1[1] = (*(Asig14R+1))[iETA1];
4718  par_sig1[2] = (*(Asig14R+2))[iETA1];
4719  par_sig1[3] = (*(Asig14R+3))[iETA1];
4720  }
4721  if(phiSign == 0){ // track belong to ME11 station
4722  if(fr == 1){
4723  if(iETA2 < 9)iETA2 = 9;
4724  par1[0] = (*(Amean14FME11+0))[iETA2];
4725  par1[1] = (*(Amean14FME11+1))[iETA2];
4726  par1[2] = (*(Amean14FME11+2))[iETA2];
4727  par1[3] = (*(Amean14FME11+3))[iETA2];
4728  par_sig1[0] = (*(Asig14FME11+0))[iETA2];
4729  par_sig1[1] = (*(Asig14FME11+1))[iETA2];
4730  par_sig1[2] = (*(Asig14FME11+2))[iETA2];
4731  par_sig1[3] = (*(Asig14FME11+3))[iETA2];
4732  }
4733  if(fr == 0){
4734  if(iETA2 < 9)iETA2 = 9;
4735  par1[0] = (*(Amean14RME11+0))[iETA2];
4736  par1[1] = (*(Amean14RME11+1))[iETA2];
4737  par1[2] = (*(Amean14RME11+2))[iETA2];
4738  par1[3] = (*(Amean14RME11+3))[iETA2];
4739  par_sig1[0] = (*(Asig14RME11+0))[iETA2];
4740  par_sig1[1] = (*(Asig14RME11+1))[iETA2];
4741  par_sig1[2] = (*(Asig14RME11+2))[iETA2];
4742  par_sig1[3] = (*(Asig14RME11+3))[iETA2];
4743  }
4744  }
4745  if(phiSign == 1){ // track belong to ME1/2 or ME1/3 station
4746  if(fr == 1){
4747  if(iETA2 < 4)iETA2 = 4;
4748  if(iETA2 > 7)iETA2 = 7;
4749  par1[0] = (*(Amean14FnoME11+0))[iETA2];
4750  par1[1] = (*(Amean14FnoME11+1))[iETA2];
4751  par1[2] = (*(Amean14FnoME11+2))[iETA2];
4752  par1[3] = (*(Amean14FnoME11+3))[iETA2];
4753  par_sig1[0] = (*(Asig14FnoME11+0))[iETA2];
4754  par_sig1[1] = (*(Asig14FnoME11+1))[iETA2];
4755  par_sig1[2] = (*(Asig14FnoME11+2))[iETA2];
4756  par_sig1[3] = (*(Asig14FnoME11+3))[iETA2];
4757  }
4758  if(fr == 0){
4759  if(iETA2 < 4)iETA2 = 4;
4760  if(iETA2 > 6)iETA2 = 6;// rare ME1/2 only till 1.6
4761  par1[0] = (*(Amean14RnoME11+0))[iETA2];
4762  par1[1] = (*(Amean14RnoME11+1))[iETA2];
4763  par1[2] = (*(Amean14RnoME11+2))[iETA2];
4764  par1[3] = (*(Amean14RnoME11+3))[iETA2];
4765  par_sig1[0] = (*(Asig14RnoME11+0))[iETA2];
4766  par_sig1[1] = (*(Asig14RnoME11+1))[iETA2];
4767  par_sig1[2] = (*(Asig14RnoME11+2))[iETA2];
4768  par_sig1[3] = (*(Asig14RnoME11+3))[iETA2];
4769  }
4770  }
4771 
4772  break;
4773  case 11 : // b1-3 for pt_method > 10 & fr = 0, singles for pt_method < 10
4774  if(iETA1 != 2)iETA1 = 2;
4775  par1[0] = (*(Amean53+0))[iETA1];
4776  par1[1] = (*(Amean53+1))[iETA1];
4777  par1[2] = (*(Amean53+2))[iETA1];
4778  par1[3] = (*(Amean53+3))[iETA1];
4779  par_sig1[0] = (*(Asig53+0))[iETA1];
4780  par_sig1[1] = (*(Asig53+1))[iETA1];
4781  par_sig1[2] = (*(Asig53+2))[iETA1];
4782  par_sig1[3] = (*(Asig53+3))[iETA1];
4783  break;
4784 
4785  case 12 : //1-2-b1 = 2-b1 for pt_method < 10, for pt_method > 10 & fr = 0: b1-2
4786  if(iETA1 < 1)iETA1 = 1;
4787  if(iETA1 > 2)iETA1 = 2;
4788 
4789  par1[0] = (*(Amean52+0))[iETA1];
4790  par1[1] = (*(Amean52+1))[iETA1];
4791  par1[2] = (*(Amean52+2))[iETA1];
4792  par1[3] = (*(Amean52+3))[iETA1];
4793  par_sig1[0] = (*(Asig52+0))[iETA1];
4794  par_sig1[1] = (*(Asig52+1))[iETA1];
4795  par_sig1[2] = (*(Asig52+2))[iETA1];
4796  par_sig1[3] = (*(Asig52+3))[iETA1];
4797 
4798  break;
4799  case 14 : //2-b1 for pt_method < 10 and b1-1 for pt_method > 10 & fr = 0
4800  if(method < 10){
4801  if(iETA1 < 1)iETA1 = 1;
4802  if(iETA1 > 2)iETA1 = 2;
4803  }
4804  par1[0] = (*(Amean52+0))[iETA1];
4805  par1[1] = (*(Amean52+1))[iETA1];
4806  par1[2] = (*(Amean52+2))[iETA1];
4807  par1[3] = (*(Amean52+3))[iETA1];
4808  par_sig1[0] = (*(Asig52+0))[iETA1];
4809  par_sig1[1] = (*(Asig52+1))[iETA1];
4810  par_sig1[2] = (*(Asig52+2))[iETA1];
4811  par_sig1[3] = (*(Asig52+3))[iETA1];
4812 
4813  if(method > 10){
4814  if(iETA1 > 2)iETA1 = 2;
4815  par1[0] = (*(Amean51+0))[iETA1];
4816  par1[1] = (*(Amean51+1))[iETA1];
4817  par1[2] = (*(Amean51+2))[iETA1];
4818  par1[3] = (*(Amean51+3))[iETA1];
4819  par_sig1[0] = (*(Asig51+0))[iETA1];
4820  par_sig1[1] = (*(Asig51+1))[iETA1];
4821  par_sig1[2] = (*(Asig51+2))[iETA1];
4822  par_sig1[3] = (*(Asig51+3))[iETA1];
4823  }
4824  break;
4825  //default:
4826  //return 0.0;
4827  }
4828 
4829 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
4830  //if(fabs(dphi) >= 0.002)
4831  //if(fabs(dphi) >= 0.00)
4832  //if(fabs(dphi) >= 0.002 || (fabs(dphi) >= 0.01 && (type == 12 || type == 14)))
4833  //{
4834  double muPlusMaxLH = -1e9;
4835  double pt = 140;
4836  double step = 5.;
4837  double maxLH = -1e9;
4838  while(pt > 2. )
4839  {
4840  double par_phi12[1] = {dphi};
4841  double v[1], lpt1_1;
4842  v[0] = 0; lpt1_1 = 1.;
4843  v[0] = pt;
4844  lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
4845 
4846  if (lpt1_1 > maxLH)
4847  {
4848  maxLH = lpt1_1;
4849  PTsolv = pt;
4850  }
4851 
4852  if(pt <= 100) {step = 10.0/4.0;}
4853  if(pt <= 50) {step = 5.0/4.0;}
4854  if(pt <= 20) {step = 2.0/4.0;}
4855  if(pt <= 10) {step = 1.0/4.0;}
4856  if(pt <=5) {step = 0.5/4.0;}
4857 
4858 
4859  pt = pt - step;
4860  }// end while
4861  muPlusMaxLH = maxLH;
4862 
4863 //*********** end solve equation for muon plus
4864 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
4865 // for one station method we know sing of muon: dphi > 0 for muon minus!!! => dphi = -dphi < 0
4866  double muMinusMaxLH = -1e9;
4867  dphi = - dphi;
4868  pt = 140;
4869  step = 5.;
4870  maxLH = -1e9;
4871  while(pt > 2. )
4872  {
4873  double par_phi12[1] = {dphi};
4874  double v[1], lpt1_1;
4875  v[0] = 0; lpt1_1 = 1.;
4876  v[0] = pt;
4877  lpt1_1 = Likelihood2_2011(par_phi12, par1, par_sig1, v);
4878 
4879  if (lpt1_1 > maxLH)
4880  {
4881  maxLH = lpt1_1;
4882  PTsolvMinus = pt;
4883  }
4884 
4885  if(pt <= 100) {step = 10.0/4.0;}
4886  if(pt <= 50) {step = 5.0/4.0;}
4887  if(pt <= 20) {step = 2.0/4.0;}
4888  if(pt <= 10) {step = 1.0/4.0;}
4889  if(pt <=5) {step = 0.5/4.0;}
4890 
4891 
4892 
4893  pt = pt - step;
4894  }// end while
4895  muMinusMaxLH = maxLH;
4896 
4897 // }// if(fabs(dphi) >= 0.002)
4898 // else
4899 // {PTsolv = 137.5;}
4900 
4901 //*********** end solve equation for muon minus
4902  if (useBestMLH)
4903  PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
4904  else
4905  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
4906 
4907  bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH;
4908 
4909 
4910 
4911  PTsolv = PTsolv*1.2;
4912  if(PTsolv > 137.5) PTsolv = 137.5;
4913 
4914  if (useBOXcut)
4915  if(fabs(dphi) <= 0.002 && PTsolv < 120.)PTsolv = 140.;
4916  //if( fabs(dphi) <= 0.01 && (type == 11 || type == 12 || type == 14) && PTsolv < 120.)PTsolv = 140.;
4917  dphi = - dphi; //return to correct sing dphi
4918 
4919  } //if(fabs(eta_TracMy)
4920  } //end "for by iETA"
4921 
4922  float Pt = PTsolv;
4923 
4924  //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
4925  //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
4926  float Pt_min = 2;// 0 GeV
4927 
4928  return (Pt > Pt_min) ? Pt : Pt_min;
4929 }
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]
T eta() const
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]
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 5230 of file CSCTFPtMethods.cc.

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

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

5231 {
5232 
5233  float diff, min, ptmin, ptmax;
5234  float mypt = 0.0;
5235 
5236  int dphicopy = dphi;
5237 
5238  if (type<0 || type>3)
5239  {
5240 // std::cout << "CSCTFPtMethods: illegal track type for Chi-square method" << std::endl;
5241  edm::LogError("CSCTFPtMethods::Pt2StnChiSq()")<<"Illegal track type for Chi-square method";
5242  return 0.;
5243  }
5244 
5245  // flip sign
5246  //dphi = -dphi;
5247 
5248  // force positive
5249  eta = fabs(eta);
5250 
5251  //determine which eta bin muon falls into
5252  int i = 0;
5253  for(i = 0; i < 15; i++)
5254  {
5255  if (eta >= etabins[i] && eta < etabins[i+1]) break;
5256  }
5257  if ( i == 15 )
5258  {
5259 // std::cout<<" CSCTFPtMethods: muon not within any eta range"<< std::endl;
5260  edm::LogWarning("CSCTFPtMethods::Pt2StnChiSq()")<<"Muon not within any eta range";
5261  if (eta<etabins[0])
5262  {
5263  eta = etabins[0];
5264  i = 0;
5265  }
5266  else if (eta>=etabins[15])
5267  {
5268  eta = etabins[15];
5269  i = 15;
5270  }
5271  else
5272  exit(0);
5273  }
5274 
5275  bool bCallOldMethod = false;
5276 
5277  if (fr == 0)
5278  {
5279  //advance past bins in array w/ default values
5280  //default is: dphifr0[x][y][z] = -1, sigmafr0[x][y][z] = 1
5281  int j = 0; //start from 1st column, j=0
5282  while (dphifr0[type][i][j] == -1 && sigmafr0[type][i][j] == 1 && j != 28) j++;
5283  if ( j == 28 )
5284  {
5285 // std::cout <<" CSCTFPtMethods: every entry in row is default"<< std::endl;
5286  edm::LogInfo("CSCTFPtMethods::Pt2StnChiSq()")<<"Every entry in row is default";
5287  // exit(0); //normal termination
5288  bCallOldMethod = true;
5289  }
5290 
5291  if (!bCallOldMethod)
5292  {
5293  //set min, ptmin, ptmax to first bin
5294  //in row that is not default
5295  min = fabs(dphi - dphifr0[type][i][j]) / sigmafr0[type][i][j];
5296  ptmin = ptbins[j];
5297  ptmax = ptbins[j+1];
5298 
5299  //loop through all pt bins. assign pt of bin w/ least diff
5300  //do not include default bins in calculation
5301  for ( int k = j; k < 28; k++ )
5302  {
5303  if(dphifr0[type][i][k] != -1 || sigmafr0[type][i][k] != 1)
5304  {
5305  diff = fabs(dphi - dphifr0[type][i][k]) / sigmafr0[type][i][k];
5306  if (diff < min)
5307  {
5308  min = diff;
5309  ptmin = ptbins[k];
5310  ptmax = ptbins[k+1];
5311  }
5312  }
5313  }
5314  mypt = (ptmin + ptmax)/2;
5315  }
5316  }
5317 
5318  if (fr == 1)
5319  {
5320  //advance past bins in array w/ default values
5321  //default is: dphifr1[x][y][z] = -1, sigmafr1[x][y][z] = 1
5322  int j = 0; //start from 1st column, j=0
5323 
5324  while (dphifr1[type][i][j] == -1 && sigmafr1[type][i][j] == 1 && j != 28) j++;
5325 
5326  if ( j == 28 )
5327  {
5328 // std::cout <<" CSCTFPtMethods: every entry in row is default"<< std::endl;
5329  edm::LogInfo("CSCTFPtMethods::Pt2StnChiSq()")<<"Every entry in row is default";
5330  // exit(0); //normal termination
5331  bCallOldMethod = true;
5332  }
5333 
5334  if (!bCallOldMethod)
5335  {
5336  //set min, ptmin, ptmax to first bin
5337  //in row that is not default
5338  min = fabs(dphi - dphifr1[type][i][j]) / sigmafr1[type][i][j];
5339  ptmin = ptbins[j];
5340  ptmax = ptbins[j+1];
5341 
5342  //loop through all pt bins. assign pt of bin w/ least diff
5343  //do not include default bins in calculation
5344  for ( int k = j; k < 28; k++ )
5345  {
5346  if(dphifr1[type][i][k] != -1 || sigmafr1[type][i][k] != 1)
5347  {
5348  diff = fabs(dphi - dphifr1[type][i][k]) / sigmafr1[type][i][k];
5349  if (diff < min)
5350  {
5351  min = diff;
5352  ptmin = ptbins[k];
5353  ptmax = ptbins[k+1];
5354  }
5355  }
5356  }
5357  mypt = (ptmin + ptmax)/2;
5358  }
5359  }
5360 
5361  // hybrid approach:
5362  if (bCallOldMethod)
5363  {
5364  float dphiR = static_cast<float>(dphicopy) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5365  // must change type definition, just add one
5366  mypt = Pt2Stn(type+1, eta, dphiR, fr);
5367  }
5368 
5369  return mypt;
5370 }
type
Definition: HCALResponse.h:21
int i
Definition: DBlmapReader.cc:9
static const float dphifr1[4][15][28]
T eta() const
static const float dphifr0[4][15][28]
static const float sigmafr0[4][15][28]
int j
Definition: DBlmapReader.cc:9
int k[5][pyjets_maxn]
double ptmin
Definition: HydjetWrapper.h:85
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 5605 of file CSCTFPtMethods.cc.

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

Referenced by CSCTFPtLUT::calcPt().

5606 {
5607  float mypt = 0.0;
5608 
5609  mypt = Pt2StnChiSq(type, eta, dphi, fr);
5610  if(mypt >= 8.0)
5611  {
5612  float dphiR = static_cast<float>(dphi) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5613  mypt = Pt2Stn(type+1, eta, dphiR, fr);
5614  }
5615 
5616  return mypt;
5617 }
type
Definition: HCALResponse.h:21
float Pt2StnChiSq(int type, float eta, int dphi, int fr) const
T eta() 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 1297 of file CSCTFPtMethods.cc.

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

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

1298 {
1299  int ty1 = 0, ty2 =0;
1300 
1301  switch (type)
1302  {
1303  case 1 :
1304  ty1 = kME1andME2 -1; // subtype sets the right position for array A
1305  ty2 = kME2andME3 -1;
1306  break;
1307  case 2 :
1308  ty1 = kME1andME2 -1;
1309  ty2 = kME2andME4 -1;
1310  break;
1311  case 3 :
1312  ty1 = kME1andME3 -1;
1313  ty2 = kME3andME4 -1;
1314  break;
1315  case 4 :
1316  ty1 = kME2andME3 -1;
1317  ty2 = kME3andME4 -1;
1318  break;
1319  default:
1320  return 0.0;
1321  }
1322 
1323  // Switch to 2-Station measurement if dphi is too small
1324  // box cut around Pt of 10 GeV
1325  float Pt;
1326 // if ( (fabs(static_cast<double>(dphi2))<0.004) &&
1327 // (fabs(static_cast<double>(dphi1))<0.030)) {
1328  if ( fabs(static_cast<double>(dphi2))<0.004 )
1329  {
1330  Pt = Pt2Stn((ty1+1), eta, dphi1, fr);
1331  }
1332  else
1333  {
1334  float c1=(-.2999 * (eta*eta*eta) + 2.030 * (eta*eta) - 4.235 * eta + 3.024) + 0.02;
1335  float c2=(-2.484 * (eta*eta*eta) + 14.43 * (eta*eta) - 27.66 * eta + 18.47)*.72;
1336  float r = 0.6; //correlation
1337  float A1 = 0;
1338  float A2 = 0;
1339 
1340  if (dphi1 == 0.0) dphi1 = 1.e-6;
1341  if (dphi2 == 0.0) dphi2 = 1.e-6;
1342  if (eta < 0.0) eta = static_cast<float>(fabs(static_cast<double>(eta)));
1343  if (eta >= 0.0 && eta < 1.6)
1344  {
1345  A1 = AkLowEta_Fit1[ty1][0] + AkLowEta_Fit1[ty1][1]*eta
1346  + AkLowEta_Fit1[ty1][2]*eta*eta + AkLowEta_Fit1[ty1][3]*eta*eta*eta;
1347  A2 = AkLowEta_Fit1[ty2][0] + AkLowEta_Fit1[ty2][1]*eta
1348  + AkLowEta_Fit1[ty2][2]*eta*eta + AkLowEta_Fit1[ty2][3]*eta*eta*eta;
1349  if (fr >= 0 && fr <= 1)
1350  {
1351  A1 *= FRCorrLowEta[ty1][fr];
1352  }
1353  }
1354 
1355  if (eta >= 1.6 && eta < 2.5)
1356  {
1357  A1 = AkHighEta_Fit1[ty1][0] + AkHighEta_Fit1[ty1][1]*eta
1358  + AkHighEta_Fit1[ty1][2]*eta*eta + AkHighEta_Fit1[ty1][3]*eta*eta*eta;
1359  A2 = AkHighEta_Fit1[ty2][0] + AkHighEta_Fit1[ty2][1]*eta
1360  + AkHighEta_Fit1[ty2][2]*eta*eta + AkHighEta_Fit1[ty2][3]*eta*eta*eta;
1361  if (fr >= 0 && fr <= 1)
1362  {
1363  A1 *= FRCorrHighEta[ty1][fr];
1364  }
1365  }
1366  A1 *= kGlobalScaleFactor;
1367  A2 *= kGlobalScaleFactor;
1368  Pt = 1/((( -dphi1/c1/c1/A1+r*dphi2/c1/c2/A2+dphi1*r/c1/c2/A1-dphi2/c2/c2/A2)
1369  + sqrt( (dphi1/c1/c1/A1-r*dphi2/c1/c2/A2-dphi1*r/c1/A1/c2+dphi2/c2/c2/A2)
1370  *(dphi1/c1/c1/A1-r*dphi2/c1/c2/A2-dphi1*r/c1/A1/c2+dphi2/c2/c2/A2)
1371  + 8*(1-r*r)*(dphi1*dphi1/c1/c1/A1/A1-2*dphi1*dphi2*r/c1/A1/c2/A2
1372  +dphi2*dphi2/c2/c2/A2/A2)))/(4*(1-r*r)));
1373 
1374  } // end 2 or 3 station method
1375  // if (Pt<0.0) Pt = 0.0;
1376  if (Pt<trigger_scale->getPtScale()->getLowEdge(1))
1377  Pt = trigger_scale->getPtScale()->getLowEdge(1);
1378 
1379  // switch to 2-stn Pt above 10 GeV:
1380  /*
1381  if (Pt>10.0) {
1382  switch (type)
1383  {
1384  case 1 :
1385  case 2 :
1386  Pt = Pt2Stn(1, eta, dphi1);
1387  break;
1388  case 3:
1389  Pt = Pt2Stn(2, eta, dphi1);
1390  break;
1391  case 4:
1392  Pt = Pt2Stn(3, eta, dphi1);
1393  }
1394  }
1395  */
1396 
1397  return Pt;
1398 }
type
Definition: HCALResponse.h:21
const L1MuScale * getPtScale() const
get the Pt scale
static const float FRCorrHighEta[kME2andMB2][2]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
static const float AkLowEta_Fit1[kME2andMB2][kMaxParameters]
T eta() const
const L1MuTriggerPtScale * trigger_scale
static const float AkHighEta_Fit1[kME2andMB2][kMaxParameters]
T sqrt(T t)
Definition: SSEVec.h:48
static const float kGlobalScaleFactor
static const float FRCorrLowEta[kME2andMB2][2]
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 2359 of file CSCTFPtMethods.cc.

References A_mu12Front, A_mu12Rare, A_mu13Front, A_mu13Rare, A_mu23, A_mu24, A_mu34, A_mu51, A_mu52, A_rho123FrontCSCTF, A_rho123RareCSCTF, A_rho124FrontCSCTF, A_rho124RareCSCTF, A_rho134FrontCSCTF, A_rho134RareCSCTF, A_rho234CSCTF, A_rho512, A_rho513, A_rho523, A_sig12Front, A_sig12Rare, A_sig13Front, A_sig13Rare, A_sig23, A_sig24, A_sig34, A_sig51, A_sig52, etabins, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), Likelihood(), RecoTauCleanerPlugins::pt, reco::tau::disc::Pt(), Pt2Stn2010(), relval_parameters_module::step, trigger_scale, and findQualityFiles::v.

Referenced by CSCTFPtLUT::calcPt().

2360 {
2361 
2362  if(fabs(eta) >= 2.4)eta = 2.35;
2363  float Pt = 0.;
2364  double PTsolv = 1.; // for muon plus hypothesis
2365  double PTsolvMinus = 1.;//for muon minus hypothesis
2366  for(int iETA = 0; iETA < 15; iETA++){
2367  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
2368 
2369 // calculate curvers of mean and sigma
2370  // calculate phi12 mean
2371  double par1[4] = {0., 0., 0., 0.};
2372  //double phi12mean = fitf5(v, par1); //mu12
2373  double par_sig1[3] = {0., 0., 0.};
2374  // calculate phi23 mean
2375  double par2[4] = {0., 0., 0., 0.};
2376  // calculate phi23 sig
2377  double par_sig2[3] = {0., 0., 0.};
2378  // calculate correlation rho
2379  double par_rho[5] = {0., 0., 0., 0., 0.};
2380  int iETA1 = iETA;
2381  int iETA2 = iETA;
2382  switch (type) // type = mode here
2383  {
2384  case 2 : //1-2-3
2385  if(fr == 1){
2386  if(iETA1 < 3)iETA1 = 3;
2387  if(iETA1 > 11)iETA1 = 11;
2388  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
2389  par1[0] = A_mu12Front[0][iETA1];
2390  par1[1] = A_mu12Front[1][iETA1];
2391  par1[2] = A_mu12Front[2][iETA1];
2392  par1[3] = A_mu12Front[3][iETA1];
2393  par_sig1[0] = A_sig12Front[0][iETA1];
2394  par_sig1[1] = A_sig12Front[1][iETA1];
2395  par_sig1[2] = A_sig12Front[2][iETA1];
2396  par_rho[0] = A_rho123FrontCSCTF[0][iETA1];
2397  par_rho[1] = A_rho123FrontCSCTF[1][iETA1];
2398  par_rho[2] = A_rho123FrontCSCTF[2][iETA1];
2399  par_rho[3] = A_rho123FrontCSCTF[3][iETA1];
2400  par_rho[4] = A_rho123FrontCSCTF[4][iETA1];
2401  }
2402  if(fr == 0){
2403  if(iETA1 < 1)iETA1 = 1;
2404  if(iETA1 > 11)iETA1 = 11;
2405  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
2406  par1[0] = A_mu12Rare[0][iETA1];
2407  par1[1] = A_mu12Rare[1][iETA1];
2408  par1[2] = A_mu12Rare[2][iETA1];
2409  par1[3] = A_mu12Rare[3][iETA1];
2410  par_sig1[0] = A_sig12Rare[0][iETA1];
2411  par_sig1[1] = A_sig12Rare[1][iETA1];
2412  par_sig1[2] = A_sig12Rare[2][iETA1];
2413  par_rho[0] = A_rho123RareCSCTF[0][iETA1];
2414  par_rho[1] = A_rho123RareCSCTF[1][iETA1];
2415  par_rho[2] = A_rho123RareCSCTF[2][iETA1];
2416  par_rho[3] = A_rho123RareCSCTF[3][iETA1];
2417  par_rho[4] = A_rho123RareCSCTF[4][iETA1];
2418  }
2419  if(iETA2 < 2)iETA2 = 2;
2420  par2[0] = A_mu23[0][iETA2];
2421  par2[1] = A_mu23[1][iETA2];
2422  par2[2] = A_mu23[2][iETA2];
2423  par2[3] = A_mu23[3][iETA2];
2424  par_sig2[0] = A_sig23[0][iETA2];
2425  par_sig2[1] = A_sig23[1][iETA2];
2426  par_sig2[2] = A_sig23[2][iETA2];
2427 
2428  break;
2429  case 3 : //1-2-4
2430  if(fr == 1){
2431  if(iETA1 < 3)iETA1 = 3;
2432  if(iETA1 > 11)iETA1 = 11;
2433  par1[0] = A_mu12Front[0][iETA1];
2434  par1[1] = A_mu12Front[1][iETA1];
2435  par1[2] = A_mu12Front[2][iETA1];
2436  par1[3] = A_mu12Front[3][iETA1];
2437  par_sig1[0] = A_sig12Front[0][iETA1];
2438  par_sig1[1] = A_sig12Front[1][iETA1];
2439  par_sig1[2] = A_sig12Front[2][iETA1];
2440  par_rho[0] = A_rho124FrontCSCTF[0][iETA1];
2441  par_rho[1] = A_rho124FrontCSCTF[1][iETA1];
2442  par_rho[2] = A_rho124FrontCSCTF[2][iETA1];
2443  par_rho[3] = A_rho124FrontCSCTF[3][iETA1];
2444  par_rho[4] = A_rho124FrontCSCTF[4][iETA1];
2445  }
2446  if(fr == 0){
2447  if(iETA1 < 1)iETA1 = 1;
2448  if(iETA1 > 11)iETA1 = 11;
2449  par1[0] = A_mu12Rare[0][iETA1];
2450  par1[1] = A_mu12Rare[1][iETA1];
2451  par1[2] = A_mu12Rare[2][iETA1];
2452  par1[3] = A_mu12Rare[3][iETA1];
2453  par_sig1[0] = A_sig12Rare[0][iETA1];
2454  par_sig1[1] = A_sig12Rare[1][iETA1];
2455  par_sig1[2] = A_sig12Rare[2][iETA1];
2456  par_rho[0] = A_rho124RareCSCTF[0][iETA1];
2457  par_rho[1] = A_rho124RareCSCTF[1][iETA1];
2458  par_rho[2] = A_rho124RareCSCTF[2][iETA1];
2459  par_rho[3] = A_rho124RareCSCTF[3][iETA1];
2460  par_rho[4] = A_rho124RareCSCTF[4][iETA1];
2461  }
2462  if(iETA2 < 9)iETA2 = 9;
2463  par2[0] = A_mu24[0][iETA2];
2464  par2[1] = A_mu24[1][iETA2];
2465  par2[2] = A_mu24[2][iETA2];
2466  par2[3] = A_mu24[3][iETA2];
2467  par_sig2[0] = A_sig24[0][iETA2];
2468  par_sig2[1] = A_sig24[1][iETA2];
2469  par_sig2[2] = A_sig24[2][iETA2];
2470  break;
2471  case 4 : //1-3-4
2472  if(fr == 1){
2473  if(iETA1 < 3)iETA1 = 3;
2474  if(iETA1 > 11)iETA1 = 11;
2475  par1[0] = A_mu13Front[0][iETA1];
2476  par1[1] = A_mu13Front[1][iETA1];
2477  par1[2] = A_mu13Front[2][iETA1];
2478  par1[3] = A_mu13Front[3][iETA1];
2479  par_sig1[0] = A_sig13Front[0][iETA1];
2480  par_sig1[1] = A_sig13Front[1][iETA1];
2481  par_sig1[2] = A_sig13Front[2][iETA1];
2482  par_rho[0] = A_rho134FrontCSCTF[0][iETA1];
2483  par_rho[1] = A_rho134FrontCSCTF[1][iETA1];
2484  par_rho[2] = A_rho134FrontCSCTF[2][iETA1];
2485  par_rho[3] = A_rho134FrontCSCTF[3][iETA1];
2486  par_rho[4] = A_rho134FrontCSCTF[4][iETA1];
2487  }
2488  if(fr == 0){
2489  if(iETA1 < 2)iETA1 = 2;
2490  if(iETA1 > 11)iETA1 = 11;
2491  par1[0] = A_mu13Rare[0][iETA1];
2492  par1[1] = A_mu13Rare[1][iETA1];
2493  par1[2] = A_mu13Rare[2][iETA1];
2494  par1[3] = A_mu13Rare[3][iETA1];
2495  par_sig1[0] = A_sig13Rare[0][iETA1];
2496  par_sig1[1] = A_sig13Rare[1][iETA1];
2497  par_sig1[2] = A_sig13Rare[2][iETA1];
2498  par_rho[0] = A_rho134RareCSCTF[0][iETA1];
2499  par_rho[1] = A_rho134RareCSCTF[1][iETA1];
2500  par_rho[2] = A_rho134RareCSCTF[2][iETA1];
2501  par_rho[3] = A_rho134RareCSCTF[3][iETA1];
2502  par_rho[4] = A_rho134RareCSCTF[4][iETA1];
2503  }
2504  if(iETA2 < 9)iETA2 = 9;
2505  par2[0] = A_mu34[0][iETA2];
2506  par2[1] = A_mu34[1][iETA2];
2507  par2[2] = A_mu34[2][iETA2];
2508  par2[3] = A_mu34[3][iETA2];
2509  par_sig2[0] = A_sig34[0][iETA2];
2510  par_sig2[1] = A_sig34[1][iETA2];
2511  par_sig2[2] = A_sig34[2][iETA2];
2512  break;
2513  case 5 ://2-3-4
2514  if(iETA1 < 9)iETA1 = 9;
2515  par1[0] = A_mu23[0][iETA1];
2516  par1[1] = A_mu23[1][iETA1];
2517  par1[2] = A_mu23[2][iETA1];
2518  par1[3] = A_mu23[3][iETA1];
2519  par_sig1[0] = A_sig23[0][iETA1];
2520  par_sig1[1] = A_sig23[1][iETA1];
2521  par_sig1[2] = A_sig23[2][iETA1];
2522  par_rho[0] = A_rho234CSCTF[0][iETA1];
2523  par_rho[1] = A_rho234CSCTF[1][iETA1];
2524  par_rho[2] = A_rho234CSCTF[2][iETA1];
2525  par_rho[3] = A_rho234CSCTF[3][iETA1];
2526  par_rho[4] = A_rho234CSCTF[4][iETA1];
2527 
2528  par2[0] = A_mu34[0][iETA1];
2529  par2[1] = A_mu34[1][iETA1];
2530  par2[2] = A_mu34[2][iETA1];
2531  par2[3] = A_mu34[3][iETA1];
2532  par_sig2[0] = A_sig34[0][iETA1];
2533  par_sig2[1] = A_sig34[1][iETA1];
2534  par_sig2[2] = A_sig34[2][iETA1];
2535  break;
2536  case 11 : // b1-1-3
2537  if(iETA1 != 2)iETA1 = 2;
2538  par1[0] = A_mu51[0][iETA1];
2539  par1[1] = A_mu51[1][iETA1];
2540  par1[2] = A_mu51[2][iETA1];
2541  par1[3] = A_mu51[3][iETA1];
2542  par_sig1[0] = A_sig51[0][iETA1];
2543  par_sig1[1] = A_sig51[1][iETA1];
2544  par_sig1[2] = A_sig51[2][iETA1];
2545  par_rho[0] = A_rho513[0][iETA1];
2546  par_rho[1] = A_rho513[0][iETA1];
2547  par_rho[2] = A_rho513[0][iETA1];
2548  par_rho[3] = A_rho513[0][iETA1];
2549  par_rho[4] = A_rho513[0][iETA1];
2550 
2551  par2[0] = A_mu13Rare[0][iETA1];
2552  par2[1] = A_mu13Rare[1][iETA1];
2553  par2[2] = A_mu13Rare[2][iETA1];
2554  par2[3] = A_mu13Rare[3][iETA1];
2555  par_sig2[0] = A_sig13Rare[0][iETA1];
2556  par_sig2[1] = A_sig13Rare[1][iETA1];
2557  par_sig2[2] = A_sig13Rare[2][iETA1];
2558  break;
2559  case 12 : // b1-2-3
2560  if(iETA1 != 2)iETA1 = 2;
2561  par1[0] = A_mu52[0][iETA1];
2562  par1[1] = A_mu52[1][iETA1];
2563  par1[2] = A_mu52[2][iETA1];
2564  par1[3] = A_mu52[3][iETA1];
2565  par_sig1[0] = A_sig52[0][iETA1];
2566  par_sig1[1] = A_sig52[1][iETA1];
2567  par_sig1[2] = A_sig52[2][iETA1];
2568  par_rho[0] = A_rho523[0][iETA1];
2569  par_rho[1] = A_rho523[0][iETA1];
2570  par_rho[2] = A_rho523[0][iETA1];
2571  par_rho[3] = A_rho523[0][iETA1];
2572  par_rho[4] = A_rho523[0][iETA1];
2573 
2574  par2[0] = A_mu23[0][iETA1];
2575  par2[1] = A_mu23[1][iETA1];
2576  par2[2] = A_mu23[2][iETA1];
2577  par2[3] = A_mu23[3][iETA1];
2578  par_sig2[0] = A_sig23[0][iETA1];
2579  par_sig2[1] = A_sig23[1][iETA1];
2580  par_sig2[2] = A_sig23[2][iETA1];
2581  break;
2582  case 14 : // b1-1-2-(3)
2583  if(iETA1 < 1)iETA1 = 1;
2584  if(iETA1 > 2)iETA1 = 2;
2585  par1[0] = A_mu51[0][iETA1];
2586  par1[1] = A_mu51[1][iETA1];
2587  par1[2] = A_mu51[2][iETA1];
2588  par1[3] = A_mu51[3][iETA1];
2589  par_sig1[0] = A_sig51[0][iETA1];
2590  par_sig1[1] = A_sig51[1][iETA1];
2591  par_sig1[2] = A_sig51[2][iETA1];
2592  par_rho[0] = A_rho512[0][iETA1];
2593  par_rho[1] = A_rho512[0][iETA1];
2594  par_rho[2] = A_rho512[0][iETA1];
2595  par_rho[3] = A_rho512[0][iETA1];
2596  par_rho[4] = A_rho512[0][iETA1];
2597 
2598  par2[0] = A_mu12Rare[0][iETA1];
2599  par2[1] = A_mu12Rare[1][iETA1];
2600  par2[2] = A_mu12Rare[2][iETA1];
2601  par2[3] = A_mu12Rare[3][iETA1];
2602  par_sig2[0] = A_sig12Rare[0][iETA1];
2603  par_sig2[1] = A_sig12Rare[1][iETA1];
2604  par_sig2[2] = A_sig12Rare[2][iETA1];
2605  break;
2606  //default:
2607  //return 0.0;
2608  }
2609 
2610  // Switch to 2-Station measurement if dphi is too small
2611  // box cut around Pt of 10 GeV
2612  if ( fabs(static_cast<double>(dphi2))<0.004 )
2613  {
2614  if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2
2615  if(type == 4) type = 7; // 1-3-4 -> 1-3
2616  if(type == 5) type = 8; // 2-3-4 -> 2-3
2617  if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10
2618  Pt = Pt2Stn2010(type, eta, dphi1, fr, method);
2619  }
2620  else
2621  {
2622 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
2623  double pt = 140;
2624  double dpt = 0.1;
2625  double step = 5.;
2626  while(pt > 2. ){
2627  double par_phi12[1] = {dphi1};
2628  double par_phi23[1] = {dphi2};
2629  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
2630  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
2631  v[0] = pt;
2632  lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2633  v[0] = pt + dpt;
2634  lpt1_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2635  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
2636  v[0] = pt - step;
2637  lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2638  v[0] = pt - step + dpt;
2639  lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2640  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
2641  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
2642  v[0] = pt - 0.5*step;
2643  double fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2644  v[0] = pt - 0.5*step + dpt;
2645  double fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2646  v[0] = pt - 0.5*step + 2*dpt;
2647  double fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2648 
2649  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
2650 
2651  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
2652 /*
2653  if(pt == 140.){
2654  v[0] = 200.;
2655  lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2656  v[0] = 200.+ 5.;
2657  lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2658  lpt2 = (lpt2_2-lpt2_1)/5.;
2659  v[0] = 170.;
2660  fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2661  v[0] = 170.+5.;
2662  fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2663  v[0] = 170.+2*5.;
2664  fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2665  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
2666  }
2667 
2668  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolv = 137.5; break;}
2669 */
2670  //double rho = fitfrho(v, par_rho); //rho
2671  if(pt > 25) {dpt = 0.1; step = 5.;}
2672  if(pt <= 25) {dpt = 0.01; step = 0.5;}
2673  pt = pt - step;
2674  }// end while
2675 //*********** end solve equation for muon plus
2676 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
2677 // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0
2678  dphi1 = - dphi1;
2679  dphi2 = - dphi2;
2680  pt = 140;
2681  dpt = 0.1;
2682  step = 5.;
2683  while(pt > 2. ){
2684  double par_phi12[1] = {dphi1};
2685  double par_phi23[1] = {dphi2};
2686  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
2687  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
2688  v[0] = pt;
2689  lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2690  v[0] = pt + dpt;
2691  lpt1_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2692  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
2693  v[0] = pt - step;
2694  lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2695  v[0] = pt - step + dpt;
2696  lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2697  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
2698  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
2699  v[0] = pt - 0.5*step;
2700  double fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2701  v[0] = pt - 0.5*step + dpt;
2702  double fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2703  v[0] = pt - 0.5*step + 2*dpt;
2704  double fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2705 
2706  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
2707 
2708  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
2709  //if(iETA == 3 && v[0] < 4 && v[0] > 3) cout << "m12 = " << fitf5(v, par1) << " sig12 = " << fitf2(v, par_sig1) << endl;
2711 /*
2712  if(pt == 140.){
2713  v[0] = 200.;
2714  lpt2_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2715  v[0] = 200.+ 5.;
2716  lpt2_2 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2717  lpt2 = (lpt2_2-lpt2_1)/5.;
2718  v[0] = 170.;
2719  fx = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2720  v[0] = 170.+5.;
2721  fxh = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2722  v[0] = 170.+2*5.;
2723  fx2h = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
2724  lpt2nd = -(fx2h + fx - 2*fxh)/5./5.;
2725  }
2726  if(pt == 140. && lpt1*lpt2 <= 0 && lpt2nd > 0){PTsolvMinus = 137.5; break;}
2727 */
2728  //double rho = fitfrho(v, par_rho); //rho
2729  if(pt > 25) {dpt = 0.1; step = 5.;}
2730  if(pt <= 25) {dpt = 0.01; step = 0.5;}
2731  pt = pt - step;
2732  }// end while
2733 //*********** end solve equation for muon minus
2734  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
2735  PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts
2736  if(PTsolv > 137.5) PTsolv = 137.5;
2737  //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;}
2738  dphi1 = - dphi1; //return to correct sing dphi
2739  dphi2 = - dphi2; //return to correct sing dphi
2740  Pt = PTsolv;
2741  } // end 2 or 3 station method
2742  }}
2743  // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl;
2744 
2745  float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
2746  if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
2747 
2748  return (Pt > Pt_min) ? Pt : Pt_min;
2749 }
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]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
float Pt2Stn2010(int type, float eta, float dphi, int fr=-1, int method=11) const
T eta() 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]
static const double A_sig13Front[3][15]
static const double A_mu51[4][15]
static const double A_rho123FrontCSCTF[5][15]
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 2750 of file CSCTFPtMethods.cc.

References AB_mu12F, AB_mu12R, AB_mu13F, AB_mu13R, AB_mu23, AB_mu24, AB_mu34, AB_mu5, AB_mu51, AB_mu52, AB_mu53, AB_rho123F, AB_rho123R, AB_rho124F, AB_rho124R, AB_rho134F, AB_rho134R, AB_rho234, AB_rho512, AB_rho513, AB_rho51B, AB_rho523, AB_rho52B, AB_rho53B, AB_sig12F, AB_sig12R, AB_sig13F, AB_sig13R, AB_sig23, AB_sig24, AB_sig34, AB_sig5, AB_sig51, AB_sig52, AB_sig53, etabins, Likelihood2011(), RecoTauCleanerPlugins::pt, reco::tau::disc::Pt(), Pt2Stn2011(), relval_parameters_module::step, and findQualityFiles::v.

Referenced by CSCTFPtLUT::calcPt().

2751 {
2752 
2753  //if(fabs(eta) >= 2.4)eta = 2.35;
2754  if(fabs(eta) >= 2.2) eta = 2.15;
2755  float Pt = 0.;
2756  double PTsolv = 1.; // for muon plus hypothesis
2757  double PTsolvMinus = 1.;//for muon minus hypothesis
2758  for(int iETA = 0; iETA < 15; iETA++){
2759  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
2760 
2761 // calculate curvers of mean and sigma
2762  // calculate phi12 mean
2763  double par1[4] = {0., 0., 0., 0.};
2764  //double phi12mean = fitf5(v, par1); //mu12
2765  double par_sig1[4] = {0., 0., 0., 0};
2766  // calculate phi23 mean
2767  double par2[4] = {0., 0., 0., 0.};
2768  // calculate phi23 sig
2769  double par_sig2[4] = {0., 0., 0., 0.};
2770  // calculate correlation rho
2771  double par_rho[5] = {0., 0., 0., 0., 0.};
2772  int iETA1 = iETA;
2773  int iETA2 = iETA;
2774 
2775 // defind which parameters will be use
2776  const double (*Amean12F)[15] = AB_mu12F;
2777  const double (*Asig12F)[15] = AB_sig12F;
2778  const double (*Amean12R)[15] = AB_mu12R;
2779  const double (*Asig12R)[15] = AB_sig12R;
2780 
2781  const double (*Amean13F)[15] = AB_mu13F;
2782  const double (*Asig13F)[15] = AB_sig13F;
2783  const double (*Amean13R)[15] = AB_mu13R;
2784  const double (*Asig13R)[15] = AB_sig13R;
2785 
2786  //const double (*Amean14F)[15] = AB_mu14F;
2787  //const double (*Asig14F)[15] = AB_sig14F;
2788  //const double (*Amean14R)[15] = AB_mu14R;
2789  //const double (*Asig14R)[15] = AB_sig14R;
2790 
2791  const double (*Amean23)[15] = AB_mu23;
2792  const double (*Asig23)[15] = AB_sig23;
2793  const double (*Amean24)[15] = AB_mu24;
2794  const double (*Asig24)[15] = AB_sig24;
2795  const double (*Amean34)[15] = AB_mu34;
2796  const double (*Asig34)[15] = AB_sig34;
2797 
2798  const double (*Amean5)[15] = AB_mu5;
2799  const double (*Asig5)[15] = AB_sig5;
2800  const double (*Amean51)[15] = AB_mu51;
2801  const double (*Asig51)[15] = AB_sig51;
2802  const double (*Amean52)[15] = AB_mu52;
2803  const double (*Asig52)[15] = AB_sig52;
2804  const double (*Amean53)[15] = AB_mu53;
2805  const double (*Asig53)[15] = AB_sig53;
2806 
2807  const double (*Arho123F)[15] = AB_rho123F;
2808  const double (*Arho123R)[15] = AB_rho123R;
2809  const double (*Arho124F)[15] = AB_rho124F;
2810  const double (*Arho124R)[15] = AB_rho124R;
2811  const double (*Arho134F)[15] = AB_rho134F;
2812  const double (*Arho134R)[15] = AB_rho134R;
2813  const double (*Arho234)[15] = AB_rho234;
2814 
2815  const double (*Arho51B)[15] = AB_rho51B;
2816  const double (*Arho52B)[15] = AB_rho52B;
2817  const double (*Arho53B)[15] = AB_rho53B;
2818  const double (*Arho512)[15] = AB_rho512;
2819  const double (*Arho513)[15] = AB_rho513;
2820  const double (*Arho523)[15] = AB_rho523;
2821 
2822  //cout << "iETA = " << iETA
2823  // << " AB_mu51[0][iETA] = " << AB_mu51[0][iETA] << " pointer = " << (*(Amean51+0))[iETA]
2824  // << " AB_mu51[3][iETA] = " << AB_mu51[3][iETA] << " pointer = " << (*(Amean51+3))[iETA]
2825  // << endl;
2826 
2827  switch (type) // type = mode here
2828  {
2829  case 2 : //1-2-3
2830  if(iETA < 2)iETA2 = 2;
2831  if(fr == 1){
2832  if(iETA < 3)iETA1 = 3;
2833  par1[0] = (*(Amean12F+0))[iETA1];
2834  par1[1] = (*(Amean12F+1))[iETA1];
2835  par1[2] = (*(Amean12F+2))[iETA1];
2836  par1[3] = (*(Amean12F+3))[iETA1];
2837  par_sig1[0] = (*(Asig12F+0))[iETA1];
2838  par_sig1[1] = (*(Asig12F+1))[iETA1];
2839  par_sig1[2] = (*(Asig12F+2))[iETA1];
2840  par_sig1[3] = (*(Asig12F+3))[iETA1];
2841  par_rho[0] = (*(Arho123F+0))[iETA2];
2842  par_rho[1] = (*(Arho123F+1))[iETA2];
2843  par_rho[2] = (*(Arho123F+2))[iETA2];
2844  par_rho[3] = (*(Arho123F+3))[iETA2];
2845  par_rho[4] = (*(Arho123F+4))[iETA2];
2846 
2847  }
2848  if(fr == 0){
2849  if(iETA < 1)iETA1 = 1;
2850  par1[0] = (*(Amean12R+0))[iETA1];
2851  par1[1] = (*(Amean12R+1))[iETA1];
2852  par1[2] = (*(Amean12R+2))[iETA1];
2853  par1[3] = (*(Amean12R+3))[iETA1];
2854  par_sig1[0] = (*(Asig12R+0))[iETA1];
2855  par_sig1[1] = (*(Asig12R+1))[iETA1];
2856  par_sig1[2] = (*(Asig12R+2))[iETA1];
2857  par_sig1[3] = (*(Asig12R+3))[iETA1];
2858  par_rho[0] = (*(Arho123R+0))[iETA2];
2859  par_rho[1] = (*(Arho123R+1))[iETA2];
2860  par_rho[2] = (*(Arho123R+2))[iETA2];
2861  par_rho[3] = (*(Arho123R+3))[iETA2];
2862  par_rho[4] = (*(Arho123R+4))[iETA2];
2863  }
2864  par2[0] = (*(Amean23+0))[iETA2];
2865  par2[1] = (*(Amean23+1))[iETA2];
2866  par2[2] = (*(Amean23+2))[iETA2];
2867  par2[3] = (*(Amean23+3))[iETA2];
2868  par_sig2[0] = (*(Asig23+0))[iETA2];
2869  par_sig2[1] = (*(Asig23+1))[iETA2];
2870  par_sig2[2] = (*(Asig23+2))[iETA2];
2871  par_sig2[3] = (*(Asig23+3))[iETA2];
2872 
2873  break;
2874  case 3 : //1-2-4
2875  if(iETA < 3)iETA2 = 3;
2876  if(fr == 1){
2877  if(iETA < 3)iETA1 = 3;
2878  par1[0] = (*(Amean12F+0))[iETA1];
2879  par1[1] = (*(Amean12F+1))[iETA1];
2880  par1[2] = (*(Amean12F+2))[iETA1];
2881  par1[3] = (*(Amean12F+3))[iETA1];
2882  par_sig1[0] = (*(Asig12F+0))[iETA1];
2883  par_sig1[1] = (*(Asig12F+1))[iETA1];
2884  par_sig1[2] = (*(Asig12F+2))[iETA1];
2885  par_sig1[3] = (*(Asig12F+3))[iETA1];
2886  par_rho[0] = (*(Arho124F+0))[iETA2];
2887  par_rho[1] = (*(Arho124F+1))[iETA2];
2888  par_rho[2] = (*(Arho124F+2))[iETA2];
2889  par_rho[3] = (*(Arho124F+3))[iETA2];
2890  par_rho[4] = (*(Arho124F+4))[iETA2];
2891 
2892  }
2893  if(fr == 0){
2894  if(iETA < 1)iETA1 = 1;
2895  par1[0] = (*(Amean12R+0))[iETA1];
2896  par1[1] = (*(Amean12R+1))[iETA1];
2897  par1[2] = (*(Amean12R+2))[iETA1];
2898  par1[3] = (*(Amean12R+3))[iETA1];
2899  par_sig1[0] = (*(Asig12R+0))[iETA1];
2900  par_sig1[1] = (*(Asig12R+1))[iETA1];
2901  par_sig1[2] = (*(Asig12R+2))[iETA1];
2902  par_sig1[3] = (*(Asig12R+3))[iETA1];
2903  par_rho[0] = (*(Arho124R+0))[iETA2];
2904  par_rho[1] = (*(Arho124R+1))[iETA2];
2905  par_rho[2] = (*(Arho124R+2))[iETA2];
2906  par_rho[3] = (*(Arho124R+3))[iETA2];
2907  par_rho[4] = (*(Arho124R+4))[iETA2];
2908  }
2909  par2[0] = (*(Amean24+0))[iETA2];
2910  par2[1] = (*(Amean24+1))[iETA2];
2911  par2[2] = (*(Amean24+2))[iETA2];
2912  par2[3] = (*(Amean24+3))[iETA2];
2913  par_sig2[0] = (*(Asig24+0))[iETA2];
2914  par_sig2[1] = (*(Asig24+1))[iETA2];
2915  par_sig2[2] = (*(Asig24+2))[iETA2];
2916  par_sig2[3] = (*(Asig24+3))[iETA2];
2917  break;
2918  case 4 : //1-3-4
2919  if(iETA < 3)iETA2 = 3;
2920  if(fr == 1){
2921  if(iETA < 3)iETA1 = 3;
2922  par1[0] = (*(Amean13F+0))[iETA1];
2923  par1[1] = (*(Amean13F+1))[iETA1];
2924  par1[2] = (*(Amean13F+2))[iETA1];
2925  par1[3] = (*(Amean13F+3))[iETA1];
2926  par_sig1[0] = (*(Asig13F+0))[iETA1];
2927  par_sig1[1] = (*(Asig13F+1))[iETA1];
2928  par_sig1[2] = (*(Asig13F+2))[iETA1];
2929  par_sig1[3] = (*(Asig13F+3))[iETA1];
2930  par_rho[0] = (*(Arho134F+0))[iETA2];
2931  par_rho[1] = (*(Arho134F+1))[iETA2];
2932  par_rho[2] = (*(Arho134F+2))[iETA2];
2933  par_rho[3] = (*(Arho134F+3))[iETA2];
2934  par_rho[4] = (*(Arho134F+4))[iETA2];
2935 
2936  }
2937  if(fr == 0){
2938  if(iETA < 3)iETA1 = 3;
2939  par1[0] = (*(Amean13R+0))[iETA1];
2940  par1[1] = (*(Amean13R+1))[iETA1];
2941  par1[2] = (*(Amean13R+2))[iETA1];
2942  par1[3] = (*(Amean13R+3))[iETA1];
2943  par_sig1[0] = (*(Asig13R+0))[iETA1];
2944  par_sig1[1] = (*(Asig13R+1))[iETA1];
2945  par_sig1[2] = (*(Asig13R+2))[iETA1];
2946  par_sig1[3] = (*(Asig13R+3))[iETA1];
2947  par_rho[0] = (*(Arho134R+0))[iETA2];
2948  par_rho[1] = (*(Arho134R+1))[iETA2];
2949  par_rho[2] = (*(Arho134R+2))[iETA2];
2950  par_rho[3] = (*(Arho134R+3))[iETA2];
2951  par_rho[4] = (*(Arho134R+4))[iETA2];
2952  }
2953  par2[0] = (*(Amean34+0))[iETA2];
2954  par2[1] = (*(Amean34+1))[iETA2];
2955  par2[2] = (*(Amean34+2))[iETA2];
2956  par2[3] = (*(Amean34+3))[iETA2];
2957  par_sig2[0] = (*(Asig34+0))[iETA2];
2958  par_sig2[1] = (*(Asig34+1))[iETA2];
2959  par_sig2[2] = (*(Asig34+2))[iETA2];
2960  par_sig2[3] = (*(Asig34+3))[iETA2];
2961  break;
2962  case 5 ://2-3-4
2963  if(iETA < 2)iETA1 = 2;
2964  if(iETA < 3)iETA2 = 3;
2965  par1[0] = (*(Amean23+0))[iETA1];
2966  par1[1] = (*(Amean23+1))[iETA1];
2967  par1[2] = (*(Amean23+2))[iETA1];
2968  par1[3] = (*(Amean23+3))[iETA1];
2969  par_sig1[0] = (*(Asig23+0))[iETA1];
2970  par_sig1[1] = (*(Asig23+1))[iETA1];
2971  par_sig1[2] = (*(Asig23+2))[iETA1];
2972  par_sig1[3] = (*(Asig23+3))[iETA1];
2973  par_rho[0] = (*(Arho234+0))[iETA2];
2974  par_rho[1] = (*(Arho234+1))[iETA2];
2975  par_rho[2] = (*(Arho234+2))[iETA2];
2976  par_rho[3] = (*(Arho234+3))[iETA2];
2977  par_rho[4] = (*(Arho234+4))[iETA2];
2978 
2979  par2[0] = (*(Amean34+0))[iETA2];
2980  par2[1] = (*(Amean34+1))[iETA2];
2981  par2[2] = (*(Amean34+2))[iETA2];
2982  par2[3] = (*(Amean34+3))[iETA2];
2983  par_sig2[0] = (*(Asig34+0))[iETA2];
2984  par_sig2[1] = (*(Asig34+1))[iETA2];
2985  par_sig2[2] = (*(Asig34+2))[iETA2];
2986  par_sig2[3] = (*(Asig34+3))[iETA2];
2987  break;
2988  case 11 : // singles for method < 10, for method > 10: fr = 1 -> b1-1-3, fr = 0 -> b1-3-phiBend
2989  if(iETA != 2)iETA1 = 2;
2990  par1[0] = (*(Amean53+0))[iETA1];
2991  par1[1] = (*(Amean53+1))[iETA1];
2992  par1[2] = (*(Amean53+2))[iETA1];
2993  par1[3] = (*(Amean53+3))[iETA1];
2994  par_sig1[0] = (*(Asig53+0))[iETA1];
2995  par_sig1[1] = (*(Asig53+1))[iETA1];
2996  par_sig1[2] = (*(Asig53+2))[iETA1];
2997  par_sig1[3] = (*(Asig53+3))[iETA1];
2998  par_rho[0] = (*(Arho53B+0))[iETA1];
2999  par_rho[1] = (*(Arho53B+1))[iETA1];
3000  par_rho[2] = (*(Arho53B+2))[iETA1];
3001  par_rho[3] = (*(Arho53B+3))[iETA1];
3002  par_rho[4] = (*(Arho53B+4))[iETA1];
3003 
3004  par2[0] = (*(Amean5+0))[iETA1];
3005  par2[1] = (*(Amean5+1))[iETA1];
3006  par2[2] = (*(Amean5+2))[iETA1];
3007  par2[3] = (*(Amean5+3))[iETA1];
3008  par_sig2[0] = (*(Asig5+0))[iETA1];
3009  par_sig2[1] = (*(Asig5+1))[iETA1];
3010  par_sig2[2] = (*(Asig5+2))[iETA1];
3011  par_sig2[3] = (*(Asig5+3))[iETA1];
3012 
3013  if(fr == 1){
3014  par1[0] = (*(Amean51+0))[iETA1];
3015  par1[1] = (*(Amean51+1))[iETA1];
3016  par1[2] = (*(Amean51+2))[iETA1];
3017  par1[3] = (*(Amean51+3))[iETA1];
3018  par_sig1[0] = (*(Asig51+0))[iETA1];
3019  par_sig1[1] = (*(Asig51+1))[iETA1];
3020  par_sig1[2] = (*(Asig51+2))[iETA1];
3021  par_sig1[3] = (*(Asig51+3))[iETA1];
3022  par_rho[0] = (*(Arho513+0))[iETA1];
3023  par_rho[1] = (*(Arho513+1))[iETA1];
3024  par_rho[2] = (*(Arho513+2))[iETA1];
3025  par_rho[3] = (*(Arho513+3))[iETA1];
3026  par_rho[4] = (*(Arho513+4))[iETA1];
3027 
3028  par2[0] = (*(Amean13R+0))[iETA1];
3029  par2[1] = (*(Amean13R+1))[iETA1];
3030  par2[2] = (*(Amean13R+2))[iETA1];
3031  par2[3] = (*(Amean13R+3))[iETA1];
3032  par_sig2[0] = (*(Asig13R+0))[iETA1];
3033  par_sig2[1] = (*(Asig13R+1))[iETA1];
3034  par_sig2[2] = (*(Asig13R+2))[iETA1];
3035  par_sig2[3] = (*(Asig13R+3))[iETA1];
3036  }
3037  break;
3038  case 12 : // b1-1-2 for method < 10; for method > 10: fr = 1 -> b1-2-3, fr = 0 -> b1-2-phiBend
3039  if(iETA < 1)iETA1 = 1;
3040  if(iETA > 2)iETA1 = 2;
3041  par1[0] = (*(Amean52+0))[iETA1];
3042  par1[1] = (*(Amean52+1))[iETA1];
3043  par1[2] = (*(Amean52+2))[iETA1];
3044  par1[3] = (*(Amean52+3))[iETA1];
3045  par_sig1[0] = (*(Asig52+0))[iETA1];
3046  par_sig1[1] = (*(Asig52+1))[iETA1];
3047  par_sig1[2] = (*(Asig52+2))[iETA1];
3048  par_sig1[3] = (*(Asig52+3))[iETA1];
3049  par_rho[0] = (*(Arho52B+0))[iETA1];
3050  par_rho[1] = (*(Arho52B+1))[iETA1];
3051  par_rho[2] = (*(Arho52B+2))[iETA1];
3052  par_rho[3] = (*(Arho52B+3))[iETA1];
3053  par_rho[4] = (*(Arho52B+4))[iETA1];
3054 
3055  par2[0] = (*(Amean5+0))[iETA1];
3056  par2[1] = (*(Amean5+1))[iETA1];
3057  par2[2] = (*(Amean5+2))[iETA1];
3058  par2[3] = (*(Amean5+3))[iETA1];
3059  par_sig2[0] = (*(Asig5+0))[iETA1];
3060  par_sig2[1] = (*(Asig5+1))[iETA1];
3061  par_sig2[2] = (*(Asig5+2))[iETA1];
3062  par_sig2[3] = (*(Asig5+3))[iETA1];
3063 
3064  if(fr == 1){
3065  if(iETA != 2)iETA1 = 2;
3066  par1[0] = (*(Amean52+0))[iETA1];
3067  par1[1] = (*(Amean52+1))[iETA1];
3068  par1[2] = (*(Amean52+2))[iETA1];
3069  par1[3] = (*(Amean52+3))[iETA1];
3070  par_sig1[0] = (*(Asig52+0))[iETA1];
3071  par_sig1[1] = (*(Asig52+1))[iETA1];
3072  par_sig1[2] = (*(Asig52+2))[iETA1];
3073  par_sig1[3] = (*(Asig52+3))[iETA1];
3074  par_rho[0] = (*(Arho523+0))[iETA1];
3075  par_rho[1] = (*(Arho523+1))[iETA1];
3076  par_rho[2] = (*(Arho523+2))[iETA1];
3077  par_rho[3] = (*(Arho523+3))[iETA1];
3078  par_rho[4] = (*(Arho523+4))[iETA1];
3079 
3080  par2[0] = (*(Amean23+0))[iETA1];
3081  par2[1] = (*(Amean23+1))[iETA1];
3082  par2[2] = (*(Amean23+2))[iETA1];
3083  par2[3] = (*(Amean23+3))[iETA1];
3084  par_sig2[0] = (*(Asig23+0))[iETA1];
3085  par_sig2[1] = (*(Asig23+1))[iETA1];
3086  par_sig2[2] = (*(Asig23+2))[iETA1];
3087  par_sig2[3] = (*(Asig23+3))[iETA1];
3088  }
3089  break;
3090  case 14 : // b1-2 for method < 10; for method > 10: fr = 1 -> b1-1-2-(3), fr = 0 -> b1-1-phiBend
3091  if(iETA > 2)iETA1 = 2;
3092  par1[0] = (*(Amean51+0))[iETA1];
3093  par1[1] = (*(Amean51+1))[iETA1];
3094  par1[2] = (*(Amean51+2))[iETA1];
3095  par1[3] = (*(Amean51+3))[iETA1];
3096  par_sig1[0] = (*(Asig51+0))[iETA1];
3097  par_sig1[1] = (*(Asig51+1))[iETA1];
3098  par_sig1[2] = (*(Asig51+2))[iETA1];
3099  par_sig1[3] = (*(Asig51+3))[iETA1];
3100  par_rho[0] = (*(Arho51B+0))[iETA1];
3101  par_rho[1] = (*(Arho51B+1))[iETA1];
3102  par_rho[2] = (*(Arho51B+2))[iETA1];
3103  par_rho[3] = (*(Arho51B+3))[iETA1];
3104  par_rho[4] = (*(Arho51B+4))[iETA1];
3105 
3106  par2[0] = (*(Amean5+0))[iETA1];
3107  par2[1] = (*(Amean5+1))[iETA1];
3108  par2[2] = (*(Amean5+2))[iETA1];
3109  par2[3] = (*(Amean5+3))[iETA1];
3110  par_sig2[0] = (*(Asig5+0))[iETA1];
3111  par_sig2[1] = (*(Asig5+1))[iETA1];
3112  par_sig2[2] = (*(Asig5+2))[iETA1];
3113  par_sig2[3] = (*(Asig5+3))[iETA1];
3114 
3115  if(fr == 1){
3116  if(iETA < 1)iETA1 = 1;
3117  if(iETA > 2)iETA1 = 2;
3118  par1[0] = (*(Amean51+0))[iETA1];
3119  par1[1] = (*(Amean51+1))[iETA1];
3120  par1[2] = (*(Amean51+2))[iETA1];
3121  par1[3] = (*(Amean51+3))[iETA1];
3122  par_sig1[0] = (*(Asig51+0))[iETA1];
3123  par_sig1[1] = (*(Asig51+1))[iETA1];
3124  par_sig1[2] = (*(Asig51+2))[iETA1];
3125  par_sig1[3] = (*(Asig51+3))[iETA1];
3126  par_rho[0] = (*(Arho512+0))[iETA1];
3127  par_rho[1] = (*(Arho512+1))[iETA1];
3128  par_rho[2] = (*(Arho512+2))[iETA1];
3129  par_rho[3] = (*(Arho512+3))[iETA1];
3130  par_rho[4] = (*(Arho512+4))[iETA1];
3131 
3132  par2[0] = (*(Amean12R+0))[iETA1];
3133  par2[1] = (*(Amean12R+1))[iETA1];
3134  par2[2] = (*(Amean12R+2))[iETA1];
3135  par2[3] = (*(Amean12R+3))[iETA1];
3136  par_sig2[0] = (*(Asig12R+0))[iETA1];
3137  par_sig2[1] = (*(Asig12R+1))[iETA1];
3138  par_sig2[2] = (*(Asig12R+2))[iETA1];
3139  par_sig2[3] = (*(Asig12R+3))[iETA1];
3140  }
3141  break;
3142  //default:
3143  //return 0.0;
3144  }
3145 
3146  // Switch to 2-Station measurement if dphi is too small
3147  // box cut around Pt of 10 GeV
3148  if ( (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && method < 25)||
3149  (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && type != 14 && type != 11 && method >= 25) )
3150  {
3151  //if(type == 12 || type == 14 || type == 11) std::cout << "mode = " << type << " dphi23 = " << dphi2 << " method = " << method << std::endl; //test
3152  if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2
3153  if(type == 4) type = 7; // 1-3-4 -> 1-3
3154  if(type == 5) type = 8; // 2-3-4 -> 2-3
3155  if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10
3156  //if(type == 14) type = 11;
3157  //phiSign
3158  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
3159  }
3160  else
3161  {
3162 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
3163  double pt = 140;
3164  double dpt = 0.1;
3165  double step = 5.;
3166  while(pt > 2. ){
3167  double par_phi12[1] = {dphi1};
3168  double par_phi23[1] = {dphi2};
3169  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
3170  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
3171  v[0] = pt;
3172  lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3173  v[0] = pt + dpt;
3174  lpt1_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3175  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
3176  v[0] = pt - step;
3177  lpt2_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3178  v[0] = pt - step + dpt;
3179  lpt2_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3180  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
3181  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
3182  v[0] = pt - 0.5*step;
3183  double fx = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3184  v[0] = pt - 0.5*step + dpt;
3185  double fxh = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3186  v[0] = pt - 0.5*step + 2*dpt;
3187  double fx2h = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3188 
3189  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
3190 
3191  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
3192  //double rho = fitfrho(v, par_rho); //rho
3193  if(pt > 25) {dpt = 0.1; step = 5.;}
3194  if(pt <= 25) {dpt = 0.01; step = 0.5;}
3195  pt = pt - step;
3196  }// end while
3197 //*********** end solve equation for muon plus
3198 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
3199 // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0
3200  dphi1 = - dphi1;
3201  dphi2 = - dphi2;
3202  pt = 140;
3203  dpt = 0.1;
3204  step = 5.;
3205  while(pt > 2. ){
3206  double par_phi12[1] = {dphi1};
3207  double par_phi23[1] = {dphi2};
3208  double v[1], lpt1_1, lpt1_2, lpt2_1, lpt2_2;
3209  v[0] = 0; lpt1_1 = 1.; lpt1_2 = 2.; lpt2_1 = 1.; lpt2_2 = 2.;
3210  v[0] = pt;
3211  lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3212  v[0] = pt + dpt;
3213  lpt1_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3214  double lpt1 = (lpt1_2-lpt1_1)/dpt; // derivative at point pt1 = pt
3215  v[0] = pt - step;
3216  lpt2_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3217  v[0] = pt - step + dpt;
3218  lpt2_2 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3219  double lpt2 = (lpt2_2-lpt2_1)/dpt; // derivative at point pt1 = pt - step
3220  // calculate 2nd derivative at point pt-0.5*step, it should be > 0 if minimum
3221  v[0] = pt - 0.5*step;
3222  double fx = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3223  v[0] = pt - 0.5*step + dpt;
3224  double fxh = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3225  v[0] = pt - 0.5*step + 2*dpt;
3226  double fx2h = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3227 
3228  double lpt2nd = -(fx2h + fx - 2*fxh)/dpt/dpt;
3229 
3230  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
3231  //double rho = fitfrho(v, par_rho); //rho
3232  if(pt > 25) {dpt = 0.1; step = 5.;}
3233  if(pt <= 25) {dpt = 0.01; step = 0.5;}
3234  pt = pt - step;
3235  }// end while
3236 //*********** end solve equation for muon minus
3237  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
3238  PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts
3239  if(PTsolv > 137.5) PTsolv = 137.5;
3240  //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;}
3241  dphi1 = - dphi1; //return to correct sing dphi
3242  dphi2 = - dphi2; //return to correct sing dphi
3243  Pt = PTsolv;
3244  } // end 2 or 3 station method
3245  }}
3246  // fix overlap region high pt:
3247  if(method >= 25 && (type == 12 || type == 14 || type == 11) && fabs(dphi1)<0.003 && fabs(dphi2) <2) Pt = 140.;
3248  // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl;
3249 
3250  //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
3251  //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
3252  float Pt_min = 2;// 2 GeV
3253 
3254  return (Pt > Pt_min) ? Pt : Pt_min;
3255 }
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]
T eta() const
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]
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 3545 of file CSCTFPtMethods.cc.

References A_mu12Front, A_mu12Rare, A_mu13Front, A_mu13Rare, A_mu23, A_mu24, A_mu34, A_mu51, A_mu52, A_rho123FrontCSCTF, A_rho123RareCSCTF, A_rho124FrontCSCTF, A_rho124RareCSCTF, A_rho134FrontCSCTF, A_rho134RareCSCTF, A_rho234CSCTF, A_rho512, A_rho513, A_rho523, A_sig12Front, A_sig12Rare, A_sig13Front, A_sig13Rare, A_sig23, A_sig24, A_sig34, A_sig51, A_sig52, etabins, L1MuScale::getLowEdge(), L1MuTriggerPtScale::getPtScale(), Likelihood(), RecoTauCleanerPlugins::pt, reco::tau::disc::Pt(), Pt2Stn2012(), relval_parameters_module::step, trigger_scale, and findQualityFiles::v.

Referenced by CSCTFPtLUT::calcPt().

3546 {
3547 
3548  int useBestMLH = PtbyMLH;
3549  int use2Stn = false;
3550  int use2StnDT = true;
3551  if(type == 5) use2Stn = true;//switch 2 station assighment for mode = 5
3552 
3553  if(fabs(eta) >= 2.4)eta = 2.35;
3554  float Pt = 0.;
3555  double PTsolv = 1.; // for muon plus hypothesis
3556  double PTsolvMinus = 1.;//for muon minus hypothesis
3557  for(int iETA = 0; iETA < 15; iETA++){
3558  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
3559 
3560 // calculate curvers of mean and sigma
3561  // calculate phi12 mean
3562  double par1[4] = {0., 0., 0., 0.};
3563  //double phi12mean = fitf5(v, par1); //mu12
3564  double par_sig1[3] = {0., 0., 0.};
3565  // calculate phi23 mean
3566  double par2[4] = {0., 0., 0., 0.};
3567  // calculate phi23 sig
3568  double par_sig2[3] = {0., 0., 0.};
3569  // calculate correlation rho
3570  double par_rho[5] = {0., 0., 0., 0., 0.};
3571  int iETA1 = iETA;
3572  int iETA2 = iETA;
3573  switch (type) // type = mode here
3574  {
3575  case 2 : //1-2-3
3576  if(fr == 1){
3577  if(iETA1 < 3)iETA1 = 3;
3578  if(iETA1 > 11)iETA1 = 11;
3579  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3580  par1[0] = A_mu12Front[0][iETA1];
3581  par1[1] = A_mu12Front[1][iETA1];
3582  par1[2] = A_mu12Front[2][iETA1];
3583  par1[3] = A_mu12Front[3][iETA1];
3584  par_sig1[0] = A_sig12Front[0][iETA1];
3585  par_sig1[1] = A_sig12Front[1][iETA1];
3586  par_sig1[2] = A_sig12Front[2][iETA1];
3587  par_rho[0] = A_rho123FrontCSCTF[0][iETA1];
3588  par_rho[1] = A_rho123FrontCSCTF[1][iETA1];
3589  par_rho[2] = A_rho123FrontCSCTF[2][iETA1];
3590  par_rho[3] = A_rho123FrontCSCTF[3][iETA1];
3591  par_rho[4] = A_rho123FrontCSCTF[4][iETA1];
3592  }
3593  if(fr == 0){
3594  if(iETA1 < 1)iETA1 = 1;
3595  if(iETA1 > 11)iETA1 = 11;
3596  //if(fabs(eta)>1.56 && fabs(eta) < 1.6) iETA1 = iETA +1;
3597  par1[0] = A_mu12Rare[0][iETA1];
3598  par1[1] = A_mu12Rare[1][iETA1];
3599  par1[2] = A_mu12Rare[2][iETA1];
3600  par1[3] = A_mu12Rare[3][iETA1];
3601  par_sig1[0] = A_sig12Rare[0][iETA1];
3602  par_sig1[1] = A_sig12Rare[1][iETA1];
3603  par_sig1[2] = A_sig12Rare[2][iETA1];
3604  par_rho[0] = A_rho123RareCSCTF[0][iETA1];
3605  par_rho[1] = A_rho123RareCSCTF[1][iETA1];
3606  par_rho[2] = A_rho123RareCSCTF[2][iETA1];
3607  par_rho[3] = A_rho123RareCSCTF[3][iETA1];
3608  par_rho[4] = A_rho123RareCSCTF[4][iETA1];
3609  }
3610  if(iETA2 < 2)iETA2 = 2;
3611  par2[0] = A_mu23[0][iETA2];
3612  par2[1] = A_mu23[1][iETA2];
3613  par2[2] = A_mu23[2][iETA2];
3614  par2[3] = A_mu23[3][iETA2];
3615  par_sig2[0] = A_sig23[0][iETA2];
3616  par_sig2[1] = A_sig23[1][iETA2];
3617  par_sig2[2] = A_sig23[2][iETA2];
3618 
3619  break;
3620  case 3 : //1-2-4
3621  if(fr == 1){
3622  if(iETA1 < 3)iETA1 = 3;
3623  if(iETA1 > 11)iETA1 = 11;
3624  par1[0] = A_mu12Front[0][iETA1];
3625  par1[1] = A_mu12Front[1][iETA1];
3626  par1[2] = A_mu12Front[2][iETA1];
3627  par1[3] = A_mu12Front[3][iETA1];
3628  par_sig1[0] = A_sig12Front[0][iETA1];
3629  par_sig1[1] = A_sig12Front[1][iETA1];
3630  par_sig1[2] = A_sig12Front[2][iETA1];
3631  par_rho[0] = A_rho124FrontCSCTF[0][iETA1];
3632  par_rho[1] = A_rho124FrontCSCTF[1][iETA1];
3633  par_rho[2] = A_rho124FrontCSCTF[2][iETA1];
3634  par_rho[3] = A_rho124FrontCSCTF[3][iETA1];
3635  par_rho[4] = A_rho124FrontCSCTF[4][iETA1];
3636  }
3637  if(fr == 0){
3638  if(iETA1 < 1)iETA1 = 1;
3639  if(iETA1 > 11)iETA1 = 11;
3640  par1[0] = A_mu12Rare[0][iETA1];
3641  par1[1] = A_mu12Rare[1][iETA1];
3642  par1[2] = A_mu12Rare[2][iETA1];
3643  par1[3] = A_mu12Rare[3][iETA1];
3644  par_sig1[0] = A_sig12Rare[0][iETA1];
3645  par_sig1[1] = A_sig12Rare[1][iETA1];
3646  par_sig1[2] = A_sig12Rare[2][iETA1];
3647  par_rho[0] = A_rho124RareCSCTF[0][iETA1];
3648  par_rho[1] = A_rho124RareCSCTF[1][iETA1];
3649  par_rho[2] = A_rho124RareCSCTF[2][iETA1];
3650  par_rho[3] = A_rho124RareCSCTF[3][iETA1];
3651  par_rho[4] = A_rho124RareCSCTF[4][iETA1];
3652  }
3653  if(iETA2 < 9)iETA2 = 9;
3654  par2[0] = A_mu24[0][iETA2];
3655  par2[1] = A_mu24[1][iETA2];
3656  par2[2] = A_mu24[2][iETA2];
3657  par2[3] = A_mu24[3][iETA2];
3658  par_sig2[0] = A_sig24[0][iETA2];
3659  par_sig2[1] = A_sig24[1][iETA2];
3660  par_sig2[2] = A_sig24[2][iETA2];
3661  break;
3662  case 4 : //1-3-4
3663  if(fr == 1){
3664  if(iETA1 < 3)iETA1 = 3;
3665  if(iETA1 > 11)iETA1 = 11;
3666  par1[0] = A_mu13Front[0][iETA1];
3667  par1[1] = A_mu13Front[1][iETA1];
3668  par1[2] = A_mu13Front[2][iETA1];
3669  par1[3] = A_mu13Front[3][iETA1];
3670  par_sig1[0] = A_sig13Front[0][iETA1];
3671  par_sig1[1] = A_sig13Front[1][iETA1];
3672  par_sig1[2] = A_sig13Front[2][iETA1];
3673  par_rho[0] = A_rho134FrontCSCTF[0][iETA1];
3674  par_rho[1] = A_rho134FrontCSCTF[1][iETA1];
3675  par_rho[2] = A_rho134FrontCSCTF[2][iETA1];
3676  par_rho[3] = A_rho134FrontCSCTF[3][iETA1];
3677  par_rho[4] = A_rho134FrontCSCTF[4][iETA1];
3678  }
3679  if(fr == 0){
3680  if(iETA1 < 2)iETA1 = 2;
3681  if(iETA1 > 11)iETA1 = 11;
3682  par1[0] = A_mu13Rare[0][iETA1];
3683  par1[1] = A_mu13Rare[1][iETA1];
3684  par1[2] = A_mu13Rare[2][iETA1];
3685  par1[3] = A_mu13Rare[3][iETA1];
3686  par_sig1[0] = A_sig13Rare[0][iETA1];
3687  par_sig1[1] = A_sig13Rare[1][iETA1];
3688  par_sig1[2] = A_sig13Rare[2][iETA1];
3689  par_rho[0] = A_rho134RareCSCTF[0][iETA1];
3690  par_rho[1] = A_rho134RareCSCTF[1][iETA1];
3691  par_rho[2] = A_rho134RareCSCTF[2][iETA1];
3692  par_rho[3] = A_rho134RareCSCTF[3][iETA1];
3693  par_rho[4] = A_rho134RareCSCTF[4][iETA1];
3694  }
3695  if(iETA2 < 9)iETA2 = 9;
3696  par2[0] = A_mu34[0][iETA2];
3697  par2[1] = A_mu34[1][iETA2];
3698  par2[2] = A_mu34[2][iETA2];
3699  par2[3] = A_mu34[3][iETA2];
3700  par_sig2[0] = A_sig34[0][iETA2];
3701  par_sig2[1] = A_sig34[1][iETA2];
3702  par_sig2[2] = A_sig34[2][iETA2];
3703  break;
3704  case 5 ://2-3-4
3705  if(iETA1 < 9)iETA1 = 9;
3706  par1[0] = A_mu23[0][iETA1];
3707  par1[1] = A_mu23[1][iETA1];
3708  par1[2] = A_mu23[2][iETA1];
3709  par1[3] = A_mu23[3][iETA1];
3710  par_sig1[0] = A_sig23[0][iETA1];
3711  par_sig1[1] = A_sig23[1][iETA1];
3712  par_sig1[2] = A_sig23[2][iETA1];
3713  par_rho[0] = A_rho234CSCTF[0][iETA1];
3714  par_rho[1] = A_rho234CSCTF[1][iETA1];
3715  par_rho[2] = A_rho234CSCTF[2][iETA1];
3716  par_rho[3] = A_rho234CSCTF[3][iETA1];
3717  par_rho[4] = A_rho234CSCTF[4][iETA1];
3718 
3719  par2[0] = A_mu34[0][iETA1];
3720  par2[1] = A_mu34[1][iETA1];
3721  par2[2] = A_mu34[2][iETA1];
3722  par2[3] = A_mu34[3][iETA1];
3723  par_sig2[0] = A_sig34[0][iETA1];
3724  par_sig2[1] = A_sig34[1][iETA1];
3725  par_sig2[2] = A_sig34[2][iETA1];
3726  break;
3727  case 11 : // b1-1-3
3728  if(iETA1 != 2)iETA1 = 2;
3729  par1[0] = A_mu51[0][iETA1];
3730  par1[1] = A_mu51[1][iETA1];
3731  par1[2] = A_mu51[2][iETA1];
3732  par1[3] = A_mu51[3][iETA1];
3733  par_sig1[0] = A_sig51[0][iETA1];
3734  par_sig1[1] = A_sig51[1][iETA1];
3735  par_sig1[2] = A_sig51[2][iETA1];
3736  par_rho[0] = A_rho513[0][iETA1];
3737  par_rho[1] = A_rho513[0][iETA1];
3738  par_rho[2] = A_rho513[0][iETA1];
3739  par_rho[3] = A_rho513[0][iETA1];
3740  par_rho[4] = A_rho513[0][iETA1];
3741 
3742  par2[0] = A_mu13Rare[0][iETA1];
3743  par2[1] = A_mu13Rare[1][iETA1];
3744  par2[2] = A_mu13Rare[2][iETA1];
3745  par2[3] = A_mu13Rare[3][iETA1];
3746  par_sig2[0] = A_sig13Rare[0][iETA1];
3747  par_sig2[1] = A_sig13Rare[1][iETA1];
3748  par_sig2[2] = A_sig13Rare[2][iETA1];
3749  break;
3750  case 12 : // b1-2-3
3751  if(iETA1 != 2)iETA1 = 2;
3752  par1[0] = A_mu52[0][iETA1];
3753  par1[1] = A_mu52[1][iETA1];
3754  par1[2] = A_mu52[2][iETA1];
3755  par1[3] = A_mu52[3][iETA1];
3756  par_sig1[0] = A_sig52[0][iETA1];
3757  par_sig1[1] = A_sig52[1][iETA1];
3758  par_sig1[2] = A_sig52[2][iETA1];
3759  par_rho[0] = A_rho523[0][iETA1];
3760  par_rho[1] = A_rho523[0][iETA1];
3761  par_rho[2] = A_rho523[0][iETA1];
3762  par_rho[3] = A_rho523[0][iETA1];
3763  par_rho[4] = A_rho523[0][iETA1];
3764 
3765  par2[0] = A_mu23[0][iETA1];
3766  par2[1] = A_mu23[1][iETA1];
3767  par2[2] = A_mu23[2][iETA1];
3768  par2[3] = A_mu23[3][iETA1];
3769  par_sig2[0] = A_sig23[0][iETA1];
3770  par_sig2[1] = A_sig23[1][iETA1];
3771  par_sig2[2] = A_sig23[2][iETA1];
3772  break;
3773  case 14 : // b1-1-2-(3)
3774  if(iETA1 < 1)iETA1 = 1;
3775  if(iETA1 > 2)iETA1 = 2;
3776  par1[0] = A_mu51[0][iETA1];
3777  par1[1] = A_mu51[1][iETA1];
3778  par1[2] = A_mu51[2][iETA1];
3779  par1[3] = A_mu51[3][iETA1];
3780  par_sig1[0] = A_sig51[0][iETA1];
3781  par_sig1[1] = A_sig51[1][iETA1];
3782  par_sig1[2] = A_sig51[2][iETA1];
3783  par_rho[0] = A_rho512[0][iETA1];
3784  par_rho[1] = A_rho512[0][iETA1];
3785  par_rho[2] = A_rho512[0][iETA1];
3786  par_rho[3] = A_rho512[0][iETA1];
3787  par_rho[4] = A_rho512[0][iETA1];
3788 
3789  par2[0] = A_mu12Rare[0][iETA1];
3790  par2[1] = A_mu12Rare[1][iETA1];
3791  par2[2] = A_mu12Rare[2][iETA1];
3792  par2[3] = A_mu12Rare[3][iETA1];
3793  par_sig2[0] = A_sig12Rare[0][iETA1];
3794  par_sig2[1] = A_sig12Rare[1][iETA1];
3795  par_sig2[2] = A_sig12Rare[2][iETA1];
3796  break;
3797  //default:
3798  //return 0.0;
3799  }
3800 
3801  // Switch to 2-Station measurement if dphi is too small
3802  // box cut around Pt of 10 GeV
3803  if ( fabs(static_cast<double>(dphi2))<0.004 && ((type >= 11 && use2StnDT) || (type>=2 && type<=5 && use2Stn)))
3804  {
3805  if (use2Stn)
3806  {
3807  if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2
3808  if(type == 4) type = 7; // 1-3-4 -> 1-3
3809  Pt = Pt2Stn2012(type, eta, dphi1, useBestMLH, bestLH, fr, method);
3810  }
3811  if (use2StnDT)
3812  {
3813  if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10
3814  Pt = Pt2Stn2012(type, eta, dphi1, useBestMLH, bestLH, fr, method);
3815  }
3816  }
3817  else
3818  {
3819 //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
3820  double muPlusMaxLH = -1e9;
3821  double pt = 140;
3822  double step = 5.;
3823  double maxLH = -1e9;
3824 
3825  while(pt > 2. )
3826  {
3827  double par_phi12[1] = {dphi1};
3828  double par_phi23[1] = {dphi2};
3829  double v[1], lpt1_1;
3830  v[0] = 0; lpt1_1 = 1.;
3831  v[0] = pt;
3832  lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3833 
3834  if (lpt1_1 > maxLH)
3835  {
3836  maxLH = lpt1_1;
3837  PTsolv = pt;
3838  }
3839 
3840 
3841  if(pt <= 100) {step = 10.0/4.0;}
3842  if(pt <= 50) {step = 5.0/4.0;}
3843  if(pt <= 20) {step = 2.0/4.0;}
3844  if(pt <= 10) {step = 1.0/4.0;}
3845  if(pt <=5) {step = 0.5/4.0;}
3846 
3847  pt = pt - step;
3848  }// end while
3849  muPlusMaxLH = maxLH;
3850 
3851 //*********** end solve equation for muon plus
3852 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
3853 // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0
3854  double muMinusMaxLH = -1e9;
3855  dphi1 = - dphi1;
3856  dphi2 = - dphi2;
3857  pt = 140;
3858  step = 5.;
3859  maxLH = -1e9;
3860 
3861  while(pt > 2. )
3862  {
3863  double par_phi12[1] = {dphi1};
3864  double par_phi23[1] = {dphi2};
3865  double v[1], lpt1_1;
3866  v[0] = 0; lpt1_1 = 1.;
3867  v[0] = pt;
3868  lpt1_1 = Likelihood(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
3869 
3870  if (lpt1_1 > maxLH)
3871  {
3872  maxLH = lpt1_1;
3873  PTsolvMinus = pt;
3874  }
3875 
3876  if(pt <= 100) {step = 10.0/4.0;}
3877  if(pt <= 50) {step = 5.0/4.0;}
3878  if(pt <= 20) {step = 2.0/4.0;}
3879  if(pt <= 10) {step = 1.0/4.0;}
3880  if(pt <=5) {step = 0.5/4.0;}
3881 
3882  pt = pt - step;
3883  }// end while
3884  muMinusMaxLH = maxLH;
3885 
3886  if (useBestMLH)
3887  PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
3888  else
3889  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
3890 
3891  bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH;
3892  //*********** end solve equation for muon minus
3893 
3894  PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts
3895  if(PTsolv > 137.5) PTsolv = 137.5;
3896  //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;}
3897  dphi1 = - dphi1; //return to correct sing dphi
3898  dphi2 = - dphi2; //return to correct sing dphi
3899  Pt = PTsolv;
3900  } // end 2 or 3 station method
3901  }
3902  }
3903  // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl;
3904 
3905  float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
3906  if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
3907 
3908  return (Pt > Pt_min) ? Pt : Pt_min;
3909 }
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]
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
T eta() 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]
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]
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 3913 of file CSCTFPtMethods.cc.

References AB_mu12F, AB_mu12R, AB_mu13F, AB_mu13R, AB_mu23, AB_mu24, AB_mu34, AB_mu5, AB_mu51, AB_mu52, AB_mu53, AB_rho123F, AB_rho123R, AB_rho124F, AB_rho124R, AB_rho134F, AB_rho134R, AB_rho234, AB_rho512, AB_rho513, AB_rho51B, AB_rho523, AB_rho52B, AB_rho53B, AB_sig12F, AB_sig12R, AB_sig13F, AB_sig13R, AB_sig23, AB_sig24, AB_sig34, AB_sig5, AB_sig51, AB_sig52, AB_sig53, etabins, Likelihood2011(), RecoTauCleanerPlugins::pt, reco::tau::disc::Pt(), Pt2Stn2012_DT(), relval_parameters_module::step, and findQualityFiles::v.

Referenced by CSCTFPtLUT::calcPt().

3914 {
3915  int useBestMLH = PtbyMLH;
3916  int useBOXcutDT = true;
3917  int use2Stn = false;
3918  int use2StnDT = true;
3919 
3920  //if(fabs(eta) >= 2.4)eta = 2.35;
3921  if(fabs(eta) >= 2.2) eta = 2.15;
3922  float Pt = 0.;
3923  double PTsolv = 1.; // for muon plus hypothesis
3924  double PTsolvMinus = 1.;//for muon minus hypothesis
3925  for(int iETA = 0; iETA < 15; iETA++){
3926  if(fabs(eta) >= etabins[iETA] && fabs(eta) < etabins[iETA+1] ){
3927 
3928 // calculate curvers of mean and sigma
3929  // calculate phi12 mean
3930  double par1[4] = {0., 0., 0., 0.};
3931  //double phi12mean = fitf5(v, par1); //mu12
3932  double par_sig1[4] = {0., 0., 0., 0};
3933  // calculate phi23 mean
3934  double par2[4] = {0., 0., 0., 0.};
3935  // calculate phi23 sig
3936  double par_sig2[4] = {0., 0., 0., 0.};
3937  // calculate correlation rho
3938  double par_rho[5] = {0., 0., 0., 0., 0.};
3939  int iETA1 = iETA;
3940  int iETA2 = iETA;
3941 
3942 // defind which parameters will be use
3943  const double (*Amean12F)[15] = AB_mu12F;
3944  const double (*Asig12F)[15] = AB_sig12F;
3945  const double (*Amean12R)[15] = AB_mu12R;
3946  const double (*Asig12R)[15] = AB_sig12R;
3947 
3948  const double (*Amean13F)[15] = AB_mu13F;
3949  const double (*Asig13F)[15] = AB_sig13F;
3950  const double (*Amean13R)[15] = AB_mu13R;
3951  const double (*Asig13R)[15] = AB_sig13R;
3952 
3953  //const double (*Amean14F)[15] = AB_mu14F;
3954  //const double (*Asig14F)[15] = AB_sig14F;
3955  //const double (*Amean14R)[15] = AB_mu14R;
3956  //const double (*Asig14R)[15] = AB_sig14R;
3957 
3958  const double (*Amean23)[15] = AB_mu23;
3959  const double (*Asig23)[15] = AB_sig23;
3960  const double (*Amean24)[15] = AB_mu24;
3961  const double (*Asig24)[15] = AB_sig24;
3962  const double (*Amean34)[15] = AB_mu34;
3963  const double (*Asig34)[15] = AB_sig34;
3964 
3965  const double (*Amean5)[15] = AB_mu5;
3966  const double (*Asig5)[15] = AB_sig5;
3967  const double (*Amean51)[15] = AB_mu51;
3968  const double (*Asig51)[15] = AB_sig51;
3969  const double (*Amean52)[15] = AB_mu52;
3970  const double (*Asig52)[15] = AB_sig52;
3971  const double (*Amean53)[15] = AB_mu53;
3972  const double (*Asig53)[15] = AB_sig53;
3973 
3974  const double (*Arho123F)[15] = AB_rho123F;
3975  const double (*Arho123R)[15] = AB_rho123R;
3976  const double (*Arho124F)[15] = AB_rho124F;
3977  const double (*Arho124R)[15] = AB_rho124R;
3978  const double (*Arho134F)[15] = AB_rho134F;
3979  const double (*Arho134R)[15] = AB_rho134R;
3980  const double (*Arho234)[15] = AB_rho234;
3981 
3982  const double (*Arho51B)[15] = AB_rho51B;
3983  const double (*Arho52B)[15] = AB_rho52B;
3984  const double (*Arho53B)[15] = AB_rho53B;
3985  const double (*Arho512)[15] = AB_rho512;
3986  const double (*Arho513)[15] = AB_rho513;
3987  const double (*Arho523)[15] = AB_rho523;
3988 
3989  //cout << "iETA = " << iETA
3990  // << " AB_mu51[0][iETA] = " << AB_mu51[0][iETA] << " pointer = " << (*(Amean51+0))[iETA]
3991  // << " AB_mu51[3][iETA] = " << AB_mu51[3][iETA] << " pointer = " << (*(Amean51+3))[iETA]
3992  // << endl;
3993 
3994  switch (type) // type = mode here
3995  {
3996  case 2 : //1-2-3
3997  if(iETA < 2)iETA2 = 2;
3998  if(fr == 1){
3999  if(iETA < 3)iETA1 = 3;
4000  par1[0] = (*(Amean12F+0))[iETA1];
4001  par1[1] = (*(Amean12F+1))[iETA1];
4002  par1[2] = (*(Amean12F+2))[iETA1];
4003  par1[3] = (*(Amean12F+3))[iETA1];
4004  par_sig1[0] = (*(Asig12F+0))[iETA1];
4005  par_sig1[1] = (*(Asig12F+1))[iETA1];
4006  par_sig1[2] = (*(Asig12F+2))[iETA1];
4007  par_sig1[3] = (*(Asig12F+3))[iETA1];
4008  par_rho[0] = (*(Arho123F+0))[iETA2];
4009  par_rho[1] = (*(Arho123F+1))[iETA2];
4010  par_rho[2] = (*(Arho123F+2))[iETA2];
4011  par_rho[3] = (*(Arho123F+3))[iETA2];
4012  par_rho[4] = (*(Arho123F+4))[iETA2];
4013 
4014  }
4015  if(fr == 0){
4016  if(iETA < 1)iETA1 = 1;
4017  par1[0] = (*(Amean12R+0))[iETA1];
4018  par1[1] = (*(Amean12R+1))[iETA1];
4019  par1[2] = (*(Amean12R+2))[iETA1];
4020  par1[3] = (*(Amean12R+3))[iETA1];
4021  par_sig1[0] = (*(Asig12R+0))[iETA1];
4022  par_sig1[1] = (*(Asig12R+1))[iETA1];
4023  par_sig1[2] = (*(Asig12R+2))[iETA1];
4024  par_sig1[3] = (*(Asig12R+3))[iETA1];
4025  par_rho[0] = (*(Arho123R+0))[iETA2];
4026  par_rho[1] = (*(Arho123R+1))[iETA2];
4027  par_rho[2] = (*(Arho123R+2))[iETA2];
4028  par_rho[3] = (*(Arho123R+3))[iETA2];
4029  par_rho[4] = (*(Arho123R+4))[iETA2];
4030  }
4031  par2[0] = (*(Amean23+0))[iETA2];
4032  par2[1] = (*(Amean23+1))[iETA2];
4033  par2[2] = (*(Amean23+2))[iETA2];
4034  par2[3] = (*(Amean23+3))[iETA2];
4035  par_sig2[0] = (*(Asig23+0))[iETA2];
4036  par_sig2[1] = (*(Asig23+1))[iETA2];
4037  par_sig2[2] = (*(Asig23+2))[iETA2];
4038  par_sig2[3] = (*(Asig23+3))[iETA2];
4039 
4040  break;
4041  case 3 : //1-2-4
4042  if(iETA < 3)iETA2 = 3;
4043  if(fr == 1){
4044  if(iETA < 3)iETA1 = 3;
4045  par1[0] = (*(Amean12F+0))[iETA1];
4046  par1[1] = (*(Amean12F+1))[iETA1];
4047  par1[2] = (*(Amean12F+2))[iETA1];
4048  par1[3] = (*(Amean12F+3))[iETA1];
4049  par_sig1[0] = (*(Asig12F+0))[iETA1];
4050  par_sig1[1] = (*(Asig12F+1))[iETA1];
4051  par_sig1[2] = (*(Asig12F+2))[iETA1];
4052  par_sig1[3] = (*(Asig12F+3))[iETA1];
4053  par_rho[0] = (*(Arho124F+0))[iETA2];
4054  par_rho[1] = (*(Arho124F+1))[iETA2];
4055  par_rho[2] = (*(Arho124F+2))[iETA2];
4056  par_rho[3] = (*(Arho124F+3))[iETA2];
4057  par_rho[4] = (*(Arho124F+4))[iETA2];
4058 
4059  }
4060  if(fr == 0){
4061  if(iETA < 1)iETA1 = 1;
4062  par1[0] = (*(Amean12R+0))[iETA1];
4063  par1[1] = (*(Amean12R+1))[iETA1];
4064  par1[2] = (*(Amean12R+2))[iETA1];
4065  par1[3] = (*(Amean12R+3))[iETA1];
4066  par_sig1[0] = (*(Asig12R+0))[iETA1];
4067  par_sig1[1] = (*(Asig12R+1))[iETA1];
4068  par_sig1[2] = (*(Asig12R+2))[iETA1];
4069  par_sig1[3] = (*(Asig12R+3))[iETA1];
4070  par_rho[0] = (*(Arho124R+0))[iETA2];
4071  par_rho[1] = (*(Arho124R+1))[iETA2];
4072  par_rho[2] = (*(Arho124R+2))[iETA2];
4073  par_rho[3] = (*(Arho124R+3))[iETA2];
4074  par_rho[4] = (*(Arho124R+4))[iETA2];
4075  }
4076  par2[0] = (*(Amean24+0))[iETA2];
4077  par2[1] = (*(Amean24+1))[iETA2];
4078  par2[2] = (*(Amean24+2))[iETA2];
4079  par2[3] = (*(Amean24+3))[iETA2];
4080  par_sig2[0] = (*(Asig24+0))[iETA2];
4081  par_sig2[1] = (*(Asig24+1))[iETA2];
4082  par_sig2[2] = (*(Asig24+2))[iETA2];
4083  par_sig2[3] = (*(Asig24+3))[iETA2];
4084  break;
4085  case 4 : //1-3-4
4086  if(iETA < 3)iETA2 = 3;
4087  if(fr == 1){
4088  if(iETA < 3)iETA1 = 3;
4089  par1[0] = (*(Amean13F+0))[iETA1];
4090  par1[1] = (*(Amean13F+1))[iETA1];
4091  par1[2] = (*(Amean13F+2))[iETA1];
4092  par1[3] = (*(Amean13F+3))[iETA1];
4093  par_sig1[0] = (*(Asig13F+0))[iETA1];
4094  par_sig1[1] = (*(Asig13F+1))[iETA1];
4095  par_sig1[2] = (*(Asig13F+2))[iETA1];
4096  par_sig1[3] = (*(Asig13F+3))[iETA1];
4097  par_rho[0] = (*(Arho134F+0))[iETA2];
4098  par_rho[1] = (*(Arho134F+1))[iETA2];
4099  par_rho[2] = (*(Arho134F+2))[iETA2];
4100  par_rho[3] = (*(Arho134F+3))[iETA2];
4101  par_rho[4] = (*(Arho134F+4))[iETA2];
4102 
4103  }
4104  if(fr == 0){
4105  if(iETA < 3)iETA1 = 3;
4106  par1[0] = (*(Amean13R+0))[iETA1];
4107  par1[1] = (*(Amean13R+1))[iETA1];
4108  par1[2] = (*(Amean13R+2))[iETA1];
4109  par1[3] = (*(Amean13R+3))[iETA1];
4110  par_sig1[0] = (*(Asig13R+0))[iETA1];
4111  par_sig1[1] = (*(Asig13R+1))[iETA1];
4112  par_sig1[2] = (*(Asig13R+2))[iETA1];
4113  par_sig1[3] = (*(Asig13R+3))[iETA1];
4114  par_rho[0] = (*(Arho134R+0))[iETA2];
4115  par_rho[1] = (*(Arho134R+1))[iETA2];
4116  par_rho[2] = (*(Arho134R+2))[iETA2];
4117  par_rho[3] = (*(Arho134R+3))[iETA2];
4118  par_rho[4] = (*(Arho134R+4))[iETA2];
4119  }
4120  par2[0] = (*(Amean34+0))[iETA2];
4121  par2[1] = (*(Amean34+1))[iETA2];
4122  par2[2] = (*(Amean34+2))[iETA2];
4123  par2[3] = (*(Amean34+3))[iETA2];
4124  par_sig2[0] = (*(Asig34+0))[iETA2];
4125  par_sig2[1] = (*(Asig34+1))[iETA2];
4126  par_sig2[2] = (*(Asig34+2))[iETA2];
4127  par_sig2[3] = (*(Asig34+3))[iETA2];
4128  break;
4129  case 5 ://2-3-4
4130  if(iETA < 2)iETA1 = 2;
4131  if(iETA < 3)iETA2 = 3;
4132  par1[0] = (*(Amean23+0))[iETA1];
4133  par1[1] = (*(Amean23+1))[iETA1];
4134  par1[2] = (*(Amean23+2))[iETA1];
4135  par1[3] = (*(Amean23+3))[iETA1];
4136  par_sig1[0] = (*(Asig23+0))[iETA1];
4137  par_sig1[1] = (*(Asig23+1))[iETA1];
4138  par_sig1[2] = (*(Asig23+2))[iETA1];
4139  par_sig1[3] = (*(Asig23+3))[iETA1];
4140  par_rho[0] = (*(Arho234+0))[iETA2];
4141  par_rho[1] = (*(Arho234+1))[iETA2];
4142  par_rho[2] = (*(Arho234+2))[iETA2];
4143  par_rho[3] = (*(Arho234+3))[iETA2];
4144  par_rho[4] = (*(Arho234+4))[iETA2];
4145 
4146  par2[0] = (*(Amean34+0))[iETA2];
4147  par2[1] = (*(Amean34+1))[iETA2];
4148  par2[2] = (*(Amean34+2))[iETA2];
4149  par2[3] = (*(Amean34+3))[iETA2];
4150  par_sig2[0] = (*(Asig34+0))[iETA2];
4151  par_sig2[1] = (*(Asig34+1))[iETA2];
4152  par_sig2[2] = (*(Asig34+2))[iETA2];
4153  par_sig2[3] = (*(Asig34+3))[iETA2];
4154  break;
4155  case 11 : // singles for method < 10, for method > 10: fr = 1 -> b1-1-3, fr = 0 -> b1-3-phiBend
4156  if(iETA != 2)iETA1 = 2;
4157  par1[0] = (*(Amean53+0))[iETA1];
4158  par1[1] = (*(Amean53+1))[iETA1];
4159  par1[2] = (*(Amean53+2))[iETA1];
4160  par1[3] = (*(Amean53+3))[iETA1];
4161  par_sig1[0] = (*(Asig53+0))[iETA1];
4162  par_sig1[1] = (*(Asig53+1))[iETA1];
4163  par_sig1[2] = (*(Asig53+2))[iETA1];
4164  par_sig1[3] = (*(Asig53+3))[iETA1];
4165  par_rho[0] = (*(Arho53B+0))[iETA1];
4166  par_rho[1] = (*(Arho53B+1))[iETA1];
4167  par_rho[2] = (*(Arho53B+2))[iETA1];
4168  par_rho[3] = (*(Arho53B+3))[iETA1];
4169  par_rho[4] = (*(Arho53B+4))[iETA1];
4170 
4171  par2[0] = (*(Amean5+0))[iETA1];
4172  par2[1] = (*(Amean5+1))[iETA1];
4173  par2[2] = (*(Amean5+2))[iETA1];
4174  par2[3] = (*(Amean5+3))[iETA1];
4175  par_sig2[0] = (*(Asig5+0))[iETA1];
4176  par_sig2[1] = (*(Asig5+1))[iETA1];
4177  par_sig2[2] = (*(Asig5+2))[iETA1];
4178  par_sig2[3] = (*(Asig5+3))[iETA1];
4179 
4180  if(fr == 1){
4181  par1[0] = (*(Amean51+0))[iETA1];
4182  par1[1] = (*(Amean51+1))[iETA1];
4183  par1[2] = (*(Amean51+2))[iETA1];
4184  par1[3] = (*(Amean51+3))[iETA1];
4185  par_sig1[0] = (*(Asig51+0))[iETA1];
4186  par_sig1[1] = (*(Asig51+1))[iETA1];
4187  par_sig1[2] = (*(Asig51+2))[iETA1];
4188  par_sig1[3] = (*(Asig51+3))[iETA1];
4189  par_rho[0] = (*(Arho513+0))[iETA1];
4190  par_rho[1] = (*(Arho513+1))[iETA1];
4191  par_rho[2] = (*(Arho513+2))[iETA1];
4192  par_rho[3] = (*(Arho513+3))[iETA1];
4193  par_rho[4] = (*(Arho513+4))[iETA1];
4194 
4195  par2[0] = (*(Amean13R+0))[iETA1];
4196  par2[1] = (*(Amean13R+1))[iETA1];
4197  par2[2] = (*(Amean13R+2))[iETA1];
4198  par2[3] = (*(Amean13R+3))[iETA1];
4199  par_sig2[0] = (*(Asig13R+0))[iETA1];
4200  par_sig2[1] = (*(Asig13R+1))[iETA1];
4201  par_sig2[2] = (*(Asig13R+2))[iETA1];
4202  par_sig2[3] = (*(Asig13R+3))[iETA1];
4203  }
4204  break;
4205  case 12 : // b1-1-2 for method < 10; for method > 10: fr = 1 -> b1-2-3, fr = 0 -> b1-2-phiBend
4206  if(iETA < 1)iETA1 = 1;
4207  if(iETA > 2)iETA1 = 2;
4208  par1[0] = (*(Amean52+0))[iETA1];
4209  par1[1] = (*(Amean52+1))[iETA1];
4210  par1[2] = (*(Amean52+2))[iETA1];
4211  par1[3] = (*(Amean52+3))[iETA1];
4212  par_sig1[0] = (*(Asig52+0))[iETA1];
4213  par_sig1[1] = (*(Asig52+1))[iETA1];
4214  par_sig1[2] = (*(Asig52+2))[iETA1];
4215  par_sig1[3] = (*(Asig52+3))[iETA1];
4216  par_rho[0] = (*(Arho52B+0))[iETA1];
4217  par_rho[1] = (*(Arho52B+1))[iETA1];
4218  par_rho[2] = (*(Arho52B+2))[iETA1];
4219  par_rho[3] = (*(Arho52B+3))[iETA1];
4220  par_rho[4] = (*(Arho52B+4))[iETA1];
4221 
4222  par2[0] = (*(Amean5+0))[iETA1];
4223  par2[1] = (*(Amean5+1))[iETA1];
4224  par2[2] = (*(Amean5+2))[iETA1];
4225  par2[3] = (*(Amean5+3))[iETA1];
4226  par_sig2[0] = (*(Asig5+0))[iETA1];
4227  par_sig2[1] = (*(Asig5+1))[iETA1];
4228  par_sig2[2] = (*(Asig5+2))[iETA1];
4229  par_sig2[3] = (*(Asig5+3))[iETA1];
4230 
4231  if(fr == 1){
4232  if(iETA != 2)iETA1 = 2;
4233  par1[0] = (*(Amean52+0))[iETA1];
4234  par1[1] = (*(Amean52+1))[iETA1];
4235  par1[2] = (*(Amean52+2))[iETA1];
4236  par1[3] = (*(Amean52+3))[iETA1];
4237  par_sig1[0] = (*(Asig52+0))[iETA1];
4238  par_sig1[1] = (*(Asig52+1))[iETA1];
4239  par_sig1[2] = (*(Asig52+2))[iETA1];
4240  par_sig1[3] = (*(Asig52+3))[iETA1];
4241  par_rho[0] = (*(Arho523+0))[iETA1];
4242  par_rho[1] = (*(Arho523+1))[iETA1];
4243  par_rho[2] = (*(Arho523+2))[iETA1];
4244  par_rho[3] = (*(Arho523+3))[iETA1];
4245  par_rho[4] = (*(Arho523+4))[iETA1];
4246 
4247  par2[0] = (*(Amean23+0))[iETA1];
4248  par2[1] = (*(Amean23+1))[iETA1];
4249  par2[2] = (*(Amean23+2))[iETA1];
4250  par2[3] = (*(Amean23+3))[iETA1];
4251  par_sig2[0] = (*(Asig23+0))[iETA1];
4252  par_sig2[1] = (*(Asig23+1))[iETA1];
4253  par_sig2[2] = (*(Asig23+2))[iETA1];
4254  par_sig2[3] = (*(Asig23+3))[iETA1];
4255  }
4256  break;
4257  case 14 : // b1-2 for method < 10; for method > 10: fr = 1 -> b1-1-2-(3), fr = 0 -> b1-1-phiBend
4258  if(iETA > 2)iETA1 = 2;
4259  par1[0] = (*(Amean51+0))[iETA1];
4260  par1[1] = (*(Amean51+1))[iETA1];
4261  par1[2] = (*(Amean51+2))[iETA1];
4262  par1[3] = (*(Amean51+3))[iETA1];
4263  par_sig1[0] = (*(Asig51+0))[iETA1];
4264  par_sig1[1] = (*(Asig51+1))[iETA1];
4265  par_sig1[2] = (*(Asig51+2))[iETA1];
4266  par_sig1[3] = (*(Asig51+3))[iETA1];
4267  par_rho[0] = (*(Arho51B+0))[iETA1];
4268  par_rho[1] = (*(Arho51B+1))[iETA1];
4269  par_rho[2] = (*(Arho51B+2))[iETA1];
4270  par_rho[3] = (*(Arho51B+3))[iETA1];
4271  par_rho[4] = (*(Arho51B+4))[iETA1];
4272 
4273  par2[0] = (*(Amean5+0))[iETA1];
4274  par2[1] = (*(Amean5+1))[iETA1];
4275  par2[2] = (*(Amean5+2))[iETA1];
4276  par2[3] = (*(Amean5+3))[iETA1];
4277  par_sig2[0] = (*(Asig5+0))[iETA1];
4278  par_sig2[1] = (*(Asig5+1))[iETA1];
4279  par_sig2[2] = (*(Asig5+2))[iETA1];
4280  par_sig2[3] = (*(Asig5+3))[iETA1];
4281 
4282  if(fr == 1){
4283  if(iETA < 1)iETA1 = 1;
4284  if(iETA > 2)iETA1 = 2;
4285  par1[0] = (*(Amean51+0))[iETA1];
4286  par1[1] = (*(Amean51+1))[iETA1];
4287  par1[2] = (*(Amean51+2))[iETA1];
4288  par1[3] = (*(Amean51+3))[iETA1];
4289  par_sig1[0] = (*(Asig51+0))[iETA1];
4290  par_sig1[1] = (*(Asig51+1))[iETA1];
4291  par_sig1[2] = (*(Asig51+2))[iETA1];
4292  par_sig1[3] = (*(Asig51+3))[iETA1];
4293  par_rho[0] = (*(Arho512+0))[iETA1];
4294  par_rho[1] = (*(Arho512+1))[iETA1];
4295  par_rho[2] = (*(Arho512+2))[iETA1];
4296  par_rho[3] = (*(Arho512+3))[iETA1];
4297  par_rho[4] = (*(Arho512+4))[iETA1];
4298 
4299  par2[0] = (*(Amean12R+0))[iETA1];
4300  par2[1] = (*(Amean12R+1))[iETA1];
4301  par2[2] = (*(Amean12R+2))[iETA1];
4302  par2[3] = (*(Amean12R+3))[iETA1];
4303  par_sig2[0] = (*(Asig12R+0))[iETA1];
4304  par_sig2[1] = (*(Asig12R+1))[iETA1];
4305  par_sig2[2] = (*(Asig12R+2))[iETA1];
4306  par_sig2[3] = (*(Asig12R+3))[iETA1];
4307  }
4308  break;
4309  //default:
4310  //return 0.0;
4311  }
4312 
4313  // Switch to 2-Station measurement if dphi is too small
4314  // box cut around Pt of 10 GeV
4315  if ( ( ( (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && method < 25)||
4316  (fabs(static_cast<double>(dphi2))<0.004 && type != 12 && type != 14 && type != 11 && method >= 25))) &&
4317  ((type>=2 && type<=5 && use2Stn) || (type >= 11 && use2StnDT)))
4318  {
4319  if (use2Stn)
4320  {
4321  //if(type == 12 || type == 14 || type == 11) std::cout << "mode = " << type << " dphi23 = " << dphi2 << " method = " << method << std::endl; //test
4322  if(type == 2 || type == 3) type = 6; // 1-2-3(or 4) -> 1-2
4323  if(type == 4) type = 7; // 1-3-4 -> 1-3
4324  if(type == 5) type = 8; // 2-3-4 -> 2-3
4325  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
4326  }
4327  if (use2StnDT)
4328  {
4329  if(type == 11) type = 14; // b1-1-3 -> b1-1 for pt_method > 10
4330  //if(type == 14) type = 11;
4331  //phiSign
4332  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
4333  }
4334  }
4335  else
4336  {
4337  //************* solve equation dLog(Likelihood)/dpt = 0 for muon + ;
4338  double muPlusMaxLH = -1e9;
4339  double pt = 140;
4340  double step = 5.;
4341  double maxLH = -1e9;
4342  while(pt > 2. )
4343  {
4344  double par_phi12[1] = {dphi1};
4345  double par_phi23[1] = {dphi2};
4346  double v[1], lpt1_1;
4347  v[0] = 0; lpt1_1 = 1.;
4348  v[0] = pt;
4349  lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
4350 
4351  if (lpt1_1 > maxLH)
4352  {
4353  maxLH = lpt1_1;
4354  PTsolv = pt;
4355  }
4356 
4357  if(pt <= 100) {step = 10.0/4.0;}
4358  if(pt <= 50) {step = 5.0/4.0;}
4359  if(pt <= 20) {step = 2.0/4.0;}
4360  if(pt <= 10) {step = 1.0/4.0;}
4361  if(pt <=5) {step = 0.5/4.0;}
4362 
4363  pt = pt - step;
4364  }// end while
4365  muPlusMaxLH = maxLH;
4366 //*********** end solve equation for muon plus
4367 //************* solve equation dLog(Likelihood)/dpt = 0 for muon minus ;
4368 // for one station method we know sing of muon: dphi1 > 0 for muon minus!!! => dphi1 = -dphi1 < 0
4369  double muMinusMaxLH = -1e9;
4370  dphi1 = - dphi1;
4371  dphi2 = - dphi2;
4372  pt = 140;
4373  step = 5.;
4374  maxLH = -1e9;
4375 
4376  while(pt > 2. )
4377  {
4378  double par_phi12[1] = {dphi1};
4379  double par_phi23[1] = {dphi2};
4380  double v[1], lpt1_1;
4381  v[0] = 0; lpt1_1 = 1.;
4382  v[0] = pt;
4383  lpt1_1 = Likelihood2011(par_phi12, par_phi23, par1, par2, par_sig1, par_sig2, par_rho, v);
4384 
4385  if (lpt1_1 > maxLH)
4386  {
4387  maxLH = lpt1_1;
4388  PTsolvMinus = pt;
4389  }
4390 
4391  if(pt <= 100) {step = 10.0/4.0;}
4392  if(pt <= 50) {step = 5.0/4.0;}
4393  if(pt <= 20) {step = 2.0/4.0;}
4394  if(pt <= 10) {step = 1.0/4.0;}
4395  if(pt <=5) {step = 0.5/4.0;}
4396  pt = pt - step;
4397  }// end while
4398  muMinusMaxLH = maxLH;
4399 
4400  if (useBestMLH)
4401  PTsolv = (muPlusMaxLH > muMinusMaxLH) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
4402  else
4403  PTsolv = (PTsolv > PTsolvMinus) ? PTsolv: PTsolvMinus; // select Maximum solution from muon plus and moun minus hypotesis
4404 
4405  bestLH = (muPlusMaxLH > muMinusMaxLH) ? muPlusMaxLH : muMinusMaxLH;
4406 
4407  PTsolv = PTsolv*1.2; // correction to have 90% efficiency for trigger cuts
4408  if(PTsolv > 137.5) PTsolv = 137.5;
4409  //if(fabs(dphi1) < 0.002 && fabs(dphi2) <= CutPhi23){PTsolv = 140;}
4410  dphi1 = - dphi1; //return to correct sing dphi
4411  dphi2 = - dphi2; //return to correct sing dphi
4412  Pt = PTsolv;
4413  } // end 2 or 3 station method
4414  }}
4415  // fix overlap region high pt:
4416  if (useBOXcutDT)
4417  if(method >= 25 && (type == 12 || type == 14 || type == 11) && fabs(dphi1)<0.003 && fabs(dphi2) <2) Pt = 140.;
4418  // if ( fabs(static_cast<double>(dphi2))>0.004 ) std::cout << "Pt = " << Pt << " Mode = " << type << " dphi1 = " << dphi1 << " dphi2 = " << dphi2 << std::endl;
4419 
4420  //float Pt_min = trigger_scale->getPtScale()->getLowEdge(1);// 0 GeV
4421  //if(method > 10) Pt_min = trigger_scale->getPtScale()->getLowEdge(3);// 2 GeV
4422  float Pt_min = 2;// 2 GeV
4423 
4424  return (Pt > Pt_min) ? Pt : Pt_min;
4425 }
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]
T eta() const
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]
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 5373 of file CSCTFPtMethods.cc.

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

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

5374 {
5375 
5376  float diff, min, ptmin, ptmax;
5377  float mypt = 0.0;
5378 
5379  int dphi1copy = dphi1, dphi2copy = dphi2;
5380 
5381  if (type<4 || type>5)
5382  {
5383 // std::cout << "PtParams: illegal track type for Chi-square method" << std::endl;
5384  edm::LogError("CSCTFPtMethods::Pt3StnChiSq()")<<"Illegal track type for Chi-square method";
5385  return 0.;
5386  }
5387 
5388  // flip sign
5389  //dphi1 = -dphi1;
5390  //dphi2 = -dphi2;
5391 
5392 
5393  //determine which eta bin muon falls into
5394  int i = 0;
5395  for( i = 0; i < 15; i++ )
5396  {
5397  if ( eta >= etabins[i] && eta < etabins[i + 1] ) break;
5398  }
5399  if ( i == 15 )
5400  {
5401  //std::cout<<"muon not within any eta range";
5402  edm::LogWarning("CSCTFPtMethods::Pt3StnChiSq()")<<"Muon not within any eta range";
5403  if (eta<etabins[0])
5404  {
5405  eta = etabins[0];
5406  i = 0;
5407  }
5408  else if (eta>=etabins[15])
5409  {
5410  eta = etabins[15];
5411  i = 15;
5412  }
5413  else
5414  exit(0);
5415  }
5416 
5417  bool bCallOldMethod = false;
5418 
5419  if(abs(dphi2) < 32) dphi2 = 0; //dphi2=dphi23 or dphi24
5420 
5421  //sta1-2-3, dphi1=dphi12, dphi2=dphi23
5422  if (type == 4)
5423  {
5424  if (fr == 0)
5425  {
5426  //advance past bins in array w/ default values
5427  //default is: dphifr0[x][y][z] = -1, sigmafr0[x][y][z] = 1
5428  int j = 0; //start from 1st column, j = 0
5429  while ( ((dphifr0[0][i][j] == -1 && sigmafr0[0][i][j] == 1) || (dphifr0[2][i][j] == -1 && sigmafr0[2][i][j] == 1)) && j != 28 ) j++;
5430  if ( j == 28 )
5431  {
5432 // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl;
5433  edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default";
5434  // exit(0); //normal termination
5435  bCallOldMethod = true;
5436  }
5437 
5438  if (!bCallOldMethod)
5439  {
5440  //set min, ptmin, ptmax to first bin
5441  //in row that is not default
5442  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
5443  ptmin = ptbins[j];
5444  ptmax = ptbins[j + 1];
5445 
5446  //loop through all pt bins. assign pt of bin w/ least diff
5447  //do not include default bins in calculation
5448  for ( int k = j; k < 28; k++ )
5449  {
5450  if( (dphifr0[0][i][k] != -1 || sigmafr0[0][i][k] != 1) && (dphifr0[2][i][k] != -1 || sigmafr0[2][i][k] != 1) )
5451  {
5452  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])) );
5453  if (diff < min)
5454  {
5455  min = diff;
5456  ptmin = ptbins[k];
5457  ptmax = ptbins[k + 1];
5458  }
5459  }
5460  }
5461  mypt = (ptmin + ptmax) / 2;
5462  }
5463  }
5464 
5465  if (fr == 1)
5466  {
5467  //advance past bins in array w/ default values
5468  //default is: dphifr1[x][y][z] = -1, sigmafr1[x][y][z] = 1
5469  int j = 0; //start from 1st column, j = 0
5470  while ( ((dphifr1[0][i][j] == -1 && sigmafr1[0][i][j] == 1) || (dphifr1[2][i][j] == -1 && sigmafr1[2][i][j] == 1)) && j != 28 ) j++;
5471  if ( j == 28 )
5472  {
5473 // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl;
5474  edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default";
5475  // exit(0); //normal termination
5476  bCallOldMethod = true;
5477  }
5478 
5479  if (!bCallOldMethod)
5480  {
5481  //set min, ptmin, ptmax to first bin
5482  //in row that is not default
5483  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
5484  ptmin = ptbins[j];
5485  ptmax = ptbins[j + 1];
5486 
5487  //loop through all pt bins. assign pt of bin w/ least diff
5488  //do not include default bins in calculation
5489  for ( int k = j; k < 28; k++ )
5490  {
5491  if( (dphifr1[0][i][k] != -1 || sigmafr1[0][i][k] != 1) && (dphifr1[2][i][k] != -1 || sigmafr1[2][i][k] != 1) )
5492  {
5493  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])) );
5494  if (diff < min)
5495  {
5496  min = diff;
5497  ptmin = ptbins[k];
5498  ptmax = ptbins[k + 1];
5499  }
5500  }
5501  mypt = (ptmin + ptmax) / 2;
5502  }
5503  }
5504  }
5505  }
5506 
5507  //sta1-2-4, dphi1=dphi12, dphi2=dphi24
5508  if (type == 5)
5509  {
5510 
5511  if (fr == 0)
5512  {
5513  //advance past bins in array w/ default values
5514  //default is: dphifr0[x][y][z] = -1, sigmafr0[x][y][z] = 1
5515  int j = 0; //start from 1st column, j = 0
5516  while ( ((dphifr0[0][i][j] == -1 && sigmafr0[0][i][j] == 1) || (dphifr0[3][i][j] == -1 && sigmafr0[3][i][j] == 1)) && j != 28 ) j++;
5517  if ( j == 28 )
5518  {
5519 // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl;
5520  edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default";
5521  // exit(0); //normal termination
5522  bCallOldMethod = true;
5523  }
5524 
5525  if (!bCallOldMethod)
5526  {
5527  //set min, ptmin, ptmax to first bin
5528  //in row that is not default
5529  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
5530  ptmin = ptbins[j];
5531  ptmax = ptbins[j + 1];
5532 
5533  //loop through all pt bins. assign pt of bin w/ least diff
5534  //do not include default bins in calculation
5535  for ( int k = j; k < 28; k++ )
5536  {
5537  if( (dphifr0[0][i][k] != -1 || sigmafr0[0][i][k] != 1) && (dphifr0[3][i][k] != -1 || sigmafr0[3][i][k] != 1) )
5538  {
5539  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])) );
5540  if (diff < min)
5541  {
5542  min = diff;
5543  ptmin = ptbins[k];
5544  ptmax = ptbins[k + 1];
5545  }
5546  }
5547  }
5548  mypt = (ptmin + ptmax) / 2;
5549  }
5550  }
5551 
5552  if (fr == 1)
5553  {
5554  //advance past bins in array w/ default values
5555  //default is: dphifr1[x][y][z] = -1, sigmafr1[x][y][z] = 1
5556  int j = 0; //start from 1st column, j = 0
5557  while ( ((dphifr1[0][i][j] == -1 && sigmafr1[0][i][j] == 1) || (dphifr1[3][i][j] == -1 && sigmafr1[3][i][j] == 1)) && j != 28 ) j++;
5558  if ( j == 28 )
5559  {
5560 // std::cout<<" L1MuCSCPtParams: every entry in row is default"<<std::endl;
5561  edm::LogInfo("CSCTFPtMethods::Pt3StnChiSq()")<<"Every entry in row is default";
5562  // exit(0); //normal termination
5563  bCallOldMethod = true;
5564  }
5565 
5566  if (!bCallOldMethod)
5567  {
5568  //set min, ptmin, ptmax to first bin
5569  //in row that is not default
5570  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
5571  ptmin = ptbins[j];
5572  ptmax = ptbins[j + 1];
5573 
5574  //loop through all pt bins. assign pt of bin w/ least diff
5575  //do not include default bins in calculation
5576  for ( int k = j; k < 28; k++ )
5577  {
5578  if( (dphifr1[0][i][k] != -1 || sigmafr1[0][i][k] != 1) && (dphifr1[3][i][k] != -1 || sigmafr1[3][i][k] != 1) )
5579  {
5580  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])) );
5581  if (diff < min)
5582  {
5583  min = diff;
5584  ptmin = ptbins[k];
5585  ptmax = ptbins[k + 1];
5586  }
5587  }
5588  }
5589  mypt = (ptmin + ptmax) / 2;
5590  }
5591  }
5592  }
5593 
5594  if (bCallOldMethod)
5595  {
5596  float dphi12R = (static_cast<float>(dphi1copy)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5597  float dphi23R = (static_cast<float>(dphi2copy)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5598  // change defintion of track type to old method
5599  mypt = Pt3Stn(type-3, eta, dphi12R, dphi23R, fr);
5600  }
5601  return mypt;
5602 
5603 }
type
Definition: HCALResponse.h:21
int i
Definition: DBlmapReader.cc:9
static const float dphifr1[4][15][28]
T eta() const
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
int j
Definition: DBlmapReader.cc:9
int k[5][pyjets_maxn]
double ptmin
Definition: HydjetWrapper.h:85
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 5619 of file CSCTFPtMethods.cc.

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

Referenced by CSCTFPtLUT::calcPt().

5620 {
5621  float mypt = 0.0;
5622 
5623  mypt = Pt3StnChiSq(type, eta, dphi1, dphi2, fr);
5624  if(mypt >= 8.0)
5625  {
5626  float dphi12R = (static_cast<float>(dphi1)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5627  float dphi23R = (static_cast<float>(dphi2)) / static_cast<float>(1<<12) * CSCTFConstants::SECTOR_RAD;
5628  // change defintion of track type to old method
5629  mypt = Pt3Stn(type-3, eta, dphi12R, dphi23R, fr);
5630  }
5631 
5632  return mypt;
5633 }
type
Definition: HCALResponse.h:21
T eta() const
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 5664 of file CSCTFPtMethods.cc.

References trackerHits::c, and eta().

5665 {
5666  // set pT resolution
5667  float c;
5668  switch (mode)
5669  {
5670  // 3-stn with ME1
5671  case 2:
5672  case 3:
5673  case 4:
5674  // leave as 2 Stn for now:
5675  // if (eta < 2.0)
5676  // c = 0.2;
5677  // else
5678  // c = 0.2 + (eta-2.0)*0.5;
5679  // break;
5680  // 2-stn with ME1
5681  case 6:
5682  case 7:
5683  // c=(-.2999 * (eta*eta*eta) + 2.030 * (eta*eta) - 4.235 * eta + 3.024)+0.02;
5684  // Try just fixed value from fits to Pt turn-on curves
5685  c=0.3;
5686  break;
5687  // 2 or 3 stn without ME1
5688  case 5:
5689  case 8:
5690  case 9:
5691  c=(-2.484 * (eta*eta*eta) + 14.43 * (eta*eta) - 27.66 * eta + 18.47)*.72;
5692  break;
5693  case 10:
5694  c=2.0;
5695  break;
5696  // MB1 tracks
5697  case 11:
5698  case 12:
5699  case 13:
5700  case 14:
5701  case 15:
5702  c=0.3;
5703  break;
5704  default:
5705  c = 0.0;
5706  };
5707  // Calculation of 90% threshold from 50% one, assuming Gaussian resolution
5708  // 90% of Gaussian area extends to 1.28*sigma
5709  if (c>0.78) c = 0.78;
5710  // return pt/(1.0 - 1.28*c);
5711  // Let's go back to old empirical method:
5712  return pt*(1.0 + 1.28*c);
5713 }
T eta() const

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, 0, 0},
{0, 0, 0, 0.26520808786388666567, 0.20543788970357632073, 0.15092171845376831096, 0.10960449046799547457, 0.07249357497808966988, 0.084725241812656573726, 0.080545185052021503469, 0.063499540823294411962, 0.052274729725005748826, 0, 0, 0},
{0, 0, 0, 0.00053807554094229155788, 0.00045289727656323158257, 0.00048500971554021258918, 0.00062343043239925161666, 0.00018916793540052533398, 9.9877853046464147579e-05, 0.00011936753945903473204, -0.00013555974179713960442, -0.00018396374782998390577, 0, 0, 0},
{0, 0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0, 0, 0}
}

parameters for Anna's method 2010

Definition at line 106 of file CSCTFPtMethods.h.

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

const double CSCTFPtMethods::A_mu12Rare
static
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, 0, 0},
{0, 0.43901381552049162371, 0.33269140862921836588, 0.2867281989745522619, 0.1745740696789168378, 0.13068773408294853677, 0.090289532623200399741, 0.14511096793044100939, 0.089110172781148286325, 0.088325915559225531837, 0.058284739852102536439, 0.054838099980182117288, 0, 0, 0},
{0, 0.00090427118272218449946, 0.00051285798655137816021, 0.00096712518524937637985, 0.0005533967588738022839, 0.00058699577022335697706, 0.00046096277656442602704, 0.00059775151582151515688, 0.0002982802094889720106, 0.00025087464533485412822, -1.2763501682976573746e-06, 8.7075909949317653082e-05, 0, 0, 0},
{0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0, 0, 0}
}

Definition at line 113 of file CSCTFPtMethods.h.

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

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

Definition at line 108 of file CSCTFPtMethods.h.

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

const double CSCTFPtMethods::A_mu13Rare
static
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, 0, 0},
{0, 0, 0.46581826439734036471, 0.59045368664701669559, 0.42112504758806018623, 0.31214409746624299791, 0.22991099738945788844, 0.38259688787882195626, 0.21032714197086083141, 0.23803428613207575082, 0.16848812991169570541, 0.13391107896586992854, 0, 0, 0},
{0, 0, 0.0002201385928033240463, 0.00094588024264893161806, 0.0006090017795757148196, 0.00055819818498869361832, 0.00051220623767016942862, 0.0010722093641169425093, 0.00033951226487555219435, 0.00057667736469464204747, 0.00038672362687909188003, 0.00018665348905046641372, 0, 0, 0},
{0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0, 0, 0}
}

Definition at line 115 of file CSCTFPtMethods.h.

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

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

Definition at line 110 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), and Pt2Stn2012().

const double CSCTFPtMethods::A_mu14Rare
static
Initial value:
=
{
{0, 0, 0, 0, 0, 0, 0, 0, 0, -0.2849452232390318196, -0.26600970450734234829, -0.23683395869018955548, -0.22057309433227462181, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33740004932669764859, 0.27762229117854592131, 0.19628468723350062097, 0.17323896845886521678, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00036794862559287675862, 0.00059266387001125628905, 0.00029802341315537321086, 0.00025629117987456756858, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0.5999999999999999778, 0, 0}
}

Definition at line 117 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), and Pt2Stn2012().

const double CSCTFPtMethods::A_mu23
static
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, 0, 0, 0},
{0, 0, 0, -2.1007675246065984354, 5.0425956104081919307, 199.99999998505296617, 197.550283903424031, 199.99999998947504309, -3.6752175165788334432, -5.1722529027050292427, -4.3622079033393852399, -3.8822092661387657131, 0, 0, 0},
{0, 0, 0, 4.7467280498208239692, -0.9954101483761357283, -174.31370635014994264, -172.76138545990900752, -195.76348611065316163, 3.4105036734574345481, 4.6147873662827647578, 3.7484788313774726198, 3.1712066148946220778, 0, 0, 0},
{0, 0, 0, 0.30810891952961361184, -1.5943850767419220915e-06, 54.774256057823905053, 53.990647071858525408, 62.484493391665445472, -0.69848464296741152868, -0.91930506751317175862, -0.74283883233049896599, -0.63029551267626326982, 0, 0, 0},
{0, 0, 0, 1.5832663901749726154, 0.74552216086091394054, 2.3871718840149540597, 2.3429031884405246977, 2.5923987724387411724, 0.78470036712835855575, 0.84997184658808944135, 0.77449725473134001241, 0.7103384244719952445, 0, 0, 0}
}

Definition at line 142 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_rho123RareCSCTF
static
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, 0, 0, 0},
{0, 1.2460479107724575787e-08, -9.1322692253088106895, 2.7885945213228429118, 35.574384349975474606, 52.562872763020486389, 165.96545891988304788, -7.8572084740661054525, -2.2073725837258022509, -8.2319545861659868535, -5.2739465547973312098, -1.6641893104460985242, 0, 0, 0},
{0, -3.4521070809865814222e-09, 0.304049807886722534, -1.0070939003771062215, -25.509204584815140748, -43.856338459435548316, -142.9795139802988615, 5.1120722960994200434, 2.5507720910098483635, 6.5298492011791555711, 4.4578719360600889132, 2.2487455007422072484, 0, 0, 0},
{0, 0.11247782203128549317, 6.1743739480412145326, 0.11162411914689808479, 8.9528675403092599083, 15.100558849256662697, 44.430568006333729159, -0.9341261050017011236, -0.55701647459573400134, -1.2571707419142834627, -0.88779580801276813951, -0.51779245640493165581, 0, 0, 0},
{0, 5.2468060541259898405e-05, 1.8940496384956984066, 0.066707207826664116634, 1.7508237418861856138, 1.8900280458873763845, 2.1844068317738409846, 0.76180412238695105476, 0.72372957011062566401, 0.89275082928758009437, 0.81250184984526685472, 0.71783981961882159517, 0, 0, 0}
}

Definition at line 146 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_rho124FrontCSCTF
static
Initial value:
=
{
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3870060999256690337, 2.9712356450806232111, 3.570810174736656073, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, -2.5249315692538325528, -5.0029964029336300158, -5.9723457657194050086, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 2.5905258665507675531, 3.7350919226554304409, 4.4308882990573090765, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, -0.46509034721864128681, -0.65123509278498414865, -0.77222404956138701593, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0.80362588618902608406, 0.76388670904989408594, 0.8119443249235495097, 0, 0, 0}
}

Definition at line 143 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

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

Definition at line 147 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

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

Definition at line 144 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_rho134RareCSCTF
static
Initial value:
=
{
{0, 0, 0, 0, 0, 0, 0, 0, 0, 3.4612440846722587473, 5.7154640478562965811, 6.1988763822017318716, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, -5.7252426310553330424, -10.734814097449786985, -11.773479219426080888, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 4.1825411479975462825, 7.4929964403945605866, 8.4655628853855269256, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, -0.76190351147590362757, -1.349101837260204606, -1.4909015696715794963, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0.73180297067413413448, 0.85937126410475961347, 0.96408406745158758966, 0, 0, 0}
}

Definition at line 148 of file CSCTFPtMethods.h.

Referenced by Pt3Stn2010(), and Pt3Stn2012().

const double CSCTFPtMethods::A_rho234CSCTF
static
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, 0, 0},
{0, 0, 0, 0.11205437847560090203, 0.14710111810994394577, 0.12139003108545433351, 0.05805544863709271447, 0.44230910905171338943, 0.097455948703866090987, 0.091167182629549800565, 0.08155034337565571223, 0.10115334241053108855, 0, 0, 0},
{0, 0, 0, 0.00045794655246943964493, 0.00060328713936987944655, 0.00059167776206113108402, 0.00032821487645948946993, 0.0017467056059844235372, 0.00059613339189244513722, 0.00058184715339610595854, 0.00064476542748265707177, 0.00065843267283058381015, 0, 0, 0}
}

Definition at line 107 of file CSCTFPtMethods.h.

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

const double CSCTFPtMethods::A_sig12Rare
static
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, 0, 0},
{0, 0.23514753393254139713, 0.20840454339700395514, 0.1734554515667367236, 0.14712778893221009624, 0.068478644292554124995, 0.045578777378287992084, 0.17971688457142401263, 0.10413274328597779683, 0.096806606002943468292, 0.095972114441355463321, 0.077888109608563196873, 0, 0, 0},
{0, 0.00060835884164537896556, 0.00057248928258038056342, 0.00054601310456751364283, 0.00045596139082362406765, 0.00036256195477186049098, 0.00033554189220614231851, 0.00081415383922815243514, 0.00064529700989722222747, 0.00063280618158918571729, 0.00066801533625483495039, 0.00061304601669530541484, 0, 0, 0}
}

Definition at line 114 of file CSCTFPtMethods.h.

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

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

Definition at line 109 of file CSCTFPtMethods.h.

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

const double CSCTFPtMethods::A_sig13Rare
static
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, 0, 0},
{0, 0, 0.72981359973468040714, 0.25552798678505961316, 0.20538399097483123201, 0.13568477284924612691, 0.087691623490571385391, 0.14380693710811331965, 0.17784552932129321645, 0.15447707796169932171, 0.15118995597952319954, 0.13106219757004208826, 0, 0, 0},
{0, 0, 0.00047001852983351251119, 0.00053481400606665866967, 0.00036348184816972377081, 0.00037774161715020031574, 0.00026657604722595630358, 0.00029086094173271957383, 0.00068184877937593074432, 0.00058313040724595804811, 0.00061068422520455867882, 0.00061315948044054677767, 0, 0, 0}
}

Definition at line 116 of file CSCTFPtMethods.h.

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

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

Definition at line 111 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), and Pt2Stn2012().

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

Definition at line 118 of file CSCTFPtMethods.h.

Referenced by Pt2Stn2010(), and Pt2Stn2012().

const double CSCTFPtMethods::A_sig23
static
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 Pt2StnChiSq(), and Pt3StnChiSq().

const float CSCTFPtMethods::dphifr1
static

Definition at line 180 of file CSCTFPtMethods.h.

Referenced by Pt2StnChiSq(), and Pt3StnChiSq().

const float CSCTFPtMethods::etabins
static
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(), 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(), and Pt3StnChiSq().

const float CSCTFPtMethods::sigmafr0
static

Definition at line 181 of file CSCTFPtMethods.h.

Referenced by Pt2StnChiSq(), and Pt3StnChiSq().

const float CSCTFPtMethods::sigmafr1
static

Definition at line 182 of file CSCTFPtMethods.h.

Referenced by Pt2StnChiSq(), and Pt3StnChiSq().

const L1MuTriggerPtScale* CSCTFPtMethods::trigger_scale
private

Definition at line 208 of file CSCTFPtMethods.h.

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