00001 #ifndef UEAnalysis_H 00002 #define UEAnalysis_H 00003 00004 #include "baseAnalysis.h" 00005 00006 // forward declarations 00007 namespace HepMC { 00008 class GenEvent; 00009 } 00010 class TH1D; 00011 class TFile; 00012 00013 /** 00014 @class UEAnalysis.h 00015 @brief Class to study underlying events. Currently the UE is studied for 00016 events with at least one jet, e.g. QCD 2->2, pp->W+jet, pp->Z+jet. 00017 Extension to DrellYan events will follow. 00018 Examples to generate e.g events are given in the specific generator 00019 directory, e.g. examples/pythia6 ; the histogramm output is stored 00020 in the UE folder of the root file. 00021 00022 00023 @author Sebastian Johnert, Judith Katzy, Zhonghua Qin Dec 2008 */ 00024 00025 class UEAnalysis: public baseAnalysis 00026 { 00027 public: 00028 00029 UEAnalysis(); 00030 virtual ~UEAnalysis(); 00031 00032 virtual int Init(double tr_max_eta, double tr_min_pt); 00033 virtual int Process(HepMC::GenEvent* hepmcevt); 00034 virtual int Finalize(TFile* output); 00035 /** averagedHistograms: function to calculate averaged histograms for the UE analysis*/ 00036 virtual std::vector<TH1D*> averagedHistograms(); 00037 00038 private: 00039 00040 TH1D *m_NchargedToward[26]; 00041 TH1D *m_NchargedTransverse[26]; 00042 TH1D *m_NchargedAway[26]; 00043 00044 TH1D *m_NchargedMeanToward; 00045 TH1D *m_NchargedMeanTransverse; 00046 TH1D *m_NchargedMeanAway; 00047 00048 TH1D *m_PtsumToward[26]; 00049 TH1D *m_PtsumTransverse[26]; 00050 TH1D *m_PtsumAway[26]; 00051 00052 TH1D *m_PtsumMeanToward; 00053 TH1D *m_PtsumMeanTransverse; 00054 TH1D *m_PtsumMeanAway; 00055 00056 00057 TH1D *m_Njet; 00058 TH1D *m_Ptjet; 00059 TH1D *m_Ptjet_log; 00060 TH1D *m_Ptleadingjet; 00061 TH1D *m_Ptleadingjet_log; 00062 00063 TH1D *m_charged_particle_pt; 00064 00065 /** definition for the variable bin size for the <Ncharged> vs pT calculation*/ 00066 int m_nbin_pT; 00067 //size of m_nbinRange has to be nbin + 1 due to 0 at the beginning 00068 double m_nbinRange_pT[26]; 00069 00070 }; 00071 00072 #endif