00001 #ifndef __SEMIL_CORR__ 00002 #define __SEMIL_CORR__ 00003 00004 #include "TH2F.h" 00005 #include "TFile.h" 00006 #include <iostream> 00007 #include "TLorentzVector.h" 00008 #include <vector> 00009 00010 using namespace std; 00011 00012 class semilCorr{ 00013 00014 public: 00015 enum Systematics{ 00016 TAGGINGWEIGHT = 1, 00017 FRAGMENTATION = 2, 00018 DECAY = 3, 00019 MSRESO = 4, 00020 IDRESO = 5, 00021 DECAYREW = 6, 00022 MUONSPECTRUM = 7, 00023 ALL = 8 00024 }; 00025 00026 private: 00027 vector<vector<TH1F*> > m_histos; 00028 vector<float> etas; 00029 00030 TFile* f; 00031 00032 bool Debug; 00033 00034 float getResponse(float pt, float eta, vector<TH1F*> h); 00035 float getSemilCorrToIncl(TLorentzVector jet, TLorentzVector mu, 00036 vector<TH1F*> histos); 00037 vector<int> getHistoIndeces(semilCorr::Systematics syst); 00038 00039 00040 public: 00041 semilCorr(TString fIn, string suffix = "", bool DebugIn = false); 00042 ~semilCorr(); 00043 00044 float getSemilCorrToIncl(TLorentzVector jet, TLorentzVector mu); 00045 float getBjetCorrToIncl(TLorentzVector jet, TLorentzVector mu); 00046 00047 float getSemilCorrToInclSyst(TLorentzVector jet, TLorentzVector mu, 00048 semilCorr::Systematics syst = semilCorr::ALL); 00049 00050 }; 00051 00052 #endif