00001 #ifndef ElASSCAT_ANALYSIS_H_ 00002 #define ElASSCAT_ANALYSIS_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 ElasScatAnalysis(); 00026 virtual ~ElasScatAnalysis(); 00027 00028 virtual int Init(double tr_max_eta, double tr_min_pt); 00029 virtual int Process(HepMC::GenEvent* hepmcevt); 00030 00031 private: 00032 TH1D *n_proton; 00033 TH1D *p1_eta; 00034 TH1D *p2_eta; 00035 TH1D *p1_pt; 00036 TH1D *p2_pt; 00037 TH1D *p1_theta; 00038 TH1D *p2_theta; 00039 TH1D *p1_phi; 00040 TH1D *p2_phi; 00041 TH1D *t_spect; 00042 TH1D *tau_spect; 00043 TH1D *pi1_en; 00044 TH1D *pi1_divx; 00045 TH1D *pi1_divy; 00046 TH1D *pi2_en; 00047 TH1D *pi2_divx; 00048 TH1D *pi2_divy; 00049 }; 00050 00051 #endif // ElASSCAT_ANALYSIS_H_ 00052