00001 #ifndef UE_ANALYSIS_H_ 00002 #define UE_ANALYSIS_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 @author Sebastian Johnert, Judith Katzy, Zhonghua Qin Dec 2008 */ 00023 00024 class UEAnalysis: public baseAnalysis 00025 { 00026 public: 00027 UEAnalysis(); 00028 virtual ~UEAnalysis(); 00029 00030 virtual int Init(double tr_max_eta, double tr_min_pt); 00031 virtual int Process(HepMC::GenEvent* hepmcevt); 00032 virtual int Finalize(TFile* output); 00033 /** averagedHistograms: function to calculate averaged histograms for the UE analysis*/ 00034 virtual std::vector<TH1D*> averagedHistograms(); 00035 00036 private: 00037 TH1D *m_NchargedToward[26]; 00038 TH1D *m_NchargedTransverse[26]; 00039 TH1D *m_NchargedAway[26]; 00040 00041 TH1D *m_NchargedMeanToward; 00042 TH1D *m_NchargedMeanTransverse; 00043 TH1D *m_NchargedMeanAway; 00044 00045 TH1D *m_PtsumToward[26]; 00046 TH1D *m_PtsumTransverse[26]; 00047 TH1D *m_PtsumAway[26]; 00048 00049 TH1D *m_PtsumMeanToward; 00050 TH1D *m_PtsumMeanTransverse; 00051 TH1D *m_PtsumMeanAway; 00052 00053 TH1D *m_Njet; 00054 TH1D *m_Ptjet; 00055 TH1D *m_Ptjet_log; 00056 TH1D *m_Ptleadingjet; 00057 TH1D *m_Ptleadingjet_log; 00058 00059 TH1D *m_charged_particle_pt; 00060 00061 /** definition for the variable bin size for the <Ncharged> vs pT calculation*/ 00062 int m_nbin_pT; 00063 //size of m_nbinRange has to be nbin + 1 due to 0 at the beginning 00064 double m_nbinRange_pT[26]; 00065 }; 00066 00067 #endif // UE_ANALYSIS_H_ 00068