CMS 3D CMS Logo

StepEfracParametrization Class Reference

----------------------------------------------------------------- More...

#include <CondFormats/JetMETObjects/interface/GlobalFitParameters.h>

Inheritance diagram for StepEfracParametrization:

Parametrization

List of all members.

Public Member Functions

double correctedJetEt (TMeasurement *const x, double *const par) const
double correctedTowerEt (TMeasurement *const x, double *const par) const
const char * name () const
 StepEfracParametrization ()


Detailed Description

-----------------------------------------------------------------

Definition at line 162 of file GlobalFitParameters.h.


Constructor & Destructor Documentation

StepEfracParametrization::StepEfracParametrization (  )  [inline]

Definition at line 164 of file GlobalFitParameters.h.

00164 : Parametrization(36,0) {}  //(36,2) {}


Member Function Documentation

double StepEfracParametrization::correctedJetEt ( TMeasurement *const   x,
double *const   par 
) const [inline, virtual]

Implements Parametrization.

Definition at line 214 of file GlobalFitParameters.h.

References TMeasurement::pt.

00214                                                                        {
00215     return  x->pt;   
00216     //OutOfCone, Dominant, parametrized in Et since cone R lorenz invariant
00217     //return x->pt * ( 1. + 0.295 * par[0] * exp(- 0.02566 * par[1] * x->pt));   
00218   }

double StepEfracParametrization::correctedTowerEt ( TMeasurement *const   x,
double *const   par 
) const [inline, virtual]

Implements Parametrization.

Definition at line 167 of file GlobalFitParameters.h.

References TMeasurement::EMF, TMeasurement::HadF, TMeasurement::OutF, and HLT_VtxMuL3::result.

00167                                                                          {
00168     double result=0;
00169     
00170     double Efrac = x->EMF/(x->HadF+x->OutF+x->EMF);
00171     if( Efrac < 0.2 ) {
00172       if(x->HadF>=0.0 && x->HadF<=1.0)            result = x->EMF+x->OutF+par[ 0]*x->HadF;
00173       else if (x->HadF>   1.0 && x->HadF<=   2.0) result = x->EMF+x->OutF+par[ 1]*x->HadF;
00174       else if (x->HadF>   2.0 && x->HadF<=   5.0) result = x->EMF+x->OutF+par[ 2]*x->HadF;
00175       else if (x->HadF>   5.0 && x->HadF<=  10.0) result = x->EMF+x->OutF+par[ 3]*x->HadF;
00176       else if (x->HadF>  10.0 && x->HadF<=  20.0) result = x->EMF+x->OutF+par[ 4]*x->HadF;
00177       else if (x->HadF>  20.0 && x->HadF<=  40.0) result = x->EMF+x->OutF+par[ 5]*x->HadF;
00178       else if (x->HadF>  40.0 && x->HadF<=  80.0) result = x->EMF+x->OutF+par[ 6]*x->HadF;
00179       else if (x->HadF>  80.0 && x->HadF<= 160.0) result = x->EMF+x->OutF+par[ 7]*x->HadF;
00180       else if (x->HadF> 160.0 && x->HadF<= 300.0) result = x->EMF+x->OutF+par[ 8]*x->HadF;
00181       else if (x->HadF> 300.0 && x->HadF<= 600.0) result = x->EMF+x->OutF+par[ 9]*x->HadF;
00182       else if (x->HadF> 600.0 && x->HadF<=1000.0) result = x->EMF+x->OutF+par[10]*x->HadF;
00183       else if (x->HadF>1000.0 )                   result = x->EMF+x->OutF+par[11]*x->HadF;
00184     } else if (Efrac < 0.5) {
00185       if(x->HadF>=0.0 && x->HadF<=1.0)            result = x->EMF+x->OutF+par[12]*x->HadF;
00186       else if (x->HadF>   1.0 && x->HadF<=   2.0) result = x->EMF+x->OutF+par[13]*x->HadF;
00187       else if (x->HadF>   2.0 && x->HadF<=   5.0) result = x->EMF+x->OutF+par[14]*x->HadF;
00188       else if (x->HadF>   5.0 && x->HadF<=  10.0) result = x->EMF+x->OutF+par[15]*x->HadF;
00189       else if (x->HadF>  10.0 && x->HadF<=  20.0) result = x->EMF+x->OutF+par[16]*x->HadF;
00190       else if (x->HadF>  20.0 && x->HadF<=  40.0) result = x->EMF+x->OutF+par[17]*x->HadF;
00191       else if (x->HadF>  40.0 && x->HadF<=  80.0) result = x->EMF+x->OutF+par[18]*x->HadF;
00192       else if (x->HadF>  80.0 && x->HadF<= 160.0) result = x->EMF+x->OutF+par[19]*x->HadF;
00193       else if (x->HadF> 160.0 && x->HadF<= 300.0) result = x->EMF+x->OutF+par[20]*x->HadF;
00194       else if (x->HadF> 300.0 && x->HadF<= 600.0) result = x->EMF+x->OutF+par[21]*x->HadF;
00195       else if (x->HadF> 600.0 && x->HadF<=1000.0) result = x->EMF+x->OutF+par[22]*x->HadF;
00196       else if (x->HadF>1000.0 )                   result = x->EMF+x->OutF+par[23]*x->HadF;
00197     } else {
00198       if(x->HadF>=0.0 && x->HadF<=1.0)            result = x->EMF+x->OutF+par[24]*x->HadF;
00199       else if (x->HadF>   1.0 && x->HadF<=   2.0) result = x->EMF+x->OutF+par[25]*x->HadF;
00200       else if (x->HadF>   2.0 && x->HadF<=   5.0) result = x->EMF+x->OutF+par[26]*x->HadF;
00201       else if (x->HadF>   5.0 && x->HadF<=  10.0) result = x->EMF+x->OutF+par[27]*x->HadF;
00202       else if (x->HadF>  10.0 && x->HadF<=  20.0) result = x->EMF+x->OutF+par[28]*x->HadF;
00203       else if (x->HadF>  20.0 && x->HadF<=  40.0) result = x->EMF+x->OutF+par[29]*x->HadF;
00204       else if (x->HadF>  40.0 && x->HadF<=  80.0) result = x->EMF+x->OutF+par[30]*x->HadF;
00205       else if (x->HadF>  80.0 && x->HadF<= 160.0) result = x->EMF+x->OutF+par[31]*x->HadF;
00206       else if (x->HadF> 160.0 && x->HadF<= 300.0) result = x->EMF+x->OutF+par[32]*x->HadF;
00207       else if (x->HadF> 300.0 && x->HadF<= 600.0) result = x->EMF+x->OutF+par[33]*x->HadF;
00208       else if (x->HadF> 600.0 && x->HadF<=1000.0) result = x->EMF+x->OutF+par[34]*x->HadF;
00209       else if (x->HadF>1000.0 )                   result = x->EMF+x->OutF+par[35]*x->HadF;
00210     }
00211     return result;
00212   }

const char* StepEfracParametrization::name (  )  const [inline, virtual]

Implements Parametrization.

Definition at line 165 of file GlobalFitParameters.h.

00165 { return "StepEfracParametrization";}


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:32:48 2009 for CMSSW by  doxygen 1.5.4