StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
doBtow_all_ttime.C
1 {
2 // example of macro to read data from an ascii file and
3 // create a root file with an histogram and an ntuple.
4 gROOT->Reset();
5 #include "Riostream.h"
6 
7 ifstream in0;
8 
9 
10 Float_t x[50]={0.,5.,10.,15.,20.,25.,30.,35.,40.,45.,50.};
11 Float_t y[31][11],ey[31][11];
12 Float_t r;
13 
14 East = new TH1D("East","East",50,30,50);
15 West = new TH1D("West","West",50,30,50);
16 
17 in0.open("timing.tex");
18 
19 for(Int_t is=0;is<11;is++) {
20  x[is] += 12.;
21 for(Int_t ic=0;ic<30;ic++) {
22  in0>>r>>r>>y[ic][is];
23  ey[ic][is]=sqrt(y[ic][is]);
24 }
25 }
26 
27 /*
28  for(Int_t is=1;is<11;is++) {
29  for(Int_t ic=0;ic<30;ic++) {
30  y[ic][is]-=y[ic][0];
31  ey[ic][is]=0.;
32  }
33  }
34 
35 for(Int_t ic=0;ic<30;ic++) {
36  y[ic][0]=0.;
37 }
38 
39 
40  for(Int_t ic=0;ic<30;ic++) {
41  r = y[ic][8];
42  for(Int_t is=1;is<11;is++) {
43  y[ic][is]/=r;
44  }
45 }
46 */
47 
48 
49 Float_t yf[5],ef[5],xf[5];
50 
51 gStyle->SetOptStat(0);
52 
53 c1 = new TCanvas("c1","Timing of BEMC Crate", 200, 10, 700, 500);
54 c1->Divide(4,4);
55 for(int j=0;j<15;j++){
56  c1->cd(j+1);
57  Float_t yy[11],eyy[11];
58  c1->SetGridy(1);
59  c1->SetGridx(1) ;
60 
61  for(Int_t i=0;i<11;i++){
62  yy[i]=y[j][i];
63  eyy[i]=ey[j][i];
64  }
65 
66  for(Int_t i=0;i<5;i++){
67  yf[i]=yy[i+3];
68  ef[i]=eyy[i+3];
69  xf[i]=x[i+3];
70  }
71 
72  graph1 = new TGraphErrors(11, x, yy,0,eyy);
73  graph1->SetMarkerStyle(20);
74  graph1->SetMarkerSize(1.0);
75  graph1->SetMarkerColor(1);
76  graph1->Draw("AP");
77 
78  graph2 = new TGraphErrors(5, xf, yf,0,ef);
79  graph2->SetMarkerStyle(20);
80  graph2->SetMarkerSize(1.0);
81  graph2->SetMarkerColor(2);
82 
83 
84  graph2->Fit("gaus");
85  graph2->GetXaxis()->SetTitle("TCD Phase (ns)");
86  graph2->GetYaxis()->SetTitle("Integral 100<ADC<2000");
87  graph2->Draw("SP");
88  East->Fill(gaus->GetParameter(1));
89 
90  TLine *tl = new TLine(36.,0.,36.,1.e+07);
91  tl->SetLineColor(2);
92  tl->SetLineWidth(3);
93  tl->Draw();
94  Float_t gl=gaus->GetParameter(1);
95  TLine *t2 = new TLine(gl,0.,gl,1.e+07);
96  t2->SetLineColor(3);
97  t2->SetLineWidth(3);
98  t2->Draw();
99 
100 
101 }
102 c1->cd(16);
103 gStyle->SetOptStat(1);
104 gStyle->SetOptStat(1);
105 East->Draw();
106 
107 
108 c2 = new TCanvas("c2","Timing of BEMC Crate", 200, 10, 700, 500);
109 gStyle->SetOptStat(0);
110 
111 c2->Divide(4,4);
112 for(int j=15;j<30;j++){
113  c2->cd(j-14);
114  Float_t yy[11],eyy[11];
115  c2->SetGridy(1);
116  c2->SetGridx(1) ;
117 
118  for(Int_t i=0;i<11;i++){
119  yy[i]=y[j][i];
120  eyy[i]=ey[j][i];
121  }
122 
123  for(Int_t i=0;i<5;i++){
124  yf[i]=yy[i+3];
125  ef[i]=eyy[i+3];
126  xf[i]=x[i+3];
127  }
128 
129 
130  graph1 = new TGraphErrors(11, x, yy,0,eyy);
131  graph1->SetMarkerStyle(20);
132  graph1->SetMarkerSize(1.0);
133  graph1->SetMarkerColor(1);
134  graph1->Draw("AP");
135 
136  graph2 = new TGraphErrors(5, xf, yf,0,ef);
137  graph2->SetMarkerStyle(20);
138  graph2->SetMarkerSize(1.0);
139  graph2->SetMarkerColor(2);
140 
141  graph2->Fit("gaus");
142  graph2->GetXaxis()->SetTitle("TCD Phase (ns)");
143  graph2->GetYaxis()->SetTitle("Integral 100<ADC<2000");
144  graph2->Draw("SP");
145  West->Fill(gaus->GetParameter(1));
146 
147  TLine *tl = new TLine(36.,0.,36.,1.e+07);
148  tl->SetLineColor(2);
149  tl->SetLineWidth(3);
150  tl->Draw();
151  Float_t gl=gaus->GetParameter(1);
152  TLine *t2 = new TLine(gl,0.,gl,1.e+07);
153  t2->SetLineColor(3);
154  t2->SetLineWidth(3);
155  t2->Draw();
156 
157 }
158 c2->cd(16);
159 gStyle->SetOptStat(1);
160 West->Draw();
161 }