@@ -369,7 +369,8 @@ struct HfCorrelatorLcScHadrons {
369369 Configurable<float > cfgDaughPIDCutsTPCPr{" cfgDaughPIDCutsTPCPr" , 3 ., " max. TPCnSigma Proton" };
370370 Configurable<float > cfgDaughPIDCutsTPCPi{" cfgDaughPIDCutsTPCPi" , 2 ., " max. TPCnSigma Pion" };
371371 Configurable<float > cfgDaughPIDCutsTOFPi{" cfgDaughPIDCutsTOFPi" , 2 ., " max. TOFnSigma Pion" };
372- Configurable<float > cfgHypMassWindow{" cfgHypMassWindow" , 0.5 , " single lambda mass selection" };
372+ Configurable<float > cfgHypMassWindow{" cfgHypMassWindow" , 0.1 , " single lambda mass selection" };
373+ Configurable<bool > cfgIsCorrCollMatchV0{" cfgIsCorrCollMatchV0" , true , " check if daughter and mother collision are same" };
373374 } cfgV0;
374375
375376 SliceCache cache;
@@ -595,9 +596,15 @@ struct HfCorrelatorLcScHadrons {
595596 for (const auto & v0 : v0s) {
596597 auto posTrackV0 = v0.template posTrack_as <TrackType>();
597598 auto negTrackV0 = v0.template negTrack_as <TrackType>();
599+ if (cfgV0.cfgIsCorrCollMatchV0 && ((v0.collisionId () != posTrackV0.collisionId ()) || (v0.collisionId () != negTrackV0.collisionId ()))){
600+ continue ;
601+ }
602+
603+ if (std::abs (o2::constants::physics::MassLambda - v0.mLambda ()) < cfgV0.cfgHypMassWindow ) {
604+ entryHadron (v0.mLambda (), posTrackV0.eta (), posTrackV0.pt () * posTrackV0.sign (), 0 , 0 , v0.pt ());
605+ entryTrkPID (posTrackV0.tpcNSigmaPr (), posTrackV0.tpcNSigmaKa (), posTrackV0.tpcNSigmaPi (), posTrackV0.tofNSigmaPr (), posTrackV0.tofNSigmaKa (), posTrackV0.tofNSigmaPi ());
598606
599607 if (isSelectedV0Daughter (posTrackV0, kProton ) && isSelectedV0Daughter (negTrackV0, kPiPlus )) {
600- if (std::abs (o2::constants::physics::MassLambda - v0.mLambda ()) < cfgV0.cfgHypMassWindow ) {
601608 registry.fill (HIST (" hV0Lambda" ), v0.mLambda (), v0.pt (), posTrackV0.pt ());
602609 registry.fill (HIST (" hV0LambdaRefl" ), v0.mAntiLambda (), v0.pt (), negTrackV0.pt ());
603610
@@ -617,8 +624,11 @@ struct HfCorrelatorLcScHadrons {
617624 }
618625 }
619626 }
620- if (isSelectedV0Daughter (negTrackV0, kProton ) && isSelectedV0Daughter (posTrackV0, kPiPlus )) {
621- if (std::abs (o2::constants::physics::MassLambda - v0.mAntiLambda ()) < cfgV0.cfgHypMassWindow ) {
627+ if (std::abs (o2::constants::physics::MassLambda - v0.mAntiLambda ()) < cfgV0.cfgHypMassWindow ) {
628+ entryHadron (v0.mAntiLambda (), negTrackV0.eta (), negTrackV0.pt () * negTrackV0.sign (), 0 , 0 , v0.pt ());
629+ entryTrkPID (negTrackV0.tpcNSigmaPr (), negTrackV0.tpcNSigmaKa (), negTrackV0.tpcNSigmaPi (), negTrackV0.tofNSigmaPr (), negTrackV0.tofNSigmaKa (), negTrackV0.tofNSigmaPi ());
630+
631+ if (isSelectedV0Daughter (negTrackV0, kProton ) && isSelectedV0Daughter (posTrackV0, kPiPlus )) {
622632 registry.fill (HIST (" hV0Lambda" ), v0.mAntiLambda (), v0.pt (), negTrackV0.pt ());
623633 registry.fill (HIST (" hV0LambdaRefl" ), v0.mLambda (), v0.pt (), posTrackV0.pt ());
624634
0 commit comments