Skip to content

Commit 6ca81e4

Browse files
author
Ionut Cristian Arsene
committed
Produce a table with quantities to be used for tagging collision merging candidates
1 parent 74ab7ff commit 6ca81e4

File tree

5 files changed

+302
-2
lines changed

5 files changed

+302
-2
lines changed

PWGDQ/Core/VarManager.cxx

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,31 @@ void VarManager::SetDefaultVarNames()
577577
fgVariableUnits[kNTPCmedianTimeShortA] = "#mu s";
578578
fgVariableNames[kNTPCmedianTimeShortC] = "# TPC-C pileup median time, short time range";
579579
fgVariableUnits[kNTPCmedianTimeShortC] = "#mu s";
580+
fgVariableNames[kDCAzBimodalityCoefficient] = "Bimodality Coeff of DCAz distribution";
581+
fgVariableUnits[kDCAzBimodalityCoefficient] = "";
582+
fgVariableNames[kDCAzMean] = "Mean of DCAz distribution";
583+
fgVariableUnits[kDCAzMean] = "cm";
584+
fgVariableNames[kDCAzRMS] = "RMS of DCAz distribution";
585+
fgVariableUnits[kDCAzRMS] = "cm";
586+
fgVariableNames[kDCAzSkewness] = "Skewness of DCAz distribution";
587+
fgVariableUnits[kDCAzSkewness] = "";
588+
fgVariableNames[kDCAzKurtosis] = "Kurtosis of DCAz distribution";
589+
fgVariableUnits[kDCAzKurtosis] = "";
590+
fgVariableNames[kDCAzFracAbove100um] = "Fraction of tracks with |DCAz| > 100 um";
591+
fgVariableUnits[kDCAzFracAbove100um] = "";
592+
fgVariableNames[kDCAzFracAbove200um] = "Fraction of tracks with |DCAz| > 200 um";
593+
fgVariableUnits[kDCAzFracAbove200um] = "";
594+
fgVariableNames[kDCAzFracAbove500um] = "Fraction of tracks with |DCAz| > 500 um";
595+
fgVariableUnits[kDCAzFracAbove500um] = "";
596+
fgVariableNames[kDCAzFracAbove1mm] = "Fraction of tracks with |DCAz| > 1 mm";
597+
fgVariableUnits[kDCAzFracAbove1mm] = "";
598+
fgVariableNames[kDCAzFracAbove2mm] = "Fraction of tracks with |DCAz| > 2 mm";
599+
fgVariableUnits[kDCAzFracAbove2mm] = "";
600+
fgVariableNames[kDCAzFracAbove5mm] = "Fraction of tracks with |DCAz| > 5 mm";
601+
fgVariableUnits[kDCAzFracAbove5mm] = "";
602+
fgVariableNames[kDCAzFracAbove10mm] = "Fraction of tracks with |DCAz| > 10 mm";
603+
fgVariableUnits[kDCAzFracAbove10mm] = "";
604+
fgVariableNames[]
580605
fgVariableNames[kPt] = "p_{T}";
581606
fgVariableUnits[kPt] = "GeV/c";
582607
fgVariableNames[kPt1] = "p_{T1}";
@@ -1638,6 +1663,18 @@ void VarManager::SetDefaultVarNames()
16381663
fgVarNamesMap["kNTPCmeanTimeShortC"] = kNTPCmeanTimeShortC;
16391664
fgVarNamesMap["kNTPCmedianTimeShortA"] = kNTPCmedianTimeShortA;
16401665
fgVarNamesMap["kNTPCmedianTimeShortC"] = kNTPCmedianTimeShortC;
1666+
fgVarNamesMap["kDCAzBimodalityCoefficient"] = kDCAzBimodalityCoefficient;
1667+
fgVarNamesMap["kDCAzMean"] = kDCAzMean;
1668+
fgVarNamesMap["kDCAzRMS"] = kDCAzRMS;
1669+
fgVarNamesMap["kDCAzSkewness"] = kDCAzSkewness;
1670+
fgVarNamesMap["kDCAzKurtosis"] = kDCAzKurtosis;
1671+
fgVarNamesMap["kDCAzFracAbove100um"] = kDCAzFracAbove100um;
1672+
fgVarNamesMap["kDCAzFracAbove200um"] = kDCAzFracAbove200um;
1673+
fgVarNamesMap["kDCAzFracAbove500um"] = kDCAzFracAbove500um;
1674+
fgVarNamesMap["kDCAzFracAbove1mm"] = kDCAzFracAbove1mm;
1675+
fgVarNamesMap["kDCAzFracAbove2mm"] = kDCAzFracAbove2mm;
1676+
fgVarNamesMap["kDCAzFracAbove5mm"] = kDCAzFracAbove5mm;
1677+
fgVarNamesMap["kDCAzFracAbove10mm"] = kDCAzFracAbove10mm;
16411678
fgVarNamesMap["kMCEventGeneratorId"] = kMCEventGeneratorId;
16421679
fgVarNamesMap["kMCEventSubGeneratorId"] = kMCEventSubGeneratorId;
16431680
fgVarNamesMap["kMCVtxX"] = kMCVtxX;

