@@ -3152,13 +3152,21 @@ struct AnalysisDileptonTrack {
31523152 // for the energy correlators
31533153 for (auto & t2 : groupedMCTracks) {
31543154 auto t2_raw = groupedMCTracks.rawIteratorAt (t2.globalIndex ());
3155- if (TMath::Abs ( t2_raw.pdgCode ()) == 443 || TMath::Abs (t2_raw. pdgCode ()) == 11 || TMath::Abs (t2_raw. pdgCode ()) == 22 )
3155+ if (! t2_raw.isPhysicalPrimary ()) {
31563156 continue ;
3157+ }
3158+
3159+ if (t2_raw.has_mothers ()) {
3160+ auto mother_raw = t2_raw.template mothers_first_as <McParticles>();
3161+ if (mother_raw.globalIndex () == t1_raw.globalIndex ()) {
3162+ continue ;
3163+ }
3164+ }
3165+
31573166 if (t2_raw.pt () < fConfigMCOptions .fConfigMCGenHadronPtMin .value || std::abs (t2_raw.eta ()) > fConfigMCOptions .fConfigMCGenHadronEtaAbs .value ) {
31583167 continue ;
31593168 }
3160- if (t2_raw.getGenStatusCode () <= 0 )
3161- continue ;
3169+
31623170 std::vector<float > fTransRange = fConfigOptions .fConfigTransRange ;
31633171 VarManager::FillEnergyCorrelatorsMC<THadronMassType>(t1_raw, t2_raw, VarManager::fgValues, fTransRange [0 ], fTransRange [1 ]);
31643172 for (auto & sig : fGenMCSignals ) {
@@ -3229,15 +3237,21 @@ struct AnalysisDileptonTrack {
32293237 // for the energy correlators
32303238 for (auto & t2 : groupedMCTracks2) {
32313239 auto t2_raw = groupedMCTracks2.rawIteratorAt (t2.globalIndex ());
3232- if (TMath::Abs ( t2_raw.pdgCode ()) == 443 || TMath::Abs (t2_raw. pdgCode ()) == 11 || TMath::Abs (t2_raw. pdgCode ()) == 22 ) {
3240+ if (! t2_raw.isPhysicalPrimary () ) {
32333241 continue ;
32343242 }
3235- if (t2_raw.pt () < fConfigMCOptions .fConfigMCGenHadronPtMin .value || std::abs (t2_raw.eta ()) > fConfigMCOptions .fConfigMCGenHadronEtaAbs .value ) {
3236- continue ;
3243+
3244+ if (t2_raw.has_mothers ()) {
3245+ auto mother_raw = t2_raw.template mothers_first_as <McParticles>();
3246+ if (mother_raw.globalIndex () == t1_raw.globalIndex ()) {
3247+ continue ;
3248+ }
32373249 }
3238- if (t2_raw.getGenStatusCode () <= 0 ) {
3250+
3251+ if (t2_raw.pt () < fConfigMCOptions .fConfigMCGenHadronPtMin .value || std::abs (t2_raw.eta ()) > fConfigMCOptions .fConfigMCGenHadronEtaAbs .value ) {
32393252 continue ;
32403253 }
3254+
32413255 for (auto & sig : fGenMCSignals ) {
32423256 if (sig->CheckSignal (true , t1_raw)) {
32433257 VarManager::FillEnergyCorrelatorsMC<THadronMassType>(t1_raw, t2_raw, VarManager::fgValues);
0 commit comments