Skip to content

Commit c51fc70

Browse files
committed
[PWGDQ] fixed match type assignment
Removed condition requiring that a true match must correspond to a muon particle crossing both MFT and MCH. The condition is relaxed to require only that MFT and MCH are crossed by the same particle, regardless of its PDG code.
1 parent c6c9dcd commit c51fc70

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

PWGDQ/Tasks/qaMatching.cxx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ struct QaMatching {
139139
static constexpr int ExtrapolationMethodMftFirstPoint = 2;
140140
static constexpr int ExtrapolationMethodVertex = 3;
141141
static constexpr int ExtrapolationMethodMftDca = 4;
142+
static constexpr int DecayRankingDirect = 2;
142143

143144
struct MatchingCandidate {
144145
int64_t collisionId{-1};
@@ -1675,7 +1676,7 @@ struct QaMatching {
16751676

16761677
template <class TMUON, class TMUONS, class TMFTS>
16771678
MuonMatchType getMatchType(const TMUON& muonTrack,
1678-
TMUONS const& muonTracks,
1679+
TMUONS const& /*muonTracks*/,
16791680
TMFTS const& mftTracks,
16801681
const std::vector<std::pair<int64_t, int64_t>>& matchablePairs,
16811682
int ranking)
@@ -1685,18 +1686,18 @@ struct QaMatching {
16851686

16861687
auto const& mchTrack = muonTrack.template matchMCHTrack_as<TMUONS>();
16871688

1688-
bool isPaired = isMatchableMch(mchTrack.globalIndex(), matchablePairs);
1689-
bool isMuon = IsMuon(muonTrack, muonTracks, mftTracks);
1689+
bool isPairable = isMatchableMch(mchTrack.globalIndex(), matchablePairs);
1690+
bool isTrueMatch = isTrueGlobalMatching(muonTrack, matchablePairs);
16901691
int decayRanking = getDecayRanking(mchTrack, mftTracks);
16911692

16921693
MuonMatchType result{kMatchTypeUndefined};
1693-
if (isPaired) {
1694-
if (isMuon) {
1694+
if (isPairable) {
1695+
if (isTrueMatch) {
16951696
result = (ranking == 1) ? kMatchTypeTrueLeading : kMatchTypeTrueNonLeading;
16961697
} else {
16971698
result = (ranking == 1) ? kMatchTypeWrongLeading : kMatchTypeWrongNonLeading;
16981699
}
1699-
} else if (decayRanking == 1) {
1700+
} else if (decayRanking == DecayRankingDirect) {
17001701
result = (ranking == 1) ? kMatchTypeDecayLeading : kMatchTypeDecayNonLeading;
17011702
} else {
17021703
result = (ranking == 1) ? kMatchTypeFakeLeading : kMatchTypeFakeNonLeading;

0 commit comments

Comments
 (0)