00001
00002
00003
00004
00005
00006
00007
00008
00010 #ifndef __TTRIGGERREWEIGHT
00011 #define __TTRIGGERREWEIGHT
00012
00013 #include <cstdio>
00014 #include <cstdlib>
00015
00016 #include <iostream>
00017 #include <fstream>
00018 #include <string>
00019 #include <vector>
00020 #include <list>
00021
00022 #include <TObject.h>
00023 #include <TMath.h>
00024
00025
00026
00027
00028
00029 typedef struct {
00030 Float_t a[10], b[10], c__[10], gbins[9], out3[24] ,
00031 tr_val__[10];
00032 } tr99_1_NEW;
00033
00034
00035
00036 using namespace std;
00037
00038 class TTriggerReweight
00039 {
00040 private:
00041
00042
00043
00044 tr99_1_NEW tr99_1;
00045 Float_t trig_corr__(Float_t *pet, Float_t *gar, Int_t *iyr);
00046 Float_t trigeff_9899__(Float_t *x, Float_t *y, Int_t *imeth, Int_t *iyear);
00047 Int_t fill_(Int_t *sel, Int_t *iyr);
00048 Int_t inter_(Int_t *g1,Int_t *g2,Float_t *gar,Float_t *pet,Int_t *sel, Int_t *iyr);
00049
00050
00051
00052
00053 Bool_t fCCTrigHERA2Init;
00054 Double_t triggconst[8][8];
00055 Double_t xl[8];
00056 Double_t xh[8];
00057 Double_t q2l[8];
00058 Double_t q2h[8];
00059 void SetTriggEffTable();
00060
00061
00062 public:
00063
00064
00065 Float_t CCTriggerEff(Float_t Pth,Float_t Thh,Int_t RunPeriod);
00066 Float_t ApplyCCTRIGGEFFreweightHERA2(Float_t xhadrons, Float_t Q2hadrons);
00067
00068
00069
00070 Float_t DiJetsTriggerEff(Float_t PtJet1,Float_t ThetaJet1,Int_t RunPeriod=5);
00071
00072
00073
00074 TTriggerReweight();
00075
00076 };
00077
00078 #endif