CMS 3D CMS Logo

CommissioningAlgorithm.h
Go to the documentation of this file.
1 #ifndef DQM_SiStripCommissioningAnalysis_CommissioningAlgorithm_H
2 #define DQM_SiStripCommissioningAnalysis_CommissioningAlgorithm_H
3 
4 #include <vector>
5 #include <string>
6 #include <cstdint>
7 
10 class TH1;
11 
18 public:
20 
22 
23  virtual ~CommissioningAlgorithm() { ; }
24 
25  typedef std::pair<TH1*, std::string> Histo;
26 
28  void analysis(const std::vector<TH1*>&);
29 
30 protected:
32  uint32_t extractFedKey(const TH1* const);
33 
35  virtual void extract(const std::vector<TH1*>&) = 0;
36 
38  virtual void analyse() = 0;
39 
41  inline CommissioningAnalysis* const anal() const;
42 
43 private:
46 };
47 
48 // ---------- inline methods ----------
49 
51 
52 #endif // DQM_SiStripCommissioningAnalysis_CommissioningAlgorithm_H
CommissioningAnalysis *const anal() const
virtual void extract(const std::vector< TH1 *> &)=0
uint32_t extractFedKey(const TH1 *const)
virtual void analyse()=0
std::pair< TH1 *, std::string > Histo
void analysis(const std::vector< TH1 *> &)
CommissioningAnalysis * anal_
Abstract base for derived classes that provide analysis of commissioning histograms.