00001 #ifndef ElasScatAnalysis_H 00002 #define ElasScatAnalysis_H 00003 00004 #include "baseAnalysis.h" 00005 00006 // forward declarations 00007 namespace HepMC { 00008 class GenEvent; 00009 } 00010 class TH1D; 00011 00012 /** 00013 @class ElasScatAnalysis.h 00014 @brief This class is used for hepmc based validation of elastic scattered events 00015 00016 Init() is used to initialise histograms 00017 Process() is used to process the events and do the analysis and 00018 the ouput (histograms) will be saved in a root file in the ElasScat folder 00019 00020 @author provided by Hasko Stenzel, September 2009 */ 00021 00022 class ElasScatAnalysis: public baseAnalysis 00023 { 00024 public: 00025 00026 ElasScatAnalysis(); 00027 virtual ~ElasScatAnalysis(); 00028 00029 virtual int Init(double tr_max_eta, double tr_min_pt); 00030 virtual int Process(HepMC::GenEvent* hepmcevt); 00031 00032 private: 00033 00034 TH1D *n_proton; 00035 TH1D *p1_eta; 00036 TH1D *p2_eta; 00037 TH1D *p1_pt; 00038 TH1D *p2_pt; 00039 TH1D *p1_theta; 00040 TH1D *p2_theta; 00041 TH1D *p1_phi; 00042 TH1D *p2_phi; 00043 TH1D *t_spect; 00044 TH1D *tau_spect; 00045 TH1D *pi1_en; 00046 TH1D *pi1_divx; 00047 TH1D *pi1_divy; 00048 TH1D *pi2_en; 00049 TH1D *pi2_divx; 00050 TH1D *pi2_divy; 00051 00052 00053 }; 00054 00055 #endif