Skip to content

Commit 1f0b946

Browse files
committed
GPU QA: add plotsDir option
1 parent c2b6369 commit 1f0b946

File tree

2 files changed

+24
-23
lines changed

2 files changed

+24
-23
lines changed

GPU/GPUTracking/Definitions/GPUSettingsList.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,7 @@ AddOption(minNClFindable, uint32_t, 70, "", 0, "Minimum number of (weighted) MC
530530
AddOption(minNClEff, uint32_t, 10, "", 0, "Minimum number of (weighted) MC clusters for a track to contribute to all-tracks efficiency histogramm")
531531
AddOption(minNClRes, uint32_t, 40, "", 0, "Minimum number of (weighted) MC clusters for a track to contribute to resolution histogram")
532532
AddOption(perfFigure, int32_t, 0, "", 0, "Show as performance figure, positive value for MC, negative value for data")
533+
AddOption(plotsDir, std::string, "plots", "", 0, "Directory to write plots to")
533534
AddShortcut("compare", 0, "--QAinput", "Compare QA histograms", "--qa", "--QAinputHistogramsOnly")
534535
AddHelp("help", 'h')
535536
EndConfig()

GPU/GPUTracking/qa/GPUQA.cxx

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -830,7 +830,7 @@ int32_t GPUQA::InitQA(int32_t tasks)
830830
}
831831

832832
if (mConfig.enableLocalOutput) {
833-
mkdir("plots", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
833+
mkdir(mConfig.plotsDir.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
834834
}
835835

836836
#ifdef GPUCA_O2_LIB
@@ -2394,9 +2394,9 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
23942394
continue;
23952395
}
23962396
doPerfFigure(0.2, 0.295, 0.025);
2397-
mCEff[ii]->Print(Form("plots/eff_vs_%s.pdf", VSPARAMETER_NAMES[ii]));
2397+
mCEff[ii]->Print(Form("%s/eff_vs_%s.pdf", mConfig.plotsDir.c_str(), VSPARAMETER_NAMES[ii]));
23982398
if (mConfig.writeRootFiles) {
2399-
mCEff[ii]->Print(Form("plots/eff_vs_%s.root", VSPARAMETER_NAMES[ii]));
2399+
mCEff[ii]->Print(Form("%s/eff_vs_%s.root", mConfig.plotsDir.c_str(), VSPARAMETER_NAMES[ii]));
24002400
}
24012401
}
24022402
}
@@ -2632,9 +2632,9 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
26322632
continue;
26332633
}
26342634
doPerfFigure(0.2, 0.295, 0.025);
2635-
can->Print(Form(p ? "plots/pull_vs_%s.pdf" : "plots/res_vs_%s.pdf", VSPARAMETER_NAMES[ii]));
2635+
can->Print(Form(p ? "%s/pull_vs_%s.pdf" : "%s/res_vs_%s.pdf", mConfig.plotsDir.c_str(), VSPARAMETER_NAMES[ii]));
26362636
if (mConfig.writeRootFiles) {
2637-
can->Print(Form(p ? "plots/pull_vs_%s.root" : "plots/res_vs_%s.root", VSPARAMETER_NAMES[ii]));
2637+
can->Print(Form(p ? "%s/pull_vs_%s.root" : "%s/res_vs_%s.root", mConfig.plotsDir.c_str(), VSPARAMETER_NAMES[ii]));
26382638
}
26392639
}
26402640
}
@@ -2703,9 +2703,9 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
27032703
continue;
27042704
}
27052705

2706-
can->Print(p ? "plots/pull_integral.pdf" : "plots/res_integral.pdf");
2706+
can->Print(Form(p ? "%s/pull_integral.pdf" : "%s/res_integral.pdf", mConfig.plotsDir.c_str()));
27072707
if (mConfig.writeRootFiles) {
2708-
can->Print(p ? "plots/pull_integral.root" : "plots/res_integral.root");
2708+
can->Print(Form(p ? "%s/pull_integral.root" : "%s/res_integral.root", mConfig.plotsDir.c_str()));
27092709
}
27102710
}
27112711
}
@@ -2855,9 +2855,9 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
28552855
}
28562856
doPerfFigure(i == 0 ? 0.37 : (i == 1 ? 0.34 : 0.6), 0.295, 0.030);
28572857
mCClust[i]->cd();
2858-
mCClust[i]->Print(i == 2 ? "plots/clusters_integral.pdf" : i == 1 ? "plots/clusters_relative.pdf" : "plots/clusters.pdf");
2858+
mCClust[i]->Print(Form(i == 2 ? "%s/clusters_integral.pdf" : i == 1 ? "%s/clusters_relative.pdf" : "%s/clusters.pdf", mConfig.plotsDir.c_str()));
28592859
if (mConfig.writeRootFiles) {
2860-
mCClust[i]->Print(i == 2 ? "plots/clusters_integral.root" : i == 1 ? "plots/clusters_relative.root" : "plots/clusters.root");
2860+
mCClust[i]->Print(Form(i == 2 ? "%s/clusters_integral.root" : i == 1 ? "%s/clusters_relative.root" : "%s/clusters.root", mConfig.plotsDir.c_str()));
28612861
}
28622862
}
28632863

