@@ -95,8 +95,8 @@ struct lambdapolarization {
9595 Configurable<int > cfgMinOccupancy{" cfgMinOccupancy" , 0 , " maximum occupancy of tracks in neighbouring collisions in a given time range" };
9696
9797 Configurable<float > cfgv0radiusMin{" cfgv0radiusMin" , 1.2 , " minimum decay radius" };
98- Configurable<float > cfgDCAPosToPVMin{ " cfgDCAPosToPVMin " , 0.05 , " minimum DCA to PV for positive track" };
99- Configurable<float > cfgDCANegToPVMin{ " cfgDCANegToPVMin " , 0.2 , " minimum DCA to PV for negative track" };
98+ Configurable<float > cfgDCAPrToPVMin{ " cfgDCAPrToPVMin " , 0.05 , " minimum DCA to PV for proton track" };
99+ Configurable<float > cfgDCAPiToPVMin{ " cfgDCAPiToPVMin " , 0.1 , " minimum DCA to PV for pion track" };
100100 Configurable<float > cfgv0CosPA{" cfgv0CosPA" , 0.995 , " minimum v0 cosine" };
101101 Configurable<float > cfgDCAV0Dau{" cfgDCAV0Dau" , 1.0 , " maximum DCA between daughters" };
102102
@@ -352,14 +352,21 @@ struct lambdapolarization {
352352 } // event selection
353353
354354 template <typename TCollision, typename V0>
355- bool SelectionV0 (TCollision const & collision, V0 const & candidate)
355+ bool SelectionV0 (TCollision const & collision, V0 const & candidate, int LambdaTag )
356356 {
357357 if (candidate.v0radius () < cfgv0radiusMin)
358358 return false ;
359- if (std::abs (candidate.dcapostopv ()) < cfgDCAPosToPVMin)
360- return false ;
361- if (std::abs (candidate.dcanegtopv ()) < cfgDCANegToPVMin)
362- return false ;
359+ if (LambdaTag) {
360+ if (std::abs (candidate.dcapostopv ()) < cfgDCAPrToPVMin)
361+ return false ;
362+ if (std::abs (candidate.dcanegtopv ()) < cfgDCAPiToPVMin)
363+ return false ;
364+ } else if (!LambdaTag) {
365+ if (std::abs (candidate.dcapostopv ()) < cfgDCAPiToPVMin)
366+ return false ;
367+ if (std::abs (candidate.dcanegtopv ()) < cfgDCAPrToPVMin)
368+ return false ;
369+ }
363370 if (candidate.v0cosPA () < cfgv0CosPA)
364371 return false ;
365372 if (std::abs (candidate.dcaV0daughters ()) > cfgDCAV0Dau)
@@ -557,7 +564,7 @@ struct lambdapolarization {
557564 if (LambdaTag == aLambdaTag)
558565 continue ;
559566
560- if (!SelectionV0 (collision, v0))
567+ if (!SelectionV0 (collision, v0, LambdaTag ))
561568 continue ;
562569
563570 if (LambdaTag) {
0 commit comments