CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/FastSimulation/ParamL3MuonProducer/interface/FML3PtSmearer.h

Go to the documentation of this file.
00001 #ifndef FML3PtSmearer_H
00002 #define FML3PtSmearer_H
00003 
00004 #include "DataFormats/Math/interface/LorentzVector.h"
00005 #include "DataFormats/Math/interface/Vector3D.h"
00006 
00016 // class declarations
00017 
00018 class RandomEngine;
00019 
00020 class FML3PtSmearer {
00021 
00022 public:
00023 
00025   FML3PtSmearer(const RandomEngine * engine);
00026  
00028   ~FML3PtSmearer();
00029  
00031   math::XYZTLorentzVector smear(math::XYZTLorentzVector simP4 , math::XYZVector recP3) const;
00032 
00033 private:
00034 
00035   static double MuonMassSquared_;
00036 
00037   const RandomEngine * random;
00039   double error(double thePt, double theEta) const;
00040   double shift(double thePt, double theEta) const;
00041   double funShift(double x) const;
00042   double funSigma(double eta , double pt) const;
00043   double funSigmaPt(double x) const;
00044   double funSigmaEta(double x) const;
00045 
00046 
00047 };
00048 
00049 #endif