Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:17

0001 #ifndef SimpleJetCorrectionUncertainty_h
0002 #define SimpleJetCorrectionUncertainty_h
0003 
0004 #include "CondFormats/Serialization/interface/Serializable.h"
0005 
0006 #include <string>
0007 #include <vector>
0008 class JetCorrectorParameters;
0009 
0010 class SimpleJetCorrectionUncertainty {
0011 public:
0012   SimpleJetCorrectionUncertainty();
0013   SimpleJetCorrectionUncertainty(const std::string& fDataFile);
0014   SimpleJetCorrectionUncertainty(const JetCorrectorParameters& fParameters);
0015   SimpleJetCorrectionUncertainty(const SimpleJetCorrectionUncertainty&) = delete;
0016   SimpleJetCorrectionUncertainty& operator=(const SimpleJetCorrectionUncertainty&) = delete;
0017   ~SimpleJetCorrectionUncertainty();
0018   const JetCorrectorParameters& parameters() const { return *mParameters; }
0019   float uncertainty(const std::vector<float>& fX, float fY, bool fDirection) const;
0020 
0021 private:
0022   int findBin(const std::vector<float>& v, float x) const;
0023   float uncertaintyBin(unsigned fBin, float fY, bool fDirection) const;
0024   float linearInterpolation(float fZ, const float fX[2], const float fY[2]) const;
0025   JetCorrectorParameters* mParameters;
0026 };
0027 
0028 #endif