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
16 changes: 16 additions & 0 deletions PWGMM/Mult/TableProducer/ambiguousTrackPropagation.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
#include <vector>

using SMatrix55 = ROOT::Math::SMatrix<double, 5, 5, ROOT::Math::MatRepSym<double, 5>>;
using SMatrix5 = ROOT::Math::SVector<Double_t, 5>;

Check failure on line 45 in PWGMM/Mult/TableProducer/ambiguousTrackPropagation.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/entity]

Replace ROOT entities with equivalents from standard C++ or from O2.

// This is a special version of the propagation task chosing the closest vertex
// among the compatible, which is defined by track-to-collision-associator
Expand Down Expand Up @@ -76,6 +76,7 @@

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

ConfigurableAxis binsDCAxy{"binsDCAxy", {200, -1., 1.}, ""};
ConfigurableAxis binsDCAz{"binsDCAz", {200, -1., 1.}, ""};
Expand Down Expand Up @@ -108,6 +109,9 @@
registry.add({"TracksAmbDegree", " ; N_{coll}^{comp}", {HistType::kTH1D, {{41, -0.5, 40.5}}}});
registry.add({"TrackIsAmb", " ; isAmbiguous", {HistType::kTH1D, {{2, -0.5, 1.5}}}});
if (doprocessMFTReassoc3D) {
registry.add({"TracksAmbDegreeWoTrivial", " ; N_{coll}^{comp}", {HistType::kTH1F, {{41, -0.5, 40.5}}}});
registry.add({"TracksFirstDCAXY", " ; DCA_{XY} (cm)", {HistType::kTH1F, {dcaXYAxis}}});
registry.add({"TracksFirstDCAZ", " ; DCA_{Z} (cm)", {HistType::kTH1F, {dcaZAxis}}});
registry.add({"TracksDCAZ", " ; DCA_{Z} (cm)", {HistType::kTH1F, {dcaZAxis}}});
registry.add({"ReassignedDCAZ", " ; DCA_{Z} (cm)", {HistType::kTH1F, {dcaZAxis}}});
registry.add({"TracksOrigDCAZ", " ; DCA_{Z} (wrt orig coll) (cm)", {HistType::kTH1F, {dcaZAxis}}});
Expand Down Expand Up @@ -437,6 +441,16 @@
bestDCA[1] = 999.f; // minimal DCAz

auto bestCol = track.has_collision() ? track.collisionId() : -1;

if (removeTrivialAssoc) {
if (track.compatibleCollIds().empty() || (track.compatibleCollIds().size() == 1 && bestCol == track.compatibleCollIds()[0])) {
if (produceHistos) {
registry.fill(HIST("TracksAmbDegreeWoTrivial"), track.compatibleCollIds().size());
}
continue;
}
}

auto compatibleColls = track.compatibleColl();

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