00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #ifndef __TMARJETCAL
00012 #define __TMARJETCAL
00013
00014 #include <iostream>
00015 #include <cstdio>
00016 #include <iomanip>
00017 #include <fstream>
00018 #include <string>
00019 #include <TLorentzVector.h>
00020 #include <TTree.h>
00021 #include "Marana/TMarEvent.h"
00022
00023
00024
00025 #define MYR2D 180.0/3.14159265359
00026
00027
00028 #define NBTHETABINS 8
00029 #define NBCOEFS 3
00030
00031 using namespace std;
00032
00033
00034 typedef struct {
00035 Float_t min;
00036 Float_t max;
00037 Float_t val;
00038
00039 } TBinnedval_t;
00040
00041
00042 typedef struct {
00043 Float_t min;
00044 Float_t max;
00045 Float_t val[NBCOEFS];
00046
00047 } TBinnedcoef_t;
00048
00049
00050
00051
00052 class TMarJetCal
00053 {
00055
00056
00058
00059 public:
00060
00061 TBinnedval_t fStep1Coef[NBTHETABINS];
00062 TBinnedcoef_t fStep2CoefData[NBTHETABINS];
00063 TBinnedcoef_t fStep2CoefMC[NBTHETABINS];
00064 TBinnedcoef_t fStep2CoefDataRatio[NBTHETABINS];
00065 TBinnedcoef_t fStep2CoefMCRatio[NBTHETABINS];
00066
00067 TMarJetCal();
00068 TMarJetCal(Char_t *FileStep1,Char_t *FileStep2Data,Char_t *FileStep2MC);
00069 TMarJetCal(Char_t *FileStep2Data,Char_t *FileStep2MC);
00070 TMarJetCal(Char_t *FileStep2Data,Char_t *FileStep2MC,Char_t *FileStep2DataRatio,Char_t *FileStep2MCRatio);
00071 ~TMarJetCal();
00072 Float_t ApplyCalib(Float_t Ptjetnocal,Float_t Thetajet,Int_t MCFlag,Int_t option);
00073 TLorentzVector ApplyHadroo2Calib(TLorentzVector tracks,TLorentzVector clusters,Float_t thetajet,Short_t MCFlag);
00074
00075 TLorentzVector MyHadroo2KtJetCalibration(H1PartJet* UncalJet,Short_t MCFlag);
00076 TLorentzVector MyHadroo2TestJetCalibration(H1PartJet* UncalJet,Short_t MCFlag);
00077
00078
00079
00080
00081
00082 };
00083
00084 #endif
00085