@@ -339,8 +339,8 @@ struct HfTaskCharmHadronsTrackFemtoDream {
339339
340340 // / Compute the charm hadron candidates mass with the daughter masses
341341 // / assumes the candidate is either a D+ or Λc+ or D0 or Dstar
342- template <DecayChannel Channel, bool ReturnDaughMass, typename Candidate>
343- float getCharmHadronMass (const Candidate& cand)
342+ template <DecayChannel Channel, typename Candidate>
343+ float getCharmHadronMass (const Candidate& cand, bool ReturnDaughMass = false )
344344 {
345345 float invMass = 0 .0f ;
346346 if constexpr (Channel == DecayChannel::LcToPKPi) {
@@ -350,44 +350,33 @@ struct HfTaskCharmHadronsTrackFemtoDream {
350350 }
351351 invMass = cand.m (std::array{MassPiPlus, MassKPlus, MassProton});
352352 return invMass;
353- }
354- // D+ → π K π (PDG: 411)
355- if constexpr (Channel == DecayChannel::DplusToPiKPi) {
353+ } else if constexpr (Channel == DecayChannel::DplusToPiKPi) { // D+ → π K π (PDG: 411)
356354 invMass = cand.m (std::array{MassPiPlus, MassKPlus, MassPiPlus});
357355 return invMass;
358- }
359- // D0 → π K (PDG: 421)
360- if constexpr (Channel == DecayChannel::D0ToPiK) {
356+ } else if constexpr (Channel == DecayChannel::D0ToPiK) { // D0 → π K (PDG: 421)
361357 if (cand.candidateSelFlag () == 1 ) {
362-
363358 invMass = cand.m (std::array{MassPiPlus, MassKPlus});
364359 return invMass;
365360 } else {
366-
367361 invMass = cand.m (std::array{MassKPlus, MassPiPlus});
368362 return invMass;
369363 }
370- }
371- // D* → D0π (PDG: 413)
372- if constexpr (Channel == DecayChannel::DstarToD0Pi) {
364+ } else if constexpr (Channel == DecayChannel::DstarToD0Pi) { // D* → D0π (PDG: 413)
373365 float mDstar = 0 .f ;
374366 float mD0 = 0 .f ;
375-
376367 if (cand.charge () > 0 .f ) {
377368 mDstar = cand.m (std::array{MassPiPlus, MassKPlus, MassPiPlus});
378369 mD0 = cand.mDaughD0 (std::array{MassPiPlus, MassKPlus});
379370 } else {
380371 mDstar = cand.m (std::array{MassKPlus, MassPiPlus, MassPiPlus});
381372 mD0 = cand.mDaughD0 (std::array{MassKPlus, MassPiPlus});
382373 }
383-
384- if constexpr (ReturnDaughMass) {
374+ if (ReturnDaughMass) {
385375 return mD0 ;
386376 } else {
387377 return mDstar - mD0 ;
388378 }
389379 }
390-
391380 // Add more channels as needed
392381 return 0 .f ;
393382 }
@@ -518,7 +507,7 @@ struct HfTaskCharmHadronsTrackFemtoDream {
518507 if (kstar > highkstarCut) {
519508 continue ;
520509 }
521- float invMass = getCharmHadronMass<Channel, false >(p2);
510+ float invMass = getCharmHadronMass<Channel>(p2);
522511
523512 if (invMass < charmSel.charmHadMinInvMass || invMass > charmSel.charmHadMaxInvMass ) {
524513 continue ;
@@ -644,7 +633,7 @@ struct HfTaskCharmHadronsTrackFemtoDream {
644633 continue ;
645634 }
646635
647- float invMass = getCharmHadronMass<Channel, false >(p2);
636+ float invMass = getCharmHadronMass<Channel>(p2);
648637
649638 if (invMass < charmSel.charmHadMinInvMass || invMass > charmSel.charmHadMaxInvMass ) {
650639 continue ;
@@ -709,7 +698,7 @@ struct HfTaskCharmHadronsTrackFemtoDream {
709698
710699 // ---- Fill Charm-Hadron Table ----
711700 for (auto const & part : sliceCharmHad) {
712- float invMass = getCharmHadronMass<Channel, false >(part);
701+ float invMass = getCharmHadronMass<Channel>(part);
713702 registryCharmHadronQa.fill (
714703 HIST (" CharmHadronQA/hPtVsMass" ),
715704 part.pt (), invMass);
@@ -747,7 +736,7 @@ struct HfTaskCharmHadronsTrackFemtoDream {
747736 part.bdtPrompt (),
748737 part.bdtFD ());
749738 } else if constexpr (Channel == DecayChannel::DstarToD0Pi) {
750- float invMassD0 = getCharmHadronMass<Channel, true >(part);
739+ float invMassD0 = getCharmHadronMass<Channel>(part, true );
751740 rowFemtoResultCharmDstar (
752741 col.globalIndex (),
753742 timeStamp,
0 commit comments