PWGDQ/Core/VarManager.h

Lines changed: 118 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,18 @@ class VarManager : public TObject
293293
kNTPCmeanTimeShortC,
294294
kNTPCmedianTimeShortA,
295295
kNTPCmedianTimeShortC,
296+
kDCAzBimodalityCoefficient,
297+
kDCAzMean,
298+
kDCAzRMS,
299+
kDCAzSkewness,
300+
kDCAzKurtosis,
301+
kDCAzFracAbove100um,
302+
kDCAzFracAbove200um,
303+
kDCAzFracAbove500um,
304+
kDCAzFracAbove1mm,
305+
kDCAzFracAbove2mm,
306+
kDCAzFracAbove5mm,
307+
kDCAzFracAbove10mm,
296308
kMCEventGeneratorId,
297309
kMCEventSubGeneratorId,
298310
kMCVtxX,
@@ -1254,7 +1266,10 @@ class VarManager : public TObject
12541266
return deltaPsi;
12551267
}
12561268
template <typename T, typename T1>
1257-
static o2::dataformats::VertexBase RecalculatePrimaryVertex(T const& track0, T const& track1, const T1& collision);
1269+
static o2::dataformats::VertexBase RecalculatePrimaryVertex(T const& track0, T const& track1, const T1& collision);
1270+
1271+
static std::tuple<double, double, double, double, double> BimodalityCoefficient(const std::vector<double>& data);
1272+
12581273
template <typename T, typename C>
12591274
static o2::track::TrackParCovFwd FwdToTrackPar(const T& track, const C& cov);
12601275
template <typename T, typename C>
@@ -1269,6 +1284,8 @@ class VarManager : public TObject
12691284
static void FillBC(T const& bc, float* values = nullptr);
12701285
template <uint32_t fillMap, typename T>
12711286
static void FillEvent(T const& event, float* values = nullptr);
1287+
template <typename E, typename T>
1288+
static void FillEventTracks(E const& event, T const& tracks, float* values = nullptr);
12721289
template <typename T>
12731290
static void FillTimeFrame(T const& tfTable, float* values = nullptr);
12741291
template <typename T>
@@ -1486,7 +1503,7 @@ class VarManager : public TObject
14861503
VarManager& operator=(const VarManager& c);
14871504
VarManager(const VarManager& c);
14881505

1489-
ClassDef(VarManager, 5);
1506+
ClassDef(VarManager, 6);
14901507
};
14911508

14921509
template <typename T, typename C>
@@ -2329,6 +2346,105 @@ void VarManager::FillEvent(T const& event, float* values)
23292346
// FillEventDerived(values);
23302347
}
23312348

