@@ -165,7 +165,7 @@ static constexpr bool CLUST_HIST_INT_SUM = false;
165165
166166static constexpr const int32_t COLORCOUNT = 12 ;
167167
168- static const constexpr char * EFF_TYPES[4 ] = {" Rec" , " Clone" , " Fake" , " All" };
168+ static const constexpr char * EFF_TYPES[5 ] = {" Rec" , " Clone" , " Fake" , " All" , " RecAndClone " };
169169static const constexpr char * FINDABLE_NAMES[2 ] = {" " , " Findable" };
170170static const constexpr char * PRIM_NAMES[2 ] = {" Prim" , " Sec" };
171171static const constexpr char * PARAMETER_NAMES[5 ] = {" Y" , " Z" , " #Phi" , " #lambda" , " Relative #it{p}_{T}" };
@@ -439,7 +439,7 @@ int32_t GPUQA::InitQACreateHistograms()
439439 char name[2048 ], fname[1024 ];
440440 if (mQATasks & taskTrackingEff) {
441441 // Create Efficiency Histograms
442- for (int32_t i = 0 ; i < 4 ; i++) {
442+ for (int32_t i = 0 ; i < 5 ; i++) {
443443 for (int32_t j = 0 ; j < 2 ; j++) {
444444 for (int32_t k = 0 ; k < 2 ; k++) {
445445 for (int32_t l = 0 ; l < 5 ; l++) {
@@ -454,7 +454,9 @@ int32_t GPUQA::InitQACreateHistograms()
454454 mEff [i][j][k][l]->Sumw2 ();
455455 }
456456 strcat (name, " _eff" );
457- createHist (mEffResult [i][j][k][l], name);
457+ if (i < 4 ) {
458+ createHist (mEffResult [i][j][k][l], name);
459+ }
458460 }
459461 }
460462 }
@@ -2122,15 +2124,18 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
21222124 gErrorIgnoreLevel = kError ;
21232125 mEffResult [0 ][j / 2 ][j % 2 ][i]->Divide (mEff [l][j / 2 ][j % 2 ][i], mEff [3 ][j / 2 ][j % 2 ][i], " cl=0.683 b(1,1) mode" );
21242126 gErrorIgnoreLevel = oldLevel;
2125- mEff [3 ][j / 2 ][j % 2 ][i]->Reset (); // Sum up rec + clone + fake for clone/ fake rate
2127+ mEff [3 ][j / 2 ][j % 2 ][i]->Reset (); // Sum up rec + clone + fake for fake rate
21262128 mEff [3 ][j / 2 ][j % 2 ][i]->Add (mEff [0 ][j / 2 ][j % 2 ][i]);
21272129 mEff [3 ][j / 2 ][j % 2 ][i]->Add (mEff [1 ][j / 2 ][j % 2 ][i]);
21282130 mEff [3 ][j / 2 ][j % 2 ][i]->Add (mEff [2 ][j / 2 ][j % 2 ][i]);
2131+ mEff [4 ][j / 2 ][j % 2 ][i]->Reset (); // Sum up rec + clone for clone rate
2132+ mEff [4 ][j / 2 ][j % 2 ][i]->Add (mEff [0 ][j / 2 ][j % 2 ][i]);
2133+ mEff [4 ][j / 2 ][j % 2 ][i]->Add (mEff [1 ][j / 2 ][j % 2 ][i]);
21292134 } else {
21302135 // Divide fake/clone
21312136 auto oldLevel = gErrorIgnoreLevel ;
21322137 gErrorIgnoreLevel = kError ;
2133- mEffResult [l][j / 2 ][j % 2 ][i]->Divide (mEff [l][j / 2 ][j % 2 ][i], mEff [3 ][j / 2 ][j % 2 ][i], " cl=0.683 b(1,1) mode" );
2138+ mEffResult [l][j / 2 ][j % 2 ][i]->Divide (mEff [l][j / 2 ][j % 2 ][i], mEff [l == 1 ? 4 : 3 ][j / 2 ][j % 2 ][i], " cl=0.683 b(1,1) mode" );
21342139 gErrorIgnoreLevel = oldLevel;
21352140 }
21362141 }
@@ -2143,6 +2148,7 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
21432148 e->Write ();
21442149 if (l == 2 ) {
21452150 mEff [3 ][j / 2 ][j % 2 ][i]->Write (); // Store also all histogram!
2151+ mEff [4 ][j / 2 ][j % 2 ][i]->Write (); // Store also all histogram!
21462152 }
21472153 }
21482154 } else if (GetHist (e, tin, k, nNewInput) == nullptr ) {
0 commit comments