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