Skip to content

Commit b71ab71

Browse files
committed
GPU TPC QA: Ignore fake tracks for clone track computation
1 parent b8829ab commit b71ab71

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

GPU/GPUTracking/qa/GPUQA.cxx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ static constexpr bool CLUST_HIST_INT_SUM = false;
165165

166166
static 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"};
169169
static const constexpr char* FINDABLE_NAMES[2] = {"", "Findable"};
170170
static const constexpr char* PRIM_NAMES[2] = {"Prim", "Sec"};
171171
static 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) {

GPU/GPUTracking/qa/GPUQA.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ class GPUQA
258258
std::vector<additionalClusterParameters> mClusterParam;
259259
int32_t mNTotalFakes = 0;
260260

261-
TH1F* mEff[4][2][2][5]; // eff,clone,fake,all - findable - secondaries - y,z,phi,eta,pt - work,result
261+
TH1F* mEff[5][2][2][5]; // eff,clone,fake,all,all-fake - findable - secondaries - y,z,phi,eta,pt - work,result
262262
TGraphAsymmErrors* mEffResult[4][2][2][5];
263263
TCanvas* mCEff[6];
264264
TPad* mPEff[6][4];

0 commit comments

Comments
 (0)