Newer
Older
TB_Chris / TbAlgorithms / src / .svn / text-base / TbTriggerMonitor.h.svn-base
  1. #ifndef TB_TRIGGER_MONITOR_H
  2. #define TB_TRIGGER_MONITOR_H 1
  3.  
  4. // AIDA
  5. #include "AIDA/IHistogram1D.h"
  6.  
  7. // Tb/TbKernel
  8. #include "TbKernel/TbAlgorithm.h"
  9.  
  10. /** @class TbTriggerMonitor TbTriggerMonitor.h
  11. *
  12. * Algorithm to produce monitoring histograms for scintillator triggers.
  13. *
  14. */
  15.  
  16. class TbTriggerMonitor : public TbAlgorithm {
  17. public:
  18. /// Standard constructor
  19. TbTriggerMonitor(const std::string& name, ISvcLocator* pSvcLocator);
  20. /// Destructor
  21. virtual ~TbTriggerMonitor();
  22.  
  23. virtual StatusCode initialize(); ///< Algorithm initialization
  24. virtual StatusCode execute(); ///< Algorithm execution
  25. virtual StatusCode finalize(); ///< Algorithm Finalize
  26. private:
  27. /// TES location of triggers.
  28. std::string m_triggerLocation;
  29.  
  30. /// Parameters for hits / event distribution histograms
  31. Gaudi::Histo1DDef m_parTriggersInEvent;
  32.  
  33. /// Event counter
  34. unsigned int m_nEvents;
  35.  
  36. /// Last trigger counters
  37. std::vector<unsigned int> m_counter;
  38.  
  39. std::vector<AIDA::IHistogram1D*> m_hTimeBetweenTriggers;
  40. std::vector<AIDA::IHistogram1D*> m_hTriggersInEvent;
  41. std::vector<AIDA::IHistogram1D*> m_hTriggersInEventTrend;
  42. std::vector<std::vector<std::pair<uint64_t, uint64_t>>> m_missedTriggers;
  43. };
  44.  
  45. #endif