@@ -2874,10 +2874,10 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
28742874
e->Draw();
28752875
mCPadRow[i]->cd();
28762876
static const constexpr char* PADROW_NAMES[3] = {"MC", "Phi", "Phi1"};
2877-
snprintf(name, 2048, "plots/padRow%s.pdf", PADROW_NAMES[i]);
2877+
snprintf(name, 2048, "%s/padRow%s.pdf", mConfig.plotsDir.c_str(), PADROW_NAMES[i]);
28782878
mCPadRow[i]->Print(name);
28792879
if (mConfig.writeRootFiles) {
2880-
snprintf(name, 2048, "plots/padRow%s.root", PADROW_NAMES[i]);
2880+
snprintf(name, 2048, "%s/padRow%s.root", mConfig.plotsDir.c_str(), PADROW_NAMES[i]);
28812881
mCPadRow[i]->Print(name);
28822882
}
28832883
}
@@ -2941,9 +2941,9 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
29412941
mLTracks->Draw();
29422942
doPerfFigure(0.63, 0.7, 0.030);
29432943
mCTracks->cd();
2944-
mCTracks->Print("plots/tracks.pdf");
2944+
mCTracks->Print(Form("%s/tracks.pdf", mConfig.plotsDir.c_str()));
29452945
if (mConfig.writeRootFiles) {
2946-
mCTracks->Print("plots/tracks.root");
2946+
mCTracks->Print(Form("%s/tracks.root", mConfig.plotsDir.c_str()));
29472947
}
29482948

29492949
for (int32_t i = 0; i < 2; i++) {
@@ -2987,10 +2987,10 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
29872987
mLT0[i]->Draw();
29882988
doPerfFigure(0.63, 0.7, 0.030);
29892989
mCT0[i]->cd();
2990-
snprintf(name, 2048, "plots/t0%s.pdf", i ? "_res" : "");
2990+
snprintf(name, 2048, "%s/t0%s.pdf", mConfig.plotsDir.c_str(), i ? "_res" : "");
29912991
mCT0[i]->Print(name);
29922992
if (mConfig.writeRootFiles) {
2993-
snprintf(name, 2048, "plots/t0%s.root", i ? "_res" : "");
2993+
snprintf(name, 2048, "%s/t0%s.root", mConfig.plotsDir.c_str(), i ? "_res" : "");
29942994
mCT0[i]->Print(name);
29952995
}
29962996

@@ -3034,10 +3034,10 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
30343034
mLNCl[i]->Draw();
30353035
doPerfFigure(0.6, 0.7, 0.030);
30363036
mCNCl[i]->cd();
3037-
snprintf(name, 2048, "plots/nClusters%s.pdf", i ? "_corrected" : "");
3037+
snprintf(name, 2048, "%s/nClusters%s.pdf", mConfig.plotsDir.c_str(), i ? "_corrected" : "");
30383038
mCNCl[i]->Print(name);
30393039
if (mConfig.writeRootFiles) {
3040-
snprintf(name, 2048, "plots/nClusters%s.root", i ? "_corrected" : "");
3040+
snprintf(name, 2048, "%s/nClusters%s.root", mConfig.plotsDir.c_str(), i ? "_corrected" : "");
30413041
mCNCl[i]->Print(name);
30423042
}
30433043
}
@@ -3046,9 +3046,9 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
30463046
mClXY->SetOption("colz");
30473047
mClXY->Draw();
30483048
mCClXY->cd();
3049-
mCClXY->Print("plots/clustersXY.pdf");
3049+
mCClXY->Print(Form("%s/clustersXY.pdf", mConfig.plotsDir.c_str()));
30503050
if (mConfig.writeRootFiles) {
3051-
mCClXY->Print("plots/clustersXY.root");
3051+
mCClXY->Print(Form("%s/clustersXY.root", mConfig.plotsDir.c_str()));
30523052
}
30533053

30543054
if (mQATasks & taskClusterCounts) {
@@ -3063,10 +3063,10 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
30633063
mClRej[i]->SetOption("colz");
30643064
mClRej[i]->Draw();
30653065
mCClRej[i]->cd();
3066-
snprintf(name, 2048, "plots/clustersRej%d%s.pdf", i, REJECTED_NAMES[i]);
3066+
snprintf(name, 2048, "%s/clustersRej%d%s.pdf", mConfig.plotsDir.c_str(), i, REJECTED_NAMES[i]);
30673067
mCClRej[i]->Print(name);
30683068
if (mConfig.writeRootFiles) {
3069-
snprintf(name, 2048, "plots/clustersRej%d%s.root", i, REJECTED_NAMES[i]);
3069+
snprintf(name, 2048, "%s/clustersRej%d%s.root", mConfig.plotsDir.c_str(), i, REJECTED_NAMES[i]);
30703070
mCClRej[i]->Print(name);
30713071
}
30723072
}
@@ -3105,9 +3105,9 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
31053105
e->GetYaxis()->SetTitle("Rejected Clusters (fraction)");
31063106
e->Draw(k == 0 ? "" : "same");
31073107
}
3108-
mPClRejP->Print("plots/clustersRejProjected.pdf"); // TODO: Add option to write pngs
3108+
mPClRejP->Print(Form("%s/clustersRejProjected.pdf", mConfig.plotsDir.c_str())); // TODO: Add option to write pngs
31093109
if (mConfig.writeRootFiles) {
3110-
mPClRejP->Print("plots/clustersRejProjected.root");
3110+
mPClRejP->Print(Form("%s/clustersRejProjected.root", mConfig.plotsDir.c_str()));
31113111
}
31123112
}
31133113
}

0 commit comments

Comments
 (0)