CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/JetMETCorrections/TauJet/interface/TauJetCorrector.h

Go to the documentation of this file.
00001 #ifndef TauJetCorrector_h
00002 #define TauJetCorrector_h
00003 #include "JetMETCorrections/Objects/interface/JetCorrector.h"
00004 #include <map>
00005 #include <string>
00006 #include <vector>
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 
00012 
00013 class TauJetCorrector: public JetCorrector
00014 {
00015 public:  
00016 
00017   TauJetCorrector(const edm::ParameterSet& fParameters);
00018   virtual ~TauJetCorrector();
00019   virtual double  correction (const LorentzVector& fJet) const;
00020   virtual double  correction(const reco::Jet&) const;
00021 
00022   void setParameters(std::string, int);
00024   virtual bool eventRequired () const {return false;}
00025    
00026 private:
00027 
00028   class ParametrizationTauJet{
00029       public:
00030         ParametrizationTauJet(int ptype, std::vector<double> x, double u) {
00031                 type=ptype;
00032                 theParam[type] = x;
00033                 theEtabound[type] = u;
00034                 //cout<<"ParametrizationTauJet "<<type<<" "<<u<<endl;
00035         };
00036 
00037         double value(double, double) const;
00038 
00039       private:
00040         int type;
00041         std::map<int, std::vector<double> > theParam;
00042         std::map<int,double> theEtabound;
00043   };
00044 
00045   typedef std::map<double,ParametrizationTauJet *> ParametersMap;
00046   ParametersMap parametrization;
00047   int type;
00048 };
00049 
00050 #endif