00001
00002
00003
00004
00005
00006
00007
00008
00010 #ifndef __TMCXSECTIONREWEIGHT
00011 #define __TMCXSECTIONREWEIGHT
00012
00013
00014 #define USEMARQCDFUNC 0
00015
00016 #include <cstdio>
00017 #include <cstdlib>
00018
00019 #include <iostream>
00020 #include <fstream>
00021 #include <string>
00022 #include <vector>
00023 #include <list>
00024
00025
00026 #include <TObject.h>
00027 #include <TMath.h>
00028
00029
00030 #include "H1Mods/H1PartMCArrayPtr.h"
00031 #include "H1Mods/H1PartMC.h"
00032
00033
00034 #if USEMARQCDFUNC
00035 #include "MarQCDFunc/MarQCDFunc.h"
00036 #endif
00037
00038
00039 using namespace std;
00040
00041 class TMCXSectionReweight
00042 {
00043
00044 private:
00045
00046
00047
00048 Float_t nlocorr_(Float_t *y, Float_t *pt, Int_t *bsign, Float_t *ene, Int_t *opt, Float_t *code);
00049
00050
00051
00052 public:
00053
00054 Double_t GetEpvecNLOWeight(H1PartMCArrayPtr GenPart,Float_t pBeamEnergy,Int_t DecayType);
00055 Double_t GetQCDWeight(Double_t& xGen,Double_t& Q2Gen,Double_t& pola,Short_t& LeptonCharge,Short_t& MCType);
00056
00057
00058
00059
00060 TMCXSectionReweight();
00061
00062 };
00063
00064 #endif