Int_t* ReadRunList();
void plotAllRuns();
-void plotAllRunsThreshold();
+void plotAllRuns(TString);
Run** runs;
Int_t numberRuns;
runs[runi]->analyzeRun(false); // creates or opens .root file, can analyze the RAW data
// gROOT->SetBatch(kTRUE);
// runs[runi]->plotSeed();
- runs[runi]->plotSeedThreshold();
+// runs[runi]->plotSeedThreshold();
// runs[runi]->plotSum();
// runs[runi]->plotVeto();
// runs[runi]->plotNoise();
// runs[runi]->plotAllHistogramsCalibrated();
runs[runi]->writeAllHistogramsToFile();
}
- plotAllRuns();
- plotAllRunsThreshold();
+ plotAllRuns("");
+ plotAllRuns("threshold");
}
Int_t* ReadRunList()
//
// }
-void plotAllRuns()
+
+void plotAllRuns(TString histogramtype)
{
- if (numberRuns > 1)
- {
- Float_t lastbin;
- TTimeStamp* time = new TTimeStamp();
-
- TCanvas* canvas = new TCanvas(Form("%d",time->GetNanoSec()), "Summary", 1600, 1000);
- if (isBatch)
- canvas->SetCanvasSize(3200,2000);
-
- canvas->Divide(2,2);
- Float_t height = numberRuns * 0.04;
- TLegend* leg1 = new TLegend(0.3,0.89-height,0.89,0.89);//(0.6,0.7,0.89,0.89);
- TLegend* leg2 = new TLegend(0.6,0.89-height,0.89,0.89);//(0.6,0.7,0.89,0.89);
- leg1->SetTextSize(0.02);
- leg2->SetTextSize(0.02);
- leg1->SetFillColor(0); leg1->SetBorderSize(0);
- leg2->SetFillColor(0); leg2->SetBorderSize(0);
- TString legendEntry;
-
- for(Int_t runi=0;runi<numberRuns;runi++) // loop over runs read from file
- {
- canvas->cd(1);
- runs[runi]->histogram.Seed->Draw("SAME");
- lastbin = runs[runi]->histogram.Seed->GetBinCenter(runs[runi]->histogram.Seed->FindLastBinAbove(2,1));
- runs[runi]->histogram.Seed->SetAxisRange(0,lastbin*1.1,"X");
- gPad->SetLogy(1);
- legendEntry = Form("%s", runs[runi]->histogram.Seed->GetTitle());
- leg1->AddEntry(runs[runi]->histogram.Veto, legendEntry, "l");
- leg1->Draw("SAME");
- canvas->cd(2);
- runs[runi]->histogram.Sum->Draw("SAME");
- lastbin = runs[runi]->histogram.Sum->GetBinCenter(runs[runi]->histogram.Sum->FindLastBinAbove(2,1));
- runs[runi]->histogram.Sum->SetAxisRange(0,lastbin*1.1,"X");
- canvas->cd(3);
- runs[runi]->histogram.Veto->Draw("SAME");
- runs[runi]->histogram.Veto->SetAxisRange(runs[runi]->histogram.posVeto*0.7,runs[runi]->histogram.posVeto*1.4,"X");
- canvas->cd(4);
- runs[runi]->histogram.Noise->Draw("SAME");
- legendEntry = Form("%s, Noise: %.2f", runs[runi]->labbook.matrix.Data(), runs[runi]->histogram.avgNoise);
- leg2->AddEntry(runs[runi]->histogram.Veto, legendEntry, "l");
- leg2->Draw("SAME");
- }
-
- // canvas -> Print( runs[0]->savepathresults + "/" + canvastitle + ".eps");
- TImageDump *img = new TImageDump(runs[0]->savepathresults + "/" + Form("%s - %s",runs[0]->runcode.Data(), runs[numberRuns-1]->runcode.Data()) + ".png");
- canvas->Paint();
- img->Close();
-
- TFile *f = new TFile(runs[0]->savepathresults + "/" + Form("%s - %s",runs[0]->runcode.Data(),runs[numberRuns-1]->runcode.Data()) + ".root","RECREATE");
- f->cd();
- f->Append(canvas);
- f->Append(img);
- f->Write();
- }
+ if (histogramtype.Contains("threshold"))
+ for(Int_t runi=0;runi<numberRuns;runi++) { /* loop over runs read from file */
+ runs[runi]->histogrampointer = &runs[runi]->histogramthreshold; }
+ else if (histogramtype.Contains("calibrated") || histogramtype.Contains("electron"))
+ for(Int_t runi=0;runi<numberRuns;runi++) /* loop over runs read from file */ {
+ runs[runi]->histogrampointer = &runs[runi]->histogramCalibrated; }
+ else
+ for(Int_t runi=0;runi<numberRuns;runi++) /* loop over runs read from file */ {
+ runs[runi]->histogrampointer = &runs[runi]->histogram; }
+ plotAllRuns();
}
-void plotAllRunsThreshold()
+void plotAllRuns()
{
if (numberRuns > 1)
{
for(Int_t runi=0;runi<numberRuns;runi++) // loop over runs read from file
{
canvas->cd(1);
- runs[runi]->histogramthreshold.Seed->Draw("SAME");
- lastbin = runs[runi]->histogramthreshold.Seed->GetBinCenter(runs[runi]->histogramthreshold.Seed->FindLastBinAbove(2,1));
- runs[runi]->histogramthreshold.Seed->SetAxisRange(0,lastbin*1.1,"X");
+ runs[runi]->histogrampointer->Seed->Draw("SAME");
+ lastbin = runs[runi]->histogrampointer->Seed->GetBinCenter(runs[runi]->histogrampointer->Seed->FindLastBinAbove(2,1));
+ runs[runi]->histogrampointer->Seed->SetAxisRange(0,lastbin*1.1,"X");
gPad->SetLogy(1);
- legendEntry = Form("%s", runs[runi]->histogramthreshold.Seed->GetTitle());
- leg1->AddEntry(runs[runi]->histogramthreshold.Veto, legendEntry, "l");
+ legendEntry = Form("%s", runs[runi]->histogrampointer->Seed->GetTitle());
+ leg1->AddEntry(runs[runi]->histogrampointer->Veto, legendEntry, "l");
leg1->Draw("SAME");
canvas->cd(2);
- runs[runi]->histogramthreshold.Sum->Draw("SAME");
- lastbin = runs[runi]->histogramthreshold.Sum->GetBinCenter(runs[runi]->histogramthreshold.Sum->FindLastBinAbove(2,1));
- runs[runi]->histogramthreshold.Sum->SetAxisRange(0,lastbin*1.1,"X");
+ runs[runi]->histogrampointer->Sum->Draw("SAME");
+ lastbin = runs[runi]->histogrampointer->Sum->GetBinCenter(runs[runi]->histogrampointer->Sum->FindLastBinAbove(2,1));
+ runs[runi]->histogrampointer->Sum->SetAxisRange(0,lastbin*1.1,"X");
canvas->cd(3);
- runs[runi]->histogramthreshold.Veto->Draw("SAME");
- runs[runi]->histogramthreshold.Veto->SetAxisRange(runs[runi]->histogramthreshold.posVeto*0.7,runs[runi]->histogramthreshold.posVeto*1.4,"X");
+ runs[runi]->histogrampointer->Veto->Draw("SAME");
+ runs[runi]->histogrampointer->Veto->SetAxisRange(runs[runi]->histogrampointer->posVeto*0.7,runs[runi]->histogrampointer->posVeto*1.4,"X");
canvas->cd(4);
- runs[runi]->histogramthreshold.Noise->Draw("SAME");
- legendEntry = Form("%s, Noise: %.2f", runs[runi]->labbook.matrix.Data(), runs[runi]->histogramthreshold.avgNoise);
- leg2->AddEntry(runs[runi]->histogramthreshold.Veto, legendEntry, "l");
+ runs[runi]->histogrampointer->Noise->Draw("SAME");
+ legendEntry = Form("%s, Noise: %.2f", runs[runi]->labbook.matrix.Data(), runs[runi]->histogrampointer->avgNoise);
+ leg2->AddEntry(runs[runi]->histogrampointer->Veto, legendEntry, "l");
leg2->Draw("SAME");
}
f->Write();
}
}
+