@@ -170,6 +170,13 @@ static inline int piIdx(const T& t)
170170{
171171 return t.pionIndexmc ();
172172}
173+
174+ template <typename T>
175+ static inline int dcaV0ToPV (const T& t)
176+ {
177+ return t.dcaV0ToPVmc ();
178+ }
179+
173180} // namespace mcacc
174181
175182// Optional fixed-leg correction pointers kept outside the task struct.
@@ -273,6 +280,7 @@ struct lambdaspincorrderived {
273280 Configurable<float > rapidity{" rapidity" , 0.5 , " Rapidity cut on lambda" };
274281 Configurable<float > v0etaMixBuffer{" v0etaMixBuffer" , 0.8 , " Eta cut on mix event buffer" };
275282 Configurable<float > v0eta{" v0eta" , 0.8 , " Eta cut on lambda" };
283+ Configurable<float > dcaV0ToPV{" dcaV0ToPV" , 1.2 , " DCA V0 to PV cut on lambda" };
276284
277285 // Event Mixing
278286 Configurable<int > cosDef{" cosDef" , 1 , " Defination of cos" };
@@ -586,6 +594,9 @@ struct lambdaspincorrderived {
586594 if (candidate.dcaBetweenDaughter () > dcaDaughters) {
587595 return false ;
588596 }
597+ if (candidate.dcaV0ToPV () > dcaV0ToPV) {
598+ return false ;
599+ }
589600 if (candidate.v0Status () == 0 && (std::abs (candidate.dcaPositive ()) < dcaProton || std::abs (candidate.dcaNegative ()) < dcaPion)) {
590601 return false ;
591602 }
@@ -1647,6 +1658,9 @@ struct lambdaspincorrderived {
16471658 if (mcacc::dcaDau (candidate) > dcaDaughters) {
16481659 return false ;
16491660 }
1661+ if (mcacc::dcaV0ToPV (candidate) > dcaV0ToPV) {
1662+ return false ;
1663+ }
16501664 if (mcacc::v0Status (candidate) == 0 && (std::abs (mcacc::dcaPos (candidate)) < dcaProton || std::abs (mcacc::dcaNeg (candidate)) < dcaPion)) {
16511665 return false ;
16521666 }
0 commit comments