Newer
Older
TB_Chris / TbUT / src / .svn / text-base / TbUTPedestalSubtractorDataMonitorAlgorithm.cpp.svn-base
  1. /*
  2. * TbUTPedestalDataMonitorAlgorithm.cpp
  3. *
  4. * Created on: Oct 18, 2014
  5. * Author: ADendek
  6. */
  7.  
  8. #include "TbUTPedestalSubtractorDataMonitorAlgorithm.h"
  9.  
  10. #include "TbUTDataLocations.h"
  11. #include "TbUTRawData.h"
  12.  
  13. #include "GaudiUtils/Aida2ROOT.h"
  14. #include <boost/format.hpp>
  15.  
  16. DECLARE_NAMESPACE_ALGORITHM_FACTORY(TbUT,PedestalSubtractorDataMonitorAlgorithm)
  17.  
  18. using namespace TbUT;
  19.  
  20. PedestalSubtractorDataMonitorAlgorithm::PedestalSubtractorDataMonitorAlgorithm( const std::string& name,ISvcLocator* pSvcLocator)
  21. : DataMonitorAlgorithm ( name , pSvcLocator )
  22. {
  23. DataMonitorAlgorithm::m_inputDataLoc=TbUT::DataLocations::PedestalTES;
  24. }
  25.  
  26. std::string PedestalSubtractorDataMonitorAlgorithm::createHistogramName()
  27. {
  28. boost::format l_histogramName("Data_after_pedestal_event_%d");
  29. l_histogramName % m_evtNumber;
  30. return str(l_histogramName);
  31. }
  32.  
  33. TH2D * PedestalSubtractorDataMonitorAlgorithm::bookHistogram2D(const std::string & p_histogramName, const std::string & p_histogramTitle, int p_sensorNumber)
  34. {
  35. int l_ylow=-800;
  36. int l_yhigh=800;
  37. int l_ybin=1600;
  38. return Gaudi::Utils::Aida2ROOT::aida2root(book2D( p_histogramName, p_histogramTitle,
  39. -0.5+RawData<>::getMinChannel(),RawData<>::getMaxChannel()+0.5,p_sensorNumber,
  40. l_ylow,l_yhigh,l_ybin ));
  41. }
  42.  
  43. std::string PedestalSubtractorDataMonitorAlgorithm::createHistogramTitle()
  44. {
  45. boost::format l_histogramTitle("Data after Pedestal Subtraction - event%1%");
  46. l_histogramTitle% m_evtNumber;
  47. return str(l_histogramTitle);
  48. }
  49.  
  50. void PedestalSubtractorDataMonitorAlgorithm::createHistogram2D()
  51. {
  52. std::string l_histogramName="PedestalData_vs_channel";
  53. std::string l_histogramTtttle="Data after Pedestal vs channel";
  54. int l_sensorNum=RawData<>::getnChannelNumber();
  55. m_histogram2D=bookHistogram2D(l_histogramName,l_histogramTtttle,l_sensorNum );
  56. }
  57.  
  58. StatusCode PedestalSubtractorDataMonitorAlgorithm::finalize()
  59. {
  60. DataMonitorAlgorithm::m_outpuProjectionHistogramName="ProjectionPedestal";
  61. return DataMonitorAlgorithm::finalize();
  62. }