diff --git a/PhysicsAnalysis/MCTruthClassifier/Root/MCTruthClassifierGen.cxx b/PhysicsAnalysis/MCTruthClassifier/Root/MCTruthClassifierGen.cxx index addf5eafb7f249da4209ed0ed9ede11388fec396..e8494972d318dfb2260fb2201bb49c72ccc7a9cd 100644 --- a/PhysicsAnalysis/MCTruthClassifier/Root/MCTruthClassifierGen.cxx +++ b/PhysicsAnalysis/MCTruthClassifier/Root/MCTruthClassifierGen.cxx @@ -300,9 +300,7 @@ ParticleOrigin MCTruthClassifier::defOrigOfElectron(const xAOD::TruthParticleCon } while ((MC::isMuon(pPDG) || MC::isTau(pPDG) || MC::isW(pPDG))); if (MC::isMuon(pPDG) || MC::isTau(pPDG) || MC::isW(pPDG) || MC::isZ(pPDG) || MC::isHiggs(pPDG) || - abs(pPDG) == 35 || abs(pPDG) == 36 || abs(pPDG) == 37 || // MSSM Higgs bosons - abs(pPDG) == 32 || abs(pPDG) == 33 || abs(pPDG) == 34 || // Heavy Bosons (Z' Z'' W'+) - MC::isTop(pPDG) || + MC::isMSSMHiggs(pPDG) || MC::isHeavyBoson(pPDG) || MC::isTop(pPDG) || abs(pPDG) == 9900024 || abs(pPDG) == 9900012 || abs(pPDG) == 9900014 || abs(pPDG) == 9900016 || // Left-right symmetric model WBoson || Right-handed NU_E || Right-handed NU_MU || Right-handed NU_TAU (abs(pPDG) < 2000040 && abs(pPDG) > 1000001)) // FIXME This is nearly MC::isSUSY(pPDG), but slightly stricter. mother = MotherParent; @@ -507,9 +505,9 @@ ParticleOrigin MCTruthClassifier::defOrigOfElectron(const xAOD::TruthParticleCon if (MC::isHiggs(motherPDG)) return Higgs; - if (abs(motherPDG) == 35 || abs(motherPDG) == 36 || abs(motherPDG) == 37) return HiggsMSSM; // MSSM Higgs bosons. + if (MC::isMSSMHiggs(motherPDG)) return HiggsMSSM; - if (abs(motherPDG) == 32 || abs(motherPDG) == 33 || abs(motherPDG) == 34) return HeavyBoson; // Heavy Bosons (Z' Z'' W'+). + if (MC::isHeavyBoson(motherPDG)) return HeavyBoson; if (MC::isMuon(motherPDG)) return Mu; if (MC::isTau(motherPDG)) { @@ -605,9 +603,7 @@ ParticleOrigin MCTruthClassifier::defOrigOfMuon(const xAOD::TruthParticleContain } while ((MC::isMuon(pPDG) || MC::isTau(pPDG) || MC::isW(pPDG))); if (MC::isTau(pPDG) || MC::isW(pPDG) || MC::isZ(pPDG) || MC::isHiggs(pPDG) || - abs(pPDG) == 35 || abs(pPDG) == 36 || abs(pPDG) == 37 || // MSSM Higgs bosons - abs(pPDG) == 32 || abs(pPDG) == 33 || abs(pPDG) == 34 || // Heavy Bosons (Z' Z'' W'+) - MC::isTop(pPDG) || + MC::isMSSMHiggs(pPDG) || MC::isHeavyBoson(pPDG) || MC::isTop(pPDG) || abs(pPDG) == 9900024 || abs(pPDG) == 9900012 || abs(pPDG) == 9900014 || abs(pPDG) == 9900016 || // Left-right symmetric model WBoson || Right-handed NU_E || Right-handed NU_MU || Right-handed NU_TAU (abs(pPDG) < 2000040 && abs(pPDG) > 1000001)) { // FIXME This is nearly MC::isSUSY(pPDG), but slightly stricter. if (info) info->setMotherProperties(mother); @@ -751,9 +747,9 @@ ParticleOrigin MCTruthClassifier::defOrigOfMuon(const xAOD::TruthParticleContain if (MC::isHiggs(motherPDG)) return Higgs; - if (abs(motherPDG) == 35 || abs(motherPDG) == 36 || abs(motherPDG) == 37) return HiggsMSSM; // MSSM Higgs bosons + if (MC::isMSSMHiggs(motherPDG)) return HiggsMSSM; - if (abs(motherPDG) == 32 || abs(motherPDG) == 33 || abs(motherPDG) == 34) return HeavyBoson; // Heavy Bosons (Z' Z'' W'+) + if (MC::isHeavyBoson(motherPDG)) return HeavyBoson; if (abs(motherPDG) == 9900024) return WBosonLRSM; // Left-right symmetric model WBoson if (abs(motherPDG) == 9900012) return NuREle; // Right-handed NU_E @@ -934,8 +930,8 @@ ParticleOrigin MCTruthClassifier::defOrigOfTau(const xAOD::TruthParticleContaine } if (MC::isHiggs(motherPDG)) return Higgs; - if (abs(motherPDG) == 35 || abs(motherPDG) == 36 || abs(motherPDG) == 37) return HiggsMSSM; // MSSM Higgs bosons. - if (abs(motherPDG) == 32 || abs(motherPDG) == 33 || abs(motherPDG) == 34) return HeavyBoson; // Heavy Bosons (Z' Z'' W'+) + if (MC::isMSSMHiggs(motherPDG)) return HiggsMSSM; + if (MC::isHeavyBoson(motherPDG)) return HeavyBoson; if (abs(motherPDG) == 9900024) return WBosonLRSM; // Left-right symmetric model WBoson if (abs(motherPDG) == 9900016) return NuRTau; // Right-handed NU_TAU if (MC::isSUSY(motherPDG)) return SUSY; @@ -1190,8 +1186,8 @@ ParticleOrigin MCTruthClassifier::defOrigOfPhoton(const xAOD::TruthParticleConta if (MC::isHiggs(motherPDG)) return Higgs; if (abs(motherPDG) == MC::PI0) return PiZero; - if (abs(motherPDG) == 35 || abs(motherPDG) == 36 || abs(motherPDG) == 37) return HiggsMSSM; // MSSM Higgs bosons. - if (abs(motherPDG) == 32 || abs(motherPDG) == 33 || abs(motherPDG) == 34 || abs(motherPDG) == 5100039 ) return HeavyBoson; // Heavy Bosons (Z' Z'' W'+) + KK excited graviton + if (MC::isMSSMHiggs(motherPDG)) return HiggsMSSM; + if (MC::isHeavyBoson(motherPDG) || std::abs(motherPDG) == 5100039 ) return HeavyBoson; // Heavy Bosons (Z' Z'' W'+) + KK excited graviton if (MC::isSUSY(motherPDG)) return SUSY; if (MC::isBSM(motherPDG)) return OtherBSM; @@ -1281,9 +1277,7 @@ MCTruthClassifier::defOrigOfNeutrino(const xAOD::TruthParticleContainer* mcTruth } while ((std::abs(pPDG) == nuFlav || MC::isTau(pPDG) || MC::isW(pPDG))); if (std::abs(pPDG) == nuFlav || MC::isTau(pPDG) || MC::isW(pPDG) || MC::isZ(pPDG) || MC::isHiggs(pPDG) || - std::abs(pPDG) == 35 || std::abs(pPDG) == 36 || std::abs(pPDG) == 37 || // MSSM Higgs bosons. - std::abs(pPDG) == 32 || std::abs(pPDG) == 33 || std::abs(pPDG) == 34 || // Heavy Bosons (Z' Z'' W'+) - MC::isTop(pPDG) || + MC::isMSSMHiggs(pPDG) || MC::isHeavyBoson(pPDG) || MC::isTop(pPDG) || std::abs(pPDG) == 9900024 || std::abs(pPDG) == 9900012 || std::abs(pPDG) == 9900014 || std::abs(pPDG) == 9900016 || // Left-right symmetric model WBoson || Right-handed NU_E || Right-handed NU_MU || Right-handed NU_TAU (std::abs(pPDG) < 2000040 && std::abs(pPDG) > 1000001)) { // FIXME This is nearly MC::isSUSY(pPDG), but slightly stricter. mother = MotherParent; @@ -1449,8 +1443,8 @@ MCTruthClassifier::defOrigOfNeutrino(const xAOD::TruthParticleContainer* mcTruth //-- McAtNLo if (MC::isHiggs(motherPDG)) return Higgs; - if (abs(motherPDG) == 35 || abs(motherPDG) == 36 || abs(motherPDG) == 37) return HiggsMSSM; // MSSM Higgs bosons. - if (abs(motherPDG) == 32 || abs(motherPDG) == 33 || abs(motherPDG) == 34) return HeavyBoson; // Heavy Bosons (Z' Z'' W'+) + if (MC::isMSSMHiggs(motherPDG)) return HiggsMSSM; + if (MC::isHeavyBoson(motherPDG)) return HeavyBoson; if (MC::isTau(motherPDG)) { ParticleOrigin tauOrig = defOrigOfTau(mcTruthTES, mother, motherPDG, info);