@@ -949,7 +949,7 @@ struct FlattenictyPikp {
949949 return false ;
950950 }
951951
952- template <o2::track::PID::ID id, typename T, typename C>
952+ template <int id, typename T, typename C>
953953 void fillDCA (T const & tracks, C const & collision, aod::BCsWithTimestamps const & /* bcs*/ )
954954 {
955955 if (trkSelOpt.cfgRejectTrkAtTPCSector ) {
@@ -981,7 +981,9 @@ struct FlattenictyPikp {
981981 if (!isDCAxyWoCut (track)) {
982982 continue ;
983983 }
984- checkDCA<id>(track, mult, flat);
984+ if (track.hasTOF () && (std::sqrt (std::pow (std::fabs (o2::aod::pidutils::tpcNSigma<id>(track)), 2 ) + std::pow (std::fabs (o2::aod::pidutils::tofNSigma<id>(track)), 2 ) < trkSelOpt.cfgDcaNsigmaCombinedMax ))) {
985+ flatchrg.fill (HIST (Cprefix) + HIST (CspeciesAll[id]) + HIST (CpTvsDCAxy), mult, flat, track.pt (), track.dcaXY ());
986+ }
985987 }
986988 }
987989
@@ -1569,20 +1571,6 @@ struct FlattenictyPikp {
15691571 return true ;
15701572 }
15711573
1572- template <o2::track::PID::ID pid, typename T>
1573- inline void checkDCA (const T& track, const float mult, const float flat)
1574- {
1575- if (std::abs (track.rapidity (o2::track::PID::getMass (pid))) > trkSelOpt.cfgRapMax ) {
1576- return ;
1577- }
1578- static_for<0 , 4 >([&](auto i) {
1579- constexpr int Cidx = i.value ;
1580- if (track.hasTOF () && (std::sqrt (std::pow (std::fabs (o2::aod::pidutils::tpcNSigma<Cidx>(track)), 2 ) + std::pow (std::fabs (o2::aod::pidutils::tofNSigma<Cidx>(track)), 2 ) < trkSelOpt.cfgDcaNsigmaCombinedMax ))) {
1581- flatchrg.fill (HIST (Cprefix) + HIST (CspeciesAll[Cidx]) + HIST (CpTvsDCAxy), mult, flat, track.pt (), track.dcaXY ());
1582- }
1583- });
1584- }
1585-
15861574 template <FillType ft, bool fillHist = false , typename T>
15871575 inline void fillTrackQA (T const & track)
15881576 {
@@ -2004,9 +1992,9 @@ struct FlattenictyPikp {
20041992 v0sPerCollision.bindExternalIndices (&tracks);
20051993 filldEdx (tracksPerCollision, v0sPerCollision, collision, bcs);
20061994 if (cfgFillDCAxyHist) {
2007- fillDCA<o2::track::PID::Pion>(tracksPerCollision, collision, bcs);
2008- fillDCA<o2::track::PID::Kaon >(tracksPerCollision, collision, bcs);
2009- fillDCA<o2::track::PID::Proton>(tracksPerCollision, collision, bcs );
1995+ static_for< 0 , 4 >([&]( auto i) {
1996+ fillDCA<i >(tracksPerCollision, collision, bcs);
1997+ } );
20101998 }
20111999 }
20122000 }
0 commit comments