pmtbaseline_ana.hh

Go to the documentation of this file.
00001 
00015 #ifndef PMTBASELINE_ANA_HH
00016 #define PMTBASELINE_ANA_HH
00017 
00018 #include "ana_base.hh"
00019 #include <map>
00020 #include <TH1D.h>
00021 
00026 class pmtbaseline_ana : public ana_base{
00027 
00028 public:
00029 
00031   pmtbaseline_ana();
00032 
00034   virtual ~pmtbaseline_ana(){};
00035 
00039   virtual bool initialize();
00040 
00044   virtual bool analyze(storage_manager* storage);
00045 
00049   virtual bool finalize();
00050 
00052   void set_range_pulse_start_time(double v1, double v2)   {_cut_tstart.first=v1;   _cut_tstart.second=v2;   };
00053 
00055   void set_range_pulse_start_time_reco(double v1, double v2)   {_cut_tstart_reco.first=v1;   _cut_tstart_reco.second=v2;   };
00056 
00058   void set_range_pulse_end_time(double v1, double v2)     {_cut_tend.first=v1;     _cut_tend.second=v2;     };
00059 
00061   void set_range_pulse_amp(double v1, double v2)          {_cut_amp.first=v1;      _cut_amp.second=v2;      };
00062 
00064   void set_range_pulse_charge(double v1,double v2)        {_cut_charge.first=v1;   _cut_charge.second=v2;   };
00065 
00067   void set_range_ped_mean(double v1, double v2)           {_cut_pedbase.first=v1;  _cut_pedbase.second=v2;  };
00068 
00070   void set_range_ped_rms(double v1, double v2)            {_cut_pedrms.first=v1;   _cut_pedrms.second=v2;   };
00071 
00073   void set_range_event_id(PMT::word_t v1, PMT::word_t v2) {_cut_event_id.first=v1; _cut_event_id.second=v2; };
00074 
00076   void set_range_channel(PMT::ch_number_t v1, PMT::ch_number_t v2) {_cut_channels.first=v1; _cut_channels.second=v2;};
00077 
00079   void set_range_sum_charge(double v1, double v2)         {_cut_sum_charge.first=v1; _cut_sum_charge.second=v2;};
00080 
00082   void set_range_sum_peak(double v1, double v2)           {_cut_sum_peak.first=v1; _cut_sum_peak.second=v2;};
00083 
00085   void set_range_npulse(double v1, double v2)             {_cut_npulse.first=v1; _cut_npulse.second=v2;};
00086 
00087   //
00088   // Getters
00089   //
00090 
00092   const std::pair<double,double> range_pulse_start_time() const   {return _cut_tstart;};
00093 
00095   const std::pair<double,double> range_pulse_start_time_reco() const   {return _cut_tstart_reco;};
00096 
00098   const std::pair<double,double> range_pulse_end_time() const     {return _cut_tend;};
00099 
00101   const std::pair<double,double> range_pulse_amp() const          {return _cut_amp;};
00102 
00104   const std::pair<double,double> range_pulse_charge() const       {return _cut_charge;};
00105 
00107   const std::pair<double,double> range_ped_mean() const           {return _cut_pedbase;};
00108 
00110   const std::pair<double,double> range_ped_rms() const            {return _cut_pedrms;};
00111 
00113   const std::pair<PMT::word_t,PMT::word_t> range_event_id() const {return _cut_event_id;};
00114 
00116   const std::pair<PMT::word_t,PMT::word_t> range_channel() const  {return _cut_channels;};
00117 
00119   const std::pair<double,double> range_sum_charge() const         {return _cut_sum_charge;};
00120 
00122   const std::pair<double,double> range_sum_peak() const           {return _cut_sum_peak;};
00123 
00125   const std::pair<UInt_t,UInt_t> range_npulse() const         {return _cut_npulse;};
00126 
00127 protected:
00128 
00130   void reset_cuts();
00131 
00132   std::map<PMT::ch_number_t,TH1D*> _hArray_PedMean, _hArray_PedRMS, _hArray_Charge, _hArray_Peak;
00133 
00135   std::pair<double,double> _cut_tstart, _cut_tstart_reco, _cut_tend, _cut_amp, _cut_charge, _cut_pedbase, _cut_pedrms;
00136 
00138   std::pair<double,double> _cut_sum_charge, _cut_sum_peak;
00139 
00141   std::pair<UInt_t,UInt_t> _cut_npulse;  
00142 
00144   std::pair<PMT::word_t,PMT::word_t> _cut_event_id;
00145 
00147   std::pair<PMT::ch_number_t,PMT::ch_number_t> _cut_channels;
00148 
00149 };
00150 
00151 #endif
00152  // end of doxygen group 

Generated on Mon Apr 7 15:35:12 2014 for MyProject by  doxygen 1.4.7