File indexing completed on 2024-11-27 03:17:38
0001 #ifndef SimpleJetCorrectionUncertainty_h
0002 #define SimpleJetCorrectionUncertainty_h
0003
0004 #include <string>
0005 #include <vector>
0006 #include "CondFormats/JetMETObjects/interface/JetCorrectorParameters.h"
0007
0008 class SimpleJetCorrectionUncertainty {
0009 public:
0010 SimpleJetCorrectionUncertainty() = default;
0011 SimpleJetCorrectionUncertainty(const std::string& fDataFile);
0012 SimpleJetCorrectionUncertainty(const JetCorrectorParameters& fParameters);
0013 SimpleJetCorrectionUncertainty(const SimpleJetCorrectionUncertainty&) = delete;
0014 SimpleJetCorrectionUncertainty& operator=(const SimpleJetCorrectionUncertainty&) = delete;
0015 SimpleJetCorrectionUncertainty& operator=(SimpleJetCorrectionUncertainty&&) = default;
0016 ~SimpleJetCorrectionUncertainty() = default;
0017 const JetCorrectorParameters& parameters() const { return mParameters; }
0018 float uncertainty(const std::vector<float>& fX, float fY, bool fDirection) const;
0019
0020 private:
0021 float uncertaintyBin(unsigned fBin, float fY, bool fDirection) const;
0022 float linearInterpolation(float fZ, const float fX[2], const float fY[2]) const;
0023 JetCorrectorParameters mParameters;
0024 };
0025
0026 #endif