@@ -497,6 +497,7 @@ class PairTrackV0Builder
497497 mPairHistManagerMe .setMass (confTrackSelection.pdgCodeAbs .value , confV0Selection.pdgCodeAbs .value );
498498 mPairHistManagerMe .setCharge (confTrackSelection.chargeAbs .value , 1 );
499499 mCprMe .init (registry, cprHistSpec, confCpr, confTrackSelection.chargeAbs .value );
500+ mPc .template init <mode>(confPairCuts);
500501
501502 // setup mixing
502503 mMixingPolicy = static_cast <pairhistmanager::MixingPolicy>(confMixing.policy .value );
@@ -516,6 +517,19 @@ class PairTrackV0Builder
516517 pairprocesshelpers::processSameEvent<mode>(trackSlice, v0Slice, trackTable, col, mTrackHistManager , mV0HistManager , mPairHistManagerSe , mCprSe , mPc );
517518 }
518519
520+ template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
521+ void processSameEvent (T1 const & col, T2 const & mcCols, T3 const & trackTable, T4& trackPartition, T5 const & /* v0table*/ , T6& v0Partition, T7 const & mcParticles, T8 const & mcMothers, T9 const & mcPartonicMothers, T10& cache)
522+ {
523+ auto trackSlice = trackPartition->sliceByCached (o2::aod::femtobase::stored::fColId , col.globalIndex (), cache);
524+ auto v0Slice = v0Partition->sliceByCached (o2::aod::femtobase::stored::fColId , col.globalIndex (), cache);
525+ if (trackSlice.size () == 0 || v0Slice.size () == 0 ) {
526+ return ;
527+ }
528+ mColHistManager .template fill <mode>(col, mcCols);
529+ mCprSe .setMagField (col.magField ());
530+ pairprocesshelpers::processSameEvent<mode>(trackSlice, v0Slice, trackTable, mcParticles, mcMothers, mcPartonicMothers, col, mcCols, mTrackHistManager , mV0HistManager , mPairHistManagerSe , mCprSe , mPc );
531+ }
532+
519533 template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
520534 void processMixedEvent (T1 const & cols, T2& trackTable, T3& trackPartition, T4& v0Partition, T5& cache, T6& binsVtxMult, T7& binsVtxCent, T8& binsVtxMultCent)
521535 {
@@ -534,6 +548,24 @@ class PairTrackV0Builder
534548 }
535549 }
536550
551+ template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
552+ void processMixedEvent (T1 const & cols, T2 const & mcCols, T3& trackTable, T4& trackPartition, T5& v0Partition, T6 const & mcParticles, T7& cache, T8& binsVtxMult, T9& binsVtxCent, T10& binsVtxMultCent)
553+ {
554+ switch (mMixingPolicy ) {
555+ case static_cast <int >(pairhistmanager::kVtxMult ):
556+ pairprocesshelpers::processMixedEvent<mode>(cols, mcCols, trackPartition, v0Partition, trackTable, mcParticles, cache, binsVtxMult, mMixingDepth , mPairHistManagerMe , mCprMe , mPc );
557+ break ;
558+ case static_cast <int >(pairhistmanager::kVtxCent ):
559+ pairprocesshelpers::processMixedEvent<mode>(cols, mcCols, trackPartition, v0Partition, trackTable, mcParticles, cache, binsVtxCent, mMixingDepth , mPairHistManagerMe , mCprMe , mPc );
560+ break ;
561+ case static_cast <int >(pairhistmanager::kVtxMultCent ):
562+ pairprocesshelpers::processMixedEvent<mode>(cols, mcCols, trackPartition, v0Partition, trackTable, mcParticles, cache, binsVtxMultCent, mMixingDepth , mPairHistManagerMe , mCprMe , mPc );
563+ break ;
564+ default :
565+ LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
566+ }
567+ }
568+
537569 private:
538570 colhistmanager::CollisionHistManager mColHistManager ;
539571 trackhistmanager::TrackHistManager<prefixTrack> mTrackHistManager ;
0 commit comments