CMS 3D CMS Logo

FML1PtSmearer.h

Go to the documentation of this file.
00001 #ifndef FML1PtSmearer_H
00002 #define FML1PtSmearer_H
00003 
00004 class SimpleL1MuGMTCand;
00005 class RandomEngine; 
00006 
00016 class FML1PtSmearer {
00017 
00018 public:
00019 
00021   FML1PtSmearer(const RandomEngine * engine);
00022    
00024   ~FML1PtSmearer();
00025     
00027   bool smear(SimpleL1MuGMTCand *);
00028 
00029 private:
00030 
00031   const RandomEngine * random;
00032 
00033   int IndexOfPtgen(float pt);
00034 
00035   static const int NPTL1=31;
00036   static const int NPT=136;
00037   static const int DIMRES=3*NPT*NPTL1;
00038   float resolution[DIMRES];
00039 
00040   inline float ChargeMisIdent(int ieta , double pt) {
00041     float df=0.;
00042     switch (ieta) {
00043     case 0: 
00044       df =  2.16909e-03  + 1.95708e-04*pt ;
00045       break;
00046     case 1:  
00047       if (pt>500.) pt = 500.;
00048       df = 1.00445e-02 + 1.15253e-03*pt - 7.73819e-07*pt*pt ;
00049       break;
00050     case 2:
00051       if (pt>200.) pt = 200.;
00052       df = 5.00580e-02 + 5.88949e-03*pt - 2.98100e-05*pt*pt + 5.02454e-08*pt*pt*pt ;
00053       break;
00054     }
00055     return (df<0.5? df: 0.5) ;
00056   }
00057   
00058 };
00059 
00060 #endif

Generated on Tue Jun 9 17:35:09 2009 for CMSSW by  doxygen 1.5.4