748{
749 gROOT->SetStyle("Pub");
750
754
755 int pmin = 57, pmax=0;
756 for(
int i=0; i<
npat; i++) {
760 }
761
762 TH1F hAll("all","StartEnd vs plateID", (pmax-pmin+3), pmin-1, pmax+2 );
763 TH1F hStart("start","start", (pmax-pmin+3), pmin-1, pmax+2 );
764 TH1F hEnd("end","end", (pmax-pmin+3), pmin-1, pmax+2 );
765
766 TH1F hNSeg("nseg","nseg vs plateID", (pmax-pmin+3), pmin-1, pmax+2 );
767
768 TH1F hHoles("holes","holes vs plateID", (pmax-pmin+3), pmin-1, pmax+2 );
769
770 TH1F hFillAbs("FillAbs","FillAbs", (pmax-pmin+3), pmin-1, pmax+2 );
771 TH1F hFillReal("FillReal","plates fill factor", (pmax-pmin+3), pmin-1, pmax+2 );
772
773 TH2F hEff("eff","eff vs theta", 50, 0, 2, 55, 0, 1.1 );
774 TH2F hChi( "Chi","Chi vs plateID", (pmax-pmin+3), pmin-1, pmax+2, 100, 0,3 );
775 TH2F hW( "W", "W vs plateID", (pmax-pmin+3), pmin-1, pmax+2, 40, 0,40 );
776
777 for(int i=0; i<ntr; i++) {
780 for(int j=0; j<nseg; j++) {
782 int plateid =
s->ScanID().ePlate;
783
784 hNSeg.Fill(plateid);
785 hChi.Fill(plateid,
s->Chi2());
786 hW.Fill(plateid,
s->W());
787
788 if(j>0&&j<nseg-1) hFillReal.Fill(plateid);
789
790 }
791 int pstart =
t->GetSegmentFirst()->ScanID().ePlate;
792 int pend =
t->GetSegmentLast()->ScanID().ePlate;
793 hStart.Fill(pstart);
794 hEnd.Fill(pend);
795
796 for(int i=pstart; i<=pend; i++) hHoles.Fill(i);
797 for(int i=pstart+1; i<pend; i++) hFillAbs.Fill(i);
798
799 if(nseg>=nseg0) { hEff.Fill(
t->Theta(), 1.*(
t->N()-2)/(
t->Npl()-2) ); }
800 }
801
802 hAll.Add( &hStart ); hAll.Add( &hEnd );
803 hHoles.Add( &hNSeg, -1);
804
805 TH1F *ratio = (TH1F*)(hFillReal.Clone("ratio"));
806 ratio->Divide(&hFillAbs);
807
810 TFile
f(
name,
"UPDATE");
811
812 TCanvas *c =
new TCanvas(Form(
"GEff_%s",suff), Form(
"global_eff_%s",suff), 900,900);
813 c->Divide(3,3);
814 c->cd(1); hNSeg.Draw();
815 c->cd(4); hHoles.Draw();
816 c->cd(7); { hAll.SetLineColor(kBlack); hAll.Draw(); hStart.SetLineColor(kRed); hStart.Draw("same"); hEnd.SetLineColor(kBlue); hEnd.Draw("same"); }
817 c->cd(2); ratio->Draw();
818 c->cd(5); hChi.ProfileX()->Draw();
819 c->cd(8); hW.ProfileX()->Draw();
820 c->cd(3); hEff.ProfileX()->Draw();
821 c->cd(6); hEff.ProjectionY()->Draw();
822 c->Write();
823
824 TCanvas *cc =
new TCanvas(Form(
"GTr_%s",suff), Form(
"global_tr_%s",suff), 900,900);
825 cc->Divide(1,3);
826 cc->cd(1)->SetGrid(); hNSeg.Draw();
827 cc->cd(2)->SetGrid(); { hAll.SetLineColor(kBlack); hAll.Draw(); hStart.SetLineColor(kRed); hStart.Draw("same"); hEnd.SetLineColor(kBlue); hEnd.Draw("same"); }
828 cc->cd(3)->SetGrid(); ratio->Draw();
829 cc->Write();
830
831
833}