@@ -107,8 +107,8 @@ struct TreeWriterTpcV0 {
107107 ctpRateFetcher mRateFetcher ;
108108
109109 // / Funktion to fill skimmed tables
110- template <bool doUseCorreceddEdx = false , typename T, typename C, typename V0 >
111- void fillSkimmedV0Table (V0 const & v0 , T const & track, C const & collision, const float nSigmaTPC, const float nSigmaTOF, const float dEdxExp, const o2::track::PID::ID id, int runnumber, double dwnSmplFactor, float hadronicRate)
110+ template <bool doUseCorreceddEdx = false , typename T, typename C, typename V0Casc >
111+ void fillSkimmedV0Table (V0Casc const & v0casc , T const & track, C const & collision, const float nSigmaTPC, const float nSigmaTOF, const float dEdxExp, const o2::track::PID::ID id, int runnumber, double dwnSmplFactor, float hadronicRate)
112112 {
113113
114114 const double ncl = track.tpcNClsFound ();
@@ -120,12 +120,12 @@ struct TreeWriterTpcV0 {
120120 auto trackocc = collision.trackOccupancyInTimeRange ();
121121 auto ft0occ = collision.ft0cOccupancyInTimeRange ();
122122
123- const float alpha = v0 .alpha ();
124- const float qt = v0 .qtarm ();
125- const float cosPA = v0. v0cosPA ( );
126- const float pT = v0 .pt ();
127- const float v0radius = v0. v0radius ( );
128- const float gammapsipair = v0 .psipair ();
123+ const float alpha = v0casc .alpha ();
124+ const float qt = v0casc .qtarm ();
125+ const float cosPA = GetCosPA (v0casc );
126+ const float pT = v0casc .pt ();
127+ const float v0radius = GetRadius (v0casc );
128+ const float gammapsipair = v0casc .psipair ();
129129
130130 const double pseudoRndm = track.pt () * 1000 . - static_cast <int64_t >(track.pt () * 1000 );
131131 if (pseudoRndm < dwnSmplFactor) {
@@ -348,6 +348,30 @@ struct TreeWriterTpcV0 {
348348 ccdb->setFatalWhenNull (false );
349349 }
350350
351+ // / Evaluate cosPA of the v0
352+ double GetCosPA (V0sWithID::iterator const & v0)
353+ {
354+ return v0.v0cosPA ();
355+ }
356+
357+ // / Evaluate cosPA of the cascade
358+ double GetCosPA (CascsWithID::iterator const & casc)
359+ {
360+ return casc.casccosPA ();
361+ }
362+
363+ // / Evaluate radius of the v0
364+ double GetRadius (V0sWithID::iterator const & v0)
365+ {
366+ return v0.v0radius ();
367+ }
368+
369+ // / Evaluate radius of the cascade
370+ double GetRadius (CascsWithID::iterator const & casc)
371+ {
372+ return casc.cascradius ();
373+ }
374+
351375 // / Apply a track quality selection with a filter!
352376 void processStandard (Colls::iterator const & collision, soa::Filtered<Trks> const & tracks, V0sWithID const & v0s, CascsWithID const & cascs, aod::BCsWithTimestamps const &)
353377 {
@@ -419,7 +443,7 @@ struct TreeWriterTpcV0 {
419443 // Omega
420444 if (static_cast <bool >(bachTrack.pidbit () & (1 << kOmega ))) {
421445 if (downsampleTsalisCharged (bachTrack.pt (), downsamplingTsalisKaons, sqrtSNN, o2::track::pid_constants::sMasses [o2::track::PID::Kaon], maxPt4dwnsmplTsalisKaons)) {
422- // fillSkimmedV0Table(casc, bachTrack, collision, bachTrack.tpcNSigmaPr(), bachTrack.tofNSigmaPr(), bachTrack.tpcExpSignalPr(bachTrack.tpcSignal()), o2::track::PID::Proton, runnumber, dwnSmplFactor_Pr, hadronicRate);
446+ fillSkimmedV0Table (casc, bachTrack, collision, bachTrack.tpcNSigmaPr (), bachTrack.tofNSigmaPr (), bachTrack.tpcExpSignalPr (bachTrack.tpcSignal ()), o2::track::PID::Proton, runnumber, dwnSmplFactor_Pr, hadronicRate);
423447 }
424448 }
425449 }
0 commit comments