@@ -2118,10 +2118,8 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
21182118 // Create Canvas / Pads for Efficiency Histograms
21192119 if (mQATasks & taskTrackingEff) {
21202120 for (int32_t ii = 0 ; ii < 6 ; ii++) {
2121- int32_t i = ii == 5 ? 4 : ii;
2122- snprintf (fname, 1024 , " eff_vs_%s_layout" , VSPARAMETER_NAMES[ii]);
2123- snprintf (name, 2048 , " Efficiency versus %s" , VSPARAMETER_NAMES[i]);
2124- mCEff [ii] = createGarbageCollected<TCanvas>(fname, name, 0 , 0 , 700 , 700 . * 2 . / 3 .);
2121+ snprintf (name, 1024 , " eff_vs_%s_layout" , VSPARAMETER_NAMES[ii]);
2122+ mCEff [ii] = createGarbageCollected<TCanvas>(name, name, 0 , 0 , 700 , 700 . * 2 . / 3 .);
21252123 mCEff [ii]->cd ();
21262124 float dy = 1 . / 2 .;
21272125 mPEff [ii][0 ] = createGarbageCollected<TPad>(" p0" , " " , 0.0 , dy * 0 , 0.5 , dy * 1 );
@@ -2144,15 +2142,12 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
21442142 // Create Canvas / Pads for Resolution Histograms
21452143 if (mQATasks & taskTrackingRes) {
21462144 for (int32_t ii = 0 ; ii < 7 ; ii++) {
2147- int32_t i = ii == 5 ? 4 : ii;
21482145 if (ii == 6 ) {
2149- snprintf (fname, 1024 , " res_integral_layout" );
2150- snprintf (name, 2048 , " Integral Resolution" );
2146+ snprintf (name, 1024 , " res_integral_layout" );
21512147 } else {
2152- snprintf (fname, 1024 , " res_vs_%s_layout" , VSPARAMETER_NAMES[ii]);
2153- snprintf (name, 2048 , " Resolution versus %s" , VSPARAMETER_NAMES[i]);
2148+ snprintf (name, 1024 , " res_vs_%s_layout" , VSPARAMETER_NAMES[ii]);
21542149 }
2155- mCRes [ii] = createGarbageCollected<TCanvas>(fname , name, 0 , 0 , 700 , 700 . * 2 . / 3 .);
2150+ mCRes [ii] = createGarbageCollected<TCanvas>(name , name, 0 , 0 , 700 , 700 . * 2 . / 3 .);
21562151 mCRes [ii]->cd ();
21572152 gStyle ->SetOptFit (1 );
21582153
@@ -2185,16 +2180,12 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
21852180 // Create Canvas / Pads for Pull Histograms
21862181 if (mQATasks & taskTrackingResPull) {
21872182 for (int32_t ii = 0 ; ii < 7 ; ii++) {
2188- int32_t i = ii == 5 ? 4 : ii;
2189-
21902183 if (ii == 6 ) {
2191- snprintf (fname, 1024 , " pull_integral_layout" );
2192- snprintf (name, 2048 , " Integral Pull" );
2184+ snprintf (name, 1024 , " pull_integral_layout" );
21932185 } else {
2194- snprintf (fname, 1024 , " pull_vs_%s_layout" , VSPARAMETER_NAMES[ii]);
2195- snprintf (name, 2048 , " Pull versus %s" , VSPARAMETER_NAMES[i]);
2186+ snprintf (name, 1024 , " pull_vs_%s_layout" , VSPARAMETER_NAMES[ii]);
21962187 }
2197- mCPull [ii] = createGarbageCollected<TCanvas>(fname , name, 0 , 0 , 700 , 700 . * 2 . / 3 .);
2188+ mCPull [ii] = createGarbageCollected<TCanvas>(name , name, 0 , 0 , 700 , 700 . * 2 . / 3 .);
21982189 mCPull [ii]->cd ();
21992190 gStyle ->SetOptFit (1 );
22002191
@@ -2227,8 +2218,8 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
22272218 // Create Canvas for Cluster Histos
22282219 if (mQATasks & taskClusterAttach) {
22292220 for (int32_t i = 0 ; i < 3 ; i++) {
2230- snprintf (fname , 1024 , " clusters_%s_layout" , CLUSTER_TYPES[i]);
2231- mCClust [i] = createGarbageCollected<TCanvas>(fname, CLUSTER_TITLES[i] , 0 , 0 , 700 , 700 . * 2 . / 3 .);
2221+ snprintf (name , 1024 , " clusters_%s_layout" , CLUSTER_TYPES[i]);
2222+ mCClust [i] = createGarbageCollected<TCanvas>(name, name , 0 , 0 , 700 , 700 . * 2 . / 3 .);
22322223 mCClust [i]->cd ();
22332224 mPClust [i] = createGarbageCollected<TPad>(" p0" , " " , 0.0 , 0.0 , 1.0 , 1.0 );
22342225 mPClust [i]->Draw ();
@@ -2240,7 +2231,7 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
22402231
22412232 // Create Canvas for track statistic histos
22422233 if (mQATasks & taskTrackStatistics) {
2243- mCTracks = createGarbageCollected<TCanvas>(" ctrackspt" , " Track Pt " , 0 , 0 , 700 , 700 . * 2 . / 3 .);
2234+ mCTracks = createGarbageCollected<TCanvas>(" ctrackspt" , " ctrackspt " , 0 , 0 , 700 , 700 . * 2 . / 3 .);
22442235 mCTracks ->cd ();
22452236 mPTracks = createGarbageCollected<TPad>(" p0" , " " , 0.0 , 0.0 , 1.0 , 1.0 );
22462237 mPTracks ->Draw ();
@@ -2249,42 +2240,42 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
22492240
22502241 for (int32_t i = 0 ; i < 2 ; i++) {
22512242 snprintf (name, 2048 , " ctrackst0%d" , i);
2252- mCT0 [i] = createGarbageCollected<TCanvas>(name, " Track T0 " , 0 , 0 , 700 , 700 . * 2 . / 3 .);
2243+ mCT0 [i] = createGarbageCollected<TCanvas>(name, name , 0 , 0 , 700 , 700 . * 2 . / 3 .);
22532244 mCT0 [i]->cd ();
22542245 mPT0 [i] = createGarbageCollected<TPad>(" p0" , " " , 0.0 , 0.0 , 1.0 , 1.0 );
22552246 mPT0 [i]->Draw ();
22562247 mLT0 [i] = createGarbageCollected<TLegend>(0.9 - legendSpacingString * 1.45 , 0.93 - (0.93 - 0.86 ) / 2 . * (float )ConfigNumInputs, 0.98 , 0.949 );
22572248 SetLegend (mLT0 [i]);
22582249
22592250 snprintf (name, 2048 , " cncl%d" , i);
2260- mCNCl [i] = createGarbageCollected<TCanvas>(name, i ? " Number of clusters (corrected for multiple per row) " : " Number of clusters per track " , 0 , 0 , 700 , 700 . * 2 . / 3 .);
2251+ mCNCl [i] = createGarbageCollected<TCanvas>(name, name , 0 , 0 , 700 , 700 . * 2 . / 3 .);
22612252 mCNCl [i]->cd ();
22622253 mPNCl [i] = createGarbageCollected<TPad>(" p0" , " " , 0.0 , 0.0 , 1.0 , 1.0 );
22632254 mPNCl [i]->Draw ();
22642255 mLNCl [i] = createGarbageCollected<TLegend>(0.9 - legendSpacingString * 1.45 , 0.93 - (0.93 - 0.86 ) / 2 . * (float )ConfigNumInputs, 0.98 , 0.949 ); // TODO: Fix sizing of legend, and also fix font size
22652256 SetLegend (mLNCl [i], true );
22662257 }
22672258
2268- mCClXY = createGarbageCollected<TCanvas>(" clxy" , " Number of clusters per X / Y " , 0 , 0 , 700 , 700 . * 2 . / 3 .);
2259+ mCClXY = createGarbageCollected<TCanvas>(" clxy" , " clxy " , 0 , 0 , 700 , 700 . * 2 . / 3 .);
22692260 mCClXY ->cd ();
22702261 mPClXY = createGarbageCollected<TPad>(" p0" , " " , 0.0 , 0.0 , 1.0 , 1.0 );
22712262 mPClXY ->Draw ();
22722263
22732264 for (int32_t i = 0 ; i < 3 ; i++) {
22742265 snprintf (name, 2048 , " cnclrej%d" , i);
2275- mCClRej [i] = createGarbageCollected<TCanvas>(name, i == 0 ? " Number of clusters " : (i == 1 ? " Rejected Clusters " : " Fraction of Rejected Clusters " ) , 0 , 0 , 700 , 700 . * 2 . / 3 .);
2266+ mCClRej [i] = createGarbageCollected<TCanvas>(name, name , 0 , 0 , 700 , 700 . * 2 . / 3 .);
22762267 mCClRej [i]->cd ();
22772268 mPClRej [i] = createGarbageCollected<TPad>(" p0" , " " , 0.0 , 0.0 , 1.0 , 1.0 );
22782269 mPClRej [i]->Draw ();
22792270 }
2280- mCClRejP = createGarbageCollected<TCanvas>(" cnclrejp" , " Fraction of Rejected Clusters " , 0 , 0 , 700 , 700 . * 2 . / 3 .);
2271+ mCClRejP = createGarbageCollected<TCanvas>(" cnclrejp" , " cnclrejp " , 0 , 0 , 700 , 700 . * 2 . / 3 .);
22812272 mCClRejP ->cd ();
22822273 mPClRejP = createGarbageCollected<TPad>(" p0" , " " , 0.0 , 0.0 , 1.0 , 1.0 );
22832274 mPClRejP ->Draw ();
22842275
22852276 for (int32_t i = 0 ; i < 3 ; i++) {
22862277 snprintf (name, 2048 , " cpadrow%d" , i);
2287- mCPadRow [i] = createGarbageCollected<TCanvas>(name, " First Track Pad Row " , 0 , 0 , 700 , 700 . * 2 . / 3 .);
2278+ mCPadRow [i] = createGarbageCollected<TCanvas>(name, name , 0 , 0 , 700 , 700 . * 2 . / 3 .);
22882279 mCPadRow [i]->cd ();
22892280 mPPadRow [i] = createGarbageCollected<TPad>(" p0" , " " , 0.0 , 0.0 , 1.0 , 1.0 );
22902281 mPPadRow [i]->Draw ();
@@ -2370,8 +2361,7 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
23702361 e->Draw (k || l ? " same P" : " AP" );
23712362 if (j == 0 ) {
23722363 GetName (fname, k);
2373- snprintf (name, 2048 , " %s%s" , fname, EFF_NAMES[l]);
2374- mLEff [ii]->AddEntry (e, name, " l" );
2364+ mLEff [ii]->AddEntry (e, Form (" %s%s" , fname, EFF_NAMES[l]), " l" );
23752365 }
23762366 }
23772367 if (!mConfig .enableLocalOutput && !mConfig .shipToQCAsCanvas ) {
@@ -2503,10 +2493,8 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
25032493 if (mConfig .inputHistogramsOnly ) {
25042494 dstIntegral = createGarbageCollected<TH1D>();
25052495 }
2506- snprintf (fname, 1024 , p ? " IntPull%s" : " IntRes%s" , VSPARAMETER_NAMES[j]);
2507- snprintf (name, 2048 , p ? " %s Pull" : " %s Resolution" , p || mConfig .nativeFitResolutions ? PARAMETER_NAMES_NATIVE[j] : PARAMETER_NAMES[j]);
2508- dstIntegral->SetName (fname);
2509- dstIntegral->SetTitle (name);
2496+ dstIntegral->SetName (Form (p ? " IntPull%s" : " IntRes%s" , VSPARAMETER_NAMES[j]));
2497+ dstIntegral->SetTitle (Form (p ? " %s Pull" : " %s Resolution" , p || mConfig .nativeFitResolutions ? PARAMETER_NAMES_NATIVE[j] : PARAMETER_NAMES[j]));
25102498 }
25112499 if (mConfig .enableLocalOutput || mConfig .shipToQCAsCanvas ) {
25122500 pad->cd ();
@@ -2557,8 +2545,7 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
25572545 for (int32_t l = 0 ; l < 2 ; l++) {
25582546 TH1F* e = dst[l];
25592547 if (!mConfig .inputHistogramsOnly && k == 0 ) {
2560- snprintf (name, 2048 , p ? " %s Pull" : " %s Resolution" , p || mConfig .nativeFitResolutions ? PARAMETER_NAMES_NATIVE[j] : PARAMETER_NAMES[j]);
2561- e->SetTitle (name);
2548+ e->SetTitle (Form (p ? " %s Pull" : " %s Resolution" , p || mConfig .nativeFitResolutions ? PARAMETER_NAMES_NATIVE[j] : PARAMETER_NAMES[j]));
25622549 e->SetStats (kFALSE );
25632550 if (tout) {
25642551 if (l == 0 ) {
@@ -2598,12 +2585,7 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
25982585 e->Draw (k || l ? " same" : " " );
25992586 if (j == 0 ) {
26002587 GetName (fname, k);
2601- if (p) {
2602- snprintf (name, 2048 , " %s%s" , fname, l ? " Mean" : " Pull" );
2603- } else {
2604- snprintf (name, 2048 , " %s%s" , fname, l ? " Mean" : " Resolution" );
2605- }
2606- leg->AddEntry (e, name, " l" );
2588+ leg->AddEntry (e, Form (" %s%s" , fname, l ? " Mean" : (p ? " Pull" : " Resolution" )), " l" );
26072589 }
26082590 }
26092591 }
@@ -2823,8 +2805,7 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
28232805 e->SetLineColor (colorNums[numColor++ % COLORCOUNT]);
28242806 e->Draw (j == end - 1 && k == 0 ? " " : " same" );
28252807 GetName (fname, k);
2826- snprintf (name, 2048 , " %s%s" , fname, CLUSTER_NAMES[j - begin]);
2827- mLClust [i]->AddEntry (e, name, " l" );
2808+ mLClust [i]->AddEntry (e, Form (" %s%s" , fname, CLUSTER_NAMES[j - begin]), " l" );
28282809 }
28292810 }
28302811 if (ConfigNumInputs == 1 ) {
@@ -2868,17 +2849,15 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
28682849 }
28692850 mPPadRow [i]->cd ();
28702851 e->SetOption (" colz" );
2871- e->SetTitle (i == 2 ? " First Track Pad Row (row_{MC} = 0, row_{trk} #ne 0)" : " First Track Pad Row" );
2872- e->GetXaxis ()->SetTitle (i ? " Phi (sector)" : " First MC Pad Row" );
2852+ e->SetTitle (i == 2 ? " First Track Pad Row (row_{MC} = 0, row_{trk} > 0)" : " First Track Pad Row" );
2853+ e->GetXaxis ()->SetTitle (i ? " # Phi (sector)" : " First MC Pad Row" );
28732854 e->GetYaxis ()->SetTitle (" First Pad Row" );
28742855 e->Draw ();
28752856 mCPadRow [i]->cd ();
28762857 static const constexpr char * PADROW_NAMES[3 ] = {" MC" , " Phi" , " Phi1" };
2877- snprintf (name, 2048 , " %s/padRow%s.pdf" , mConfig .plotsDir .c_str (), PADROW_NAMES[i]);
2878- mCPadRow [i]->Print (name);
2858+ mCPadRow [i]->Print (Form (" %s/padRow%s.pdf" , mConfig .plotsDir .c_str (), PADROW_NAMES[i]));
28792859 if (mConfig .writeFileExt != " " ) {
2880- snprintf (name, 2048 , " %s/padRow%s.%s" , mConfig .plotsDir .c_str (), PADROW_NAMES[i], mConfig .writeFileExt .c_str ());
2881- mCPadRow [i]->Print (name);
2860+ mCPadRow [i]->Print (Form (" %s/padRow%s.%s" , mConfig .plotsDir .c_str (), PADROW_NAMES[i], mConfig .writeFileExt .c_str ()));
28822861 }
28832862 }
28842863 }
@@ -2935,8 +2914,7 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
29352914 e->SetLineColor (colorNums[k % COLORCOUNT]);
29362915 e->Draw (k == 0 ? " " : " same" );
29372916 GetName (fname, k, mConfig .inputHistogramsOnly );
2938- snprintf (name, 2048 , mConfig .inputHistogramsOnly ? " %s" : " %sTrack #it{p}_{T}" , fname);
2939- mLTracks ->AddEntry (e, name, " l" );
2917+ mLTracks ->AddEntry (e, Form (mConfig .inputHistogramsOnly ? " %s" : " %sTrack #it{p}_{T}" , fname), " l" );
29402918 }
29412919 mLTracks ->Draw ();
29422920 doPerfFigure (0.63 , 0.7 , 0.030 );
@@ -2981,17 +2959,14 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
29812959 e->SetLineColor (colorNums[k % COLORCOUNT]);
29822960 e->Draw (k == 0 ? " " : " same" );
29832961 GetName (fname, k, mConfig .inputHistogramsOnly );
2984- snprintf (name, 2048 , mConfig .inputHistogramsOnly ? " %s (%s)" : " %sTrack t_{0} %s" , fname, i ? " " : " resolution" );
2985- mLT0 [i]->AddEntry (e, name, " l" );
2962+ mLT0 [i]->AddEntry (e, Form (mConfig .inputHistogramsOnly ? " %s (%s)" : " %sTrack t_{0} %s" , fname, i ? " " : " resolution" ), " l" );
29862963 }
29872964 mLT0 [i]->Draw ();
29882965 doPerfFigure (0.63 , 0.7 , 0.030 );
29892966 mCT0 [i]->cd ();
2990- snprintf (name, 2048 , " %s/t0%s.pdf" , mConfig .plotsDir .c_str (), i ? " _res" : " " );
2991- mCT0 [i]->Print (name);
2967+ mCT0 [i]->Print (Form (" %s/t0%s.pdf" , mConfig .plotsDir .c_str (), i ? " _res" : " " ));
29922968 if (mConfig .writeFileExt != " " ) {
2993- snprintf (name, 2048 , " %s/t0%s.%s" , mConfig .plotsDir .c_str (), i ? " _res" : " " , mConfig .writeFileExt .c_str ());
2994- mCT0 [i]->Print (name);
2969+ mCT0 [i]->Print (Form (" %s/t0%s.%s" , mConfig .plotsDir .c_str (), i ? " _res" : " " , mConfig .writeFileExt .c_str ()));
29952970 }
29962971
29972972 tmpMax = 0 .;
@@ -3028,17 +3003,14 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
30283003 e->SetLineColor (colorNums[k % COLORCOUNT]);
30293004 e->Draw (k == 0 ? " " : " same" );
30303005 GetName (fname, k, mConfig .inputHistogramsOnly );
3031- snprintf (name, 2048 , mConfig .inputHistogramsOnly ? " %s" : (i ? " %sN_{Clusters}" : " %sN_{Rows with Clusters}" ), fname);
3032- mLNCl [i]->AddEntry (e, name, " l" );
3006+ mLNCl [i]->AddEntry (e, Form (mConfig .inputHistogramsOnly ? " %s" : (i ? " %sN_{Clusters}" : " %sN_{Rows with Clusters}" ), fname), " l" );
30333007 }
30343008 mLNCl [i]->Draw ();
30353009 doPerfFigure (0.6 , 0.7 , 0.030 );
30363010 mCNCl [i]->cd ();
3037- snprintf (name, 2048 , " %s/nClusters%s.pdf" , mConfig .plotsDir .c_str (), i ? " _corrected" : " " );
3038- mCNCl [i]->Print (name);
3011+ mCNCl [i]->Print (Form (" %s/nClusters%s.pdf" , mConfig .plotsDir .c_str (), i ? " _corrected" : " " ));
30393012 if (mConfig .writeFileExt != " " ) {
3040- snprintf (name, 2048 , " %s/nClusters%s.%s" , mConfig .plotsDir .c_str (), i ? " _corrected" : " " , mConfig .writeFileExt .c_str ());
3041- mCNCl [i]->Print (name);
3013+ mCNCl [i]->Print (Form (" %s/nClusters%s.%s" , mConfig .plotsDir .c_str (), i ? " _corrected" : " " , mConfig .writeFileExt .c_str ()));
30423014 }
30433015 }
30443016
@@ -3063,11 +3035,9 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
30633035 mClRej [i]->SetOption (" colz" );
30643036 mClRej [i]->Draw ();
30653037 mCClRej [i]->cd ();
3066- snprintf (name, 2048 , " %s/clustersRej%d%s.pdf" , mConfig .plotsDir .c_str (), i, REJECTED_NAMES[i]);
3067- mCClRej [i]->Print (name);
3038+ mCClRej [i]->Print (Form (" %s/clustersRej%d%s.pdf" , mConfig .plotsDir .c_str (), i, REJECTED_NAMES[i]));
30683039 if (mConfig .writeFileExt != " " ) {
3069- snprintf (name, 2048 , " %s/clustersRej%d%s.%s" , mConfig .plotsDir .c_str (), i, REJECTED_NAMES[i], mConfig .writeFileExt .c_str ());
3070- mCClRej [i]->Print (name);
3040+ mCClRej [i]->Print (Form (" %s/clustersRej%d%s.%s" , mConfig .plotsDir .c_str (), i, REJECTED_NAMES[i], mConfig .writeFileExt .c_str ()));
30713041 }
30723042 }
30733043
@@ -3077,15 +3047,13 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
30773047 if (GetHist (tmp, tin, k, nNewInput) == nullptr ) {
30783048 continue ;
30793049 }
3080- snprintf (name, 2048 , " clrejptmp1%d" , k); // TODO: Clean up names, and how names are written to char arrays
3081- TH1D* proj1 = tmp->ProjectionY (name);
3050+ TH1D* proj1 = tmp->ProjectionY (Form (" clrejptmp1%d" , k)); // TODO: Clean up names
30823051 proj1->SetDirectory (nullptr );
30833052 tmp = mClRej [1 ];
30843053 if (GetHist (tmp, tin, k, nNewInput) == nullptr ) {
30853054 continue ;
30863055 }
3087- snprintf (name, 2048 , " clrejptmp2%d" , k); // TODO: Clean up names, and how names are written to char arrays
3088- TH1D* proj2 = tmp->ProjectionY (name);
3056+ TH1D* proj2 = tmp->ProjectionY (Form (" clrejptmp2%d" , k));
30893057 proj2->SetDirectory (nullptr );
30903058
30913059 auto * e = mClRejP ;
@@ -3131,7 +3099,7 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
31313099 if (!qcout) {
31323100 clearGarbagageCollector ();
31333101 }
3134- GPUInfo (" GPU TPC QA histograms have been written to pdf%s%s files" , ( mConfig .writeFileExt == " " ? " " : " and " , mConfig .writeFileExt .c_str ());
3102+ GPUInfo (" GPU TPC QA histograms have been written to pdf%s%s files" , mConfig .writeFileExt == " " ? " " : " and " , mConfig .writeFileExt .c_str ());
31353103 gErrorIgnoreLevel = oldRootIgnoreLevel;
31363104 return (0 );
31373105}
0 commit comments