3 double M_PI = 3.1415926;
20 TChain * hit =
new TChain(
"hit");
21 hit->Add(
"hough_hist_test.root");
27 Int_t hit_hitid[10000];
28 Int_t hit_layer[10000];
29 Int_t hit_wire[10000];
30 Double_t hit_x[10000];
31 Double_t hit_y[10000];
32 Double_t hit_z[10000];
33 Double_t hit_driftdist[10000];
34 Double_t hit_drifttime[10000];
35 Int_t hit_flag[10000];
36 Double_t hit_truth_x[10000];
37 Double_t hit_truth_y[10000];
38 Double_t hit_truth_z[10000];
39 Double_t hit_truth_drift[10000];
40 Int_t hit_truth_ambig[10000];
43 hit->SetBranchAddress(
"hit_run",&hit_run);
44 hit->SetBranchAddress(
"hit_evt",&hit_evt);
45 hit->SetBranchAddress(
"hit_nhit",&hit_nhit);
46 hit->SetBranchAddress(
"hit_hitid",hit_hitid);
47 hit->SetBranchAddress(
"hit_layer",hit_layer);
48 hit->SetBranchAddress(
"hit_wire",hit_wire);
49 hit->SetBranchAddress(
"hit_x",hit_x);
50 hit->SetBranchAddress(
"hit_y",hit_y);
51 hit->SetBranchAddress(
"hit_z",hit_z);
52 hit->SetBranchAddress(
"hit_driftdist",hit_driftdist);
53 hit->SetBranchAddress(
"hit_drifttime",hit_drifttime);
54 hit->SetBranchAddress(
"hit_flag",hit_flag);
55 hit->SetBranchAddress(
"hit_truth_x",hit_truth_x);
56 hit->SetBranchAddress(
"hit_truth_y",hit_truth_y);
57 hit->SetBranchAddress(
"hit_truth_z",hit_truth_z);
58 hit->SetBranchAddress(
"hit_truth_drift",hit_truth_drift);
59 hit->SetBranchAddress(
"hit_truth_ambig",hit_truth_ambig);
82 TChain * hot =
new TChain(
"hot");
83 hot->Add(
"hough_hist_test.root");
90 Int_t hot_hitid[1000];
91 Int_t hot_layer[1000];
96 Double_t hot_x0[1000];
97 Double_t hot_y0[1000];
98 Double_t hot_z0[1000];
99 Double_t hot_s0[1000];
100 Double_t hot_x1[1000];
101 Double_t hot_y1[1000];
102 Double_t hot_z1[1000];
103 Double_t hot_s1[1000];
104 Double_t hot_drift[1000];
105 Int_t hot_flag[1000];
106 Double_t hot_deltaD[1000];
107 Double_t hot_truth_x[1000];
108 Double_t hot_truth_y[1000];
109 Double_t hot_truth_z[1000];
110 Double_t hot_truth_drift[1000];
111 Int_t hot_truth_ambig[1000];
114 hot->SetBranchAddress(
"hot_run",&hot_run);
115 hot->SetBranchAddress(
"hot_evt",&hot_evt);
116 hot->SetBranchAddress(
"hot_trk",&hot_trk);
117 hot->SetBranchAddress(
"hot_nhot",&hot_nhot);
118 hot->SetBranchAddress(
"hot_hitid",hot_hitid);
119 hot->SetBranchAddress(
"hot_layer",hot_layer);
120 hot->SetBranchAddress(
"hot_wire",hot_wire);
121 hot->SetBranchAddress(
"hot_x",hot_x);
122 hot->SetBranchAddress(
"hot_y",hot_y);
123 hot->SetBranchAddress(
"hot_z",hot_z);
124 hot->SetBranchAddress(
"hot_x0",hot_x0);
125 hot->SetBranchAddress(
"hot_y0",hot_y0);
126 hot->SetBranchAddress(
"hot_z0",hot_z0);
127 hot->SetBranchAddress(
"hot_s0",hot_s0);
128 hot->SetBranchAddress(
"hot_x1",hot_x1);
129 hot->SetBranchAddress(
"hot_y1",hot_y1);
130 hot->SetBranchAddress(
"hot_z1",hot_z1);
131 hot->SetBranchAddress(
"hot_s1",hot_s1);
132 hot->SetBranchAddress(
"hot_drift",hot_drift);
133 hot->SetBranchAddress(
"hot_flag",hot_flag);
134 hot->SetBranchAddress(
"hot_deltaD",hot_deltaD);
135 hot->SetBranchAddress(
"hot_truth_x",hot_truth_x);
136 hot->SetBranchAddress(
"hot_truth_y",hot_truth_y);
137 hot->SetBranchAddress(
"hot_truth_z",hot_truth_z);
138 hot->SetBranchAddress(
"hot_truth_drift",hot_truth_drift);
139 hot->SetBranchAddress(
"hot_truth_ambig",hot_truth_ambig);
163 TChain * trk =
new TChain(
"trk");
164 trk->Add(
"hough_hist_test.root");
170 Int_t trk_trackId[100];
171 Int_t trk_charge[100];
172 Double_t trk_dr[100];
173 Double_t trk_phi0[100];
174 Double_t trk_kappa[100];
175 Double_t trk_dz[100];
176 Double_t trk_tanl[100];
177 Double_t trk_pxy[100];
178 Double_t trk_px[100];
179 Double_t trk_py[100];
180 Double_t trk_pz[100];
182 Double_t trk_theta[100];
183 Double_t trk_phi[100];
188 Double_t trk_chi2[100];
189 Double_t trk_fiTerm[100];
190 Double_t trk_matchChi2[100];
192 Int_t trk_ncluster[100];
195 Int_t trk_nster[100];
196 Int_t trk_nlayer[100];
197 Int_t trk_firstLayer[100];
198 Int_t trk_lastLayer[100];
199 Int_t trk_nCgemXClusters[100];
200 Int_t trk_nCgemVClusters[100];
203 Double_t trk_Xc[100];
204 Double_t trk_Yc[100];
206 Int_t trk_truth_charge[100];
207 Double_t trk_truth_dr[100];
208 Double_t trk_truth_phi0[100];
209 Double_t trk_truth_kappa[100];
210 Double_t trk_truth_dz[100];
211 Double_t trk_truth_tanl[100];
212 Double_t trk_truth_pxy[100];
213 Double_t trk_truth_px[100];
214 Double_t trk_truth_py[100];
215 Double_t trk_truth_pz[100];
216 Double_t trk_truth_p[100];
217 Double_t trk_truth_theta[100];
218 Double_t trk_truth_phi[100];
219 Double_t trk_truth_x[100];
220 Double_t trk_truth_y[100];
221 Double_t trk_truth_z[100];
222 Double_t trk_truth_r[100];
223 Double_t trk_truth_cosTheta[100];
224 Double_t trk_truth_Xc[100];
225 Double_t trk_truth_Yc[100];
226 Double_t trk_truth_R[100];
229 trk->SetBranchAddress(
"trk_run",&trk_run);
230 trk->SetBranchAddress(
"trk_evt",&trk_evt);
231 trk->SetBranchAddress(
"trk_ntrk",&trk_ntrk);
232 trk->SetBranchAddress(
"trk_trackId",trk_trackId);
233 trk->SetBranchAddress(
"trk_charge",trk_charge);
234 trk->SetBranchAddress(
"trk_dr",trk_dr);
235 trk->SetBranchAddress(
"trk_phi0",trk_phi0);
236 trk->SetBranchAddress(
"trk_kappa",trk_kappa);
237 trk->SetBranchAddress(
"trk_dz",trk_dz);
238 trk->SetBranchAddress(
"trk_tanl",trk_tanl);
239 trk->SetBranchAddress(
"trk_pxy",trk_pxy);
240 trk->SetBranchAddress(
"trk_px",trk_px);
241 trk->SetBranchAddress(
"trk_py",trk_py);
242 trk->SetBranchAddress(
"trk_pz",trk_pz);
243 trk->SetBranchAddress(
"trk_p",trk_p);
244 trk->SetBranchAddress(
"trk_theta",trk_theta);
245 trk->SetBranchAddress(
"trk_phi",trk_phi);
246 trk->SetBranchAddress(
"trk_x",trk_x);
247 trk->SetBranchAddress(
"trk_y",trk_y);
248 trk->SetBranchAddress(
"trk_z",trk_z);
249 trk->SetBranchAddress(
"trk_r",trk_r);
250 trk->SetBranchAddress(
"trk_chi2",trk_chi2);
251 trk->SetBranchAddress(
"trk_fiTerm",trk_fiTerm);
252 trk->SetBranchAddress(
"trk_matchChi2",trk_matchChi2);
253 trk->SetBranchAddress(
"trk_nhit",trk_nhit);
254 trk->SetBranchAddress(
"trk_ncluster",trk_ncluster);
255 trk->SetBranchAddress(
"trk_stat",trk_stat);
256 trk->SetBranchAddress(
"trk_ndof",trk_ndof);
257 trk->SetBranchAddress(
"trk_nster",trk_nster);
258 trk->SetBranchAddress(
"trk_nlayer",trk_nlayer);
259 trk->SetBranchAddress(
"trk_firstLayer",trk_firstLayer);
260 trk->SetBranchAddress(
"trk_lastLayer",trk_lastLayer);
261 trk->SetBranchAddress(
"trk_nCgemXClusters",trk_nCgemXClusters);
262 trk->SetBranchAddress(
"trk_nCgemVClusters",trk_nCgemVClusters);
263 trk->SetBranchAddress(
"trk_nhop",trk_nhop);
264 trk->SetBranchAddress(
"trk_nhot",trk_nhot);
265 trk->SetBranchAddress(
"trk_Xc",trk_Xc);
266 trk->SetBranchAddress(
"trk_Yc",trk_Yc);
267 trk->SetBranchAddress(
"trk_R",trk_R);
268 trk->SetBranchAddress(
"trk_truth_charge",trk_truth_charge);
269 trk->SetBranchAddress(
"trk_truth_dr",trk_truth_dr);
270 trk->SetBranchAddress(
"trk_truth_phi0",trk_truth_phi0);
271 trk->SetBranchAddress(
"trk_truth_kappa",trk_truth_kappa);
272 trk->SetBranchAddress(
"trk_truth_dz",trk_truth_dz);
273 trk->SetBranchAddress(
"trk_truth_tanl",trk_truth_tanl);
274 trk->SetBranchAddress(
"trk_truth_pxy",trk_truth_pxy);
275 trk->SetBranchAddress(
"trk_truth_px",trk_truth_px);
276 trk->SetBranchAddress(
"trk_truth_py",trk_truth_py);
277 trk->SetBranchAddress(
"trk_truth_pz",trk_truth_pz);
278 trk->SetBranchAddress(
"trk_truth_p",trk_truth_p);
279 trk->SetBranchAddress(
"trk_truth_theta",trk_truth_theta);
280 trk->SetBranchAddress(
"trk_truth_phi",trk_truth_phi);
281 trk->SetBranchAddress(
"trk_truth_x",trk_truth_x);
282 trk->SetBranchAddress(
"trk_truth_y",trk_truth_y);
283 trk->SetBranchAddress(
"trk_truth_z",trk_truth_z);
284 trk->SetBranchAddress(
"trk_truth_r",trk_truth_r);
285 trk->SetBranchAddress(
"trk_truth_cosTheta",trk_truth_cosTheta);
286 trk->SetBranchAddress(
"trk_truth_Xc",trk_truth_Xc);
287 trk->SetBranchAddress(
"trk_truth_Yc",trk_truth_Yc);
288 trk->SetBranchAddress(
"trk_truth_R",trk_truth_R);
295 TGraphErrors *gr_sigma_1_3_kb =
new TGraphErrors();
296 TGraphErrors *gr_sigma_21_36_kb =
new TGraphErrors();
297 TGraphErrors *gr_RMS_1_3_kb =
new TGraphErrors();
298 TGraphErrors *gr_RMS_21_36_kb =
new TGraphErrors();
300 TGraphErrors *gr_sigma_1_3_tr =
new TGraphErrors();
301 TGraphErrors *gr_sigma_21_36_tr =
new TGraphErrors();
302 TGraphErrors *gr_RMS_1_3_tr =
new TGraphErrors();
303 TGraphErrors *gr_RMS_21_36_tr =
new TGraphErrors();
305 TGraphErrors *gr_tanl_kb =
new TGraphErrors();
306 TGraphErrors *gr_tanl_tr =
new TGraphErrors();
307 TGraphErrors *gr_dz_kb =
new TGraphErrors();
308 TGraphErrors *gr_dz_tr =
new TGraphErrors();
310 TGraph* gr_sigma_kb =
new TGraph();
311 TGraph* gr_sigma1_kb=
new TGraph();
312 TGraph* gr_sigma2_kb=
new TGraph();
313 TGraph* gr_sigma_tr =
new TGraph();
314 TGraph* gr_sigma1_tr=
new TGraph();
315 TGraph* gr_sigma2_tr=
new TGraph();
317 TAxis *x_axis,*y_axis;
324 int layer[20] = {1,2,3,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,0};
330 double x_max = 0.93/sqrt(1-0.93*0.93);
334 ssname <<nbin<<
"bin,tanl";
335 sname = ssname.str();
336 name = sname.c_str();
337 TH1D *h_tanl_kb =
new TH1D(name,name,100,-0.2,0.2);
339 ssname <<nbin<<
"bin,dz";
340 sname = ssname.str();
341 name = sname.c_str();
342 TH1D *h_dz_kb =
new TH1D(name,name,100,-2,2);
345 ssname <<nbin<<
"bin,tanl,tr";
346 sname = ssname.str();
347 name = sname.c_str();
348 TH1D *h_tanl_tr =
new TH1D(name,name,100,-0.2,0.2);
350 ssname <<nbin<<
"bin,dz,tr";
351 sname = ssname.str();
352 name = sname.c_str();
353 TH1D *h_dz_tr =
new TH1D(name,name,100,-2,2);
356 ssname <<nbin<<
"bin,1~3 layer";
357 sname = ssname.str();
358 name = sname.c_str();
359 TH1D *h_1_3_kb =
new TH1D(name,name,100,-1,1);
361 ssname <<nbin<<
"bin,21~36 layer";
362 sname = ssname.str();
363 name = sname.c_str();
364 TH1D *h_21_36_kb =
new TH1D(name,name,100,-10,10);
367 ssname <<nbin<<
"bin,1~3 layer,tr";
368 sname = ssname.str();
369 name = sname.c_str();
370 TH1D *h_1_3_tr =
new TH1D(name,name,100,-1,1);
372 ssname <<nbin<<
"bin,21~36 layer,tr";
373 sname = ssname.str();
374 name = sname.c_str();
375 TH1D *h_21_36_tr =
new TH1D(name,name,100,-10,10);
377 TH1D *h_deltaZ_kb[20];
378 TH1D *h_deltaZ_tr[20];
379 for(
int l=1;l<=20;l++){
382 ssname <<nbin<<
"bin, ";
383 if(l<=3){ssname <<
"layer "<<l;
cut=1;}
384 else if(l<=19){ssname <<
"layer "<<l+17;
cut=10;}
385 else if(l==20){ssname <<
"all layer";
cut=10;}
386 sname = ssname.str();
387 name = sname.c_str();
388 h_deltaZ_kb[l-1]=
new TH1D(name,name,100,-
cut,
cut);
392 ssname <<nbin<<
"bin, ";
393 if(l<=3){ssname <<
"tr,layer "<<l;
cut=1;}
394 else if(l<=19){ssname <<
"tr,layer "<<l+17;
cut=10;}
395 else if(l==20){ssname <<
"tr,all layer ";
cut=10;}
396 sname = ssname.str();
397 name = sname.c_str();
398 h_deltaZ_tr[l-1]=
new TH1D(name,name,100,-
cut,
cut);
403 Long64_t
nentries = hot->GetEntries();
409 nbytes += hot->GetEntry(i);
410 TH2D* hough_kb =
new TH2D(
"hough_kb",
"hough_kb",x_bin,-x_max,x_max,y_bin,-y_max,y_max);
411 TH2D* hough_tr =
new TH2D(
"hough_tr",
"hough_tr",x_bin,0,
M_PI,y_bin,-y_max,y_max);
412 TH2D *houghhit_kb[1000];
413 TH2D *houghhit_tr[1000];
415 for(
int j=0;j<hot_nhot;j++){
416 if(hot_flag[j] ==0)
continue;
417 if(hot_layer[j] <3 && hot_flag[j] ==1)
continue;
421 ssname <<
"layer:"<<hot_layer[j]<<
" ,wire,kb"<<hot_wire[j];
422 sname = ssname.str();
423 name = sname.c_str();
424 houghhit_kb[ihit] =
new TH2D(name,name,x_bin,-x_max,x_max,y_bin,-y_max,y_max);
425 fill_histogram(hot_s0[j],hot_z0[j],x_max,nbin*point,houghhit_kb[ihit]);
426 if(hot_layer[j]>3)
fill_histogram(hot_s1[j],hot_z1[j],x_max,nbin*point,houghhit_kb[ihit]);
427 hough_kb->Add(houghhit_kb[ihit]);
430 ssname <<
"layer:"<<hot_layer[j]<<
" ,wire,tr"<<hot_wire[j];
431 sname = ssname.str();
432 name = sname.c_str();
433 houghhit_tr[ihit] =
new TH2D(name,name,x_bin,0,
M_PI,y_bin,-y_max,y_max);
436 hough_tr->Add(houghhit_tr[ihit]);
453 hough_kb->GetMaximumBin(binx,biny,binz);
455 double tanl_kb = hough_kb->GetXaxis()->GetBinCenter(binx);
456 double dz_kb = hough_kb->GetYaxis()->GetBinCenter(biny);
458 hough_tr->GetMaximumBin(binx,biny,binz);
460 double tanl_tr = -1./
tan(hough_tr->GetXaxis()->GetBinCenter(binx));
461 double dz_tr = hough_tr->GetYaxis()->GetBinCenter(biny)/
sin(hough_tr->GetXaxis()->GetBinCenter(binx));
467 for(
int ihit=0;ihit<nhit;ihit++){
482 delete houghhit_kb[ihit];
483 delete houghhit_tr[ihit];
490 for(
int j=0;j<hot_nhot;j++){
491 if(hot_flag[j] ==0)
continue;
492 if(hot_layer[j] <3 && hot_flag[j] ==1)
continue;
494 double dz0(0),dz1(0);
495 dz0 = tanl_kb*hot_s0[j] + dz_kb - hot_z0[j];
496 dz1 = tanl_kb*hot_s1[j] + dz_kb - hot_z1[j];
497 deltaZ = fabs(dz0) < fabs(dz1) ? dz0 : dz1;
498 if(hot_layer[j] <3) {h_deltaZ_kb[hot_layer[j]]->Fill(deltaZ);h_1_3_kb->Fill(deltaZ);}
499 else {h_deltaZ_kb[hot_layer[j]-17]->Fill(deltaZ);h_21_36_kb->Fill(deltaZ);}
500 h_deltaZ_kb[19]->Fill(deltaZ);
502 dz0 = tanl_tr*hot_s0[j] + dz_tr - hot_z0[j];
503 dz1 = tanl_tr*hot_s1[j] + dz_tr - hot_z1[j];
504 deltaZ = fabs(dz0) < fabs(dz1) ? dz0 : dz1;
505 if(hot_layer[j] <3) {h_deltaZ_tr[hot_layer[j]]->Fill(deltaZ);h_1_3_tr->Fill(deltaZ);}
506 else {h_deltaZ_tr[hot_layer[j]-17]->Fill(deltaZ);h_21_36_tr->Fill(deltaZ);}
507 h_deltaZ_tr[19]->Fill(deltaZ);
512 for (Long64_t itrk=0; itrk<trk->GetEntries();itrk++)
515 if(trk_evt != hot_evt)
continue;
516 for(
int jtrk=0;jtrk<trk_ntrk;jtrk++){
517 if(jtrk != hot_trk)
continue;
518 h_tanl_kb->Fill(trk_truth_tanl[jtrk] - tanl_kb);
519 h_dz_kb->Fill(trk_truth_dz[jtrk] - dz_kb);
520 h_tanl_tr->Fill(trk_truth_tanl[jtrk] - tanl_tr);
521 h_dz_tr->Fill(trk_truth_dz[jtrk] - dz_tr);
537 ssname <<nbin<<
"bin each layer deltaZ";
538 sname = ssname.str();
539 name = sname.c_str();
540 TCanvas *c2 =
new TCanvas(name,name,2500,2000 );
542 double sigma1_kb[20],sigma2_kb[20];
543 double sigma1_tr[20],sigma2_tr[20];
544 for(
int l=0;l<20;l++){
547 h_deltaZ_kb[l]->Fit(
"gaus",
"Q");
548 sigma1_kb[l] = h_deltaZ_kb[l]->GetFunction(
"gaus")->GetParameter(2);
549 sigma2_kb[l] = h_deltaZ_kb[l]->GetFunction(
"gaus")->GetParameter(2);
550 h_deltaZ_tr[l]->Fit(
"gaus",
"Q");
551 sigma1_tr[l] = h_deltaZ_tr[l]->GetFunction(
"gaus")->GetParameter(2);
552 sigma2_tr[l] = h_deltaZ_tr[l]->GetFunction(
"gaus")->GetParameter(2);
557 h_deltaZ_kb[l]->GetMaximumBin(xbin,ybin,zbin);
558 double skew = h_deltaZ_kb[l]->GetSkewness();
559 double p0 = h_deltaZ_kb[l]->GetMaximum();
560 double p1 = h_deltaZ_kb[l]->GetMean();
561 double p2 = skew > 0 ? 2.0*h_deltaZ_kb[l]->GetRMS() : 0.5*h_deltaZ_kb[l]->GetRMS();
562 double p3 = skew < 0 ? 2.0*h_deltaZ_kb[l]->GetRMS() : 0.5*h_deltaZ_kb[l]->GetRMS();
563 double p4 = h_deltaZ_kb[l]->GetBinCenter(xbin);
564 f_kb->SetParameters(p0,p1,p2,p3,p4);
565 f_kb->SetLineColor(4);
566 f_kb->FixParameter(4, p4);
567 h_deltaZ_kb[l]->Fit(
"f1");
568 sigma1_kb[l] = f_kb->GetParameter(2);
569 sigma2_kb[l] = f_kb->GetParameter(3);
575 h_deltaZ_tr[l]->GetMaximumBin(xbin,ybin,zbin);
576 skew = h_deltaZ_tr[l]->GetSkewness();
577 p0 = h_deltaZ_tr[l]->GetMaximum();
578 p1 = h_deltaZ_tr[l]->GetMean();
579 p2 = skew > 0 ? 2.0*h_deltaZ_tr[l]->GetRMS() : 0.5*h_deltaZ_tr[l]->GetRMS();
580 p3 = skew < 0 ? 2.0*h_deltaZ_tr[l]->GetRMS() : 0.5*h_deltaZ_tr[l]->GetRMS();
581 p4 = h_deltaZ_tr[l]->GetBinCenter(xbin);
582 f_tr->SetParameters(p0,p1,p2,p3,p4);
583 f_tr->SetLineColor(2);
584 f_tr->FixParameter(4, p4);
585 h_deltaZ_tr[l]->Fit(
"f1");
586 sigma1_tr[l] = f_tr->GetParameter(2);
587 sigma2_tr[l] = f_tr->GetParameter(3);
593 int yMax = h_deltaZ_kb[l]->GetMaximum() > h_deltaZ_tr[l]->GetMaximum()? h_deltaZ_kb[l]->GetMaximum():h_deltaZ_tr[l]->GetMaximum();
594 h_deltaZ_kb[l]->Draw(
"same");
595 h_deltaZ_kb[l]->SetLineColor(4);
596 h_deltaZ_tr[l]->Draw(
"same");
597 h_deltaZ_tr[l]->SetLineColor(2);
598 x_axis = h_deltaZ_kb[l]->GetXaxis();
599 y_axis = h_deltaZ_kb[l]->GetYaxis();
600 x_axis->SetTitle(
"residual (cm)");
601 x_axis->CenterTitle();
606 y_axis->SetTitle(
"Entries");
607 y_axis->CenterTitle();
611 y_axis->SetRangeUser(0,yMax*1.1);
612 TLegend* leg2=
new TLegend(0.12 ,0.80,0.33,0.88);
613 leg2->AddEntry(h_deltaZ_kb[l],
"k - b",
"l");
614 leg2->AddEntry(h_deltaZ_tr[l],
"#theta - #rho",
"l");
615 leg2->SetFillColor(kWhite);
616 leg2->SetLineColor(kWhite);
621 for(
int l=0;l<20;l++){
622 cout<<setw(10)<<sigma1_kb[l]<<
",";
625 for(
int l=0;l<20;l++){
626 cout<<setw(10)<<sigma2_kb[l]<<
",";
629 for(
int l=0;l<20;l++){
630 cout<<setw(10)<<sigma1_tr[l]<<
",";
633 for(
int l=0;l<20;l++){
634 cout<<setw(10)<<sigma2_tr[l]<<
",";
639 ssname <<nbin<<
"bin_residualZ_layer.eps";
640 sname = ssname.str();
641 name = sname.c_str();
644 ssname <<nbin<<
"bin_residualZ_layer.pdf";
645 sname = ssname.str();
646 name = sname.c_str();
649 ssname <<nbin<<
"bin_residualZ_layer.png";
650 sname = ssname.str();
651 name = sname.c_str();
655 ssname <<nbin<<
"bin,residual";
656 sname = ssname.str();
657 name = sname.c_str();
658 TCanvas *c3 =
new TCanvas(name,name,1000, 500);
662 h_1_3_kb->Fit(
"gaus",
"Q");
663 h_1_3_tr->Fit(
"gaus",
"Q");
665 h_1_3_kb->SetLineColor(4);
668 h_1_3_kb->GetXaxis()->SetTitle(
"residual (cm)");
669 h_1_3_kb->GetYaxis()->SetTitle(
"Entries");
670 h_1_3_tr->Draw(
"same");
671 h_1_3_tr->SetLineColor(2);
674 yMax = h_1_3_kb->GetMaximum() > h_1_3_tr->GetMaximum()? h_1_3_kb->GetMaximum() : h_1_3_tr->GetMaximum();
675 h_1_3_kb->GetYaxis()->SetRangeUser(0,yMax*1.1);
676 TLegend* leg31=
new TLegend(0.12 ,0.80,0.33,0.88);
677 leg31->AddEntry(h_1_3_kb,
"k - b",
"l");
678 leg31->AddEntry(h_1_3_tr,
"#theta - #rho",
"l");
679 leg31->SetFillColor(kWhite);
680 leg31->SetLineColor(kWhite);
685 f1->SetParameters(h_21_36_kb->GetMaximum(),h_21_36_kb->GetMaximum()/2,h_21_36_kb->GetMean(),h_21_36_kb->GetRMS()/2.,h_21_36_kb->GetRMS()*2.);
689 f2->SetParameters(h_21_36_tr->GetMaximum(),h_21_36_tr->GetMaximum()/2,h_21_36_tr->GetMean(),h_21_36_tr->GetRMS()/2.,h_21_36_tr->GetRMS()*2.);
693 h_21_36_kb->Fit(
"f1");
694 h_21_36_tr->Fit(
"f2");
696 h_21_36_kb->SetLineColor(4);
697 h_21_36_kb->GetXaxis()->SetTitle(
"residual (cm)");
698 h_21_36_kb->GetYaxis()->SetTitle(
"Entries");
699 h_21_36_tr->Draw(
"same");
700 h_21_36_tr->SetLineColor(2);
701 yMax = h_21_36_kb->GetMaximum() > h_21_36_tr->GetMaximum()? h_21_36_kb->GetMaximum() : h_21_36_tr->GetMaximum();
702 h_21_36_kb->GetYaxis()->SetRangeUser(0,yMax*1.1);
703 TLegend* leg32=
new TLegend(0.12 ,0.80,0.33,0.88);
704 leg32->AddEntry(h_21_36_kb,
"k - b",
"l");
705 leg32->AddEntry(h_21_36_tr,
"#theta - #rho",
"l");
706 leg32->SetFillColor(kWhite);
707 leg32->SetLineColor(kWhite);
711 ssname <<nbin<<
"bin_residualZ.eps";
712 sname = ssname.str();
713 name = sname.c_str();
716 ssname <<nbin<<
"bin_residualZ.pdf";
717 sname = ssname.str();
718 name = sname.c_str();
721 ssname <<nbin<<
"bin_residualZ.png";
722 sname = ssname.str();
723 name = sname.c_str();
728 ssname <<nbin<<
"bin,tanl,dz";
729 sname = ssname.str();
730 name = sname.c_str();
731 TCanvas *c4 =
new TCanvas(name,name,1000, 500);
734 h_tanl_kb->Fit(
"gaus",
"Q");
735 h_tanl_tr->Fit(
"gaus",
"Q");
737 h_tanl_kb->SetLineColor(4);
738 h_tanl_kb->GetXaxis()->SetTitle(
"residual (cm)");
739 h_tanl_kb->GetYaxis()->SetTitle(
"Entries");
740 h_tanl_tr->Draw(
"same");
741 h_tanl_tr->SetLineColor(2);
742 yMax = h_tanl_kb->GetMaximum() > h_tanl_tr->GetMaximum()? h_tanl_kb->GetMaximum() : h_tanl_tr->GetMaximum();
743 h_tanl_kb->GetYaxis()->SetRangeUser(0,yMax*1.1);
744 TLegend* leg41=
new TLegend(0.12 ,0.80,0.33,0.88);
745 leg41->AddEntry(h_tanl_kb,
"k - b",
"l");
746 leg41->AddEntry(h_tanl_tr,
"#theta - #rho",
"l");
747 leg41->SetFillColor(kWhite);
748 leg41->SetLineColor(kWhite);
751 h_dz_kb->Fit(
"gaus",
"Q");
752 h_dz_tr->Fit(
"gaus",
"Q");
754 h_dz_kb->SetLineColor(4);
755 h_dz_kb->GetXaxis()->SetTitle(
"residual (cm)");
756 h_dz_kb->GetYaxis()->SetTitle(
"Entries");
757 h_dz_tr->Draw(
"same");
758 h_dz_tr->SetLineColor(2);
759 yMax = h_dz_kb->GetMaximum() > h_dz_tr->GetMaximum()? h_dz_kb->GetMaximum() : h_dz_tr->GetMaximum();
760 h_dz_kb->GetYaxis()->SetRangeUser(0,yMax*1.1);
761 TLegend* leg42=
new TLegend(0.12 ,0.80,0.33,0.88);
762 leg42->AddEntry(h_dz_kb,
"k - b",
"l");
763 leg42->AddEntry(h_dz_tr,
"#theta - #rho",
"l");
764 leg42->SetFillColor(kWhite);
765 leg42->SetLineColor(kWhite);
768 ssname <<nbin<<
"bin_residual_tanl_dz.pdf";
769 sname = ssname.str();
770 name = sname.c_str();
773 ssname <<nbin<<
"bin_residual_tanl_dz.png";
774 sname = ssname.str();
775 name = sname.c_str();
778 ssname <<nbin<<
"bin_residual_tanl_dz.eps";
779 sname = ssname.str();
780 name = sname.c_str();
784 double sigma_tanl = h_tanl_kb->GetFunction(
"gaus")->GetParameter(2);
785 double sigma_tanl_err = h_tanl_kb->GetFunction(
"gaus")->GetParError(2);
786 double sigma_dz = h_dz_kb->GetFunction(
"gaus")->GetParameter(2);
787 double sigma_dz_err = h_dz_kb->GetFunction(
"gaus")->GetParError(2);
788 gr_tanl_kb->SetPoint(ibin,nbin,sigma_tanl);
789 gr_tanl_kb->SetPointError(ibin,0,sigma_tanl_err);
790 gr_dz_kb->SetPoint(ibin,nbin,sigma_dz);
791 gr_dz_kb->SetPointError(ibin,0,sigma_dz_err);
793 sigma_tanl = h_tanl_tr->GetFunction(
"gaus")->GetParameter(2);
794 sigma_tanl_err = h_tanl_tr->GetFunction(
"gaus")->GetParError(2);
795 sigma_dz = h_dz_tr->GetFunction(
"gaus")->GetParameter(2);
796 sigma_dz_err = h_dz_tr->GetFunction(
"gaus")->GetParError(2);
797 gr_tanl_tr->SetPoint(ibin,nbin,sigma_tanl);
798 gr_tanl_tr->SetPointError(ibin,0,sigma_tanl_err);
799 gr_dz_tr->SetPoint(ibin,nbin,sigma_dz);
800 gr_dz_tr->SetPointError(ibin,0,sigma_dz_err);
804 double C1 =
f1->GetParameter(0);
805 double C2 =
f1->GetParameter(1);
806 double sigma1 =
f1->GetParameter(3);
807 double sigma2 =
f1->GetParameter(4);
808 double sigma_err1 =
f1->GetParError(3);
809 double sigma_err2 =
f1->GetParError(4);
810 double sigma_1_3 = h_1_3_kb->GetFunction(
"gaus")->GetParameter(2);
811 double sigma_err_1_3 = h_1_3_kb->GetFunction(
"gaus")->GetParError(2);
812 double sigma_21_36 = sqrt(C1/(C1+C2)*sigma1*sigma1 + C2/(C1+C2)*sigma2*sigma2);
813 double sigma_err_21_36 = sqrt(C1/(C1+C2)*sigma_err1*sigma_err1 + C2/(C1+C2)*sigma_err2*sigma_err2);
814 double RMS_1_3 = h_1_3_kb->GetRMS();
815 double RMS_err_1_3 = h_1_3_kb->GetRMSError();
816 double RMS_21_36 = h_21_36_kb->GetRMS();
817 double RMS_err_21_36 = h_21_36_kb->GetRMSError();
819 cout<<
"kb sigma "<<setw(6)<<nbin<<setw(12)<<sigma_1_3<<setw(12)<<sigma_err_1_3<<setw(12)<<sigma_21_36<<setw(12)<<sigma_err_21_36<<endl;
820 cout<<
"kb RMS "<<setw(6)<<nbin<<setw(12)<<RMS_1_3<<setw(12)<<RMS_err_1_3<<setw(12)<<RMS_21_36<<setw(12)<<RMS_err_21_36<<endl;
821 gr_sigma_1_3_kb->SetPoint(ibin,nbin,sigma_1_3);
822 gr_sigma_1_3_kb->SetPointError(ibin,0,sigma_err_1_3);
823 gr_sigma_21_36_kb->SetPoint(ibin,nbin,sigma_21_36);
824 gr_sigma_21_36_kb->SetPointError(ibin,0,sigma_err_21_36);
826 gr_RMS_1_3_kb->SetPoint(ibin,nbin,RMS_1_3);
827 gr_RMS_1_3_kb->SetPointError(ibin,0,RMS_err_1_3);
828 gr_RMS_21_36_kb->SetPoint(ibin,nbin,RMS_21_36);
829 gr_RMS_21_36_kb->SetPointError(ibin,0,RMS_err_21_36);
831 gr_sigma_tr->SetPoint(ibin,nbin,sigma_21_36);
832 gr_sigma1_tr->SetPoint(ibin,nbin,sigma1);
833 gr_sigma2_tr->SetPoint(ibin,nbin,sigma2);
835 C1 =f2->GetParameter(0);
836 C2 =f2->GetParameter(1);
837 sigma1 = f2->GetParameter(3);
838 sigma2 = f2->GetParameter(4);
839 sigma_err1 = f2->GetParError(3);
840 sigma_err2 = f2->GetParError(4);
841 sigma_1_3 = h_1_3_tr->GetFunction(
"gaus")->GetParameter(2);
842 sigma_err_1_3 = h_1_3_tr->GetFunction(
"gaus")->GetParError(2);
843 sigma_21_36 = sqrt(C1/(C1+C2)*sigma1*sigma1 + C2/(C1+C2)*sigma2*sigma2);
844 sigma_err_21_36 = sqrt(C1/(C1+C2)*sigma_err1*sigma_err1 + C2/(C1+C2)*sigma_err2*sigma_err2);
845 RMS_1_3 = h_1_3_tr->GetRMS();
846 RMS_err_1_3 = h_1_3_tr->GetRMSError();
847 RMS_21_36 = h_21_36_tr->GetRMS();
848 RMS_err_21_36 = h_21_36_tr->GetRMSError();
850 cout<<
"tr sigma "<<setw(6)<<nbin<<setw(12)<<sigma_1_3<<setw(12)<<sigma_err_1_3<<setw(12)<<sigma_21_36<<setw(12)<<sigma_err_21_36<<endl;
851 cout<<
"tr RMS "<<setw(6)<<nbin<<setw(12)<<RMS_1_3<<setw(12)<<RMS_err_1_3<<setw(12)<<RMS_21_36<<setw(12)<<RMS_err_21_36<<endl;
852 gr_sigma_1_3_tr->SetPoint(ibin,nbin,sigma_1_3);
853 gr_sigma_1_3_tr->SetPointError(ibin,0,sigma_err_1_3);
854 gr_sigma_21_36_tr->SetPoint(ibin,nbin,sigma_21_36);
855 gr_sigma_21_36_tr->SetPointError(ibin,0,sigma_err_21_36);
857 gr_RMS_1_3_tr->SetPoint(ibin,nbin,RMS_1_3);
858 gr_RMS_1_3_tr->SetPointError(ibin,0,RMS_err_1_3);
859 gr_RMS_21_36_tr->SetPoint(ibin,nbin,RMS_21_36);
860 gr_RMS_21_36_tr->SetPointError(ibin,0,RMS_err_21_36);
862 gr_sigma_tr->SetPoint(ibin,nbin,sigma_21_36);
863 gr_sigma1_tr->SetPoint(ibin,nbin,sigma1);
864 gr_sigma2_tr->SetPoint(ibin,nbin,sigma2);
868 if(nbin<500)
bin = 50;
869 else if(nbin<1000)
bin =100;
870 else if(nbin<2000)
bin =200;
871 else if(nbin<5000)
bin =500;
876 TCanvas *c5 =
new TCanvas(
"sigma_deltaZ",
"sigma_deltaZ",1000,1000);
879 gr_sigma_1_3_kb->GetXaxis()->SetTitle(
"number of bins");
880 gr_sigma_1_3_kb->GetYaxis()->SetTitle(
"#sigma (cm)");
881 gr_sigma_1_3_kb->SetMinimum(0.0);
882 gr_sigma_1_3_kb->SetMaximum( 5.0);
883 gr_sigma_1_3_kb->Draw(
"APsame");
884 gr_sigma_1_3_kb->SetMarkerStyle(20);
885 gr_sigma_1_3_kb->SetMarkerSize(1.0);
886 gr_sigma_1_3_kb->SetMarkerColor(4);
887 gr_sigma_21_36_kb->Draw(
" Psame");
888 gr_sigma_21_36_kb->SetMarkerStyle(21);
889 gr_sigma_21_36_kb->SetMarkerSize(1.0);
890 gr_sigma_21_36_kb->SetMarkerColor(4);
892 gr_RMS_1_3_kb->Draw(
"Psame");
893 gr_RMS_1_3_kb->SetMarkerStyle(24);
894 gr_RMS_1_3_kb->SetMarkerSize(1.0);
895 gr_RMS_1_3_kb->SetMarkerColor(4);
896 gr_RMS_21_36_kb->Draw(
" Psame");
897 gr_RMS_21_36_kb->SetMarkerStyle(25);
898 gr_RMS_21_36_kb->SetMarkerSize(1.0);
899 gr_RMS_21_36_kb->SetMarkerColor(4);
905 gr_sigma_1_3_tr->Draw(
"Psame");
906 gr_sigma_1_3_tr->SetMarkerStyle(20);
907 gr_sigma_1_3_tr->SetMarkerSize(1.0);
908 gr_sigma_1_3_tr->SetMarkerColor(2);
909 gr_sigma_21_36_tr->Draw(
" Psame");
910 gr_sigma_21_36_tr->SetMarkerStyle(21);
911 gr_sigma_21_36_tr->SetMarkerSize(1.0);
912 gr_sigma_21_36_tr->SetMarkerColor(2);
914 gr_RMS_1_3_tr->Draw(
"Psame");
915 gr_RMS_1_3_tr->SetMarkerStyle(24);
916 gr_RMS_1_3_tr->SetMarkerSize(1.0);
917 gr_RMS_1_3_tr->SetMarkerColor(2);
918 gr_RMS_21_36_tr->Draw(
" Psame");
919 gr_RMS_21_36_tr->SetMarkerStyle(25);
920 gr_RMS_21_36_tr->SetMarkerSize(1.0);
921 gr_RMS_21_36_tr->SetMarkerColor(2);
924 TLegend* leg5=
new TLegend(0.55 ,0.60,0.88,0.88);
925 leg5->AddEntry(gr_sigma_1_3_kb,
" 1~3 layer sigma, k-b",
"p");
926 leg5->AddEntry(gr_sigma_1_3_tr,
" 1~3 layer sigma, #rho-#theta",
"p");
927 leg5->AddEntry(gr_sigma_21_36_kb,
"21~36 layer sigma, k-b",
"p");
928 leg5->AddEntry(gr_sigma_21_36_tr,
"21~36 layer sigma, #rho-#theta",
"p");
929 leg5->AddEntry(gr_RMS_1_3_kb,
" 1~3 layer RMS, k-b",
"p");
930 leg5->AddEntry(gr_RMS_1_3_tr,
" 1~3 layer RMS, #rho-#theta",
"p");
931 leg5->AddEntry(gr_RMS_21_36_kb,
"21~36 layer RMS, k-b",
"p");
932 leg5->AddEntry(gr_RMS_21_36_tr,
"21~36 layer RMS, #rho-#theta",
"p");
933 leg5->SetFillColor(kWhite);
934 leg5->SetLineColor(kWhite);
936 c5->SaveAs(
"sigma_deltaZ.eps");
937 c5->SaveAs(
"sigma_deltaZ.png");
938 c5->SaveAs(
"sigma_deltaZ.pdf");
941 TCanvas *c6 =
new TCanvas(
"sigma_tanl,dz",
"sigma_tanl,dz",1000, 500);
946 gr_tanl_kb->GetXaxis()->SetTitle(
"number of bins");
947 gr_tanl_kb->GetYaxis()->SetTitle(
"#sigma (cm)");
948 gr_tanl_kb->SetTitle(
"tan #lambda");
949 gr_tanl_kb->Draw(
"APsame");
950 gr_tanl_kb->SetMarkerStyle(24);
951 gr_tanl_kb->SetMarkerSize(1.0);
952 gr_tanl_kb->SetMarkerColor(4);
953 gr_tanl_kb->SetLineColor(4);
954 gr_tanl_tr->Draw(
" Psame");
955 gr_tanl_tr->SetMarkerStyle(24);
956 gr_tanl_tr->SetMarkerSize(1.0);
957 gr_tanl_tr->SetMarkerColor(2);
958 gr_tanl_tr->SetLineColor(2);
959 TLegend* leg61=
new TLegend(0.55 ,0.75,0.88,0.88);
960 leg61->AddEntry(gr_tanl_kb,
"k - b",
"l");
961 leg61->AddEntry(gr_tanl_tr,
"#theta - #rho",
"l");
962 leg61->SetFillColor(kWhite);
963 leg61->SetLineColor(kWhite);
968 gr_dz_kb->GetXaxis()->SetTitle(
"number of bins");
969 gr_dz_kb->GetYaxis()->SetTitle(
"#sigma (cm)");
970 gr_dz_kb->SetTitle(
"dz");
971 gr_dz_kb->Draw(
"APsame");
972 gr_dz_kb->SetMarkerStyle(24);
973 gr_dz_kb->SetMarkerSize(1.0);
974 gr_dz_kb->SetMarkerColor(4);
975 gr_dz_kb->SetLineColor(4);
976 gr_dz_tr->Draw(
" Psame");
977 gr_dz_tr->SetMarkerStyle(24);
978 gr_dz_tr->SetMarkerSize(1.0);
979 gr_dz_tr->SetMarkerColor(2);
980 gr_dz_tr->SetLineColor(2);
981 TLegend* leg62=
new TLegend(0.55 ,0.75,0.88,0.88);
982 leg62->AddEntry(gr_dz_kb,
"k - b",
"l");
983 leg62->AddEntry(gr_dz_tr,
"#theta - #rho",
"l");
984 leg62->SetFillColor(kWhite);
985 leg62->SetLineColor(kWhite);
987 c6->SaveAs(
"sigma_tanl.eps");
988 c6->SaveAs(
"sigma_tanl.png");
989 c6->SaveAs(
"sigma_tanl.pdf");
992 TCanvas *c7 =
new TCanvas(
"c7",
"c7",1000, 500);
995 gr_sigma_kb->SetMinimum(0.0);
996 gr_sigma_kb->SetMaximum(5.0);
997 gr_sigma_kb->GetXaxis()->SetTitle(
"number of bins");
998 gr_sigma_kb->GetYaxis()->SetTitle(
"#sigma (cm)");
999 gr_sigma_kb->Draw(
"APsame");
1000 gr_sigma_kb->SetMarkerStyle(24);
1001 gr_sigma_kb->SetMarkerSize(1.0);
1002 gr_sigma_kb->SetMarkerColor(2);
1003 gr_sigma1_kb->Draw(
"Psame");
1004 gr_sigma1_kb->SetMarkerStyle(24);
1005 gr_sigma1_kb->SetMarkerSize(1.0);
1006 gr_sigma1_kb->SetMarkerColor(3);
1007 gr_sigma2_kb->Draw(
"Psame");
1008 gr_sigma2_kb->SetMarkerStyle(24);
1009 gr_sigma2_kb->SetMarkerSize(1.0);
1010 gr_sigma2_kb->SetMarkerColor(4);
1011 TLegend* leg41=
new TLegend(0.70 ,0.75,0.88,0.88);
1012 leg41->AddEntry(gr_sigma1_kb,
"#sigma_{1}",
"p");
1013 leg41->AddEntry(gr_sigma2_kb,
"#sigma_{2}",
"p");
1014 leg41->AddEntry(gr_sigma_kb ,
"#sigma_{mean}",
"p");
1015 leg41->SetFillColor(kWhite);
1016 leg41->SetLineColor(kWhite);
1019 gr_sigma_tr->SetMinimum(0.0);
1020 gr_sigma_tr->SetMaximum(5.0);
1021 gr_sigma_tr->GetXaxis()->SetTitle(
"number of bins");
1022 gr_sigma_tr->GetYaxis()->SetTitle(
"#sigma (cm)");
1023 gr_sigma_tr->Draw(
"APsame");
1024 gr_sigma_tr->SetMarkerStyle(24);
1025 gr_sigma_tr->SetMarkerSize(1.0);
1026 gr_sigma_tr->SetMarkerColor(2);
1027 gr_sigma1_tr->Draw(
"Psame");
1028 gr_sigma1_tr->SetMarkerStyle(24);
1029 gr_sigma1_tr->SetMarkerSize(1.0);
1030 gr_sigma1_tr->SetMarkerColor(3);
1031 gr_sigma2_tr->Draw(
"Psame");
1032 gr_sigma2_tr->SetMarkerStyle(24);
1033 gr_sigma2_tr->SetMarkerSize(1.0);
1034 gr_sigma2_tr->SetMarkerColor(4);
1035 TLegend* leg41=
new TLegend(0.70 ,0.75,0.88,0.88);
1036 leg41->AddEntry(gr_sigma1_tr,
"#sigma_{1}",
"p");
1037 leg41->AddEntry(gr_sigma2_tr,
"#sigma_{2}",
"p");
1038 leg41->AddEntry(gr_sigma_tr ,
"#sigma_{mean}",
"p");
1039 leg41->SetFillColor(kWhite);
1040 leg41->SetLineColor(kWhite);
1043 ssname <<
"bin_sigma.pdf";
1044 sname = ssname.str();
1045 name = sname.c_str();
1048 ssname <<
"bin_sigma.png";
1049 sname = ssname.str();
1050 name = sname.c_str();
1053 ssname <<
"bin_sigma.eps";
1054 sname = ssname.str();
1055 name = sname.c_str();
1063 double dx = 2*x_max/nbin;
1064 double x = -x_max - 0.5*dx;
1065 double y = -1*
s*
x+z;
1066 double dy = -1*
s*dx;
1067 for(
int i =0; i<nbin; i++){
1078 double step = 2*x_max/nbin;
1079 double theta = -x_max - 0.5*step;
1081 for(
int i =0; i<nbin; i++){
1083 rho =
s*
cos(theta) + z*
sin(theta);
1084 hough->Fill(theta,rho);
1092 if (par[3] != 0) arg1 = (
x[0] - par[2])/par[3];
1093 Double_t fitval1 = par[0]*TMath::Exp(-0.5*arg1*arg1);
1096 if (par[4] != 0) arg2 = (
x[0] - par[2])/par[4];
1097 Double_t fitval2 = par[1]*TMath::Exp(-0.5*arg2*arg2);
1099 Double_t pdfValue = fitval1+fitval2;
1105 Double_t fitval = 0;
1107 if (par[2] != 0)
arg = (
x[0] - par[1])/par[2];
1108 fitval = par[0]*TMath::Exp(-0.5*
arg*
arg);
1111 if (par[3] != 0)
arg = (
x[0] - par[1])/par[3];
1112 fitval = par[0]*TMath::Exp(-0.5*
arg*
arg);
double arg(const EvtComplex &c)
*******INTEGER m_nBinMax INTEGER m_NdiMax !No of bins in histogram for cell exploration division $ !Last vertex $ !Last active cell $ !Last cell in buffer $ !No of sampling when dividing cell $ !No of function total $ !Flag for random ceel for $ !Flag for type of for WtMax $ !Flag which decides whether vertices are included in the sampling $ entire domain is hyp !Maximum effective eevents per bin
double tan(const BesAngle a)
double sin(const BesAngle a)
double cos(const BesAngle a)
*********Class see also m_nmax DOUBLE PRECISION m_MasPhot DOUBLE PRECISION m_phsu DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_r2 DOUBLE PRECISION m_WtMass INTEGER m_nmax INTEGER m_Nevgen INTEGER m_IsFSR INTEGER m_MarTot *COMMON c_KarFin $ !Output file $ !Event serial number $ !alpha QED at Thomson limit $ !minimum energy at CMS for remooval $ !infrared cut
double fitterFunction2(double *x, double *par)
void fill_histogram2(double s, double z, double x_max, int nbin, TH2D *hough)
void fill_histogram(double s, double z, double x_max, int nbin, TH2D *hough)
double fitterFunction(double *x, double *par)