Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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   //---- Member Data ---------
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