#ifndef TB_HIT_MONITOR_H #define TB_HIT_MONITOR_H 1 // AIDA #include "AIDA/IHistogram1D.h" #include "AIDA/IHistogram2D.h" #include "AIDA/IProfile1D.h" // Tb/TbKernel #include "TbKernel/TbAlgorithm.h" /** @class TbHitMonitor TbHitMonitor.h * * Algorithm to produce monitoring histograms for Timepix3 pixel hits. * * @author Tim Evans (timothy.david.evans@cern.ch) * @date 2014-04-01 */ class TbHitMonitor : public TbAlgorithm { public: /// Standard constructor TbHitMonitor(const std::string& name, ISvcLocator* pSvcLocator); /// Destructor virtual ~TbHitMonitor(); virtual StatusCode initialize(); ///< Algorithm initialization virtual StatusCode execute(); ///< Algorithm execution private: /// TES location of hits. std::string m_hitLocation; /// Parameters for ToT distribution histograms Gaudi::Histo1DDef m_parToT; /// Parameters for charge distribution histograms Gaudi::Histo1DDef m_parCharge; /// Parameters for hits / event distribution histograms Gaudi::Histo1DDef m_parHitsInEvent; /// Parameters for time difference histograms Gaudi::Histo1DDef m_parDeltaT; /// Event counter unsigned int m_nEvents; std::vector<AIDA::IHistogram2D*> m_hHitMap; std::vector<AIDA::IHistogram1D*> m_hToT; std::vector<AIDA::IHistogram1D*> m_hCharge; std::vector<AIDA::IProfile1D*> m_hToTvsCol; std::vector<AIDA::IProfile1D*> m_hChargevsCol; std::vector<AIDA::IHistogram1D*> m_hHitsInEvent; std::vector<AIDA::IHistogram1D*> m_hHitsInEventTrend; std::vector<AIDA::IHistogram1D*> m_hTimeBetweenHits; }; #endif