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