2349+
std::tuple<double, double, double, double, double> VarManager::BimodalityCoefficient(const std::vector<double>& data) {
2350+
// Bimodality coefficient = (skewness^2 + 1) / kurtosis
2351+
// return a tuple including the coefficient, mean, RMS, skewness, and kurtosis
2352+
size_t n = data.size();
2353+
if (n < 3) {
2354+
return std::make_tuple(-1.0, -1.0, -1.0, -1.0, -1.0);
2355+
}
2356+
double mean = std::accumulate(data.begin(), data.end(), 0.0) / n;
2357+
2358+
double m2 = 0.0, m3 = 0.0, m4 = 0.0;
2359+
for (double x : data) {
2360+
double diff = x - mean;
2361+
double diff2 = diff * diff;
2362+
double diff3 = diff2 * diff;
2363+
double diff4 = diff3 * diff;
2364+
m2 += diff2;
2365+
m3 += diff3;
2366+
m4 += diff4;
2367+
}
2368+
2369+
m2 /= n;
2370+
m3 /= n;
2371+
m4 /= n;
2372+
2373+
if (m2 == 0.0) {
2374+
return std::make_tuple(-1.0, -1.0, -1.0, -1.0, -1.0);
2375+
}
2376+
2377+
double stddev = std::sqrt(m2);
2378+
double skewness = m3 / (stddev * stddev * stddev);
2379+
double kurtosis = m4 / (m2 * m2); // Pearson's kurtosis, not excess
2380+
2381+
return std::make_tuple((skewness * skewness + 1.0) / kurtosis, mean, stddev, skewness, kurtosis);
2382+
}
2383+
2384+
template <typename E, typename T>
2385+
void VarManager::FillEventTracks(E const& event, T const& tracks, float* values = nullptr)
2386+
{
2387+
if (!values) {
2388+
values = fgValues;
2389+
}
2390+
2391+
// compute event properties based on DCAz of the tracks
2392+
std::vector<double> dcazValues;
2393+
for (const auto& track : tracks) {
2394+
dcazValues.push_back(track.dcaZ());
2395+
}
2396+
2397+
if (!dcazValues.empty()) {
2398+
auto [bimodality, mean, stddev, skewness, kurtosis] = BimodalityCoefficient(dcazValues);
2399+
values[kDCAzBimodalityCoefficient] = bimodality;
2400+
values[kDCAzMean] = mean;
2401+
values[kDCAzRMS] = stddev;
2402+
values[kDCAzSkewness] = skewness;
2403+
values[kDCAzKurtosis] = kurtosis;
2404+
// compute fraction of tracks with |DCAz| > 100um, 200um, 500um, 1mm, 2mm, 5mm, 10mm
2405+
// make a loop over the DCAz values and count how many are above each threshold
2406+
int counter100um = 0;
2407+
int counter200um = 0;
2408+
int counter500um = 0;
2409+
int counter1mm = 0;
2410+
int counter2mm = 0;
2411+
int counter5mm = 0;
2412+
int counter10mm = 0;
2413+
for (auto& d : dcazValues) {
2414+
double absD = std::abs(d);
2415+
if (absD > 0.01) {
2416+
counter100um++;
2417+
if (absD > 0.02) {
2418+
counter200um++;
2419+
if (absD > 0.05) {
2420+
counter500um++;
2421+
if (absD > 0.1) {
2422+
counter1mm++;
2423+
if (absD > 0.2) {
2424+
counter2mm++;
2425+
if (absD > 0.5) {
2426+
counter5mm++;
2427+
if (absD > 1.0) {
2428+
counter10mm++;
2429+
}
2430+
}
2431+
}
2432+
}
2433+
}
2434+
}
2435+
}
2436+
}
2437+
int totalTracks = static_cast<int>(dcazValues.size());
2438+
values[kDCAzFracAbove100um] = static_cast<float>(counter100um) / totalTracks;
2439+
values[kDCAzFracAbove200um] = static_cast<float>(counter200um) / totalTracks;
2440+
values[kDCAzFracAbove500um] = static_cast<float>(counter500um) / totalTracks;
2441+
values[kDCAzFracAbove1mm] = static_cast<float>(counter1mm) / totalTracks;
2442+
values[kDCAzFracAbove2mm] = static_cast<float>(counter2mm) / totalTracks;
2443+
values[kDCAzFracAbove5mm] = static_cast<float>(counter5mm) / totalTracks;
2444+
values[kDCAzFracAbove10mm] = static_cast<float>(counter10mm) / totalTracks;
2445+
}
2446+
}
2447+
23322448
template <typename T>
23332449
void VarManager::FillEventFlowResoFactor(T const& hs_sp, T const& hs_ep, float* values)
23342450
{

PWGDQ/DataModel/ReducedInfoTables.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,18 @@ DECLARE_SOA_COLUMN(NTPCoccupMeanTimeShortA, nTPCoccupMeanTimeShortA, float);
6666
DECLARE_SOA_COLUMN(NTPCoccupMeanTimeShortC, nTPCoccupMeanTimeShortC, float); //! TPC pileup mean time on C side (short time range)
6767
DECLARE_SOA_COLUMN(NTPCoccupMedianTimeShortA, nTPCoccupMedianTimeShortA, float); //! TPC pileup median time on A side (short time range)
6868
DECLARE_SOA_COLUMN(NTPCoccupMedianTimeShortC, nTPCoccupMedianTimeShortC, float); //! TPC pileup median time on C side (short time range)
69+
DECLARE_SOA_COLUMN(DCAzBinomialCoefficient, dcazBinomialCoefficient, float); //! Bimodality coefficient of the DCAz distribution of the tracks in the event
70+
DECLARE_SOA_COLUMN(DCAzMean, dcazMean, float); //! Mean of the DCAz distribution of the tracks in the event
71+
DECLARE_SOA_COLUMN(DCAzRMS, dcazRMS, float); //! RMS of the DCAz distribution of the tracks in the event
72+
DECLARE_SOA_COLUMN(DCAzSkewness, dcazSkewness, float); //! Skewness of the DCAz distribution of the tracks in the event
73+
DECLARE_SOA_COLUMN(DCAzKurtosis, dcazKurtosis, float); //! Kurtosis of the DCAz distribution of the tracks in the event
74+
DECLARE_SOA_COLUMN(DCAzFracAbove100um, dcazFracAbove100um, float); //! Fraction of tracks in the event with |DCAz| > 100um
75+
DECLARE_SOA_COLUMN(DCAzFracAbove200um, dcazFracAbove200um, float); //! Fraction of tracks in the event with |DCAz| > 200um
76+
DECLARE_SOA_COLUMN(DCAzFracAbove500um, dcazFracAbove500um, float); //! Fraction of tracks in the event with |DCAz| > 500um
77+
DECLARE_SOA_COLUMN(DCAzFracAbove1mm, dcazFracAbove1mm, float); //! Fraction of tracks in the event with |DCAz| > 1mm
78+
DECLARE_SOA_COLUMN(DCAzFracAbove2mm, dcazFracAbove2mm, float); //! Fraction of tracks in the event with |DCAz| > 2mm
79+
DECLARE_SOA_COLUMN(DCAzFracAbove5mm, dcazFracAbove5mm, float); //! Fraction of tracks in the event with |DCAz| > 5mm
80+
DECLARE_SOA_COLUMN(DCAzFracAbove10mm, dcazFracAbove10mm, float); //! Fraction of tracks in the event with |DCAz| > 10mm
6981

7082
// Columns declared to guarantee the backward compatibility of the tables
7183
DECLARE_SOA_COLUMN(QvecBPosRe, qvecBPosRe, float);
@@ -197,6 +209,12 @@ DECLARE_SOA_TABLE(ReducedEventsQvectorZN, "AOD", "REQVECTORZN", //! Event Q-v
197209
DECLARE_SOA_TABLE(ReducedEventsInfo, "AOD", "REDUCEVENTINFO", //! Main event index table
198210
reducedevent::CollisionId);
199211

212+
DECLARE_SOA_TABLE(ReducedEventsMergingTable, "AOD", "REMERGE", //! Collision merging quatities
213+
reducedevent::DCAzBinomialCoefficient,
214+
reducedevent::DCAzMean, reducedevent::DCAzRMS, reducedevent::DCAzSkewness, reducedevent::DCAzKurtosis,
215+
reducedevent::DCAzFracAbove100um, reducedevent::DCAzFracAbove200um, reducedevent::DCAzFracAbove500um,
216+
reducedevent::DCAzFracAbove1mm, reducedevent::DCAzFracAbove2mm, reducedevent::DCAzFracAbove5mm, reducedevent::DCAzFracAbove10mm);
217+
200218
// TODO and NOTE: This table is just an extension of the ReducedEvents table
201219
// There is no explicit accounting for MC events which were not reconstructed!!!
202220
// However, for analysis which will require these events, a special skimming process function

PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ struct TableMakerMC {
143143
Produces<ReducedEventsMultPV> multPV;
144144
Produces<ReducedEventsMultAll> multAll;
145145
Produces<ReducedMCEventLabels> eventMClabels;
146+
Produces<ReducedEventsMergingTable> mergingTable;
146147

147148
Produces<ReducedTracksBarrelInfo> trackBarrelInfo;
148149
Produces<ReducedTracks> trackBasic;
@@ -273,6 +274,22 @@ struct TableMakerMC {
273274
// RCT flag checker
274275
RCTFlagsChecker rctChecker{"CBT"};
275276

277+
// variables to store quantities needed for tagging collision merging candidates
278+
struct {
279+
std::map<int32_t, int> bimodalityCoeffDCAz; // Bimodality coefficient of the DCAz distribution of tracks associated to a collision
280+
std::map<int32_t, float> meanDCAz;
281+
std::map<int32_t, float> rmsDCAz;
282+
std::map<int32_t, float> skewnessDCAz;
283+
std::map<int32_t, float> kurtosisDCAz;
284+
std::map<int32_t, float> fraction100umDCAz; // fraction of tracks with |DCAz|>100um
285+
std::map<int32_t, float> fraction200umDCAz; // fraction of tracks with |DCAz|>200um
286+
std::map<int32_t, float> fraction500umDCAz; // fraction of tracks with |DCAz|>500um
287+
std::map<int32_t, float> fraction1mmDCAz; // fraction of tracks with |DCAz|>1mm
288+
std::map<int32_t, float> fraction2mmDCAz; // fraction of tracks with |DCAz|>2mm
289+
std::map<int32_t, float> fraction5mmDCAz; // fraction of tracks with |DCAz|>5mm
290+
std::map<int32_t, float> fraction10mmDCAz; // fraction of tracks with |DCAz|>10mm
291+
} fCollMergingTag;
292+
276293
void init(o2::framework::InitContext& context)
277294
{
278295
// Check whether barrel or muon are enabled
@@ -472,6 +489,8 @@ struct TableMakerMC {
472489
Preslice<aod::FwdTrackAssoc> fwdtrackIndicesPerCollision = aod::track_association::collisionId;
473490
Preslice<aod::MFTTrackAssoc> mfttrackIndicesPerCollision = aod::track_association::collisionId;
474491

492+
Preslice<MyBarrelTracksWithCov> presliceBarrelTracksWithCov = aod::track_association::collisionId;
493+
475494
void skimMCCollisions(MyEventsMcWithMults const& mcCollisions)
476495
{
477496
// skim MC collisions
@@ -582,6 +601,43 @@ struct TableMakerMC {
582601
} // end loop over mc stack
583602
}
584603

604+
template <typename TEvents, typename TTracks>
605+
void computeCollMergingTag(TEvents const& collisions, TTracks const& tracks, Preslice<TTracks>& preslice)
606+
{
607+
// clear the maps for this time frame
608+
fCollMergingTag.bimodalityCoeffDCAz.clear();
609+
fCollMergingTag.meanDCAz.clear();
610+
fCollMergingTag.rmsDCAz.clear();
611+
fCollMergingTag.skewnessDCAz.clear();
612+
fCollMergingTag.kurtosisDCAz.clear();
613+
fCollMergingTag.fraction100umDCAz.clear();
614+
fCollMergingTag.fraction200umDCAz.clear();
615+
fCollMergingTag.fraction500umDCAz.clear();
616+
fCollMergingTag.fraction1mmDCAz.clear();
617+
fCollMergingTag.fraction2mmDCAz.clear();
618+
fCollMergingTag.fraction5mmDCAz.clear();
619+
fCollMergingTag.fraction10mmDCAz.clear();
620+
621+
for (const auto& collision : collisions) {
622+
// make a slice for this collision and compute the DCAz based event quantities
623+
auto thisCollTracks = tracks.sliceBy(preslice, collision.globalIndex());
624+
VarManager::FillEventTracks(collision, tracks); // fill the VarManager arrays with the information of the tracks associated to this collision, needed for the cuts and histograms
625+
// add the computed variables to the maps with the collision index as key
626+
fCollMergingTag.bimodalityCoeffDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzBimodalityCoefficient];
627+
fCollMergingTag.meanDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzMean];
628+
fCollMergingTag.rmsDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzRMS];
629+
fCollMergingTag.skewnessDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzSkewness];
630+
fCollMergingTag.kurtosisDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzKurtosis];
631+
fCollMergingTag.fraction100umDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzFraction100um];
632+
fCollMergingTag.fraction200umDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzFraction200um];
633+
fCollMergingTag.fraction500umDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzFraction500um];
634+
fCollMergingTag.fraction1mmDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzFraction1mm];
635+
fCollMergingTag.fraction2mmDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzFraction2mm];
636+
fCollMergingTag.fraction5mmDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzFraction5mm];
637+
fCollMergingTag.fraction10mmDCAz[collision.globalIndex()] = VarManager::fgValues[VarManager::kDCAzFraction10mm];
638+
}
639+
}
640+
585641
template <uint32_t TEventFillMap, typename TEvents>
586642
void skimCollisions(TEvents const& collisions, BCsWithTimestamps const& /*bcs*/)
587643
{
@@ -698,6 +754,13 @@ struct TableMakerMC {
698754
0, 0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0.0, 0.0, 0.0, 0.0);
699755
}
700756

