Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:08:28

0001 #ifndef DQM_SiStripCommissioningAnalysis_OptoScanAlgorithm_H
0002 #define DQM_SiStripCommissioningAnalysis_OptoScanAlgorithm_H
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "DQM/SiStripCommissioningAnalysis/interface/CommissioningAlgorithm.h"
0006 #include <vector>
0007 #include <cstdint>
0008 
0009 class OptoScanAnalysis;
0010 class TProfile;
0011 class TH1;
0012 
0013 /** 
0014    @class OptoScanAnalysis
0015    @author M. Wingham, R.Bainbridge
0016    @brief Histogram-based analysis for opto bias/gain scan.
0017 */
0018 class OptoScanAlgorithm : public CommissioningAlgorithm {
0019 public:
0020   OptoScanAlgorithm(const edm::ParameterSet& pset, OptoScanAnalysis* const);
0021 
0022   ~OptoScanAlgorithm() override { ; }
0023 
0024   /** Histogram pointer and title. */
0025   Histo histo(const uint16_t& gain, const uint16_t& digital_level) const;
0026 
0027 private:
0028   OptoScanAlgorithm() { ; }
0029 
0030   /** Extracts and organises histograms. */
0031   void extract(const std::vector<TH1*>&) override;
0032 
0033   /** Performs histogram anaysis. */
0034   void analyse() override;
0035 
0036 private:
0037   /** Pointers and titles for histograms. */
0038   std::vector<std::vector<Histo> > histos_;
0039 
0040   /** Analysis parameters */
0041   float targetGain_;
0042 };
0043 
0044 #endif  // DQM_SiStripCommissioningAnalysis_OptoScanAlgorithm_H