FairRoot/PandaRoot
Functions
LimitsAlign_misalignConstsSUM.C File Reference
#include <TFile.h>
#include <TH1.h>
#include <TH2.h>
#include <TString.h>
#include <TCanvas.h>
#include <sstream>

Go to the source code of this file.

Functions

int LimitsAlign_misalignConstsSUM (TString pathG="/home/karavdin/datastorage/AlignmentLMDpixel/10data_20consts_SamplesStudyOct2013/BOX/mom_15/")
 

Function Documentation

int LimitsAlign_misalignConstsSUM ( TString  pathG = "/home/karavdin/datastorage/AlignmentLMDpixel/10data_20consts_SamplesStudyOct2013/BOX/mom_15/")

READ file

read data

average calculatuon ----------------------------------———

END average calculatuon --------------------------------——

END average err. calculatuon ----------------------------------—

Definition at line 10 of file LimitsAlign_misalignConstsSUM.C.

References Double_t, f, out, sqrt(), and TString.

11 {
12 
13  const int nDt = 8;
14  double v_tr_sc[nDt]={0,50,100,200,300,400,500,600};//misalign, trans
15  // const int nDa = 6;
16  // double v_rt_sc[nDa]={0,1,3,5,7,9};//misalign, trans
17  const int nDa = 4; //TEST
18  double v_rt_sc[nDa]={0,1,3,5};//misalign, trans
19 
20  const int nSd=5;//number of data samples
21  const int nSc=10;//number of align.consts samples
22  TGraphErrors *gr_theta_b[nSc];
23  TGraphErrors *gr_theta_a[nSc];
24  TGraphErrors *gr_theta_r[nSc];
25  TGraphErrors *gr_events[nSc];
26  TGraphErrors *gr_theta_rms_b[nSc];
27  TGraphErrors *gr_theta_rms_a[nSc];
28  TGraphErrors *gr_theta_rms_r[nSc];
29  TGraphErrors *gr_mis_b[6][nSc];
30  TGraphErrors *gr_mis_a[6][nSc];
31 
32  Double_t *theta_mean_b[nSc], *theta_mean_a[nSc], *theta_mean_r[nSc];
33  Double_t *theta_rms_b[nSc], *theta_rms_a[nSc], *theta_rms_r[nSc];
34  Double_t *events[nSc];
35  Double_t *err_theta_mean_b[nSc], *err_theta_mean_a[nSc], *err_theta_mean_r[nSc];
36  Double_t *err_theta_rms_b[nSc], *err_theta_rms_a[nSc], *err_theta_rms_r[nSc];
37  Double_t *err_events[nSc];
38  Double_t *mis_b[nSc][6], *mis_a[nSc][6];
39 
40  // Double_t *events;
41  for(int iDa=0;iDa<nDa;iDa++){//diff output files Delta_a
42  // for(int iDa=0;iDa<1;iDa++){//diff output files Delta_a //TEST
43  TString resnameout= pathG+"/MisalignConstSUM_AlignmentLimits_";
44  resnameout+=v_rt_sc[iDa];
45  resnameout+="mrad";
46  resnameout+=5;// Maximum available statistic
47  resnameout+="SumDataSample";
48  TString resnameout_pdf = resnameout+".pdf";
49  TString resnameout_pdf_o = resnameout_pdf+"(";
50  TString resnameout_pdf_c = resnameout_pdf+")";
51 
52  for(int iSc=0;iSc<nSc;iSc++){//diff output files consts sample
54  TString resname= pathG+"/AlignmentLimits_";
55  resname+=v_rt_sc[iDa];
56  resname+="mrad_";
57  resname+=iSc;
58  resname+="constsSample";
59  TString in = resname+".root";
60  TFile *f = new TFile(in,"READ");
61  gr_events[iSc] = (TGraphErrors *)f->Get("number_ev_sum5");
62  // gr_events[iSc]->Print();
63  gr_theta_b[iSc] = (TGraphErrors *)f->Get("th_mean_b_sum5");
64  gr_theta_a[iSc] = (TGraphErrors *)f->Get("th_mean_a_sum5");
65  gr_theta_r[iSc] = (TGraphErrors *)f->Get("th_mean_r_sum5");
66  gr_theta_rms_b[iSc] = (TGraphErrors *)f->Get("th_rms_b_sum5");
67  gr_theta_rms_a[iSc] = (TGraphErrors *)f->Get("th_rms_a_sum5");
68  gr_theta_rms_r[iSc] = (TGraphErrors *)f->Get("th_rms_r_sum5");
69  for(int ialc=0;ialc<6;ialc++){
70  TString nameb = "mis_b_";
71  nameb +=ialc;
72  nameb +="_sum5";
73  gr_mis_b[ialc][iSc] = (TGraphErrors *)f->Get(nameb);
74  TString namea = "mis_a_";
75  namea +=ialc;
76  namea +="_sum5";
77  gr_mis_a[ialc][iSc] = (TGraphErrors *)f->Get(namea);
78  mis_b[iSc][ialc] = gr_mis_b[ialc][iSc]->GetY();
79  mis_a[iSc][ialc] = gr_mis_a[ialc][iSc]->GetY();
80  }
81 
83  events[iSc] = gr_events[iSc]->GetY();
84  err_events[iSc] = gr_events[iSc]->GetEY();
85  theta_mean_b[iSc] = gr_theta_b[iSc]->GetY();
86  err_theta_mean_b[iSc] = gr_theta_b[iSc]->GetEY();
87  theta_mean_a[iSc] = gr_theta_a[iSc]->GetY();
88  err_theta_mean_a[iSc] = gr_theta_a[iSc]->GetEY();
89  theta_mean_r[iSc] = gr_theta_r[iSc]->GetY();
90  err_theta_mean_r[iSc] = gr_theta_r[iSc]->GetEY();
91  theta_rms_b[iSc] = gr_theta_rms_b[iSc]->GetY();
92  err_theta_rms_b[iSc] = gr_theta_rms_b[iSc]->GetEY();
93  theta_rms_a[iSc] = gr_theta_rms_a[iSc]->GetY();
94  err_theta_rms_a[iSc] = gr_theta_rms_a[iSc]->GetEY();
95  theta_rms_r[iSc] = gr_theta_rms_r[iSc]->GetY();
96  err_theta_rms_r[iSc] = gr_theta_rms_r[iSc]->GetEY();
97  }//end diff output files consts sample
98 
99  // --- calculate average and av.error ---
100  double av_theta_mean_b[nDt],av_theta_rms_b[nDt];
101  double av_theta_mean_a[nDt],av_theta_rms_a[nDt];
102  double av_theta_mean_r[nDt],av_theta_rms_r[nDt];
103  double av_err_theta_mean_b[nDt],av_err_theta_rms_b[nDt]; //Errors of avarage of prev. sum
104  double av_err_theta_mean_a[nDt],av_err_theta_rms_a[nDt];
105  double av_err_theta_mean_r[nDt],av_err_theta_rms_r[nDt];
106 
107  double avEr_theta_mean_b[nDt],avEr_theta_rms_b[nDt]; //Errors of avarage of this sum
108  double avEr_theta_mean_a[nDt],avEr_theta_rms_a[nDt];
109  double avEr_theta_mean_r[nDt],avEr_theta_rms_r[nDt];
110  double av_events[nDt], av_err_events[nDt], avEr_events[nDt];
111  double av_mis_a_mean[6][nDt];
112  double av_mis_b_mean[6][nDt];
113  // double av_err_mis_a_mean[6][nDt]; //zero, since const sample was fixed in data sample sum!
114  // double av_err_mis_b_mean[6][nDt];
115  double avEr_mis_a_mean[6][nDt];
116  double avEr_mis_b_mean[6][nDt];
117  for(int idt=0;idt<nDt;idt++){//loop over dt values (x-axis of plots)
118  av_theta_mean_b[idt] = 0;
119  av_theta_rms_b[idt] = 0;
120  av_theta_mean_a[idt] = 0;
121  av_theta_rms_a[idt] = 0;
122  av_theta_mean_r[idt] = 0;
123  av_theta_rms_r[idt] = 0;
124  av_err_theta_mean_b[idt] = 0;
125  av_err_theta_rms_b[idt] = 0;
126  av_err_theta_mean_a[idt] = 0;
127  av_err_theta_rms_a[idt] = 0;
128  av_err_theta_mean_r[idt] = 0;
129  av_err_theta_rms_r[idt] = 0;
130 
131  avEr_theta_mean_b[idt] = 0;
132  avEr_theta_rms_b[idt] =0;
133  avEr_theta_mean_a[idt] = 0;
134  avEr_theta_rms_a[idt] = 0;
135  avEr_theta_mean_r[idt] = 0;
136  avEr_theta_rms_r[idt] = 0;
137 
138  av_events[idt] = 0;
139  av_err_events[idt] = 0;
140  avEr_events[idt] = 0;
141 
142  for(int ialc=0;ialc<6;ialc++){
143  av_mis_a_mean[ialc][idt] = 0;
144  av_mis_b_mean[ialc][idt] = 0;
145  avEr_mis_a_mean[ialc][idt] = 0;
146  avEr_mis_b_mean[ialc][idt] = 0;
147  }//end loop over misalign.const
148  } // end loop over dt values (x-axis of plots)
149 
150  double i_nS = 1./nSc;
151  double i_nS_r = 1./(nSc-1);
153  for(int idt=0;idt<nDt;idt++){//loop over dt values (x-axis of plots)
154  for(int isum=0;isum<nSc;isum++){//loop over diff stat.samples (plot with diff markers)
155  // cout<<"events_sum[isum][idt] = "<<events[isum][idt]<<endl;
156  av_theta_mean_b[idt]+=theta_mean_b[isum][idt];
157  av_theta_mean_a[idt]+=theta_mean_a[isum][idt];
158  av_theta_mean_r[idt]+=theta_mean_r[isum][idt];
159  av_theta_rms_b[idt]+=theta_rms_b[isum][idt];
160  av_theta_rms_a[idt]+=theta_rms_a[isum][idt];
161  av_theta_rms_r[idt]+=theta_rms_r[isum][idt];
162  av_events[idt] += events[isum][idt];
163 
164  av_err_theta_mean_b[idt]+=err_theta_mean_b[isum][idt];
165  av_err_theta_mean_a[idt]+=err_theta_mean_a[isum][idt];
166  av_err_theta_mean_r[idt]+=err_theta_mean_r[isum][idt];
167  av_err_theta_rms_b[idt]+=err_theta_rms_b[isum][idt];
168  av_err_theta_rms_a[idt]+=err_theta_rms_a[isum][idt];
169  av_err_theta_rms_r[idt]+=err_theta_rms_r[isum][idt];
170  av_err_events[idt] += err_events[isum][idt];
171 
172  for(int ialc=0;ialc<6;ialc++){
173  av_mis_a_mean[ialc][idt] += mis_a[isum][ialc][idt];
174  av_mis_b_mean[ialc][idt] += mis_b[isum][ialc][idt];
175  }
176  }
177  av_theta_mean_b[idt] *=i_nS;
178  av_theta_mean_a[idt] *=i_nS;
179  av_theta_mean_r[idt] *=i_nS;
180  av_theta_rms_b[idt] *=i_nS;
181  av_theta_rms_a[idt] *=i_nS;
182  av_theta_rms_r[idt] *=i_nS;
183  av_events[idt] *=i_nS;
184  av_err_theta_mean_b[idt] *=i_nS;
185  av_err_theta_mean_a[idt] *=i_nS;
186  av_err_theta_mean_r[idt] *=i_nS;
187  av_err_theta_rms_b[idt] *=i_nS;
188  av_err_theta_rms_a[idt] *=i_nS;
189  av_err_theta_rms_r[idt] *=i_nS;
190  av_err_events[idt] *=i_nS;
191  for(int ialc=0;ialc<6;ialc++){
192  av_mis_a_mean[ialc][idt] *= i_nS;
193  av_mis_b_mean[ialc][idt] *= i_nS;
194  }
195  }
197 
198  // /// average err. calculatuon -------------------------------------------
199  for(int idt=0;idt<nDt;idt++){//loop over dt values (x-axis of plots)
200  for(int isum=0;isum<nSc;isum++){//loop over samples
201  avEr_events[idt] += (events[isum][idt]-av_events[idt])*(events[isum][idt]-av_events[idt]);
202  avEr_theta_mean_b[idt]+=(theta_mean_b[isum][idt]-av_theta_mean_b[idt])*(theta_mean_b[isum][idt]-av_theta_mean_b[idt]);
203  avEr_theta_mean_a[idt]+=(theta_mean_a[isum][idt]-av_theta_mean_a[idt])*(theta_mean_a[isum][idt]-av_theta_mean_a[idt]);
204  avEr_theta_mean_r[idt]+=(theta_mean_r[isum][idt]-av_theta_mean_r[idt])*(theta_mean_r[isum][idt]-av_theta_mean_r[idt]);
205  avEr_theta_rms_b[idt]+=(theta_rms_b[isum][idt]-av_theta_rms_b[idt])*(theta_rms_b[isum][idt]-av_theta_rms_b[idt]);
206  avEr_theta_rms_a[idt]+=(theta_rms_a[isum][idt]-av_theta_rms_a[idt])*(theta_rms_a[isum][idt]-av_theta_rms_a[idt]);
207  avEr_theta_rms_r[idt]+=(theta_rms_r[isum][idt]-av_theta_rms_r[idt])*(theta_rms_r[isum][idt]-av_theta_rms_r[idt]);
208  for(int ialc=0;ialc<6;ialc++){
209  avEr_mis_a_mean[ialc][idt] +=(mis_a[isum][ialc][idt]-av_mis_a_mean[ialc][idt])*(mis_a[isum][ialc][idt]-av_mis_a_mean[ialc][idt]);
210  avEr_mis_b_mean[ialc][idt] +=(mis_b[isum][ialc][idt]-av_mis_b_mean[ialc][idt])*(mis_b[isum][ialc][idt]-av_mis_b_mean[ialc][idt]);
211  }
212  }
213  avEr_theta_mean_b[idt] *=i_nS_r;
214  avEr_theta_mean_a[idt] *=i_nS_r;
215  avEr_theta_mean_r[idt] *=i_nS_r;
216  avEr_theta_rms_b[idt] *=i_nS_r;
217  avEr_theta_rms_a[idt] *=i_nS_r;
218  avEr_theta_rms_r[idt] *=i_nS_r;
219  avEr_events[idt] *=i_nS_r;
220  avEr_theta_mean_b[idt] = sqrt(avEr_theta_mean_b[idt]+av_err_theta_mean_b[idt]*av_err_theta_mean_b[idt]);
221  avEr_theta_mean_a[idt] = sqrt(avEr_theta_mean_a[idt]+av_err_theta_mean_a[idt]*av_err_theta_mean_a[idt]);
222  avEr_theta_mean_r[idt] = sqrt(avEr_theta_mean_r[idt]+av_err_theta_mean_r[idt]*av_err_theta_mean_r[idt]);
223  // avEr_theta_mean_a[idt] = sqrt(avEr_theta_mean_a[idt]);
224  // avEr_theta_mean_r[idt] = sqrt(avEr_theta_mean_r[idt]);
225  avEr_theta_rms_b[idt] = sqrt(avEr_theta_rms_b[idt]+av_err_theta_rms_b[idt]*av_err_theta_rms_b[idt]);
226  avEr_theta_rms_a[idt] = sqrt(avEr_theta_rms_a[idt]+av_err_theta_rms_a[idt]*av_err_theta_rms_a[idt]);
227  avEr_theta_rms_r[idt] = sqrt(avEr_theta_rms_r[idt]+av_err_theta_rms_r[idt]*av_err_theta_rms_r[idt]);
228  // avEr_theta_rms_a[idt] = sqrt(avEr_theta_rms_a[idt]);
229  // avEr_theta_rms_r[idt] = sqrt(avEr_theta_rms_r[idt]);
230  avEr_events[idt] = sqrt(avEr_events[idt]+av_err_events[idt]*av_err_events[idt]);
231  for(int ialc=0;ialc<6;ialc++){
232  avEr_mis_a_mean[ialc][idt] *=i_nS_r;
233  avEr_mis_b_mean[ialc][idt] *=i_nS_r;
234  avEr_mis_a_mean[ialc][idt] = sqrt(avEr_mis_a_mean[ialc][idt]);
235  avEr_mis_b_mean[ialc][idt] = sqrt(avEr_mis_b_mean[ialc][idt]);
236  }
237  cout<<"av_events["<<idt<<"]="<<av_events[idt]<<" +/- "<< avEr_events[idt]<<endl;
238  }
240  // end --- calculate average and av.error ---
241 
242  //Draw ans save results
243  TString out = resnameout+".root";
244  TFile *fout = new TFile(out,"RECREATE");
245  TCanvas cRes;
246  TGraphErrors *gr_av_theta_b = new TGraphErrors(nDt,av_mis_b_mean[0],av_theta_mean_b,avEr_mis_b_mean[0],avEr_theta_mean_b);
247  gr_av_theta_b->SetName("thetaMean_b");
248  gr_av_theta_b->GetXaxis()->SetTitle("#delta_{t}, #mum");
249  gr_av_theta_b->GetYaxis()->SetTitle("#theta_{mean}, #murad");
250  gr_av_theta_b->SetMarkerStyle(20+iDa);
251  gr_av_theta_b->SetMarkerSize(2.5);
252  gr_av_theta_b->SetMarkerColor(kGreen-3);
253  gr_av_theta_b->Draw("AP");
254  cRes.Print(resnameout_pdf_o); //write canvas and keep the ps file open
255  cRes.Clear();
256  gr_av_theta_b->Write();
257  TMultiGraph *mgr_theta_a = new TMultiGraph("mgr_theta_mean_a","");
258  TGraphErrors *gr_av_theta_a = new TGraphErrors(nDt,av_mis_b_mean[0],av_theta_mean_a,avEr_mis_b_mean[0],avEr_theta_mean_a);
259  gr_av_theta_a->SetName("thetaMean_a");
260  // gr_av_theta_a->GetXaxis()->SetTitle("#delta_{t}, #mum");
261  // gr_av_theta_a->GetYaxis()->SetTitle("#theta_{mean}, #murad");
262  gr_av_theta_a->SetMarkerStyle(20+iDa);
263  gr_av_theta_a->SetMarkerSize(2.5);
264  gr_av_theta_a->SetMarkerColor(kOrange+7);
265  // gr_av_theta_a->Draw("AP");
266  gr_av_theta_a->Write();
267  mgr_theta_a->Add(gr_av_theta_a);
268  TGraphErrors *gr_av_theta_r = new TGraphErrors(nDt,av_mis_b_mean[0],av_theta_mean_r,avEr_mis_b_mean[0],avEr_theta_mean_r);
269  gr_av_theta_r->SetName("thetaMean_r");
270  // gr_av_theta_r->GetXaxis()->SetTitle("#delta_{t}, #mum");
271  // gr_av_theta_r->GetYaxis()->SetTitle("#theta_{mean}, #murad");
272  gr_av_theta_r->SetMarkerStyle(20+iDa);
273  gr_av_theta_r->SetMarkerSize(1.5);
274  gr_av_theta_r->SetMarkerColor(15);
275  // gr_av_theta_r->Draw("AP");
276  gr_av_theta_r->Write();
277  mgr_theta_a->Add(gr_av_theta_r);
278  mgr_theta_a->Draw("AP");
279  mgr_theta_a->GetXaxis()->SetTitle("#delta_{t}, #mum");
280  mgr_theta_a->GetYaxis()->SetTitle("#theta_{mean}, #murad");
281  cRes.Print(resnameout_pdf_o); //write canvas and keep the ps file open
282  cRes.Clear();
283 
284  TGraphErrors *gr_av_theta_rms_b = new TGraphErrors(nDt,av_mis_b_mean[0],av_theta_rms_b,avEr_mis_b_mean[0],avEr_theta_rms_b);
285  gr_av_theta_rms_b->SetName("thetaMean_b");
286  gr_av_theta_rms_b->GetXaxis()->SetTitle("#delta_{t}, #mum");
287  gr_av_theta_rms_b->GetYaxis()->SetTitle("#theta_{\sigma}, #murad");
288  gr_av_theta_rms_b->SetMarkerStyle(20+iDa);
289  gr_av_theta_rms_b->SetMarkerSize(2.5);
290  gr_av_theta_rms_b->SetMarkerColor(kGreen-3);
291  gr_av_theta_rms_b->Draw("AP");
292  gr_av_theta_rms_b->Write();
293  cRes.Print(resnameout_pdf_o); //write canvas and keep the ps file open
294  cRes.Clear();
295  TMultiGraph *mgr_theta_rms_a = new TMultiGraph("mgr_theta_rms_a","");
296  TGraphErrors *gr_av_theta_rms_a = new TGraphErrors(nDt,av_mis_b_mean[0],av_theta_rms_a,avEr_mis_b_mean[0],avEr_theta_rms_a);
297  gr_av_theta_rms_a->SetName("thetaMean_a");
298  // gr_av_theta_rms_a->GetXaxis()->SetTitle("#delta_{t}, #mum");
299  // gr_av_theta_rms_a->GetYaxis()->SetTitle("#theta_{mean}, #murad");
300  gr_av_theta_rms_a->SetMarkerStyle(20+iDa);
301  gr_av_theta_rms_a->SetMarkerSize(2.5);
302  gr_av_theta_rms_a->SetMarkerColor(kOrange+7);
303  // gr_av_theta_rms_a->Draw("AP");
304  gr_av_theta_rms_a->Write();
305  mgr_theta_rms_a->Add(gr_av_theta_rms_a);
306  TGraphErrors *gr_av_theta_rms_r = new TGraphErrors(nDt,av_mis_b_mean[0],av_theta_rms_r,avEr_mis_b_mean[0],avEr_theta_rms_r);
307  gr_av_theta_rms_r->SetName("thetaMean_r");
308  // gr_av_theta_rms_r->GetXaxis()->SetTitle("#delta_{t}, #mum");
309  // gr_av_theta_rms_r->GetYaxis()->SetTitle("#theta_{mean}, #murad");
310  gr_av_theta_rms_r->SetMarkerStyle(20+iDa);
311  gr_av_theta_rms_r->SetMarkerSize(1.5);
312  gr_av_theta_rms_r->SetMarkerColor(15);
313  // gr_av_theta_rms_r->Draw("AP");
314  gr_av_theta_rms_r->Write();
315  mgr_theta_rms_a->Add(gr_av_theta_rms_r);
316  mgr_theta_rms_a->Draw("AP");
317  mgr_theta_rms_a->GetXaxis()->SetTitle("#delta_{t}, #mum");
318  mgr_theta_rms_a->GetYaxis()->SetTitle("#theta_{\sigma}, #murad");
319  cRes.Print(resnameout_pdf_o); //write canvas and keep the ps file open
320  cRes.Clear();
321  for(int ialc=0;ialc<6;ialc++){
322  TGraphErrors *gr_av_mis_a = new TGraphErrors(nDt,av_mis_b_mean[0],av_mis_a_mean[ialc],avEr_mis_b_mean[0],avEr_mis_a_mean[ialc]);
323  TString misconstname = "mis_";
324  misconstname+=ialc;
325  misconstname+="_a";
326  gr_av_mis_a->SetName(misconstname);
327  if(ialc==0) gr_av_mis_a->GetYaxis()->SetTitle("#Delta_{x}, #mum");
328  if(ialc==1) gr_av_mis_a->GetYaxis()->SetTitle("#Delta_{y}, #mum");
329  if(ialc==2) gr_av_mis_a->GetYaxis()->SetTitle("#Delta_{z}, #mum");
330  if(ialc==3) gr_av_mis_a->GetYaxis()->SetTitle("#Delta_{#alpha}, mrad");
331  if(ialc==4) gr_av_mis_a->GetYaxis()->SetTitle("#Delta_{#beta}, mrad");
332  if(ialc==5) gr_av_mis_a->GetYaxis()->SetTitle("#Delta_{#gamma}, mrad");
333  gr_av_mis_a->SetMarkerStyle(29);
334  gr_av_mis_a->SetMarkerSize(2.5);
335  gr_av_mis_a->SetMarkerColor(kOrange+7);
336  gr_av_mis_a->GetXaxis()->SetTitle("#delta_{t}, #mum");
337  gr_av_mis_a->Draw("AP");
338  cRes.Print(resnameout_pdf_o); //write canvas and keep the ps file open
339  cRes.Clear();
340  gr_av_mis_a->Write();
341  delete gr_av_mis_a;
342  }
343  TGraphErrors *gr_av_ev = new TGraphErrors(nDt,av_mis_b_mean[0],av_events,avEr_mis_b_mean[0],avEr_events);
344  gr_av_ev->SetName("ev_b");
345  gr_av_ev->GetYaxis()->SetTitle("number of tracks used in alignment, 10^{3}");
346  gr_av_ev->GetXaxis()->SetTitle("#delta_{t}, #mum");
347  gr_av_ev->SetMarkerStyle(21);
348  gr_av_ev->SetMarkerSize(2.5);
349  gr_av_ev->SetMarkerColor(kGreen-3);
350  gr_av_ev->Draw("AP");
351  cRes.Print(resnameout_pdf_c); //write canvas and keep the ps file open
352  cRes.Clear();
353  gr_av_ev->Write();
354  // fout->Write();
355  fout->Close();
356  }//end diff output files Delta_a
357 
358  return 0;
359 }
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
Double_t
TFile * f
Definition: bump_analys.C:12
TFile * out
Definition: reco_muo.C:20