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