5123 TFile *datafile =
new TFile(
argv[2]);
5124 if (datafile->IsZombie())
5126 cout <<
"ERROR! INPUT FILE DOES NOT EXIST!" << endl;
5131 if (datafile->FindKey(
"TRT_Ar_all"))
5134 cout <<
" This run contains straws with Argon" << endl;
5136 if (!datafile->FindKey(
"Chip_Artuple"))
5139 cout <<
" This run contains does not have Argon ntuples" << endl;
5145 bool useref =
false;
5149 refdatafile =
new TFile(
argv[4]);
5150 if (refdatafile->IsZombie())
5152 cout <<
"INPUT REFERENCE FILE DOES NOT EXIST! RUNNING WITHOUT IT!" << endl;
5156 cout <<
"INPUT REFERENCE FILE OK!" << endl;
5160 cout <<
"MAKING FirstPage" << endl;
5172 cout <<
"MAKING Settings" << endl;
5177 cout <<
"MAKING TracktupleInfo" << endl;
5190 cout <<
"MAKING HitStatistics" << endl;
5196 cout <<
"MAKING Ar HitStatistics" << endl;
5201 cout <<
"MAKING TRTPlots" << endl;
5224 cout <<
"MAKING ResidualPlots" << endl;
5246 cout <<
"MAKING T0CalibTypeXY" << endl;
5253 cout <<
"MAKING XYMaps(nt0)" << endl;
5255 XYMaps *nhitsAr =
nullptr;
5259 cout <<
"MAKING XYMaps(res)" << endl;
5261 XYMaps *resxy0Ar =
nullptr;
5265 cout <<
"MAKING XYMaps(resmean)" << endl;
5267 XYMaps *resxyAr =
nullptr;
5269 resxyAr =
new XYMaps(
argv[2],
"abs(resMean)",
true);
5271 cout <<
"MAKING XYMaps(t0)" << endl;
5273 XYMaps *xymapAr =
nullptr;
5277 cout <<
"MAKING XYMaps(oldt0)" << endl;
5279 XYMaps *oldt0Ar =
nullptr;
5281 oldt0Ar =
new XYMaps(
argv[2],
"oldt0",
true);
5283 cout <<
"MAKING XYMaps(t0-oldt0)" << endl;
5285 XYMaps *oldt01Ar =
nullptr;
5287 oldt01Ar =
new XYMaps(
argv[2],
"abs(t0-oldt0)",
true);
5289 cout <<
"MAKING XYMaps(tresMean)" << endl;
5291 XYMaps *oldt0111Ar =
nullptr;
5293 oldt0111Ar =
new XYMaps(
argv[2],
"abs(tresMean)",
true);
5295 cout <<
"MAKING XYMaps(tres)" << endl;
5297 XYMaps *oldt011Ar =
nullptr;
5299 oldt011Ar =
new XYMaps(
argv[2],
"(tres)",
true);
5304 if (datafile->FindKey(
"TRT_all"))
5306 cout <<
"MAKING ChipVariations" << endl;
5318 cout <<
"MAKING BoardVariationsOldT0" << endl;
5321 refboardgraphA->SetLineColor(2);
5322 refboardgraphC->SetLineColor(2);
5323 cout <<
"MAKING BoardVariationsDiff" << endl;
5328 cout <<
"MAKING BoardVariations" << endl;
5332 cout <<
"MAKING BoardVariationsRes" << endl;
5336 cout <<
"MAKING BoardVariationsTRes" << endl;
5340 cout <<
"MAKING BoardVariationsTRes1" << endl;
5345 RtGraphs *rtrelation_bar =
nullptr;
5355 if (datafile->FindKey(
"TRT_all"))
5357 cout <<
"MAKING RtGraphs" << endl;
5358 TDirectory *trt = (TDirectory *)datafile->FindKey(
"TRT_all")->ReadObj();
5360 if (trt->FindKey(
"WholeBarrel_1"))
5364 rtrelation_bar =
new RtGraphs(
argv[2],
"WholeBarrel_1");
5371 if (trt->FindKey(
"Detector_-1"))
5382 if (trt->FindKey(
"Detector_1"))
5393 if (trt->FindKey(
"Detector_-2"))
5404 if (trt->FindKey(
"Detector_2"))
5416 cout <<
"MAKING Rt binning" << endl;
5424 cout <<
"MAKING Rt binning for Detector_-2" << endl;
5425 rtbinning3 =
new RtBinning(trt,
"Detector_-2");
5426 cout <<
"MAKING Rt binning for Detector_2" << endl;
5427 rtbinning4 =
new RtBinning(trt,
"Detector_2");
5442 cout <<
"MAKING Binned Residual" << endl;
5452 cout <<
"MAKING Binned Residual for Detector_-2" << endl;
5453 binres3 =
new RresTbin(datafile,
"Detector_-2", -2);
5455 cout <<
"MAKING Binned Residual for Detector_2" << endl;
5456 binres4 =
new RresTbin(datafile,
"Detector_2", 2);
5466 cout <<
"MAKING RtColor" << endl;
5468 if (datafile->FindKey(
"TRT_all"))
5470 cout <<
" found TRT_all " << endl;
5475 TDirectory *trt = (TDirectory *)datafile->FindKey(
"TRT_all")->ReadObj();
5499 if (trt->FindKey(
"Detector_-2"))
5501 cout <<
" MAKING RtColor Detector_-2" << endl;
5512 if (trt->FindKey(
"Detector_2"))
5514 cout <<
" MAKING RtColor Detector_2" << endl;
5617 cout <<
"MAKING RT Binned Residual for Ar" << endl;
5619 TDirectory *trtAr = (TDirectory *)datafile->FindKey(
"TRT_Ar_all")->ReadObj();
5630 cout <<
"MAKING RT Binned Abs Residual for Ar" << endl;
5658 if (trtAr->FindKey(
"Detector_Ar_-1"))
5660 cout <<
" MAKING AR RtColor det -1" << endl;
5663 rtArcol2 =
new RtColor(
argv[2],
"Detector_Ar_-1",
true);
5670 if (trtAr->FindKey(
"Detector_Ar_1"))
5672 cout <<
" MAKING AR RtColor det 1" << endl;
5675 rtArcol3 =
new RtColor(
argv[2],
"Detector_Ar_1",
true);
5682 if (trtAr->FindKey(
"Detector_Ar_-2"))
5684 cout <<
" MAKING AR RtColor det -2" << endl;
5687 rtArcol4 =
new RtColor(
argv[2],
"Detector_Ar_-2",
true);
5694 if (trtAr->FindKey(
"Detector_Ar_2"))
5696 cout <<
" MAKING AR RtColor det 2" << endl;
5699 rtArcol5 =
new RtColor(
argv[2],
"Detector_Ar_2",
true);
5713 cout <<
"MAKING BoardVariationsOldT0 for Ar" << endl;
5716 cout <<
"MAKING BoardVariationsDiff Ar" << endl;
5719 boarddiffECgraphA->SetLineColor(2);
5720 boarddiffECgraphC->SetLineColor(2);
5723 cout <<
"MAKING BoardVariations Ar" << endl;
5727 cout <<
"MAKING BoardVariationsRes Ar" << endl;
5731 cout <<
"MAKING BoardVariationsTRes Ar" << endl;
5735 cout <<
"MAKING BoardVariationsTRes1" << endl;
5739 cout <<
" Start printing itersum.ps" << endl;
5743 TCanvas *
c1 =
new TCanvas();
5744 c1->Print(
"itersum.ps[");
5748 firstpage->Print(
"itersum.ps");
5751 settings->Print(
"itersum.ps");
5754 tracktupleinfo->Print(
"itersum.ps");
5757 hitstat->Print(
"itersum.ps");
5760 hitstatAr->Print(
"itersum.ps");
5763 gStyle->SetOptStat(0);
5765 resplots->Print(
"itersum.ps");
5768 resplotsAr->Print(
"itersum.ps");
5771 textpage =
new TextPage(
" BARREL PLOTS ");
5772 textpage->Print(
"itersum.ps");
5775 hitstatxy->Print(
"itersum.ps");
5778 hitstatxyAr->Print(
"itersum.ps");
5780 nhits->Print(
"itersum.ps");
5783 nhitsAr->Print(
"itersum.ps");
5785 resxy0->Print(
"itersum.ps");
5788 resxy0Ar->Print(
"itersum.ps");
5790 resxy->Print(
"itersum.ps");
5793 resxyAr->Print(
"itersum.ps");
5795 xymap->Print(
"itersum.ps");
5798 xymapAr->Print(
"itersum.ps");
5802 oldt0->Print(
"itersum.ps");
5805 oldt0Ar->Print(
"itersum.ps");
5808 oldt01->Print(
"itersum.ps");
5811 oldt01Ar->Print(
"itersum.ps");
5815 oldt0111->Print(
"itersum.ps");
5818 oldt0111Ar->Print(
"itersum.ps");
5821 oldt011->Print(
"itersum.ps");
5824 oldt011Ar->Print(
"itersum.ps");
5829 double lowe = -3.5, upe = 3.5;
5831 if (chipgraphA && chipgraphC)
5833 chipgraphA->GetYaxis()->SetRangeUser(lowe, upe);
5834 chipgraphC->GetYaxis()->SetRangeUser(lowe, upe);
5836 c1->Divide(1, 2, 0.01, 0.01);
5843 c1->Print(
"itersum.ps");
5848 c1->Divide(1, 2, 0.01, 0.01);
5850 boardgraphA->Draw(
"apl");
5853 refboardgraphA->Draw(
"pl");
5854 TLegend *
leg =
new TLegend(0.8, 0.8, 0.98, 0.95);
5855 leg->AddEntry(boardgraphA,
"data",
"l");
5857 leg->AddEntry(refboardgraphA,
"ref (input to 1st it)",
"l");
5858 leg->SetTextSize(0.03);
5861 boardgraphC->Draw(
"apl");
5864 refboardgraphC->Draw(
"pl");
5865 c1->Print(
"itersum.ps");
5872 c1->Divide(1, 2, 0.01, 0.01);
5874 boarddiffgraphA->Draw(
"ap");
5878 boarddiffgraphC->Draw(
"ap");
5881 c1->Print(
"itersum.ps");
5886 c1->Divide(1, 2, 0.01, 0.01);
5888 boardgraphA1->Draw(
"apl");
5891 boardgraphC1->Draw(
"apl");
5893 c1->Print(
"itersum.ps");
5897 c1->Divide(1, 2, 0.01, 0.01);
5899 boardgraphA2->Draw(
"apl");
5902 boardgraphC2->Draw(
"apl");
5904 c1->Print(
"itersum.ps");
5908 c1->Divide(1, 2, 0.01, 0.01);
5910 boardgraphA3->Draw(
"apl");
5913 boardgraphC3->Draw(
"apl");
5915 c1->Print(
"itersum.ps");
5921 textpage =
new TextPage(
"ENDCAP PLOTS");
5922 textpage->Print(
"itersum.ps");
5925 cout <<
"MAKING PLOTS FOR ENDCAPS" << endl;
5929 ntypeEC->Print(
"itersum.ps");
5934 ntypeECAr->Print(
"itersum.ps");
5939 nhitsEC->Print(
"itersum.ps");
5944 nhitsECAr->Print(
"itersum.ps");
5948 resxy0EC->Print(
"itersum.ps");
5953 resxy0ECAr->Print(
"itersum.ps");
5957 resxyM0EC->Print(
"itersum.ps");
5961 resxyM0ECAr =
new XYMapsEC(
argv[2],
"abs(resMean)",
true);
5962 resxyM0ECAr->Print(
"itersum.ps");
5967 xymapEC->Print(
"itersum.ps");
5972 xymapECAr->Print(
"itersum.ps");
5980 oldt0EC->Print(
"itersum.ps");
5987 oldt0ECAr->Print(
"itersum.ps");
5993 oldt01EC->Print(
"itersum.ps");
5997 oldt01ECAr =
new XYMapsEC(
argv[2],
"abs(t0-oldt0)",
true);
5998 oldt01ECAr->Print(
"itersum.ps");
6007 oldt0111EC->Print(
"itersum.ps");
6013 oldt0111ECAr =
new XYMapsEC(
argv[2],
"abs(tresMean)",
true);
6014 oldt0111ECAr->Print(
"itersum.ps");
6019 oldt011EC->Print(
"itersum.ps");
6024 oldt011ECAr->Print(
"itersum.ps");
6029 c1->Divide(1, 2, 0.01, 0.01);
6031 boardECgraphA->Draw(
"apl");
6033 if (refboardECgraphA)
6034 refboardECgraphA->Draw(
"pl");
6035 TLegend *legAr =
new TLegend(0.8, 0.8, 0.98, 0.95);
6036 legAr->AddEntry(boardECgraphA,
"data",
"l");
6037 if (refboardECgraphA)
6038 leg->AddEntry(refboardECgraphA,
"ref (input to 1st it)",
"l");
6039 legAr->SetTextSize(0.03);
6042 boardECgraphC->Draw(
"apl");
6044 if (refboardECgraphC)
6045 refboardECgraphC->Draw(
"pl");
6046 c1->Print(
"itersum.ps");
6053 c1->Divide(1, 2, 0.01, 0.01);
6055 boarddiffECgraphA->Draw(
"ap");
6058 boarddiffECgraphC->Draw(
"ap");
6061 c1->Print(
"itersum.ps");
6066 c1->Divide(1, 2, 0.01, 0.01);
6068 boardECgraphA1->Draw(
"apl");
6071 boardECgraphC1->Draw(
"apl");
6073 c1->Print(
"itersum.ps");
6077 c1->Divide(1, 2, 0.01, 0.01);
6079 boardECgraphA2->Draw(
"apl");
6082 boardECgraphC2->Draw(
"apl");
6084 c1->Print(
"itersum.ps");
6088 c1->Divide(1, 2, 0.01, 0.01);
6090 boardECgraphA3->Draw(
"apl");
6093 boardECgraphC3->Draw(
"apl");
6095 c1->Print(
"itersum.ps");
6100 textpage =
new TextPage(
" RT PLOTS ");
6101 textpage->Print(
"itersum.ps");
6104 gStyle->SetOptStat(1);
6105 gStyle->SetOptFit(0);
6108 rtrelation_bar->Print(
"itersum.ps");
6112 rtbinning_bar->Print(
"itersum.ps");
6116 rtrelation21->Print(
"itersum.ps");
6120 rtbinning1->Print(
"itersum.ps");
6124 rtrelation31->Print(
"itersum.ps");
6128 rtbinning2->Print(
"itersum.ps");
6132 rtrelation41->Print(
"itersum.ps");
6136 rtbinning3->Print(
"itersum.ps");
6140 rtrelation51->Print(
"itersum.ps");
6144 rtbinning4->Print(
"itersum.ps");
6149 binres_bar->Print(
"itersum.ps");
6153 tbinnedres_bar->Print(
"itersum.ps");
6157 binres1->Print(
"itersum.ps");
6161 tbinnedres1->Print(
"itersum.ps");
6165 binres2->Print(
"itersum.ps");
6169 tbinnedres2->Print(
"itersum.ps");
6172 binres3->Print(
"itersum.ps");
6176 tbinnedres3->Print(
"itersum.ps");
6179 binres4->Print(
"itersum.ps");
6183 tbinnedres4->Print(
"itersum.ps");
6186 gStyle->SetOptStat(0);
6189 rtcol->Print(
"itersum.ps");
6193 rtcol1->Print(
"itersum.ps");
6196 rtcol2->Print(
"itersum.ps");
6198 if (isAr && rtArcol2)
6199 rtArcol2->Print(
"itersum.ps");
6202 rtcol3->Print(
"itersum.ps");
6204 if (isAr && rtArcol3)
6205 rtArcol3->Print(
"itersum.ps");
6208 rtcol4->Print(
"itersum.ps");
6210 if (isAr && rtArcol4)
6211 rtArcol4->Print(
"itersum.ps");
6214 rtcol5->Print(
"itersum.ps");
6216 if (isAr && rtArcol5)
6217 rtArcol5->Print(
"itersum.ps");
6222 DGraph *dgraph0 =
nullptr;
6223 DGraph *dgraph1 =
nullptr;
6224 DGraph *dgraph2 =
nullptr;
6225 DGraph *dgraph3 =
nullptr;
6226 DGraph *dgraph4 =
nullptr;
6227 DGraph *dgraph5 =
nullptr;
6228 bool isinverted =
false;
6229 if (datafile->FindKey(
"TRT_all"))
6231 TDirectory *trt = (TDirectory *)datafile->FindKey(
"TRT_all")->ReadObj();
6232 cout <<
"MAKING DGraphs" << endl;
6235 dgraph0 =
new DGraph(
argv[2],
"-2,-1",
"", -2, -1, isinverted);
6236 if (trt->FindKey(
"WholeBarrel_1"))
6238 dgraph5 =
new DGraph(
argv[2],
"-2,-1",
"WholeBarrel_1", -1, -1, isinverted);
6242 cout <<
" did not find WholeBarrel_1" << endl;
6243 if (trt->FindKey(
"Detector_1"))
6244 dgraph1 =
new DGraph(
argv[2],
"-2,-1",
"Detector_1", 1, -1, isinverted);
6245 if (trt->FindKey(
"Detector_-1"))
6246 dgraph2 =
new DGraph(
argv[2],
"-2,-1",
"Detector_-1", 1, -1, isinverted);
6248 if (trt->FindKey(
"Detector_2"))
6249 dgraph3 =
new DGraph(
argv[2],
"-2,-1",
"Detector_2", 1, -1, isinverted);
6250 if (trt->FindKey(
"Detector_-2"))
6251 dgraph4 =
new DGraph(
argv[2],
"-2,-1",
"Detector_-2", 1, -1, isinverted);
6254 TLegend *
leg =
new TLegend(0.8, 0.8, 0.98, 0.95);
6255 if (dgraph0 !=
nullptr)
6257 dgraph0->GetXaxis()->SetRangeUser(-5, 45);
6258 cout <<
" found TRT_all" << endl;
6259 dgraph0->SetLineWidth(3);
6260 dgraph0->SetLineColor(1);
6261 dgraph0->SetTitle(
"r(t)");
6263 dgraph0->GetXaxis()->SetTitle(
"t/ns");
6265 dgraph0->GetYaxis()->SetTitle(
"R / (mm)");
6268 dgraph0->Draw(
"apl");
6270 leg->AddEntry(dgraph0,
"Whole TRT",
"l");
6272 if (dgraph1 !=
nullptr)
6274 cout <<
" found Detector_1" << endl;
6275 dgraph1->SetLineWidth(3);
6276 dgraph1->SetLineColor(3);
6278 dgraph1->Draw(
"pl");
6280 leg->AddEntry(dgraph1,
"Barrel C Side",
"l");
6283 if (dgraph2 !=
nullptr)
6285 cout <<
" found Detector_-1" << endl;
6286 dgraph2->SetLineWidth(3);
6287 dgraph2->SetLineColor(2);
6289 dgraph2->Draw(
"pl");
6291 leg->AddEntry(dgraph2,
"Barrel A Side",
"l");
6294 if (dgraph3 !=
nullptr)
6296 dgraph3->SetLineWidth(3);
6297 cout <<
" found Detector_2" << endl;
6298 dgraph3->SetLineColor(6);
6300 dgraph3->Draw(
"pl");
6302 leg->AddEntry(dgraph3,
"Endcap C side",
"l");
6305 if (dgraph4 !=
nullptr)
6307 cout <<
" found Detector_-2" << endl;
6308 dgraph4->SetLineWidth(3);
6309 dgraph4->SetLineColor(7);
6311 dgraph4->Draw(
"pl");
6313 leg->AddEntry(dgraph4,
"Endcap A side",
"l");
6315 if (dgraph5 !=
nullptr)
6317 cout <<
" found WholeBarrel_1" << endl;
6318 dgraph5->SetLineWidth(3);
6319 dgraph5->SetLineColor(8);
6321 dgraph5->Draw(
"pl");
6323 leg->AddEntry(dgraph5,
"Whole Barrel",
"l");
6326 leg->SetTextSize(0.03);
6328 c1->Print(
"itersum.ps");
6342 if (datafile->FindKey(
"TRT_all"))
6344 cout <<
" do_expert: found TRT_all" << endl;
6345 TDirectory *trt = (TDirectory *)datafile->FindKey(
"TRT_all")->ReadObj();
6346 cout <<
"MAKING DvGraphs" << endl;
6349 dvgraph0 =
new DvGraph(
argv[2],
"-2,-1",
"", -2, -1, isinverted);
6350 if (trt->FindKey(
"WholeBarrel_1"))
6351 dvgraph5 =
new DvGraph(
argv[2],
"-2,-1",
"WholeBarrel_1", -1, -1, isinverted);
6354 if (trt->FindKey(
"Detector_1"))
6355 dvgraph1 =
new DvGraph(
argv[2],
"-2,-1",
"Detector_1", 1, -1, isinverted);
6356 if (trt->FindKey(
"Detector_-1"))
6357 dvgraph2 =
new DvGraph(
argv[2],
"-2,-1",
"Detector_-1", 1, -1, isinverted);
6359 if (trt->FindKey(
"Detector_2"))
6360 dvgraph3 =
new DvGraph(
argv[2],
"-2,-1",
"Detector_2", 1, -1, isinverted);
6361 if (trt->FindKey(
"Detector_-2"))
6362 dvgraph4 =
new DvGraph(
argv[2],
"-2,-1",
"Detector_-2", 1, -1, isinverted);
6365 TLegend *
leg =
new TLegend(0.8, 0.8, 0.98, 0.95);
6366 if (dvgraph0 !=
nullptr)
6368 dvgraph0->GetXaxis()->SetRangeUser(0, 2);
6369 cout <<
" do_expert: found -2-1" << endl;
6370 dvgraph0->SetLineWidth(3);
6371 dvgraph0->SetLineColor(1);
6373 dvgraph0->SetTitle(
"dt/dr");
6375 dvgraph0->SetTitle(
"dr/dt");
6376 dvgraph0->GetXaxis()->SetTitle(
"r/mm");
6378 dvgraph0->GetYaxis()->SetTitle(
"dt/dr / (ns/mm)");
6380 dvgraph0->GetYaxis()->SetTitle(
"dr/dt / (mm/ns)");
6382 dvgraph0->Draw(
"apl");
6384 leg->AddEntry(dvgraph0,
"Whole TRT",
"l");
6386 if (dvgraph1 !=
nullptr)
6388 cout <<
" do_expert: found Detector_1" << endl;
6389 dvgraph1->SetLineWidth(3);
6390 dvgraph1->SetLineColor(3);
6392 dvgraph1->Draw(
"pl");
6394 leg->AddEntry(dvgraph1,
"Barrel C Side",
"l");
6397 if (dvgraph2 !=
nullptr)
6399 dvgraph2->SetLineWidth(3);
6400 dvgraph2->SetLineColor(2);
6402 dvgraph2->Draw(
"pl");
6404 leg->AddEntry(dvgraph2,
"Barrel A Side",
"l");
6407 if (dvgraph3 !=
nullptr)
6409 dvgraph3->SetLineWidth(3);
6410 dvgraph3->SetLineColor(6);
6412 dvgraph3->Draw(
"pl");
6414 leg->AddEntry(dvgraph3,
"Endcap C side",
"l");
6417 if (dvgraph4 !=
nullptr)
6419 dvgraph4->SetLineWidth(3);
6420 dvgraph4->SetLineColor(7);
6422 dvgraph4->Draw(
"pl");
6424 leg->AddEntry(dvgraph4,
"Endcap A side",
"l");
6426 if (dvgraph5 !=
nullptr)
6428 dvgraph5->SetLineWidth(3);
6429 dvgraph5->SetLineColor(8);
6431 dvgraph5->Draw(
"pl");
6433 leg->AddEntry(dvgraph5,
"Whole Barrel",
"l");
6436 leg->SetTextSize(0.03);
6438 c1->Print(
"itersum.ps");
6445 textpage =
new TextPage(
"Track plots: Only for Experts!!!");
6446 textpage->Print(
"itersum.ps");
6449 bool istracktuple =
false;
6450 TNtuple *Tracktuple =
nullptr;
6451 if (datafile->FindKey(
"tracktuple"))
6453 Tracktuple = (TNtuple *)datafile->Get(
"tracktuple");
6454 istracktuple =
true;
6457 cout <<
"MAKING TRACK PLOTS" << endl;
6462 if (Tracktuple->GetListOfBranches()->FindObject(
"trackres"))
6465 c1->Divide(2, 1, 0.01, 0.01);
6467 Tracktuple->Draw(
"trackres>>histRes(100,0,1.5)");
6468 TH1F *histRes = (
TH1F *)gPad->GetPrimitive(
"histRes");
6469 histRes->SetTitle(
"Residual on track");
6470 histRes->GetXaxis()->SetTitle(
"Residual (mm)");
6474 Tracktuple->Draw(
"trackres:t-ttrack-t0>>histRes2d(100,-12,12,100,0,1)",
"",
"colz");
6475 TH2F *histRes2d = (
TH2F *)gPad->GetPrimitive(
"histRes2d");
6476 histRes2d->SetTitle(
"Track time residual VS track residual");
6477 histRes2d->GetXaxis()->SetTitle(
"Time residual (ns)");
6478 histRes2d->GetYaxis()->SetTitle(
"Track Residual (mm)");
6479 histRes2d->Draw(
"colz");
6480 TProfile *res2d = histRes2d->ProfileX();
6481 res2d->Draw(
"same");
6483 c1->Print(
"itersum.ps");
6488 if (Tracktuple->GetListOfBranches()->FindObject(
"pt"))
6491 c1->Divide(2, 1, 0.01, 0.01);
6493 Tracktuple->Draw(
"pt/1000>>histPt(100,0,20)");
6494 TH1F *histPt = (
TH1F *)gPad->GetPrimitive(
"histPt");
6495 histPt->SetTitle(
"Transverse momentum on track");
6496 histPt->GetXaxis()->SetTitle(
"Pt (GeV)");
6500 Tracktuple->Draw(
"trackres:pt/1000>>histPt2d(100,0,20,100,0,1.5)",
"",
"colz");
6501 TH2F *histPt2d = (
TH2F *)gPad->GetPrimitive(
"histPt2d");
6502 histPt2d->SetTitle(
"Transverse momentum on track VS track residual");
6503 histPt2d->GetXaxis()->SetTitle(
"Pt (GeV)");
6504 histPt2d->GetYaxis()->SetTitle(
"Track Residual (mm)");
6505 histPt2d->Draw(
"COLZ");
6506 TProfile *pt2d = histPt2d->ProfileX();
6508 c1->Print(
"itersum.ps");
6512 if (Tracktuple->GetListOfBranches()->FindObject(
"theta"))
6515 c1->Divide(2, 1, 0.01, 0.01);
6517 Tracktuple->Draw(
"theta>>histTheta(100,0,4)");
6518 TH1F *histTheta = (
TH1F *)gPad->GetPrimitive(
"histTheta");
6519 histTheta->SetTitle(
"Theta distribution on track");
6520 histTheta->GetXaxis()->SetTitle(
"Theta (rad)");
6524 Tracktuple->Draw(
"trackres:theta>>histTheta2d(100,0,4,100,0,1.5)",
"",
"colz");
6525 TH2F *histTheta2d = (
TH2F *)gPad->GetPrimitive(
"histTheta2d");
6526 histTheta2d->SetTitle(
"Theta distrib. on track VS track residual");
6527 histTheta2d->GetXaxis()->SetTitle(
"Theta (rad)");
6528 histTheta2d->GetYaxis()->SetTitle(
"Track Residual (mm)");
6529 histTheta2d->Draw(
"COLZ");
6530 TProfile *theta2d = histTheta2d->ProfileX();
6531 theta2d->Draw(
"same");
6532 c1->Print(
"itersum.ps");
6536 if (Tracktuple->GetListOfBranches()->FindObject(
"phi"))
6539 c1->Divide(2, 1, 0.01, 0.01);
6541 Tracktuple->Draw(
"phi>>histPhi(100,-3.5,0)");
6542 TH1F *histPhi = (
TH1F *)gPad->GetPrimitive(
"histPhi");
6543 histPhi->SetTitle(
"Phi distribution on track");
6544 histPhi->GetXaxis()->SetTitle(
"Phi (rad)");
6548 Tracktuple->Draw(
"trackres:phi>>histPhi2d(100,-3.5,0,100,0,1.5)",
"",
"colz");
6549 TH2F *histPhi2d = (
TH2F *)gPad->GetPrimitive(
"histPhi2d");
6550 histPhi2d->SetTitle(
"Phi distrib. on track VS track residual");
6551 histPhi2d->GetXaxis()->SetTitle(
"Phi (rad)");
6552 histPhi2d->GetYaxis()->SetTitle(
"Track Residual (mm)");
6553 histPhi2d->Draw(
"COLZ");
6554 TProfile *phi2d = histPhi2d->ProfileX();
6555 phi2d->Draw(
"same");
6556 c1->Print(
"itersum.ps");
6560 if (Tracktuple->GetListOfBranches()->FindObject(
"d0"))
6563 c1->Divide(2, 1, 0.01, 0.01);
6565 Tracktuple->Draw(
"d0>>histD0(100,-5,5)");
6566 TH1F *histD0 = (
TH1F *)gPad->GetPrimitive(
"histD0");
6567 histD0->SetTitle(
"D0 distribution on track");
6568 histD0->GetXaxis()->SetTitle(
"D0 (mm)");
6572 Tracktuple->Draw(
"trackres:d0>>histD02d(100,-5,5,100,0,1.5)",
"",
"colz");
6573 TH2F *histD02d = (
TH2F *)gPad->GetPrimitive(
"histD02d");
6574 histD02d->SetTitle(
"D0 distrib. on track VS track residual");
6575 histD02d->GetXaxis()->SetTitle(
"D0 (rad)");
6576 histD02d->GetYaxis()->SetTitle(
"Track Residual (mm)");
6577 histD02d->Draw(
"COLZ");
6578 TProfile *d02d = histD02d->ProfileX();
6580 c1->Print(
"itersum.ps");
6588 cout <<
" Skipping plots for Pulls and Errors " << endl;
6629 cout <<
" Skipping plots for ToT and HT " << endl;
6642 textpage =
new TextPage(
" ToT Corrections and HT corrections: ");
6643 textpage->Print(
"itersum.pdf");
6646 cout <<
"Making ToT / HT Plots" << endl;
6752 refdatafile->Close();
6778 if (settings && firstpage)
6780 string fixfloat, fieldonoff;
6781 if (settings->
set[
"UsePol0"].find(
"True") != string::npos)
6782 fixfloat =
" - floating";
6784 fixfloat =
" - fixed";
6785 if (settings->
set[
"RtRelation"].find(
"binned") != string::npos)
6787 if (settings->
set[
"Solenoid"].find(
"True") != string::npos)
6793 string(
"/Helvetica-Bold findfont 36 scalefont setfont 40 2190 moveto (Run:) show ") +
6794 string(Form(
"/Helvetica findfont 36 scalefont setfont 240 2190 moveto (%i) show ", (
int)firstpage->
runnumber)) +
6796 string(
"/Helvetica-Bold findfont 36 scalefont setfont 40 2150 moveto (Iteration:) show ") +
6797 string(Form(
"/Helvetica findfont 36 scalefont setfont 240 2150 moveto (%02i) show ", firstpage->
iter)) +
6799 string(
"/Helvetica-Bold findfont 36 scalefont setfont 40 2110 moveto (Rt relation:) show ") +
6800 string(Form(
"/Helvetica findfont 36 scalefont setfont 240 2110 moveto (%s%s) show ", settings->
set[
"RtRelation"].data(), fixfloat.data())) +
6802 string(
"/Helvetica-Bold findfont 36 scalefont setfont 540 2190 moveto (Rt binning:) show ") +
6803 string(Form(
"/Helvetica findfont 36 scalefont setfont 740 2190 moveto (%s) show ", settings->
set[
"RtBinning"].data())) +
6805 string(
"/Helvetica-Bold findfont 36 scalefont setfont 540 2150 moveto (Rt level:) show ") +
6807 string(
"/Helvetica-Bold findfont 36 scalefont setfont 540 2110 moveto (T0 level:) show ") +
6809 string(
"/Helvetica-Bold findfont 36 scalefont setfont 1040 2190 moveto (Solenoid:) show ") +
6810 string(Form(
"/Helvetica findfont 36 scalefont setfont 1260 2190 moveto (%s) show ", fieldonoff.data())) +
6812 string(
"/Helvetica-Bold findfont 36 scalefont setfont 1040 2150 moveto (SW release:) show ") +
6813 string(Form(
"/Helvetica findfont 36 scalefont setfont 1260 2150 moveto (%s) show ", settings->
set[
"ReleaseRec"].data())) +
6815 string(
"/Helvetica-Bold findfont 36 scalefont setfont 1040 2110 moveto (T0 Offset:) show ") +
6816 string(Form(
"/Helvetica findfont 36 scalefont setfont 1260 2110 moveto (%s) show ", settings->
set[
"T0Offset"].data())) +
6818 string(
"/Helvetica-Bold findfont 30 scalefont setfont 40 2060 moveto (Data:) show ") +
6819 string(Form(
"/Helvetica findfont 30 scalefont setfont 240 2060 moveto (%s) show ", settings->
set[
"Inputdir"].data())) +
6821 string(
"/Helvetica-Bold findfont 30 scalefont setfont 40 2020 moveto (Start const:) show ") +
6822 string(Form(
"/Helvetica findfont 30 scalefont setfont 240 2020 moveto (%s) show ", settings->
set[
"StartConst"].data()));
6823 system((
string(
"sed -i 's?showpage?" + pmarking +
"showpage?g' itersum.ps")).
data());
6827 datafile =
new TFile(
argv[2],
"UPDATE");
6829 if (datafile->FindKey(
"analysis"))
6830 datafile->rmdir(
"analysis");
6831 TDirectory *adir = datafile->mkdir(
"analysis",
"analysis");
6834 chipgraphA->Write();
6836 chipgraphC->Write();
6837 boardgraphA->Write();
6838 boardgraphC->Write();
6840 refboardgraphA->Write();
6842 refboardgraphC->Write();