File indexing completed on 2024-04-06 12:08:28
0001 #ifndef DQM_SiStripCommissioningAnalysis_CalibrationAlgorithm_H
0002 #define DQM_SiStripCommissioningAnalysis_CalibrationAlgorithm_H
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "DQM/SiStripCommissioningAnalysis/interface/CommissioningAlgorithm.h"
0006 #include <vector>
0007 #include <map>
0008
0009 class CalibrationAnalysis;
0010 class TH1;
0011 class TF1;
0012
0013
0014
0015
0016
0017
0018
0019 class CalibrationAlgorithm : public CommissioningAlgorithm {
0020 public:
0021 CalibrationAlgorithm(const edm::ParameterSet& pset, CalibrationAnalysis* const);
0022 ~CalibrationAlgorithm() override { ; }
0023
0024 inline const Histo& histo(int& i) { return histo_[i]; }
0025
0026 private:
0027 CalibrationAlgorithm() { ; }
0028
0029 void extract(const std::vector<TH1*>&) override;
0030
0031 void analyse() override;
0032
0033 void correctDistribution(TH1*) const;
0034
0035 float baseLine(TF1*);
0036 float turnOn(TF1*, const float&);
0037 float decayTime(TF1*);
0038
0039 private:
0040
0041 std::vector<Histo> histo_;
0042 std::vector<int> stripId_;
0043 std::vector<int> calChan_;
0044 std::vector<int> apvId_;
0045
0046
0047 CalibrationAnalysis* cal_;
0048 };
0049
0050 #endif