00001
00002
00003
00004
00005
00006 #ifndef STAR_St2009WjjMaker
00007 #define STAR_St2009WjjMaker
00008
00021 #ifndef StMaker_H
00022 #include "StMaker.h"
00023 #endif
00024 #include <TString.h>
00025 #include <TLorentzVector.h>
00026
00027 class St2009WMaker;
00028 class StSpinDbMaker;
00029
00030 class St2009WjjMaker : public StMaker {
00031 private:
00032 int nRun;
00033 int Tfirst,Tlast;
00034
00035 float par_jetPtLow,par_jetPtHigh;
00036 float par_djPtLow, par_djPtHigh , par_djEtaMin , par_djPzLow, par_djPzHigh ;
00037 float par_jetEtaLow,par_jetEtaHigh ;
00038 float par_etaSumLow, par_etaSumHigh;
00039 bool par_spinSort;
00040 float par_vertexZ;
00041 int par_corLevel;
00042 int isMC;
00043
00044 St2009WMaker *wMK;
00045 StSpinDbMaker *spinDb;
00046 TString core;
00047 TString mJEScorrFile;
00048 enum {mxJESeta=8};
00049 TH1F *mJEScorrH[mxJESeta];
00050
00051
00052 TObjArray *HList;
00053 enum {mxHA=32}; TH1 * hA[mxHA];
00054 TH1F *hbxIdeal;
00055
00056 void initHistos();
00057 void bXingSort();
00058 public:
00059 St2009WjjMaker(const char *name="2009Wjetjet");
00060 virtual ~St2009WjjMaker(){};
00061 virtual Int_t Init();
00062 virtual Int_t InitRun (int runumber);
00063 virtual Int_t Make();
00064 void setHList(TObjArray * x){HList=x;}
00065 void setSpinSort(bool x){ par_spinSort=x;}
00066 void setMC(int x){ isMC=x;}
00067 void setCorrection(char *name){ mJEScorrFile=name; par_corLevel=1;}
00068
00069 void attachWalgoMaker(St2009WMaker *mk) { wMK=mk;}
00070 void attachSpinDb(StSpinDbMaker *mk){ spinDb=mk;}
00071 virtual Int_t FinishRun(int runumber);
00072
00073 TLorentzVector trueJet( TLorentzVector recoJet) ;
00074
00076 virtual const char *GetCVS() const {
00077 static const char cvs[]="Tag $Name: $ $Id: St2009WjjMaker.h,v 1.2 2010/05/01 01:31:44 balewski Exp $ built "__DATE__" "__TIME__ ;
00078 return cvs;
00079 }
00080
00081 ClassDef(St2009WjjMaker,0)
00082 };
00083
00084 #endif
00085
00086
00087
00088
00089
00090
00091
00092
00093