string Lepton::toString() const { stringstream out; out << Particle::toString(); out << "Lepton information" << "\n"; out << setw(30) << "rel. iso (DR = 0.3)" << setw(30) << "ECAL iso (DR = 0.3)" << setw(30) << "HCAL iso (DR = 0.3)" << setw(30) << "Track. iso (DR = 0.3)" << "\n"; out << setw(30) << relativeIsolation(0.3) << setw(30) << ecalIsolation(0.3) << setw(30) << hcalIsolation(0.3) << setw(30) << trackerIsolation(0.3) << "\n"; out << setw(30) << "rel. iso (DR = 0.4)" << setw(30) << "ECAL iso (DR = 0.4)" << setw(30) << "HCAL iso (DR = 0.4)" << setw(30) << "Track. iso (DR = 0.4)" << "\n"; out << setw(30) << relativeIsolation(0.4) << setw(30) << ecalIsolation(0.4) << setw(30) << hcalIsolation(0.4) << setw(30) << trackerIsolation(0.4) << "\n"; out << setw(30) << "rel. iso (DR = 0.5)" << setw(30) << "ECAL iso (DR = 0.5)" << setw(30) << "HCAL iso (DR = 0.5)" << setw(30) << "Track. iso (DR = 0.5)" << "\n"; out << setw(30) << relativeIsolation(0.5) << setw(30) << ecalIsolation(0.5) << setw(30) << hcalIsolation(0.5) << setw(30) << trackerIsolation(0.5) << "\n"; out << setw(30) << "PF rel. iso (DR = 0.3)" << setw(30) << "PF EGamma iso (DR = 0.3)" << setw(30) << "PF neutral hadron iso (DR = 0.3)" << setw(30) << "PF charged hadron. iso (DR = 0.3)" << "\n"; out << setw(30) << pfRelativeIsolation(0.3) << setw(30) << PFGammaIsolation(0.3) << setw(30) << PFNeutralHadronIsolation(0.3) << setw(30) << PFChargedHadronIsolation(0.3) << "\n"; out << setw(30) << "PF rel. iso (DR = 0.4)" << setw(30) << "PF EGamma iso (DR = 0.4)" << setw(30) << "PF neutral hadron iso (DR = 0.4)" << setw(30) << "PF charged hadron. iso (DR = 0.4)" << "\n"; out << setw(30) << pfRelativeIsolation(0.4) << setw(30) << PFGammaIsolation(0.4) << setw(30) << PFNeutralHadronIsolation(0.4) << setw(30) << PFChargedHadronIsolation(0.4) << "\n"; out << setw(30) << "PF rel. iso (DR = 0.5)" << setw(30) << "PF EGamma iso (DR = 0.5)" << setw(30) << "PF neutral hadron iso (DR = 0.5)" << setw(30) << "PF charged hadron. iso (DR = 0.5)" << "\n"; out << setw(30) << pfRelativeIsolation(0.5) << setw(30) << PFGammaIsolation(0.5) << setw(30) << PFNeutralHadronIsolation(0.5) << setw(30) << PFChargedHadronIsolation(0.5) << "\n"; return out.str(); }
double Lepton::relativeIsolation(double coneSize) const { return (ecalIsolation(coneSize) + hcalIsolation(coneSize) + trackerIsolation(coneSize)) / pt(); }