00001 00015 #ifndef LED_PULSE_ANALYZER_HH 00016 #define LED_PULSE_ANALYZER_HH 00017 00018 #include <TTree.h> 00019 #include <TH1D.h> 00020 #include <TCanvas.h> 00021 #include <TLine.h> 00022 #include <set> 00023 #include <algorithm> 00024 #include <map> 00025 #include <vector> 00026 #include "ana_base.hh" 00027 #include <TH1D.h> 00028 #include <TH2D.h> 00029 #include <math.h> 00030 #include <TGraph.h> 00031 #include <TGraphErrors.h> 00032 00033 #include "ana_base.hh" 00034 #include "led_pulse_selector.hh" 00035 00045 class led_pulse_analyzer : public ana_base{ 00046 00047 public: 00048 00050 led_pulse_analyzer(); 00051 00053 virtual ~led_pulse_analyzer(){}; 00054 00056 virtual bool initialize(); 00057 00059 virtual bool analyze(storage_manager* storage); 00060 00062 virtual bool finalize(); 00063 00065 void clear_event(); 00066 00067 void set_pulse_type(DATA_STRUCT::DATA_TYPE type){_selector.set_pulse_type(type);}; 00068 00069 void set_ref_channel(PMT::ch_number_t ch){_selector.set_ref_channel(ch);}; 00070 00071 void set_frame_size(PMT::word_t frame_size){_selector.set_frame_size(frame_size);}; 00072 00073 void set_time_cut(PMT::word_t time_cut){_selector.set_time_cut(time_cut);}; 00074 00075 private: 00076 00077 PMT::word_t _event_id; 00078 PMT::word_t _ch_frame_id; 00079 PMT::word_t _ch_sample_id; 00080 PMT::word_t _disc_id; 00081 00082 TTree *_ch_tree; 00083 00084 int _ch, _nsample; 00085 00086 double _wf_charge, _wf_peak, _wf_ts, _wf_tm, _wf_te, _ped_mean, _ped_rms; 00087 00088 led_pulse_selector _selector; 00089 00090 }; 00091 00092 #endif 00093 // end of doxygen group
1.4.7