00001
00002
00003
00004
00005
00006
00010 void
00011 VA1Train()
00012 {
00013 gStyle->SetOptTitle(0);
00014 gStyle->SetOptFit(0);
00015 gStyle->SetOptStat(0);
00016
00017 TCanvas* c = new TCanvas("c", "C", 800, 400);
00018 c->SetFillColor(0);
00019 c->SetBorderMode(0);
00020 c->SetBorderSize(0);
00021
00022
00023 TArrayF measurements(6);
00024 std::cout << "Measurements are: " << std::flush;
00025 for (Int_t i = 0; i < measurements.fN; i++) {
00026 measurements[i] = gRandom->Uniform(0,1);
00027 std::cout << measurements[i] << " " << std::flush;
00028 }
00029 std::cout << std::endl;
00030
00031 Float_t last = 0;
00032 Float_t B = 5;
00033 TH2* frame = new TH2F("frame", "Frame", measurements.fN, 0,
00034 measurements.fN, 10, 0, 1.1);
00035 frame->Draw();
00036 for (Int_t i = 0; i < measurements.fN; i++) {
00037 TF1* f = new TF1("f", "[2] + exp(-[1] * (x - [3])) * ([0] - [2])",
00038 i, i + 1);
00039 f->SetParameter(3, i);
00040 f->SetParameter(1, B);
00041 f->SetParameter(2, measurements[i]);
00042 f->SetParameter(0, last);
00043
00044 if (measurements[i] > last) {
00045
00046
00047
00048
00049 }
00050 else {
00051
00052
00053
00054
00055 }
00056 f->Draw("same");
00057 last = measurements[i];
00058 }
00059 }
00060
00061
00062
00063