diff --git a/Analysis/Tasks/PWGLF/lambdakzerofinder.cxx b/Analysis/Tasks/PWGLF/lambdakzerofinder.cxx index 00ab268fd1828..9250dd6a7d1e2 100644 --- a/Analysis/Tasks/PWGLF/lambdakzerofinder.cxx +++ b/Analysis/Tasks/PWGLF/lambdakzerofinder.cxx @@ -82,33 +82,39 @@ struct lambdakzeroprefilter { Configurable dcanegtopv{"dcanegtopv", .1, "DCA Neg To PV"}; Configurable dcapostopv{"dcapostopv", .1, "DCA Pos To PV"}; Configurable mincrossedrows{"mincrossedrows", 70, "min crossed rows"}; + Configurable tpcrefit{"tpcrefit", 1, "demand TPC refit"}; Produces v0GoodPosTracks; Produces v0GoodNegTracks; - Partition> goodPosTracks = aod::track::signed1Pt > 0.0f && aod::track::dcaXY > dcapostopv; - Partition> goodNegTracks = aod::track::signed1Pt < 0.0f && aod::track::dcaXY < -dcanegtopv; + //still exhibiting issues? To be checked + //Partition> goodPosTracks = aod::track::signed1Pt > 0.0f && aod::track::dcaXY > dcapostopv; + //Partition> goodNegTracks = aod::track::signed1Pt < 0.0f && aod::track::dcaXY < -dcanegtopv; void process(aod::Collision const& collision, soa::Join const& tracks) { - for (auto& t0 : goodPosTracks) { - if (!(t0.trackType() & o2::aod::track::TPCrefit)) { - continue; //TPC refit + for (auto& t0 : tracks) { + if (tpcrefit) { + if (!(t0.trackType() & o2::aod::track::TPCrefit)) { + continue; //TPC refit + } } if (t0.tpcNClsCrossedRows() < mincrossedrows) { continue; } - v0GoodPosTracks(t0.globalIndex(), t0.collisionId(), t0.dcaXY()); - } - for (auto& t0 : goodNegTracks) { - if (!(t0.trackType() & o2::aod::track::TPCrefit)) { - continue; //TPC refit + if (t0.signed1Pt() > 0.0f) { + if (fabs(t0.dcaXY()) < dcapostopv) { + continue; + } + v0GoodPosTracks(t0.globalIndex(), t0.collisionId(), t0.dcaXY()); } - if (t0.tpcNClsCrossedRows() < mincrossedrows) { - continue; + if (t0.signed1Pt() < 0.0f) { + if (fabs(t0.dcaXY()) < dcanegtopv) { + continue; + } + v0GoodNegTracks(t0.globalIndex(), t0.collisionId(), -t0.dcaXY()); } - v0GoodNegTracks(t0.globalIndex(), t0.collisionId(), -t0.dcaXY()); } } };