{ /* Script to make some plots summarizing a mechanical alignment results from the nutple that Translate.cc produces. */ TH1D *hdx,*hdxl[5]; TH1D *hdy,*hdyl[5]; TH1D *hdz,*hdzl[5]; TH1D *hax,*haxl[5]; TH1D *hay,*hayl[5]; TH1D *haz,*hazl[5]; TH1D *hwp,*hwplow,*hwphgh,*hwpl[5]; TH1D *hwpchi,*hwpchil[5]; TH1D *hwpchibig; TH1D *hwpw0,*hwpw1,*hwpw2,*hwpw3; TH1D *hbw,*hbwl[5]; TH1D *haxlad,*haylad,*hazlad,*hdxlad,*hdylad,*hdzlad; TH1D *hdelbow; TH2D *hbowbow; TH1D *hdelbow2,*hbw2,*hdxlad2; TH1D *hdelbow3; TH2D *hbowbow2; //TProfile* pdylad; char hname[200]; char htitle[200]; char hist[200]; char cut[200]; hdx = new TH1D("hdx", "Wafer Delta X",50,-0.03,0.03); hdy = new TH1D("hdy", "Wafer Delta Y",50,-0.0015,0.0015); hdz = new TH1D("hdz", "Wafer Delta Z",50,-0.005,0.005); hax = new TH1D("hax", "Wafer Rot X", 50,-0.0005,0.0005); hay = new TH1D("hay", "Wafer Rot Y", 50,-0.003,0.003); haz = new TH1D("haz", "Wafer Rot Z", 50,-0.0035,0.0035); hwp = new TH1D("hwp", "Wafer Warp",50,-0.01,0.01); hwp->GetXaxis()->SetNdivisions(505); hwplow = new TH1D("hwplow", "Wafer Warp L1-3",50,-0.01,0.01); hwplow->GetXaxis()->SetNdivisions(505); hwphgh = new TH1D("hwphgh", "Wafer Warp L4-5",50,-0.01,0.01); hwphgh->GetXaxis()->SetNdivisions(505); hwpchi = new TH1D("hwpchi", "Wafer warp chi**2/ndof",50,0.0,6.0); hwpchibig = new TH1D("hwpchibig", "Wafer warp chi**2/ndof big",50,0.0,60.0); hwpw0 = new TH1D("hwpw0", "Wafer Warp wafer0",50,-0.01,0.01); hwpw0->GetXaxis()->SetNdivisions(505); hwpw1 = new TH1D("hwpw1", "Wafer Warp wafer1",50,-0.01,0.01); hwpw1->GetXaxis()->SetNdivisions(505); hwpw2 = new TH1D("hwpw2", "Wafer Warp wafer2",50,-0.01,0.01); hwpw2->GetXaxis()->SetNdivisions(505); hwpw3 = new TH1D("hwpw3", "Wafer Warp wafer3",50,-0.01,0.01); hwpw3->GetXaxis()->SetNdivisions(505); hbw = new TH1D("hbw", "Ladder bow (jig)",50,-0.03,0.03); hbw->GetXaxis()->SetNdivisions(506); hbw22 = new TH1D("hbw22", "Ladder bow (jig) C barrel",50,-0.03,0.03); hbw22->GetXaxis()->SetNdivisions(506); haywlad = new TH1D("haywlad", "Rot Y, ladder from wafer",50,-0.0003,0.0003); hdxwlad = new TH1D("hdxwlad", "Del X, ladder from wafer",50,-0.015,0.007); haxlad = new TH1D("haxlad", "Rot X, ladder",50,-0.0003,0.0003); haylad = new TH1D("haylad", "Rot Y, ladder",50,-0.0005,0.0005); hazlad = new TH1D("hazlad", "Rot Z, ladder",50,-0.0005,0.0005); hdxlad = new TH1D("hdxlad", "Del X (bow), ladder",50,-0.03,0.03); hdxlad->GetXaxis()->SetNdivisions(506); hdxlad2 = new TH1D("hdxlad2", "Del X (bow), ladder C Barrel",50,-0.03,0.03); hdxlad2->GetXaxis()->SetNdivisions(506); hdylad = new TH1D("hdylad", "Del Y, ladder",50,-0.01,0.01); hdylad->GetXaxis()->SetNdivisions(505); hdzlad = new TH1D("hdzlad", "Del Z, ladder",50,-0.01,0.01); hdzlad->GetXaxis()->SetNdivisions(505); hbowbow = new TH2D("hbowbow", "bow barrel vs bow jig", 50,-0.02,0.03,50,-0.02,0.03); hbowbow->SetMarkerStyle(20); hbowbow->SetMarkerSize(0.8); hbowbow2 = new TH2D("hbowbow2", "bow barrel vs bow jig C barrel", 50,-0.02,0.03,50,-0.02,0.03); hbowbow2->SetMarkerStyle(20); hbowbow2->SetMarkerSize(0.8); hdelbow = new TH1D("hdelbow", "bow barrel - bow jig",50,-0.03,0.03); hdelbow->GetXaxis()->SetNdivisions(506); hdelbow2 = new TH1D("hdelbow2", "bow barrel - bow jig C barrel",50,-0.03,0.03); hdelbow2->GetXaxis()->SetNdivisions(506); hdelbow3 = new TH1D("hdelbow3", "raw bow - bow jig",50,-0.03,0.03); hdelbow3->GetXaxis()->SetNdivisions(506); TProfile* pdylad = new TProfile("pdylad","Dy ladder",180,-0.5,179.5); TProfile* pdzlad = new TProfile("pdzlad","Dz ladder",180,-0.5,179.5); TProfile* paxlad = new TProfile("paxlad","Ax ladder",180,-0.5,179.5); TProfile* pbwlad = new TProfile("pbwlad","Bow ladder",180,-0.5,179.5); int color[5]; color[0]=2; color[1]=3; color[2]=4; color[3]=6; color[4]=7; for(int i=0; i<5; i++) { sprintf(hname,"hdx%d",i+1); sprintf(htitle,"Delta X L%d",i+1); hdxl[i] = new TH1D(hname,htitle,50,-0.015,0.015); hdxl[i]->SetLineColor(color[i]); sprintf(hname,"hdy%d",i+1); sprintf(htitle,"Delta Y L%d",i+1); hdyl[i] = new TH1D(hname,htitle,50,-0.0015,0.0015); hdyl[i]->SetLineColor(color[i]); sprintf(hname,"hdz%d",i+1); sprintf(htitle,"Delta Z L%d",i+1); hdzl[i] = new TH1D(hname,htitle,50,-0.0025,0.0025); hdzl[i]->SetLineColor(color[i]); sprintf(hname,"hax%d",i+1); sprintf(htitle,"Rot X L%d",i+1); haxl[i] = new TH1D(hname,htitle,50,-0.0005,0.0005); haxl[i]->SetLineColor(color[i]); sprintf(hname,"hay%d",i+1); sprintf(htitle,"Rot Y L%d",i+1); hayl[i] = new TH1D(hname,htitle,50,-0.002,0.002); hayl[i]->SetLineColor(color[i]); sprintf(hname,"haz%d",i+1); sprintf(htitle,"Rot Z L%d",i+1); hazl[i] = new TH1D(hname,htitle,50,-0.002,0.002); hazl[i]->SetLineColor(color[i]); sprintf(hname,"hwp%d",i+1); sprintf(htitle,"Wafer warp L%d",i+1); hwpl[i] = new TH1D(hname,htitle,50,-0.01,0.01); //hwpl[i]->SetLineColor(color[i]); sprintf(hname,"hwpchi%d",i+1); sprintf(htitle,"Wafer warp chi L%d",i+1); hwpchil[i] = new TH1D(hname,htitle,50,0.0,2.0); hwpchil[i]->SetLineColor(color[i]); sprintf(hname,"hbw%d",i+1); sprintf(htitle,"Ladder L%d",i+1); hbwl[i] = new TH1D(hname,htitle,50,-0.01,0.02); hbwl[i]->SetLineColor(color[i]); } TranslateTree->Draw("xoff>>hdx"); TranslateTree->Draw("yoff>>hdy"); TranslateTree->Draw("zoff>>hdz"); TranslateTree->Draw("xrot>>hax"); TranslateTree->Draw("yrot>>hay"); TranslateTree->Draw("zrot>>haz"); TranslateTree->Draw("hiWarp>>hwp"); TranslateTree->Draw("hiWarp>>hwplow","layer<2.5"); TranslateTree->Draw("hiWarp>>hwphgh","layer>2.5"); TranslateTree->Draw("chiWarp>>hwpchi"); TranslateTree->Draw("chiWarp>>hwpchibig"); TranslateTree->Draw("hiWarp[0]>>hwpw0"); TranslateTree->Draw("hiWarp[1]>>hwpw1"); TranslateTree->Draw("hiWarp[2]>>hwpw2"); TranslateTree->Draw("hiWarp[3]>>hwpw3"); TranslateTree->Draw("bow>>hbw"); TranslateTree->Draw("bow>>hbw22","barrel==1"); TranslateTree->Draw("yrotlad>>haywlad"); TranslateTree->Draw("xofflad>>hdxwlad"); TranslateTree->Draw("barBow>>hdxlad"); TranslateTree->Draw("barBow>>hdxlad2","barrel==1"); TranslateTree->Draw("barDy>>hdylad"); TranslateTree->Draw("barDz>>hdzlad"); TranslateTree->Draw("barAx>>haxlad"); TranslateTree->Draw("barAy>>haylad"); TranslateTree->Draw("barAz>>hazlad"); TranslateTree->Draw("barBow:bow>>hbowbow"); TranslateTree->Draw("barBow:bow>>hbowbow2","barrel==1"); TranslateTree->Draw("(barBow-bow)>>hdelbow"); TranslateTree->Draw("(barBow-bow)>>hdelbow2","barrel==1"); TranslateTree->Draw("(rawBow-bow)>>hdelbow3"); TranslateTree->Draw("barDy:(barrel*60+layer*12+wedge)>>pdylad"); TranslateTree->Draw("barDz:(barrel*60+layer*12+wedge)>>pdzlad"); TranslateTree->Draw("barAx:(barrel*60+layer*12+wedge)>>paxlad"); TranslateTree->Draw("barBow:(barrel*60+layer*12+wedge)>>pbwlad"); pdylad->SetMarkerStyle(20); pdylad->SetMarkerSize(0.5); pdzlad->SetMarkerStyle(20); pdzlad->SetMarkerSize(0.5); paxlad->SetMarkerStyle(20); paxlad->SetMarkerSize(0.5); pbwlad->SetMarkerStyle(20); pbwlad->SetMarkerSize(0.5); for(int i=0; i<5; i++) { sprintf(hist,"xoff>>hdx%d",i+1); sprintf(cut,"layer==%d",i); TranslateTree->Draw(hist,cut); sprintf(hist,"yoff>>hdy%d",i+1); sprintf(cut,"layer==%d",i); TranslateTree->Draw(hist,cut); sprintf(hist,"zoff>>hdz%d",i+1); sprintf(cut,"layer==%d",i); TranslateTree->Draw(hist,cut); sprintf(hist,"xrot>>hax%d",i+1); sprintf(cut,"layer==%d",i); TranslateTree->Draw(hist,cut); sprintf(hist,"yrot>>hay%d",i+1); sprintf(cut,"layer==%d",i); TranslateTree->Draw(hist,cut); sprintf(hist,"zrot>>haz%d",i+1); sprintf(cut,"layer==%d",i); TranslateTree->Draw(hist,cut); sprintf(hist,"hiWarp>>hwp%d",i+1); sprintf(cut,"layer==%d",i); TranslateTree->Draw(hist,cut); sprintf(hist,"chiWarp>>hwpchi%d",i+1); sprintf(cut,"layer==%d",i); TranslateTree->Draw(hist,cut); sprintf(hist,"bow>>hbw%d",i+1); sprintf(cut,"layer==%d",i); TranslateTree->Draw(hist,cut); } TCanvas * c1 = new TCanvas("Tr_page1","Tr Page 1",100,100,700,800); c1->Divide(2,3); c1->cd(1); hdx->Draw(); c1->cd(2); hax->Draw(); c1->cd(3); hdy->Draw(); c1->cd(4); hay->Draw(); c1->cd(5); hdz->Draw(); c1->cd(6); haz->Draw(); TCanvas * c2 = new TCanvas("Tr_page2","Tr Page 2",150,150,700,700); c2->Divide(2,2); c2->cd(1); hwp->Draw(); c2->cd(2); hwpchi->Draw(); c2->cd(3); hwplow->Draw(); c2->cd(4); hwphgh->Draw(); TCanvas * c3 = new TCanvas("Tr_page3","Tr Page 3",200,200,700,800); c3->Divide(2,3); c3->cd(1); hwp->Draw(); c3->cd(2); hwp1->Draw(); c3->cd(3); hwp2->Draw(); c3->cd(4); hwp3->Draw(); c3->cd(5); hwp4->Draw(); c3->cd(6); hwp5->Draw(); TCanvas * c4 = new TCanvas("Tr_page4","Tr Page 4",250,250,700,700); c4->Divide(2,2); c4->cd(1); hwpw0->Draw(); c4->cd(2); hwpw1->Draw(); c4->cd(3); hwpw2->Draw(); c4->cd(4); hwpw3->Draw(); TCanvas * c5 = new TCanvas("Tr_page5","Tr Page 5",300,300,700,700); c5->Divide(2,2); c5->cd(1); hwpchibig->Draw(); c5->cd(2); haywlad->Draw(); c5->cd(3); hdxwlad->Draw(); TCanvas * c6 = new TCanvas("Tr_page6","Tr Page 6",350,350,700,700); c6->Divide(2,2); c6->cd(1); hdylad->Draw(); c6->cd(2); hdzlad->Draw(); c6->cd(3); haxlad->Draw(); TCanvas * c7 = new TCanvas("Tr_page7","Tr Page 7",400,400,700,800); c7->Divide(1,4); c7->cd(1); pdylad->Draw("pE2"); c7->cd(2); pdzlad->Draw("pE2"); c7->cd(3); paxlad->Draw("pE2"); c7->cd(4); pbwlad->Draw("pE2"); TCanvas * c8 = new TCanvas("Tr_page8","Tr Page 8",450,450,700,700); c8->Divide(2,2); c8->cd(1); hbw->Draw(); c8->cd(2); hdxlad->Draw(); c8->cd(3); hbowbow->Draw(); c8->cd(4); hdelbow->Draw(); TCanvas * c9 = new TCanvas("Tr_page9","Tr Page 9",500,500,700,700); c9->Divide(2,2); c9->cd(1); hbw22->Draw(); c9->cd(2); hdxlad2->Draw(); c9->cd(3); hbowbow2->Draw(); c9->cd(4); hdelbow2->Draw(); TCanvas * c10 = new TCanvas("Tr_page10","Tr Page 10",550,500,700,700); c10->Divide(2,2); c10->cd(1); hdelbow3->Draw(); TCanvas * c11 = new TCanvas("Tr_page11","Tr Page 11",600,500,700,700); c11->Divide(2,2); TH2F* bowfit = new TH2F("bowfit","bow fit profile",2,-17,17,2,-0.03,0.03); gStyle.SetOptStat(0); c11->cd(1); bowfit->Draw(); gRaw_8->Draw("P"); gFit_8->Draw("L"); c11->cd(2); bowfit->Draw(); gRaw_114->Draw("P"); gFit_114->Draw("L"); c11->cd(3); bowfit->Draw(); gRaw_208->Draw("P"); gFit_208->Draw("L"); c11->cd(4); bowfit->Draw(); gRaw_316->Draw("P"); gFit_316->Draw("L"); TCanvas * c12 = new TCanvas("Tr_page12","Tr Page 12",650,500,700,700); c12->Divide(2,2); c12->cd(1); bowfit->Draw(); gRaw_6->Draw("P"); gFit_6->Draw("L"); c12->cd(2); bowfit->Draw(); gRaw_105->Draw("P"); gFit_105->Draw("L"); c12->cd(3); bowfit->Draw(); gRaw_222->Draw("P"); gFit_222->Draw("L"); c12->cd(4); bowfit->Draw(); gRaw_309->Draw("P"); gFit_309->Draw("L"); gStyle.SetOptStat(111111); /* Printing: c1->Print("TrPage1.eps"); c2->Print("TrPage2.eps"); c3->Print("TrPage3.eps"); c4->Print("TrPage4.eps"); c5->Print("TrPage5.eps"); c6->Print("TrPage6.eps"); c7->Print("TrPage7.eps"); c8->Print("TrPage8.eps"); c9->Print("TrPage9.eps"); c10->Print("TrPage10.eps"); c11->Print("TrPage11.eps"); c12->Print("TrPage12.eps"); !print TrPage*.eps */ /* drawing graphs: cg = new TCanvas("cg","cg",200,10,700,700); TH2F* xx2 = new TH2F("xx2","xx2",2,-17,17,2,-30,30); xx2->Draw(); gRaw_9->Draw("P"); gFit_9->Draw("L"); */ }