@@ -1193,6 +1193,9 @@ struct HfCandidateCreatorXic0XicpToHadronic {
11931193
11941194 // get geometrical chi2 of XicPlus
11951195 float chi2GeoXicPlus = kfXicPlus.GetChi2 () / kfXicPlus.GetNDF ();
1196+ float chi2PrimXi = kfXicPlus.GetDeviationFromVertex (kfPv);
1197+ float chi2PrimPi0 = kfCharmBachelor0.GetDeviationFromVertex (kfPv);
1198+ float chi2PrimPi1 = kfCharmBachelor1.GetDeviationFromVertex (kfPv);
11961199
11971200 // topological constraint of Xic to PV
11981201 float chi2topoXicPlusToPVBeforeConstraint = kfXicPlus.GetDeviationFromVertex (kfPv);
@@ -1254,6 +1257,11 @@ struct HfCandidateCreatorXic0XicpToHadronic {
12541257 float cpaLambdaToXi = RecoDecay::cpa (vertexCasc, vertexV0, pVecV0);
12551258 float cpaXYLambdaToXi = RecoDecay::cpaXY (vertexCasc, vertexV0, pVecV0);
12561259
1260+ // get chi2 devuation of Pi0-Pi1, Pi0-Xi, Pi1-Xi
1261+ float chi2DevPi0Pi1 = kfCharmBachelor0.GetDeviationFromParticle (kfCharmBachelor1);
1262+ float chi2DevPi0Xi = kfCharmBachelor0.GetDeviationFromParticle (kfXi);
1263+ float chi2DevPi1Xi = kfCharmBachelor1.GetDeviationFromParticle (kfXi);
1264+
12571265 // get DCAs of Pi0-Pi1, Pi0-Xi, Pi1-Xi
12581266 float dcaXYPi0Pi1 = kfCharmBachelor0.GetDistanceFromParticleXY (kfCharmBachelor1);
12591267 float dcaXYPi0Xi = kfCharmBachelor0.GetDistanceFromParticleXY (kfXi);
@@ -1376,9 +1384,11 @@ struct HfCandidateCreatorXic0XicpToHadronic {
13761384 /* PID information*/
13771385 nSigTpcPiFromXicPlus0, nSigTpcPiFromXicPlus1, nSigTpcBachelorPi, nSigTpcPiFromLambda, nSigTpcPrFromLambda,
13781386 nSigTofPiFromXicPlus0, nSigTofPiFromXicPlus1, nSigTofBachelorPi, nSigTofPiFromLambda, nSigTofPrFromLambda);
1379- cursors.rowCandXicpKF (casc.kfCascadeChi2 (), casc.kfV0Chi2 (),
1380- kfDecayLength, kfDecayLengthNormalised, kfDecayLengthXY, kfDecayLengthXYNormalised,
1381- chi2topoXicPlusToPVBeforeConstraint, chi2topoXicPlusToPV, chi2topoXiToXicPlusBeforeConstraint, chi2topoXiToXicPlus,
1387+ cursors.rowCandXicpKF (kfDecayLength, kfDecayLengthNormalised, kfDecayLengthXY, kfDecayLengthXYNormalised,
1388+ casc.kfCascadeChi2 (), casc.kfV0Chi2 (),
1389+ chi2topoXicPlusToPVBeforeConstraint, chi2topoXicPlusToPV, // chi2topoXiToXicPlusBeforeConstraint, chi2topoXiToXicPlus,
1390+ chi2PrimXi, chi2PrimPi0, chi2PrimPi1,
1391+ chi2DevPi0Pi1, chi2DevPi0Xi, chi2DevPi1Xi,
13821392 dcaXYPi0Pi1, dcaXYPi0Xi, dcaXYPi1Xi,
13831393 dcaPi0Pi1, dcaPi0Xi, dcaPi1Xi);
13841394
@@ -1481,14 +1491,16 @@ struct HfCandidateCreatorXic0XicpToHadronicMc {
14811491 Produces<aod::HfCandXic0McGen> rowCandXic0McGen;
14821492 Produces<aod::HfCandXicMcRec> rowCandXicpMcRec;
14831493 Produces<aod::HfCandXicMcGen> rowCandXicpMcGen;
1494+ Produces<aod::HfCandXicResid> rowCandXicpMcResid;
14841495
14851496 } cursors;
14861497
14871498 struct : ConfigurableGroup {
14881499
1489- Configurable<bool > rejectBackground{" rejectBackground" , true , " Reject particles from background events" };
1500+ Configurable<bool > rejectBackground{" rejectBackground" , true , " Reject particles from background events" }; // -> Used for only Xic0
14901501 Configurable<bool > acceptTrackInteractionWithMaterial{" acceptTrackInteractionWithMaterial" , false , " Accept candidates with final daughters interacting with materials" };
14911502 Configurable<bool > fillMcHistograms{" fillMcHistograms" , true , " Fill validation plots" };
1503+ Configurable<bool > fillResidualTable{" fillResidualTable" , true , " Fill table contaning residuals and pulls of PV and SV" };
14921504 Configurable<bool > matchDecayedPions{" matchedDecayedPions" , true , " Match also candidates with daughter pion tracks that decay with kinked toploogy" };
14931505
14941506 } configs;
@@ -1735,6 +1747,13 @@ struct HfCandidateCreatorXic0XicpToHadronicMc {
17351747 std::array<int , NDaughtersResonant> arrXiResonance = {3324 , kPiPlus }; // 3324: Ξ(1530)
17361748 // for non-prompt
17371749 std::vector<int > idxBhadMothers;
1750+ // residuals and pulls
1751+ std::array<float , 2 > momentumResiduals{-9999 .f };
1752+ std::array<float , 3 > pvResiduals{-9999 .f };
1753+ std::array<float , 3 > pvPulls{-9999 .f };
1754+ std::array<float , 3 > svResiduals{-9999 .f };
1755+ std::array<float , 3 > svPulls{-9999 .f };
1756+
17381757
17391758 // Match reconstructed candidates.
17401759 for (const auto & candidate : *rowCandXicpExt)
@@ -1745,6 +1764,13 @@ struct HfCandidateCreatorXic0XicpToHadronicMc {
17451764 nPionsDecayed = 0 ;
17461765 nInteractionsWithMaterial = 0 ;
17471766 arrDaughIndex.clear ();
1767+ if (configs.fillResidualTable ) {
1768+ momentumResiduals.fill (-9999 .f );
1769+ pvResiduals.fill (-9999 .f );
1770+ pvPulls.fill (-9999 .f );
1771+ svResiduals.fill (-9999 .f );
1772+ svPulls.fill (-9999 .f );
1773+ }
17481774
17491775 auto arrayDaughters = std::array{candidate.pi0_as <aod::TracksWMc>(), // pi <- Xic
17501776 candidate.pi1_as <aod::TracksWMc>(), // pi <- Xic
@@ -1759,113 +1785,104 @@ struct HfCandidateCreatorXic0XicpToHadronicMc {
17591785 auto arrayDaughtersV0 = std::array{candidate.posTrack_as <aod::TracksWMc>(),
17601786 candidate.negTrack_as <aod::TracksWMc>()};
17611787
1762- if (configs.fillMcHistograms )
1763- {
1788+ if (configs.fillMcHistograms ) {
17641789 registry.fill (HIST (" hDebugRec" ), TotalRec);
17651790 }
17661791
17671792 // 1. Xic → pi pi pi pi p
1768- if (configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial )
1769- {
1793+ if (configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial ) {
17701794 indexRec = RecoDecay::getMatchedMCRec<false , true , false , true , true >(mcParticles, arrayDaughters, Pdg::kXiCPlus , std::array{+kPiPlus , +kPiPlus , +kPiMinus , +kProton , +kPiMinus }, true , &sign, 4 , &nPionsDecayed, nullptr , &nInteractionsWithMaterial);
1771- }
1772- else if (configs.matchDecayedPions && !configs.acceptTrackInteractionWithMaterial )
1773- {
1795+ } else if (configs.matchDecayedPions && !configs.acceptTrackInteractionWithMaterial ) {
17741796 indexRec = RecoDecay::getMatchedMCRec<false , true , false , true , false >(mcParticles, arrayDaughters, Pdg::kXiCPlus , std::array{+kPiPlus , +kPiPlus , +kPiMinus , +kProton , +kPiMinus }, true , &sign, 4 , &nPionsDecayed, nullptr , &nInteractionsWithMaterial);
1775- }
1776-
1777- else if (!configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial )
1778- {
1797+ } else if (!configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial ) {
17791798 indexRec = RecoDecay::getMatchedMCRec<false , true , false , false , true >(mcParticles, arrayDaughters, Pdg::kXiCPlus , std::array{+kPiPlus , +kPiPlus , +kPiMinus , +kProton , +kPiMinus }, true , &sign, 4 , &nPionsDecayed, nullptr , &nInteractionsWithMaterial);
1780- }
1781- else
1782- {
1799+ } else {
17831800 indexRec = RecoDecay::getMatchedMCRec<false , true , false , false , false >(mcParticles, arrayDaughters, Pdg::kXiCPlus , std::array{+kPiPlus , +kPiPlus , +kPiMinus , +kProton , +kPiMinus }, true , &sign, 4 , &nPionsDecayed, nullptr , &nInteractionsWithMaterial);
17841801 }
17851802
17861803 indexRecXicPlus = indexRec;
17871804
1788- if (indexRec > -1 )
1789- {
1790- if (configs.fillMcHistograms )
1791- {
1805+ if (indexRec > -1 ) {
1806+ if (configs.fillMcHistograms ) {
17921807 registry.fill (HIST (" hDebugRec" ), XicToFinalState);
17931808 }
17941809 // 2. Xi- → pi pi p
1795- if (configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial )
1796- {
1810+ if (configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial ) {
17971811 indexRec = RecoDecay::getMatchedMCRec<false , true , false , true , true >(mcParticles, arrayDaughtersCasc, +kXiMinus , std::array{+kPiMinus , +kProton , +kPiMinus }, true , nullptr , 2 );
1798- }
1799- else if (configs.matchDecayedPions && !configs.acceptTrackInteractionWithMaterial )
1800- {
1812+ } else if (configs.matchDecayedPions && !configs.acceptTrackInteractionWithMaterial ) {
18011813 indexRec = RecoDecay::getMatchedMCRec<false , true , false , true , false >(mcParticles, arrayDaughtersCasc, +kXiMinus , std::array{+kPiMinus , +kProton , +kPiMinus }, true , nullptr , 2 );
1802- }
1803- else if (!configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial )
1804- {
1814+ } else if (!configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial ) {
18051815 indexRec = RecoDecay::getMatchedMCRec<false , true , false , false , true >(mcParticles, arrayDaughtersCasc, +kXiMinus , std::array{+kPiMinus , +kProton , +kPiMinus }, true , nullptr , 2 );
1806- }
1807- else
1808- {
1816+ } else {
18091817 indexRec = RecoDecay::getMatchedMCRec<false , true , false , false , false >(mcParticles, arrayDaughtersCasc, +kXiMinus , std::array{+kPiMinus , +kProton , +kPiMinus }, true , nullptr , 2 );
18101818 }
1811- if (indexRec > -1 )
1812- {
1813- if (configs.fillMcHistograms )
1814- {
1819+ if (indexRec > -1 ) {
1820+ if (configs.fillMcHistograms ) {
18151821 registry.fill (HIST (" hDebugRec" ), XiToPiPPi);
18161822 }
18171823 // 3. Lambda → p pi
1818- if (configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial )
1819- {
1824+ if (configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial ) {
18201825 indexRec = RecoDecay::getMatchedMCRec<false , true , false , true , true >(mcParticles, arrayDaughtersV0, +kLambda0 , std::array{+kProton , +kPiMinus }, true );
1821- }
1822- else if (configs.matchDecayedPions && !configs.acceptTrackInteractionWithMaterial )
1823- {
1826+ } else if (configs.matchDecayedPions && !configs.acceptTrackInteractionWithMaterial ) {
18241827 indexRec = RecoDecay::getMatchedMCRec<false , true , false , true , false >(mcParticles, arrayDaughtersV0, +kLambda0 , std::array{+kProton , +kPiMinus }, true );
1825- }
1826- else if (!configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial )
1827- {
1828+ } else if (!configs.matchDecayedPions && configs.acceptTrackInteractionWithMaterial ) {
18281829 indexRec = RecoDecay::getMatchedMCRec<false , true , false , false , true >(mcParticles, arrayDaughtersV0, +kLambda0 , std::array{+kProton , +kPiMinus }, true );
1829- }
1830-
1831- else
1832- {
1830+ } else {
18331831 indexRec = RecoDecay::getMatchedMCRec<false , true , false , false , false >(mcParticles, arrayDaughtersV0, +kLambda0 , std::array{+kProton , +kPiMinus }, true );
18341832 }
18351833
1836- if (indexRec > -1 )
1837- {
1838- if (configs.fillMcHistograms )
1839- {
1834+ if (indexRec > -1 ) {
1835+ if (configs.fillMcHistograms ) {
18401836 registry.fill (HIST (" hDebugRec" ), LambdaToPPi);
18411837 }
1842- RecoDecay::getDaughters (mcParticles.rawIteratorAt (indexRecXicPlus), &arrDaughIndex, std::array{0 }, 1 );
1843- if (arrDaughIndex.size () == NDaughtersResonant)
1844- {
1845- for (auto iProng = 0u ; iProng < NDaughtersResonant; ++iProng)
1846- {
1838+ auto particleXicPlus = mcParticles.rawIteratorAt (indexRecXicPlus);
1839+
1840+ // Check whether XicPlus decays via resonant decay
1841+ RecoDecay::getDaughters (particleXicPlus, &arrDaughIndex, std::array{0 }, 1 );
1842+ if (arrDaughIndex.size () == NDaughtersResonant) {
1843+ for (auto iProng = 0u ; iProng < NDaughtersResonant; ++iProng) {
18471844 auto daughI = mcParticles.rawIteratorAt (arrDaughIndex[iProng]);
18481845 arrPDGDaugh[iProng] = std::abs (daughI.pdgCode ());
18491846 }
18501847 if ((arrPDGDaugh[0 ] == arrXiResonance[0 ] && arrPDGDaugh[1 ] == arrXiResonance[1 ]) || (arrPDGDaugh[0 ] == arrXiResonance[1 ] && arrPDGDaugh[1 ] == arrXiResonance[0 ])) {
18511848 flag = sign * (1 << aod::hf_cand_xic_to_xi_pi_pi::DecayType::XicToXiResPiToXiPiPi);
18521849 }
1853- }
1854- else
1855- {
1850+ } else {
18561851 flag = sign * (1 << aod::hf_cand_xic_to_xi_pi_pi::DecayType::XicToXiPiPi);
18571852 }
1853+ // Check whether the charm baryon is non-prompt (from a b quark).
1854+ if (flag != 0 ) {
1855+ auto particle = mcParticles.rawIteratorAt (indexRecXicPlus);
1856+ origin = RecoDecay::getCharmHadronOrigin (mcParticles, particleXicPlus, false );
1857+ }
1858+ // Calculate residuals and pulls
1859+ if (flag!=0 && configs.fillResidualTable ) {
1860+ auto mcCollision = particleXicPlus.template mcCollision_as <McCollisions>();
1861+ auto particleDaughter0 = mcParticles.rawIteratorAt (arrDaughIndex[0 ]);
1862+
1863+ momentumResiduals[0 ] = candidate.p () - particleXicPlus.p ();
1864+ momentumResiduals[1 ] = candidate.pt () - particleXicPlus.pt ();
1865+ pvResiduals[0 ] = candidate.posX () - mcCollision.posX ();
1866+ pvResiduals[1 ] = candidate.posY () - mcCollision.posY ();
1867+ pvResiduals[2 ] = candidate.posZ () - mcCollision.posZ ();
1868+ svResiduals[0 ] = candidate.xSecondaryVertex () - particleDaughter0.vx ();
1869+ svResiduals[1 ] = candidate.ySecondaryVertex () - particleDaughter0.vy ();
1870+ svResiduals[2 ] = candidate.zSecondaryVertex () - particleDaughter0.vz ();
1871+ try {
1872+ pvPulls[0 ] = pvResiduals[0 ]/candidate.xPvErr ();
1873+ pvPulls[0 ] = pvResiduals[1 ]/candidate.yPvErr ();
1874+ pvPulls[0 ] = pvResiduals[2 ]/candidate.zPvErr ();
1875+ svPulls[0 ] = svResiduals[0 ]/candidate.xSvErr ();
1876+ svPulls[0 ] = svResiduals[1 ]/candidate.ySvErr ();
1877+ svPulls[0 ] = svResiduals[2 ]/candidate.zSvErr ();
1878+ } catch (const std::runtime_error& error) {
1879+ LOG (info) << " Run time error found : " << error.what () << " . Set values of vertex pulls to -9999.9" ;
1880+ }
1881+ }
18581882 }
18591883 }
18601884 }
18611885
1862- // Check whether the charm baryon is non-prompt (from a b quark).
1863- if (flag != 0 )
1864- {
1865- auto particle = mcParticles.rawIteratorAt (indexRecXicPlus);
1866- origin = RecoDecay::getCharmHadronOrigin (mcParticles, particle, false );
1867- }
1868-
18691886 // Fill histograms
18701887 if (flag != 0 && configs.fillMcHistograms )
18711888 {
@@ -1875,42 +1892,41 @@ struct HfCandidateCreatorXic0XicpToHadronicMc {
18751892
18761893 // Fill table
18771894 cursors.rowCandXicpMcRec (flag, origin);
1895+ if (flag!=0 && configs.fillResidualTable ) {
1896+ cursors.rowCandXicpMcResid (origin, momentumResiduals[0 ], momentumResiduals[1 ],
1897+ pvResiduals[0 ], pvResiduals[1 ], pvResiduals[2 ],
1898+ pvPulls[0 ], pvPulls[1 ], pvPulls[2 ],
1899+ svResiduals[0 ], svResiduals[1 ], svResiduals[2 ],
1900+ svPulls[0 ], svPulls[1 ], svPulls[2 ]);
1901+ }
18781902 } // close loop over candidates
18791903
18801904 // Match generated particles.
1881- for (const auto & mcCollision : mcCollisions)
1882- {
1905+ for (const auto & mcCollision : mcCollisions) {
18831906 // Slice the particles table to get the particles for the current MC collision
18841907 const auto mcParticlesPerMcColl = mcParticles.sliceBy (mcParticlesPerMcCollision, mcCollision.globalIndex ());
18851908 // Slice the collisions table to get the collision info for the current MC collision
18861909 float centrality{-1 .f };
18871910 uint16_t rejectionMask{0 };
18881911 int nSplitColl = 0 ;
18891912
1890- if constexpr (centEstimator == o2::hf_centrality::CentralityEstimator::FT0C)
1891- {
1913+ if constexpr (centEstimator == o2::hf_centrality::CentralityEstimator::FT0C) {
18921914 const auto collSlice = collInfos.sliceBy (colPerMcCollisionFT0C, mcCollision.globalIndex ());
18931915 rejectionMask = hfEvSelMc.getHfMcCollisionRejectionMask <BCsInfo, centEstimator>(mcCollision, collSlice, centrality);
1894- }
1895- else if constexpr (centEstimator == o2::hf_centrality::CentralityEstimator::FT0M)
1896- {
1916+ } else if constexpr (centEstimator == o2::hf_centrality::CentralityEstimator::FT0M) {
18971917 const auto collSlice = collInfos.sliceBy (colPerMcCollisionFT0M, mcCollision.globalIndex ());
18981918 nSplitColl = collSlice.size ();
18991919 rejectionMask = hfEvSelMc.getHfMcCollisionRejectionMask <BCsInfo, centEstimator>(mcCollision, collSlice, centrality);
1900- }
1901- else if constexpr (centEstimator == o2::hf_centrality::CentralityEstimator::None)
1902- {
1920+ } else if constexpr (centEstimator == o2::hf_centrality::CentralityEstimator::None) {
19031921 const auto collSlice = collInfos.sliceBy (colPerMcCollision, mcCollision.globalIndex ());
19041922 rejectionMask = hfEvSelMc.getHfMcCollisionRejectionMask <BCsInfo, centEstimator>(mcCollision, collSlice, centrality);
19051923 }
19061924
19071925 hfEvSelMc.fillHistograms <centEstimator>(mcCollision, rejectionMask, nSplitColl);
19081926
1909- if (rejectionMask != 0 )
1910- {
1927+ if (rejectionMask != 0 ) {
19111928 // at least one event selection not satisfied --> reject all particles from this collision
1912- for (unsigned int i = 0 ; i < mcParticlesPerMcColl.size (); ++i)
1913- {
1929+ for (unsigned int i = 0 ; i < mcParticlesPerMcColl.size (); ++i) {
19141930 cursors.rowCandXicpMcGen (-99 , -99 , -99 );
19151931 }
19161932 continue ;
@@ -1925,62 +1941,48 @@ struct HfCandidateCreatorXic0XicpToHadronicMc {
19251941 idxBhadMothers.clear ();
19261942
19271943 // 4. Xic → Xi pi pi
1928- if (RecoDecay::isMatchedMCGen<false , true >(mcParticles, particle, Pdg::kXiCPlus , std::array{+kXiMinus , +kPiPlus , +kPiPlus }, true , &sign, 2 ))
1929- {
1944+ if (RecoDecay::isMatchedMCGen<false , true >(mcParticles, particle, Pdg::kXiCPlus , std::array{+kXiMinus , +kPiPlus , +kPiPlus }, true , &sign, 2 )) {
19301945 // 5. Xi- -> Lambda pi
19311946 auto cascMC = mcParticles.rawIteratorAt (particle.daughtersIds ().front ());
19321947 // 6. Find Xi- from Xi(1530) -> Xi pi in case of resonant decay
19331948 RecoDecay::getDaughters (particle, &arrDaughIndex, std::array{0 }, 1 );
1934- if (arrDaughIndex.size () == NDaughtersResonant)
1935- {
1949+ if (arrDaughIndex.size () == NDaughtersResonant) {
19361950 auto cascStarMC = mcParticles.rawIteratorAt (particle.daughtersIds ().front ());
1937- if (RecoDecay::isMatchedMCGen<false , true >(mcParticles, cascStarMC, +3324 , std::array{+kXiMinus , +kPiPlus }, true ))
1938- {
1951+ if (RecoDecay::isMatchedMCGen<false , true >(mcParticles, cascStarMC, +3324 , std::array{+kXiMinus , +kPiPlus }, true )) {
19391952 cascMC = mcParticles.rawIteratorAt (cascStarMC.daughtersIds ().front ());
19401953 }
19411954 }
19421955
1943- if (RecoDecay::isMatchedMCGen<false , true >(mcParticles, cascMC, +kXiMinus , std::array{+kLambda0 , +kPiMinus }, true ))
1944- {
1956+ if (RecoDecay::isMatchedMCGen<false , true >(mcParticles, cascMC, +kXiMinus , std::array{+kLambda0 , +kPiMinus }, true )) {
19451957 // 7. Lambda -> p pi
19461958 auto v0MC = mcParticles.rawIteratorAt (cascMC.daughtersIds ().front ());
1947- if (RecoDecay::isMatchedMCGen<false , true >(mcParticles, v0MC, +kLambda0 , std::array{+kProton , +kPiMinus }, true ))
1948- {
1949- if (arrDaughIndex.size () == NDaughtersResonant)
1950- {
1951- for (auto iProng = 0u ; iProng < NDaughtersResonant; ++iProng)
1952- {
1959+ if (RecoDecay::isMatchedMCGen<false , true >(mcParticles, v0MC, +kLambda0 , std::array{+kProton , +kPiMinus }, true )) {
1960+ if (arrDaughIndex.size () == NDaughtersResonant) {
1961+ for (auto iProng = 0u ; iProng < NDaughtersResonant; ++iProng) {
19531962 auto daughI = mcParticles.rawIteratorAt (arrDaughIndex[iProng]);
19541963 arrPDGDaugh[iProng] = std::abs (daughI.pdgCode ());
19551964 }
19561965
19571966 if ((arrPDGDaugh[0 ] == arrXiResonance[0 ] && arrPDGDaugh[1 ] == arrXiResonance[1 ]) || (arrPDGDaugh[0 ] == arrXiResonance[1 ] && arrPDGDaugh[1 ] == arrXiResonance[0 ])) {
19581967 flag = sign * (1 << aod::hf_cand_xic_to_xi_pi_pi::DecayType::XicToXiResPiToXiPiPi);
19591968 }
1960- }
1961- else
1962- {
1969+ } else {
19631970 flag = sign * (1 << aod::hf_cand_xic_to_xi_pi_pi::DecayType::XicToXiPiPi);
19641971 }
19651972 }
19661973 }
19671974 }
19681975
19691976 // 8. Check whether the charm baryon is non-prompt (from a b quark).
1970- if (flag != 0 )
1971- {
1977+ if (flag != 0 ) {
19721978 origin = RecoDecay::getCharmHadronOrigin (mcParticles, particle, false , &idxBhadMothers);
19731979 }
19741980
19751981 // Fill table
1976- if (origin == RecoDecay::OriginType::NonPrompt)
1977- {
1982+ if (origin == RecoDecay::OriginType::NonPrompt) {
19781983 auto bHadMother = mcParticles.rawIteratorAt (idxBhadMothers[0 ]);
19791984 cursors.rowCandXicpMcGen (flag, origin, bHadMother.pdgCode ());
1980- }
1981-
1982- else
1983- {
1985+ } else {
19841986 cursors.rowCandXicpMcGen (flag, origin, 0 );
19851987 }
19861988
0 commit comments