1 //____________________________________________________________________
3 // $Id: VA1Train.C 13249 2006-03-24 16:09:36Z cholm $
5 // Small script that shows a signal train from a VA1 pre-amp.
7 /** Make VA1 sample train
13 gStyle->SetOptTitle(0);
15 gStyle->SetOptStat(0);
16 gStyle->SetLabelFont(132, "xyz");
17 gStyle->SetTitleFont(132, "xyz");
18 gStyle->SetTitleSize(0.08, "y");
19 gStyle->SetTitleOffset(0.5, "y");
20 gStyle->SetTitleSize(0.06, "x");
21 gStyle->SetTitleOffset(0.7, "x");
23 TCanvas* c = new TCanvas("c", "C", 800, 500);
27 c->SetTopMargin(0.05);
28 c->SetRightMargin(0.05);
32 TArrayF measurements(6);
33 std::cout << "Measurements are: " << std::flush;
34 for (Int_t i = 0; i < measurements.fN; i++) {
35 measurements[i] = gRandom->Uniform(0,1);
36 std::cout << measurements[i] << " " << std::flush;
38 std::cout << std::endl;
42 TH2* frame = new TH2F("frame", "Frame", measurements.fN, -.1,
43 measurements.fN+.1, 10, 0, 1.05);
45 // frame->GetYaxis()->SetRangeUser(0, 1.05);
46 // frame->GetXaxis()->SetRangeUser(-.1, measurements.fN+.1);
47 frame->GetXaxis()->SetNdivisions(measurements.fN+2, kTRUE);
48 frame->GetYaxis()->SetNdivisions(10, kTRUE);
49 frame->SetXTitle("t");
50 frame->SetYTitle(Form("1-e^{-%3.1f t}", B));
52 for (Int_t i = 0; i < measurements.fN; i++) {
53 TF1* f = new TF1("f", "[2] + exp(-[1] * (x - [3])) * ([0] - [2])",
55 f->SetParameter(3, i);
56 f->SetParameter(1, B);
57 f->SetParameter(2, measurements[i]);
58 f->SetParameter(0, last);
61 f->SetLineColor(kRed+i/2);
62 last = measurements[i];
65 TLatex* l = new TLatex(measurements.fN/2, .9,
66 "#Delta_{i} + (#Delta_{i-1}-#Delta_{i}) e^{-b (t-i)}");
71 c->SaveAs("va1_train.png");
73 //____________________________________________________________________