bool TopPairMuPlusJetsReferenceSelection2011::isGoodJet(const JetPointer jet) const { bool passesPtAndEta = jet->pt() > 20 && fabs(jet->eta()) < 2.4; bool passesJetID(false); JetAlgorithm::value algo = jet->getUsedAlgorithm(); if (algo == JetAlgorithm::CA08PF || algo == JetAlgorithm::PF2PAT) { //PFJet bool passNOD = jet->NOD() > 1; bool passNHF = jet->NHF() < 0.99; bool passNEF = jet->NEF() < 0.99; bool passCHF = jet->CEF() < 0.99; bool passNCH = true; bool passCEF = true; if (fabs(jet->eta()) < 2.4) { passCHF = jet->CHF() > 0; passNCH = jet->NCH() > 0; } passesJetID = passNOD && passCEF && passNHF && passNEF && passCHF && passNCH; ; } else { //assume CaloJet bool passesEMF = jet->emf() > 0.01; bool passesN90Hits = jet->n90Hits() > 1; bool passesFHPD = jet->fHPD() < 0.98; passesJetID = passesEMF && passesN90Hits && passesFHPD; } return passesPtAndEta && passesJetID; }
bool TopPairEMuReferenceSelection::isGoodJet(const JetPointer jet) const { /** * This function tests the jet ID and eta (and pt) range for jet * The cut of 20 GeV is actually obsolete since we only store jets above that threshold. * However, the jet id is only valid for jets above it. */ bool passesPtAndEta = jet->pt() > 20 && fabs(jet->eta()) < 2.5; bool passesJetID(false); JetAlgorithm::value algo = jet->getUsedAlgorithm(); if (algo == JetAlgorithm::CA08PF || algo == JetAlgorithm::PF2PAT) { //PFJet bool passNOD = jet->NOD() > 1; bool passNHF = jet->NHF() < 0.99; bool passNEF = jet->NEF() < 0.99; bool passCHF = true; bool passNCH = true; bool passCEF = true; if (fabs(jet->eta()) < 2.4) { passCEF = jet->CEF() < 0.99; passCHF = jet->CHF() > 0; passNCH = jet->NCH() > 0; } passesJetID = passNOD && passCEF && passNHF && passNEF && passCHF && passNCH; } else { //assume CaloJet bool passesEMF = jet->emf() > 0.01; bool passesN90Hits = jet->n90Hits() > 1; bool passesFHPD = jet->fHPD() < 0.98; passesJetID = passesEMF && passesN90Hits && passesFHPD; } return passesPtAndEta && passesJetID; }
extern void printPFJetExtra(const JetPointer jet) { cout << setw(30) << "NOD" << setw(30) << "CEF" << setw(30) << "NHF" << setw(30) << "NEF" << endl; cout << setw(30) << jet->NOD() << setw(30) << jet->CEF() << setw(30) << jet->NHF() << setw(30) << jet->NEF() << endl << endl; cout << setw(30) << "CHF" << setw(30) << "NCH" << setw(30) << "" << setw(30) << "" << endl; cout << setw(30) << jet->CHF() << setw(30) << jet->NCH() << setw(30) << "" << setw(30) << "" << endl << endl; }