File indexing completed on 2023-03-17 10:47:05
0001 #ifndef JetCorrectionUncertainty_h
0002 #define JetCorrectionUncertainty_h
0003
0004 #include "CondFormats/Serialization/interface/Serializable.h"
0005
0006 #include <string>
0007 #include <vector>
0008 class SimpleJetCorrectionUncertainty;
0009 class JetCorrectorParameters;
0010
0011 class JetCorrectionUncertainty {
0012 public:
0013 JetCorrectionUncertainty();
0014 JetCorrectionUncertainty(const std::string& fDataFile);
0015 JetCorrectionUncertainty(const JetCorrectorParameters& fParameters);
0016 JetCorrectionUncertainty(const JetCorrectionUncertainty&) = delete;
0017 JetCorrectionUncertainty& operator=(const JetCorrectionUncertainty&) = delete;
0018 ~JetCorrectionUncertainty();
0019
0020 void setParameters(const std::string& fDataFile);
0021 void setJetEta(float fEta);
0022 void setJetPt(float fPt);
0023 void setJetE(float fE);
0024 void setJetPhi(float fE);
0025 void setJetEMF(float fEMF);
0026 void setLepPx(float fLepPx);
0027 void setLepPy(float fLepPy);
0028 void setLepPz(float fLepPz);
0029 void setAddLepToJet(bool fAddLepToJet) { mAddLepToJet = fAddLepToJet; }
0030 float getUncertainty(bool fDirection);
0031
0032 private:
0033 std::vector<float> fillVector(const std::vector<std::string>& fNames);
0034 float getPtRel();
0035
0036 float mJetE;
0037 float mJetEta;
0038 float mJetPt;
0039 float mJetPhi;
0040 float mJetEMF;
0041 float mLepPx;
0042 float mLepPy;
0043 float mLepPz;
0044 bool mAddLepToJet;
0045 bool mIsJetEset;
0046 bool mIsJetPtset;
0047 bool mIsJetPhiset;
0048 bool mIsJetEtaset;
0049 bool mIsJetEMFset;
0050 bool mIsLepPxset;
0051 bool mIsLepPyset;
0052 bool mIsLepPzset;
0053 SimpleJetCorrectionUncertainty* mUncertainty;
0054 };
0055
0056 #endif