#ifndef SimpleJetCorrector_h #define SimpleJetCorrector_h #include #include #include class JetCorrectorParameters; class SimpleJetCorrector { public: //-------- Constructors -------------- SimpleJetCorrector(); SimpleJetCorrector(const std::string& fDataFile, const std::string& fOption = ""); SimpleJetCorrector(const JetCorrectorParameters& fParameters); //-------- Destructor ----------------- ~SimpleJetCorrector(); //-------- Member functions ----------- void setInterpolation(bool fInterpolation) {mDoInterpolation = fInterpolation;} float correction(const std::vector& fX,const std::vector& fY) const; const JetCorrectorParameters& parameters() const {return *mParameters;} private: //-------- Member functions ----------- SimpleJetCorrector(const SimpleJetCorrector&); SimpleJetCorrector& operator= (const SimpleJetCorrector&); float invert(std::vector fX) const; float correctionBin(unsigned fBin,const std::vector& fY) const; unsigned findInvertVar(); //-------- Member variables ----------- bool mDoInterpolation; unsigned mInvertVar; TFormula* mFunc; JetCorrectorParameters* mParameters; }; #endif