@@ -1729,15 +1729,15 @@ struct QuarkoniaToHyperons {
17291729 if (cascMC.pdgCode () != PDG_t::kXiMinus || cascMC.pdgCodePositive () != PDG_t::kProton || cascMC.pdgCodeNegative () != PDG_t::kPiMinus || cascMC.pdgCodeBachelor () != -PDG_t::kPiMinus )
17301730 return false ;
17311731 } else {
1732- if (cascMC.pdgCode () != PDG_t::kXiPlus || cascMC.pdgCodePositive () != PDG_t::kPiPlus || cascMC.pdgCodeNegative () != PDG_t::kProtonBar || cascMC.pdgCodeBachelor () != PDG_t::kPiPlus )
1732+ if (cascMC.pdgCode () != PDG_t::kXiPlusBar || cascMC.pdgCodePositive () != PDG_t::kPiPlus || cascMC.pdgCodeNegative () != PDG_t::kProtonBar || cascMC.pdgCodeBachelor () != PDG_t::kPiPlus )
17331733 return false ;
17341734 }
17351735 } else {
17361736 if (casc.sign () < 0 ) {
17371737 if (cascMC.pdgCode () != PDG_t::kOmegaMinus || cascMC.pdgCodePositive () != PDG_t::kProton || cascMC.pdgCodeNegative () != PDG_t::kPiMinus || cascMC.pdgCodeBachelor () != PDG_t::kKMinus )
17381738 return false ;
17391739 } else {
1740- if (cascMC.pdgCode () != PDG_t::kOmegaPlus || cascMC.pdgCodePositive () != PDG_t::kPiPlus || cascMC.pdgCodeNegative () != PDG_t::kProtonBar || cascMC.pdgCodeBachelor () != PDG_t::kKPlus )
1740+ if (cascMC.pdgCode () != PDG_t::kOmegaPlusBar || cascMC.pdgCodePositive () != PDG_t::kPiPlus || cascMC.pdgCodeNegative () != PDG_t::kProtonBar || cascMC.pdgCodeBachelor () != PDG_t::kKPlus )
17411741 return false ;
17421742 }
17431743 }
@@ -2460,7 +2460,7 @@ struct QuarkoniaToHyperons {
24602460 }
24612461
24622462 template <typename TCollision, typename THyperons>
2463- void buildHyperonAntiHyperonPairs (TCollision const & collision, THyperons const & fullHyperons, std::vector<int > selHypIndices, std::vector<int > selAntiHypIndices, float centrality, uint8_t gapSide, int type, std::vector< uint64_t > selMap = {} )
2463+ void buildHyperonAntiHyperonPairs (TCollision const & collision, THyperons const & fullHyperons, std::vector<int > selHypIndices, std::vector<int > selAntiHypIndices, float centrality, uint8_t gapSide, int type)
24642464 {
24652465 // 1st loop over all v0s/cascades
24662466 for (std::size_t iHyp = 0 ; iHyp < selHypIndices.size (); iHyp++) {
@@ -2738,7 +2738,6 @@ struct QuarkoniaToHyperons {
27382738 selLambdaIndices.clear ();
27392739 selAntiLambdaIndices.clear ();
27402740
2741- std::vector<uint64_t > selMap (fullV0s.size ());
27422741 for (std::size_t i = 0 ; i < nV0sThisColl; i++) {
27432742 auto v0 = fullV0s.rawIteratorAt (v0sGrouped[collision.globalIndex ()][i]);
27442743
@@ -2754,22 +2753,22 @@ struct QuarkoniaToHyperons {
27542753 float ymc = 1e-3 ;
27552754 if (v0MC.pdgCode () == PDG_t::kK0Short )
27562755 ymc = RecoDecay::y (std::array{v0MC.pxPosMC () + v0MC.pxNegMC (), v0MC.pyPosMC () + v0MC.pyNegMC (), v0MC.pzPosMC () + v0MC.pzNegMC ()}, o2::constants::physics::MassKaonNeutral);
2757- else if (std::fabs (v0MC.pdgCode ()) == PDG_t::kLambda0 )
2756+ else if (std::abs (v0MC.pdgCode ()) == PDG_t::kLambda0 )
27582757 ymc = RecoDecay::y (std::array{v0MC.pxPosMC () + v0MC.pxNegMC (), v0MC.pyPosMC () + v0MC.pyNegMC (), v0MC.pzPosMC () + v0MC.pzNegMC ()}, o2::constants::physics::MassLambda);
27592758
2760- selMap[v0sGrouped[collision. globalIndex ()][i]] = computeReconstructionBitmap (v0, collision, ymc, ymc, ptmc);
2761- selMap[v0sGrouped[collision. globalIndex ()][i]] = selMap[v0sGrouped[collision. globalIndex ()][i]] | computeMCAssociation (v0MC);
2759+ uint64_t selMap = computeReconstructionBitmap (v0, collision, ymc, ymc, ptmc);
2760+ selMap = selMap | computeMCAssociation (v0MC);
27622761
27632762 // selMap |= maskTopological | maskTrackProperties | maskLambdaSpecific;
27642763 // selMap |= maskTopological | maskTrackProperties | maskAntiLambdaSpecific;
27652764
27662765 // consider only associated candidates if asked to do so, disregard association
27672766 if (!doMCAssociation) {
2768- selMap[v0sGrouped[collision. globalIndex ()][i]] = selMap[v0sGrouped[collision. globalIndex ()][i]] | (static_cast <uint64_t >(1 ) << selConsiderK0Short) | (static_cast <uint64_t >(1 ) << selConsiderLambda) | (static_cast <uint64_t >(1 ) << selConsiderAntiLambda);
2769- selMap[v0sGrouped[collision. globalIndex ()][i]] = selMap[v0sGrouped[collision. globalIndex ()][i]] | (static_cast <uint64_t >(1 ) << selPhysPrimK0Short) | (static_cast <uint64_t >(1 ) << selPhysPrimLambda) | (static_cast <uint64_t >(1 ) << selPhysPrimAntiLambda);
2767+ selMap = selMap | (static_cast <uint64_t >(1 ) << selConsiderK0Short) | (static_cast <uint64_t >(1 ) << selConsiderLambda) | (static_cast <uint64_t >(1 ) << selConsiderAntiLambda);
2768+ selMap = selMap | (static_cast <uint64_t >(1 ) << selPhysPrimK0Short) | (static_cast <uint64_t >(1 ) << selPhysPrimLambda) | (static_cast <uint64_t >(1 ) << selPhysPrimAntiLambda);
27702769 }
27712770
2772- analyseV0Candidate (v0, ptmc, selMap[i] , selK0ShortIndices, selLambdaIndices, selAntiLambdaIndices /* , fullV0s.offset()*/ );
2771+ analyseV0Candidate (v0, ptmc, selMap, selK0ShortIndices, selLambdaIndices, selAntiLambdaIndices /* , fullV0s.offset()*/ );
27732772 } // end v0 loop
27742773
27752774 // / count the number of K0s, Lambda and AntiLambdas passsing the selections
@@ -2794,13 +2793,13 @@ struct QuarkoniaToHyperons {
27942793 histos.fill (HIST (" LaLaBar/h2dNbrOfAntiLambdaVsCentrality" ), centrality, nAntiLambdas);
27952794
27962795 if (!buildSameSignPairs && nLambdas >= 1 && nAntiLambdas >= 1 ) { // consider Lambda antiLambda pairs
2797- buildHyperonAntiHyperonPairs (collision, fullV0s, selLambdaIndices, selAntiLambdaIndices, centrality, selGapSide, 1 , selMap );
2796+ buildHyperonAntiHyperonPairs (collision, fullV0s, selLambdaIndices, selAntiLambdaIndices, centrality, selGapSide, 1 );
27982797 }
27992798 if (buildSameSignPairs && nLambdas > 1 ) { // consider Lambda Lambda pairs
2800- buildHyperonAntiHyperonPairs (collision, fullV0s, selLambdaIndices, selLambdaIndices, centrality, selGapSide, 1 , selMap );
2799+ buildHyperonAntiHyperonPairs (collision, fullV0s, selLambdaIndices, selLambdaIndices, centrality, selGapSide, 1 );
28012800 }
28022801 if (buildSameSignPairs && nAntiLambdas > 1 ) { // consider antiLambda antiLambda pairs
2803- buildHyperonAntiHyperonPairs (collision, fullV0s, selAntiLambdaIndices, selAntiLambdaIndices, centrality, selGapSide, 1 , selMap );
2802+ buildHyperonAntiHyperonPairs (collision, fullV0s, selAntiLambdaIndices, selAntiLambdaIndices, centrality, selGapSide, 1 );
28042803 }
28052804 }
28062805 }
@@ -2826,9 +2825,9 @@ struct QuarkoniaToHyperons {
28262825 auto cascadeMC = cascade.cascMCCore_as <soa::Join<aod::CascMCCores, aod::CascMCCollRefs>>();
28272826
28282827 float ymc = 1e-3 ;
2829- if (std::fabs (cascadeMC.pdgCode ()) == PDG_t::kXiMinus )
2828+ if (std::abs (cascadeMC.pdgCode ()) == PDG_t::kXiMinus )
28302829 ymc = RecoDecay::y (std::array{cascadeMC.pxMC (), cascadeMC.pyMC (), cascadeMC.pzMC ()}, o2::constants::physics::MassXiMinus);
2831- else if (std::fabs (cascadeMC.pdgCode ()) == PDG_t::kOmegaMinus )
2830+ else if (std::abs (cascadeMC.pdgCode ()) == PDG_t::kOmegaMinus )
28322831 ymc = RecoDecay::y (std::array{cascadeMC.pxMC (), cascadeMC.pyMC (), cascadeMC.pzMC ()}, o2::constants::physics::MassOmegaMinus);
28332832
28342833 if (buildXiXiBarPairs) {
0 commit comments