00001 #ifndef SimpleJetCorrectionUncertainty_h 00002 #define SimpleJetCorrectionUncertainty_h 00003 00004 #include <string> 00005 #include <vector> 00006 class JetCorrectorParameters; 00007 00008 class SimpleJetCorrectionUncertainty 00009 { 00010 public: 00011 SimpleJetCorrectionUncertainty(); 00012 SimpleJetCorrectionUncertainty(const std::string& fDataFile); 00013 SimpleJetCorrectionUncertainty(const JetCorrectorParameters&); 00014 ~SimpleJetCorrectionUncertainty(); 00015 const JetCorrectorParameters& parameters() const {return *mParameters;} 00016 float uncertainty(std::vector<float> fX, float fY, bool fDirection) const; 00017 00018 private: 00019 SimpleJetCorrectionUncertainty(const SimpleJetCorrectionUncertainty&); 00020 SimpleJetCorrectionUncertainty& operator= (const SimpleJetCorrectionUncertainty&); 00021 int findBin(std::vector<float> v, float x) const; 00022 float uncertaintyBin(unsigned fBin, float fY, bool fDirection) const; 00023 float linearInterpolation (float fZ, const float fX[2], const float fY[2]) const; 00024 JetCorrectorParameters* mParameters; 00025 }; 00026 00027 #endif 00028