Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions GPU/GPUTracking/Definitions/GPUSettingsList.h
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,9 @@ AddOption(shipToQC, bool, false, "", 0, "Do not write output files but ship hist
AddOption(shipToQCAsCanvas, bool, false, "", 0, "Send TCanvases with full layout to QC instead of individual histograms")
AddOption(clusterRejectionHistograms, bool, false, "", 0, "Fill histograms with cluster rejection statistics")
AddOption(histMaxNClusters, uint32_t, 500000000, "", 0, "Maximum number of clusters in rejection histograms")
AddOption(minNClFindable, uint32_t, 70, "", 0, "Minimum number of (weighted) MC clusters for a track to count as findable")
AddOption(minNClEff, uint32_t, 10, "", 0, "Minimum number of (weighted) MC clusters for a track to contribute to all-tracks efficiency histogramm")
AddOption(minNClRes, uint32_t, 40, "", 0, "Minimum number of (weighted) MC clusters for a track to contribute to resolution histogram")
AddShortcut("compare", 0, "--QAinput", "Compare QA histograms", "--qa", "--QAinputHistogramsOnly")
AddHelp("help", 'h')
EndConfig()
Expand Down
15 changes: 6 additions & 9 deletions GPU/GPUTracking/qa/GPUQA.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -158,15 +158,12 @@ static constexpr float PT_MAX = 20;
static constexpr float ETA_MAX = 1.5;
static constexpr float ETA_MAX2 = 0.9;

static constexpr float MIN_WEIGHT_CLS = 40;
static constexpr float FINDABLE_WEIGHT_CLS = 70;

static constexpr bool CLUST_HIST_INT_SUM = false;

static constexpr const int32_t COLORCOUNT = 12;

static const constexpr char* EFF_TYPES[5] = {"Rec", "Clone", "Fake", "All", "RecAndClone"};
static const constexpr char* FINDABLE_NAMES[2] = {"", "Findable"};
static const constexpr char* FINDABLE_NAMES[2] = {"All", "Findable"};
static const constexpr char* PRIM_NAMES[2] = {"Prim", "Sec"};
static const constexpr char* PARAMETER_NAMES[5] = {"Y", "Z", "#Phi", "#lambda", "Relative #it{p}_{T}"};
static const constexpr char* PARAMETER_NAMES_NATIVE[5] = {"Y", "Z", "sin(#Phi)", "tan(#lambda)", "q/#it{p}_{T} (curvature)"};
Expand Down Expand Up @@ -1185,10 +1182,10 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
if (info.primDaughters) {
continue;
}
if (mc2.nWeightCls < MIN_WEIGHT_CLS) {
if (mc2.nWeightCls < mConfig.minNClEff) {
continue;
}
int32_t findable = mc2.nWeightCls >= FINDABLE_WEIGHT_CLS;
int32_t findable = mc2.nWeightCls >= mConfig.minNClFindable;
if (info.pid < 0) {
continue;
}
Expand Down Expand Up @@ -1217,9 +1214,9 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
float localY = -info.x * s + info.y * c;

if (mConfig.dumpToROOT) {
static auto effdump = GPUROOTDump<TNtuple>::getNew("eff", "alpha:x:y:z:mcphi:mceta:mcpt:rec:fake:findable:prim");
static auto effdump = GPUROOTDump<TNtuple>::getNew("eff", "alpha:x:y:z:mcphi:mceta:mcpt:rec:fake:findable:prim:ncls");
float localX = info.x * c + info.y * s;
effdump.Fill(alpha, localX, localY, info.z, mcphi, mceta, mcpt, mRecTracks[iCol][i], mFakeTracks[iCol][i], findable, info.prim);
effdump.Fill(alpha, localX, localY, info.z, mcphi, mceta, mcpt, mRecTracks[iCol][i], mFakeTracks[iCol][i], findable, info.prim, mc2.nWeightCls);
}

for (int32_t j = 0; j < 4; j++) {
Expand Down Expand Up @@ -1304,7 +1301,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
if (mConfig.filterPID >= 0 && mc1.pid != mConfig.filterPID) {
continue;
}
if (mc2.nWeightCls < MIN_WEIGHT_CLS) {
if (mc2.nWeightCls < mConfig.minNClRes) {
continue;
}
if (mConfig.resPrimaries == 1 && !mc1.prim) {
Expand Down