@@ -221,13 +221,15 @@ struct DGBCCandProducer {
221
221
// data tables
222
222
Produces<aod::UDCollisions> outputCollisions;
223
223
Produces<aod::UDCollisionsSels> outputCollisionsSels;
224
+ Produces<aod::UDCollsLabels> outputCollsLabels;
224
225
Produces<aod::UDZdcs> outputZdcs;
225
226
Produces<aod::UDTracks> outputTracks;
226
227
Produces<aod::UDTracksCov> outputTracksCov;
227
228
Produces<aod::UDTracksDCA> outputTracksDCA;
228
229
Produces<aod::UDTracksPID> outputTracksPID;
229
230
Produces<aod::UDTracksExtra> outputTracksExtra;
230
231
Produces<aod::UDTracksFlags> outputTracksFlag;
232
+ Produces<aod::UDTracksLabels> outputTracksLabel;
231
233
232
234
// get a DGCutparHolder
233
235
DGCutparHolder diffCuts = DGCutparHolder();
@@ -258,7 +260,7 @@ struct DGBCCandProducer {
258
260
259
261
// update UDTables
260
262
template <typename TTracks>
261
- void updateUDTables (bool onlyPV, uint64_t bcnum, int rnum, float vx, float vy, float vz,
263
+ void updateUDTables (bool onlyPV, int64_t colID, uint64_t bcnum, int rnum, float vx, float vy, float vz,
262
264
uint16_t const & ntrks, int8_t const & ncharge, float const & rtrwTOF,
263
265
TTracks const & tracks, upchelpers::FITInfo const & fitInfo)
264
266
{
@@ -271,6 +273,7 @@ struct DGBCCandProducer {
271
273
fitInfo.BBFT0Apf , fitInfo.BBFT0Cpf , fitInfo.BGFT0Apf , fitInfo.BGFT0Cpf ,
272
274
fitInfo.BBFV0Apf , fitInfo.BGFV0Apf ,
273
275
fitInfo.BBFDDApf , fitInfo.BBFDDCpf , fitInfo.BGFDDApf , fitInfo.BGFDDCpf );
276
+ outputCollsLabels (colID);
274
277
275
278
// update DGTracks tables
276
279
for (auto const & track : tracks) {
@@ -327,6 +330,7 @@ struct DGBCCandProducer {
327
330
track.detectorMap ());
328
331
outputTracksFlag (track.has_collision (),
329
332
track.isPVContributor ());
333
+ outputTracksLabel (track.globalIndex ());
330
334
}
331
335
332
336
void init (InitContext& context)
@@ -393,7 +397,7 @@ struct DGBCCandProducer {
393
397
rtrwTOF = udhelpers::rPVtrwTOF<true >(colTracks, col.numContrib ());
394
398
nCharge = udhelpers::netCharge<true >(colTracks);
395
399
396
- updateUDTables (false , bc.globalBC (), bc.runNumber (), col.posX (), col.posY (), col.posZ (),
400
+ updateUDTables (false , col. globalIndex (), bc.globalBC (), bc.runNumber (), col.posX (), col.posY (), col.posZ (),
397
401
col.numContrib (), nCharge, rtrwTOF, colTracks, fitInfo);
398
402
}
399
403
} else {
@@ -425,7 +429,7 @@ struct DGBCCandProducer {
425
429
rtrwTOF = udhelpers::rPVtrwTOF<false >(tracksArray, tracksArray.size ());
426
430
nCharge = udhelpers::netCharge<false >(tracksArray);
427
431
428
- updateUDTables (false , bc.globalBC (), bc.runNumber (), -2 ., 2 ., -2 ,
432
+ updateUDTables (false , - 1 , bc.globalBC (), bc.runNumber (), -2 ., 2 ., -2 ,
429
433
tracksArray.size (), nCharge, rtrwTOF, tracksArray, fitInfo);
430
434
}
431
435
}
@@ -471,7 +475,7 @@ struct DGBCCandProducer {
471
475
rtrwTOF = udhelpers::rPVtrwTOF<false >(tracksArray, tracksArray.size ());
472
476
nCharge = udhelpers::netCharge<false >(tracksArray);
473
477
474
- updateUDTables (false , bcnum, tibc.runNumber (), -3 ., 3 ., -3 ,
478
+ updateUDTables (false , - 1 , bcnum, tibc.runNumber (), -3 ., 3 ., -3 ,
475
479
tracksArray.size (), nCharge, rtrwTOF, tracksArray, fitInfo);
476
480
}
477
481
}
@@ -588,7 +592,7 @@ struct DGBCCandProducer {
588
592
auto rtrwTOF = udhelpers::rPVtrwTOF<true >(colTracks, col.numContrib ());
589
593
auto nCharge = udhelpers::netCharge<true >(colTracks);
590
594
udhelpers::getFITinfo (fitInfo, bcnum, bcs, ft0s, fv0as, fdds);
591
- updateUDTables (false , bcnum, bc.runNumber (), col.posX (), col.posY (), col.posZ (),
595
+ updateUDTables (false , col. globalIndex (), bcnum, bc.runNumber (), col.posX (), col.posY (), col.posZ (),
592
596
col.numContrib (), nCharge, rtrwTOF, colTracks, fitInfo);
593
597
// fill UDZdcs
594
598
if (bc.has_zdc ()) {
@@ -656,7 +660,8 @@ struct DGBCCandProducer {
656
660
vpos[2 ] = -3 .;
657
661
}
658
662
659
- updateUDTables (false , bcnum, tibc.runNumber (), vpos[0 ], vpos[1 ], vpos[2 ],
663
+ int64_t colID = withCollision ? col.globalIndex () : -1 ;
664
+ updateUDTables (false , colID, bcnum, tibc.runNumber (), vpos[0 ], vpos[1 ], vpos[2 ],
660
665
tracksArray.size (), nCharge, rtrwTOF, tracksArray, fitInfo);
661
666
// fill UDZdcs
662
667
if (bc.globalBC () == bcnum) {
0 commit comments