@@ -137,13 +137,16 @@ struct nucleiFlowTree {
137137
138138 using TrackCandidates = soa::Join<aod::TracksIU, aod::TracksCovIU, aod::TracksExtra, aod::TOFSignal, aod::TOFEvTime>;
139139
140+ // Configurable Harmonics index
141+ Configurable<int > cfgHarmonics{" cfgHarmonics" , 2 , " Harmonics index for flow analysis" };
142+
140143 // Collisions with chentrality
141144 using CollWithCent = soa::Join<aod::Collisions, aod::EvSels, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs>::iterator;
142145
143146 // Flow analysis
144147 using CollWithEP = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0As, aod::CentFT0Cs, aod::CentFT0Ms, aod::CentFV0As, aod::FT0Mults, aod::FV0Mults, aod::TPCMults, aod::EPCalibrationTables>::iterator;
145148
146- using CollWithQvec = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0As, aod::CentFT0Cs, aod::CentFT0Ms, aod::CentFV0As, aod::FT0Mults, aod::FV0Mults, aod::TPCMults, aod::QvectorFT0Cs , aod::QvectorFT0As , aod::QvectorFT0Ms , aod::QvectorFV0As , aod::QvectorBTots , aod::QvectorBPoss , aod::QvectorBNegs >::iterator;
149+ using CollWithQvec = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0As, aod::CentFT0Cs, aod::CentFT0Ms, aod::CentFV0As, aod::FT0Mults, aod::FV0Mults, aod::TPCMults, aod::QvectorFT0CVecs , aod::QvectorFT0AVecs , aod::QvectorFT0MVecs , aod::QvectorFV0AVecs , aod::QvectorTPCallVecs , aod::QvectorTPCposVecs , aod::QvectorTPCnegVecs >::iterator;
147150
148151 HistogramRegistry spectra{" spectra" , {}, OutputObjHandlingPolicy::AnalysisObject, true , true };
149152
@@ -413,23 +416,23 @@ struct nucleiFlowTree {
413416 collision.qTPCR (),
414417 });
415418 } else if constexpr (requires {
416- collision.qvecFT0AIm () ;
419+ collision.qvecFT0AImVec ()[cfgHarmonics - 2 ] ;
417420 }) {
418421 nuclei::candidates_flow.emplace_back (NucleusCandidateFlow{
419422 collision.centFV0A (),
420423 collision.centFT0M (),
421424 collision.centFT0A (),
422425 collision.centFT0C (),
423- computeEventPlane (collision.qvecFT0AIm () , collision.qvecFT0ARe () ),
424- computeEventPlane (collision.qvecFT0CIm () , collision.qvecFT0CRe () ),
425- computeEventPlane (collision.qvecBTotIm () , collision.qvecBTotRe () ),
426- computeEventPlane (collision.qvecBNegIm () , collision.qvecBNegRe () ),
427- computeEventPlane (collision.qvecBPosIm () , collision.qvecBPosRe () ),
426+ computeEventPlane (collision.qvecFT0AImVec ()[cfgHarmonics - 2 ] , collision.qvecFT0AReVec ()[cfgHarmonics - 2 ] ),
427+ computeEventPlane (collision.qvecFT0CImVec ()[cfgHarmonics - 2 ] , collision.qvecFT0CReVec ()[cfgHarmonics - 2 ] ),
428+ computeEventPlane (collision.qvecTPCallImVec ()[cfgHarmonics - 2 ] , collision.qvecTPCallReVec ()[cfgHarmonics - 2 ] ),
429+ computeEventPlane (collision.qvecTPCnegImVec ()[cfgHarmonics - 2 ] , collision.qvecTPCnegReVec ()[cfgHarmonics - 2 ] ),
430+ computeEventPlane (collision.qvecTPCposImVec ()[cfgHarmonics - 2 ] , collision.qvecTPCposReVec ()[cfgHarmonics - 2 ] ),
428431 collision.sumAmplFT0A (),
429432 collision.sumAmplFT0C (),
430- static_cast <float >(collision.nTrkBTot ()),
431- static_cast <float >(collision.nTrkBNeg ()),
432- static_cast <float >(collision.nTrkBPos ())});
433+ static_cast <float >(collision.nTrkTPCall ()),
434+ static_cast <float >(collision.nTrkTPCneg ()),
435+ static_cast <float >(collision.nTrkTPCpos ())});
433436 }
434437 if (flag & kTriton ) {
435438 if (track.pt () < cfgCutPtMinTree || track.pt () > cfgCutPtMaxTree || track.sign () > 0 )
0 commit comments