@@ -139,7 +139,7 @@ struct HfTaskCharmHadronsFemtoDream {
139139 using FilteredCharmMcCands = soa::Filtered<soa::Join<aod::FDHfCand, aod::FDHfCandMC>>;
140140 using FilteredCharmMcCand = FilteredCharmMcCands::iterator;
141141
142- using FilteredColisions = soa::Filtered<soa::Join<FDCollisions, FDColMasks, aod::Collisions >>;
142+ using FilteredColisions = soa::Filtered<soa::Join<FDCollisions, FDColMasks>>;
143143 using FilteredColision = FilteredColisions::iterator;
144144
145145 using FilteredMcColisions = soa::Filtered<soa::Join<aod::FDCollisions, FDColMasks, aod::FDMCCollLabels>>;
@@ -148,7 +148,7 @@ struct HfTaskCharmHadronsFemtoDream {
148148 using FilteredFDMcParts = soa::Filtered<soa::Join<aod::FDParticles, aod::FDParticlesIndex, aod::FDExtParticles, aod::FDMCLabels, aod::FDExtMCLabels>>;
149149 using FilteredFDMcPart = FilteredFDMcParts::iterator;
150150
151- using FilteredFDParticles = soa::Filtered<soa::Join<aod::FDParticles, aod::FDExtParticles, aod::FDParticlesIndex>>;
151+ using FilteredFDParticles = soa::Filtered<soa::Join<aod::FDParticles, aod::FDExtParticles, aod::FDParticlesIndex, aod::FDTrkTimeStamp >>;
152152 using FilteredFDParticle = FilteredFDParticles::iterator;
153153
154154 Filter eventMultiplicity = aod::femtodreamcollision::multNtr >= eventSel.multMin && aod::femtodreamcollision::multNtr <= eventSel.multMax;
@@ -160,7 +160,8 @@ struct HfTaskCharmHadronsFemtoDream {
160160 Filter trackPtFilterLow = ifnode(aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack ), aod::femtodreamparticle::pt < ptTrack1Max, true );
161161 Filter trackPtFilterUp = ifnode(aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack ), aod::femtodreamparticle::pt > ptTrack1Min, true );
162162
163- Preslice<aod::FDParticles> perCol = aod::femtodreamparticle::fdCollisionId;
163+ Preslice<FilteredFDParticles> perCol = aod::femtodreamparticle::fdCollisionId;
164+ Preslice<FilteredCharmCands> perHfByCol = aod::femtodreamparticle::fdCollisionId;
164165
165166 // / Partition for particle 1
166167 Partition<FilteredFDParticles> partitionTrk1 = (aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack )) && (ncheckbit(aod::femtodreamparticle::cut, cutBitTrack1)) && ifnode(aod::femtodreamparticle::pt * coshEta (aod::femtodreamparticle::eta) <= pidThresTrack1, ncheckbit(aod::femtodreamparticle::pidcut, tpcBitTrack1), ncheckbit(aod::femtodreamparticle::pidcut, tpcTofBitTrack1));
@@ -477,8 +478,7 @@ struct HfTaskCharmHadronsFemtoDream {
477478 eventHisto.fillQA (col);
478479 auto sliceTrk1 = partitionTrk1->sliceByCached (aod::femtodreamparticle::fdCollisionId, col.globalIndex (), cache);
479480 auto sliceCharmHad = partitionCharmHadron->sliceByCached (aod::femtodreamparticle::fdCollisionId, col.globalIndex (), cache);
480- auto bc = col.template bc_as <aod::BCsWithTimestamps>();
481- int64_t timeStamp = bc.timestamp ();
481+ int64_t timeStamp = -999 ;
482482
483483 // / Filling QA histograms of the all tracks and all charm hadrons before pairing
484484 for (auto const & part : sliceTrk1) {
@@ -491,7 +491,7 @@ struct HfTaskCharmHadronsFemtoDream {
491491 } else {
492492 chargeTrack = NegativeCharge;
493493 }
494-
494+ timeStamp = part. timeStamp ();
495495 rowFemtoResultTrk (
496496 col.globalIndex (),
497497 timeStamp,
@@ -509,6 +509,8 @@ struct HfTaskCharmHadronsFemtoDream {
509509 for (auto const & part : sliceCharmHad) {
510510 float invMass = getCharmHadronMass (part);
511511 registryCharmHadronQa.fill (HIST (" CharmHadronQA/hPtVsMass" ), part.pt (), invMass);
512+ timeStamp = part.timeStamp ();
513+
512514 rowFemtoResultCharm (
513515 col.globalIndex (),
514516 timeStamp,
@@ -525,15 +527,17 @@ struct HfTaskCharmHadronsFemtoDream {
525527 part.bdtFD ());
526528 }
527529
528- rowFemtoResultColl (
529- col.globalIndex (),
530- timeStamp,
531- col.posZ (),
532- col.multNtr ());
530+ if (sliceCharmHad.size () || sliceTrk1.size ()) {
533531
534- if ((col.bitmaskTrackOne () & bitMask) != bitMask || (col.bitmaskTrackTwo () & bitMask) != bitMask) {
532+ rowFemtoResultColl (
533+ col.globalIndex (),
534+ timeStamp,
535+ col.posZ (),
536+ col.multNtr ());
537+ } else {
535538 return ;
536539 }
540+
537541 doSameEvent<false >(sliceTrk1, sliceCharmHad, parts, col);
538542 }
539543 PROCESS_SWITCH (HfTaskCharmHadronsFemtoDream, processSameEvent, " Enable processing same event" , false );
0 commit comments