Go to the documentation of this file.00001 #ifndef CSCCalibration_CSCThrTurnOnFcn_h
00002 #define CSCCalibration_CSCThrTurnOnFcn_h
00003
00004
00013 #include "Minuit2/FCNBase.h"
00014 #include <vector>
00015
00016
00017
00018 class CSCThrTurnOnFcn : public ROOT::Minuit2::FCNBase {
00019
00020 private:
00022 std::vector<float> xdata;
00023 std::vector<float> ydata;
00024 std::vector<float> ery;
00025 float norm;
00026
00027 public:
00029 void setData(const std::vector<float> & x, const std::vector<float> & y) {
00030 for(unsigned int i=0;i<x.size();i++) {
00031 xdata.push_back(x[i]); ydata.push_back(y[i]);
00032 }
00033 };
00034
00036 void setErrors(const std::vector<float> & er) {
00037 for(unsigned int i=0;i<er.size();i++) ery.push_back(er[i]);
00038 };
00039
00041 void setNorm(float n) {norm=n;};
00042
00044 virtual double operator() (const std::vector<double>&) const;
00045
00047 virtual double Up() const {return 1.;}
00048
00049 };
00050
00051 #endif