@@ -54,7 +54,12 @@ namespace consumeddata
5454{
5555using Run3PpCollisions = o2::soa::Join<o2::aod::Collisions, o2::aod::EvSels, o2::aod::Mults, o2::aod::CentFT0As, o2::aod::CentFT0Cs, o2::aod::CentFT0Ms>;
5656using Run3PpMcRecoCollisions = o2::soa::Join<Run3PpCollisions, o2::aod::McCollisionLabels>;
57- using Run3PpMcGenCollisions = o2::soa::Join<o2::aod::McCollisions, o2::aod::MultsExtraMC, o2::aod::McCentFT0Ms>;
57+ using Run3PpMcGenCollisions = o2::soa::Join<o2::aod::McCollisions, o2::aod::MultsExtraMC, o2::aod::McCentFT0As, o2::aod::McCentFT0Cs, o2::aod::McCentFT0Ms>;
58+
59+ using Run3PbPbCollisions = o2::soa::Join<o2::aod::Collisions, o2::aod::EvSels, o2::aod::Mults, o2::aod::CentFT0As, o2::aod::CentFT0Cs, o2::aod::CentFT0Ms>;
60+
61+ using Run3PbPbMcRecoCollisions = o2::soa::Join<Run3PbPbCollisions, o2::aod::McCollisionLabels>;
62+ using Run3PbPbMcGenCollisions = o2::soa::Join<o2::aod::McCollisions, o2::aod::MultsExtraMC, o2::aod::McCentFT0As, o2::aod::McCentFT0Cs, o2::aod::McCentFT0Ms>;
5863
5964using Run3FullPidTracks =
6065 soa::Join<o2::aod::Tracks, o2::aod::TracksExtra, o2::aod::TracksDCA,
@@ -288,6 +293,19 @@ struct FemtoProducer {
288293 }
289294 PROCESS_SWITCH (FemtoProducer, processTracksRun3pp, " Process tracks" , true );
290295
296+ void processTracksRun3PbPb (consumeddata::Run3PbPbCollisions::iterator const & col,
297+ o2::aod::BCsWithTimestamps const & bcs,
298+ consumeddata::Run3FullPidTracks const & tracks)
299+ {
300+ if (!processCollisions<modes::System::kPbPb_Run3 >(col, bcs, tracks)) {
301+ return ;
302+ }
303+ auto tracksWithItsPid = o2::soa::Attach<consumeddata::Run3FullPidTracks, o2::aod::pidits::ITSNSigmaEl, o2::aod::pidits::ITSNSigmaPi, o2::aod::pidits::ITSNSigmaKa,
304+ o2::aod::pidits::ITSNSigmaPr, o2::aod::pidits::ITSNSigmaDe, o2::aod::pidits::ITSNSigmaTr, o2::aod::pidits::ITSNSigmaHe>(tracks);
305+ processTracks<modes::System::kPbPb_Run3 >(col, tracksWithItsPid);
306+ }
307+ PROCESS_SWITCH (FemtoProducer, processTracksRun3PbPb, " Process tracks in PbPB collisions" , false );
308+
291309 // process tracks and v0s
292310 void processTracksV0sRun3pp (consumeddata::Run3PpCollisions::iterator const & col,
293311 o2::aod::BCsWithTimestamps const & bcs,
@@ -304,6 +322,21 @@ struct FemtoProducer {
304322 };
305323 PROCESS_SWITCH (FemtoProducer, processTracksV0sRun3pp, " Process tracks and v0s" , false );
306324
325+ void processTracksV0sRun3PbPb (consumeddata::Run3PbPbCollisions::iterator const & col,
326+ o2::aod::BCsWithTimestamps const & bcs,
327+ consumeddata::Run3FullPidTracks const & tracks,
328+ consumeddata::Run3Vzeros const & v0s)
329+ {
330+ if (!processCollisions<modes::System::kPbPb_Run3 >(col, bcs, tracks)) {
331+ return ;
332+ }
333+ auto tracksWithItsPid = o2::soa::Attach<consumeddata::Run3FullPidTracks, o2::aod::pidits::ITSNSigmaEl, o2::aod::pidits::ITSNSigmaPi, o2::aod::pidits::ITSNSigmaKa,
334+ o2::aod::pidits::ITSNSigmaPr, o2::aod::pidits::ITSNSigmaDe, o2::aod::pidits::ITSNSigmaTr, o2::aod::pidits::ITSNSigmaHe>(tracks);
335+ processTracks<modes::System::kPbPb_Run3 >(col, tracksWithItsPid);
336+ processV0s<modes::System::kPbPb_Run3 >(col, tracks, v0s);
337+ };
338+ PROCESS_SWITCH (FemtoProducer, processTracksV0sRun3PbPb, " Process tracks and v0s in PbPB collisions" , false );
339+
307340 // process tracks and kinks
308341 void processTracksKinksRun3pp (consumeddata::Run3PpCollisions::iterator const & col,
309342 o2::aod::BCsWithTimestamps const & bcs,
@@ -374,6 +407,21 @@ struct FemtoProducer {
374407 }
375408 PROCESS_SWITCH (FemtoProducer, processTracksRun3ppMc, " Provide reconstructed and generated Tracks" , false );
376409
410+ void processTracksRun3PbPbMc (consumeddata::Run3PbPbMcRecoCollisions::iterator const & col,
411+ consumeddata::Run3PbPbMcGenCollisions const & mcCols,
412+ o2::aod::BCsWithTimestamps const & bcs,
413+ consumeddata::Run3McRecoTracks const & tracks,
414+ consumeddata::Run3McGenParticles const & mcParticles)
415+ {
416+ if (!processMcCollisions<modes::System::kPbPb_Run3_MC >(col, mcCols, bcs, tracks, mcParticles)) {
417+ return ;
418+ }
419+ auto tracksWithItsPid = o2::soa::Attach<consumeddata::Run3McRecoTracks, o2::aod::pidits::ITSNSigmaEl, o2::aod::pidits::ITSNSigmaPi, o2::aod::pidits::ITSNSigmaKa,
420+ o2::aod::pidits::ITSNSigmaPr, o2::aod::pidits::ITSNSigmaDe, o2::aod::pidits::ITSNSigmaTr, o2::aod::pidits::ITSNSigmaHe>(tracks);
421+ processMcTracks<modes::System::kPbPb_Run3_MC >(col, mcCols, tracks, tracksWithItsPid, mcParticles);
422+ }
423+ PROCESS_SWITCH (FemtoProducer, processTracksRun3PbPbMc, " Provide reconstructed and generated Tracks in PbPb collisions" , false );
424+
377425 // process monte carlo tracks and v0s
378426 void processTracksV0sRun3ppMc (consumeddata::Run3PpMcRecoCollisions::iterator const & col,
379427 consumeddata::Run3PpMcGenCollisions const & mcCols,
@@ -392,6 +440,23 @@ struct FemtoProducer {
392440 }
393441 PROCESS_SWITCH (FemtoProducer, processTracksV0sRun3ppMc, " Provide reconstructed and generated tracks and v0s" , false );
394442
443+ void processTracksV0sRun3PbPbMc (consumeddata::Run3PbPbMcRecoCollisions::iterator const & col,
444+ consumeddata::Run3PbPbMcGenCollisions const & mcCols,
445+ o2::aod::BCsWithTimestamps const & bcs,
446+ consumeddata::Run3McRecoTracks const & tracks,
447+ consumeddata::Run3RecoVzeros const & v0s,
448+ consumeddata::Run3McGenParticles const & mcParticles)
449+ {
450+ if (!processMcCollisions<modes::System::kPbPb_Run3_MC >(col, mcCols, bcs, tracks, mcParticles)) {
451+ return ;
452+ }
453+ auto tracksWithItsPid = o2::soa::Attach<consumeddata::Run3McRecoTracks, o2::aod::pidits::ITSNSigmaEl, o2::aod::pidits::ITSNSigmaPi, o2::aod::pidits::ITSNSigmaKa,
454+ o2::aod::pidits::ITSNSigmaPr, o2::aod::pidits::ITSNSigmaDe, o2::aod::pidits::ITSNSigmaTr, o2::aod::pidits::ITSNSigmaHe>(tracks);
455+ processMcTracks<modes::System::kPbPb_Run3_MC >(col, mcCols, tracks, tracksWithItsPid, mcParticles);
456+ processMcV0s<modes::System::kPbPb_Run3_MC >(col, mcCols, tracks, v0s, mcParticles);
457+ }
458+ PROCESS_SWITCH (FemtoProducer, processTracksV0sRun3PbPbMc, " Provide reconstructed and generated tracks and v0s in PbPb collisions" , false );
459+
395460 // process monte carlo tracks and kinks
396461 void processTracksKinksRun3ppMc (consumeddata::Run3PpMcRecoCollisions::iterator const & col,
397462 consumeddata::Run3PpMcGenCollisions const & mcCols,
0 commit comments