757+
mergingTable(fCollMergingTag.bimodalityCoeffDCAz[collision.globalIndex()], fCollMergingTag.meanDCAz[collision.globalIndex()], fCollMergingTag.rmsDCAz[collision.globalIndex()],
758+
fCollMergingTag.skewnessDCAz[collision.globalIndex()], fCollMergingTag.kurtosisDCAz[collision.globalIndex()],
759+
fCollMergingTag.fraction100umDCAz[collision.globalIndex()], fCollMergingTag.fraction200umDCAz[collision.globalIndex()],
760+
fCollMergingTag.fraction500umDCAz[collision.globalIndex()], fCollMergingTag.fraction1mmDCAz[collision.globalIndex()],
761+
fCollMergingTag.fraction2mmDCAz[collision.globalIndex()], fCollMergingTag.fraction5mmDCAz[collision.globalIndex()],
762+
fCollMergingTag.fraction10mmDCAz[collision.globalIndex()]);
763+
701764
// add an element for this collision into the map
702765
fCollIndexMap[collision.globalIndex()] = event.lastIndex();
703766
}
@@ -1518,13 +1581,15 @@ struct TableMakerMC {
15181581
MyBarrelTracksWithCov const& tracksBarrel, aod::TrackAssoc const& trackAssocs,
15191582
MyEventsMcWithMults const& mcCollisions, aod::McParticles const& mcParticles)
15201583
{
1584+
computeCollMergingTag(collisions, tracksBarrel, presliceBarrelTracksWithCov);
15211585
fullSkimming<gkEventFillMapWithCentAndMults, gkTrackFillMapWithCov, 0u, 0u, gkEventMcFillMapWithCent>(collisions, bcs, tracksBarrel, nullptr, nullptr, trackAssocs, nullptr, nullptr, mcCollisions, mcParticles, nullptr);
15221586
}
15231587

15241588
void processPbPbWithFilterBarrelOnly(MyEventsWithMultsAndRapidityGapFilter const& collisions, aod::BCsWithTimestamps const& bcs,
15251589
MyBarrelTracksWithCov const& tracksBarrel, aod::TrackAssoc const& trackAssocs,
15261590
MyEventsMcWithMults const& mcCollisions, aod::McParticles const& mcParticles)
15271591
{
1592+
computeCollMergingTag(collisions, tracksBarrel, presliceBarrelTracksWithCov);
15281593
fullSkimming<gkEventFillMapWithMultsRapidityGapFilter, gkTrackFillMapWithCov, 0u, 0u, gkEventMcFillMapWithCent>(collisions, bcs, tracksBarrel, nullptr, nullptr, trackAssocs, nullptr, nullptr, mcCollisions, mcParticles, nullptr);
15291594
}
15301595

0 commit comments

Comments
 (0)