Skip to content

Commit 6b3b797

Browse files
committed
Added new track selection for reassociation
1 parent 85d2fe5 commit 6b3b797

File tree

2 files changed

+512
-155
lines changed

2 files changed

+512
-155
lines changed

PWGMM/Mult/TableProducer/ambiguousTrackPropagation.cxx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ struct AmbiguousTrackPropagation {
7676

7777
Configurable<bool> produceExtra{"produceExtra", false, "Produce table with refitted track parameters"};
7878
Configurable<bool> produceHistos{"produceHistos", false, "Produce control histograms"};
79+
Configurable<bool> removeTrivialAssoc{"removeTrivialAssoc", false, "Skip trivial associations"};
7980

8081
ConfigurableAxis binsDCAxy{"binsDCAxy", {200, -1., 1.}, ""};
8182
ConfigurableAxis binsDCAz{"binsDCAz", {200, -1., 1.}, ""};
@@ -108,6 +109,9 @@ struct AmbiguousTrackPropagation {
108109
registry.add({"TracksAmbDegree", " ; N_{coll}^{comp}", {HistType::kTH1D, {{41, -0.5, 40.5}}}});
109110
registry.add({"TrackIsAmb", " ; isAmbiguous", {HistType::kTH1D, {{2, -0.5, 1.5}}}});
110111
if (doprocessMFTReassoc3D) {
112+
registry.add({"TracksAmbDegreeWoTrivial", " ; N_{coll}^{comp}", {HistType::kTH1F, {{41, -0.5, 40.5}}}});
113+
registry.add({"TracksFirstDCAXY", " ; DCA_{XY} (cm)", {HistType::kTH1F, {dcaXYAxis}}});
114+
registry.add({"TracksFirstDCAZ", " ; DCA_{Z} (cm)", {HistType::kTH1F, {dcaZAxis}}});
111115
registry.add({"TracksDCAZ", " ; DCA_{Z} (cm)", {HistType::kTH1F, {dcaZAxis}}});
112116
registry.add({"ReassignedDCAZ", " ; DCA_{Z} (cm)", {HistType::kTH1F, {dcaZAxis}}});
113117
registry.add({"TracksOrigDCAZ", " ; DCA_{Z} (wrt orig coll) (cm)", {HistType::kTH1F, {dcaZAxis}}});
@@ -437,6 +441,16 @@ struct AmbiguousTrackPropagation {
437441
bestDCA[1] = 999.f; // minimal DCAz
438442

439443
auto bestCol = track.has_collision() ? track.collisionId() : -1;
444+
445+
if (removeTrivialAssoc) {
446+
if (track.compatibleCollIds().empty() || (track.compatibleCollIds().size() == 1 && bestCol == track.compatibleCollIds()[0])) {
447+
if (produceHistos) {
448+
registry.fill(HIST("TracksAmbDegreeWoTrivial"), track.compatibleCollIds().size());
449+
}
450+
continue;
451+
}
452+
}
453+
440454
auto compatibleColls = track.compatibleColl();
441455

442456
std::vector<double> v1; // Temporary null vector for the computation of the covariance matrix
@@ -458,6 +472,8 @@ struct AmbiguousTrackPropagation {
458472
}
459473
if ((track.collisionId() != collision.globalIndex()) && produceHistos) {
460474
registry.fill(HIST("DeltaZ"), track.collision().posZ() - collision.posZ()); // deltaZ between the 1st coll zvtx and the other compatible ones
475+
registry.fill(HIST("TracksFirstDCAXY"), dcaInfo[0]);
476+
registry.fill(HIST("TracksFirstDCAZ"), dcaInfo[1]);
461477
}
462478
if (produceHistos) {
463479
registry.fill(HIST("TracksDCAXY"), dcaInfo[0]);

0 commit comments

Comments
 (0)