const LeptonPointer TopPairMuPlusJetsReferenceSelection2011::signalLepton(const EventPtr event) const { if (!hasExactlyOneIsolatedLepton(event)) { cerr << "An error occurred in SignalSelection in event (no = " << event->eventnumber(); cerr << ", run = " << event->runnumber() << ", lumi = " << event->lumiblock() << "!" << endl; cerr << "File = " << event->file() << endl; cerr << "Access exception: No signal lepton could be found. Event doesn't pass 'hasExactlyOneIsolatedLepton' selection" << endl; throw "Access exception: No signal lepton could be found. Event doesn't pass 'hasExactlyOneIsolatedLepton' selection"; } const MuonCollection allMuons(event->Muons()); MuonCollection goodIsolatedMuons; for (unsigned int index = 0; index < allMuons.size(); ++index) { const MuonPointer muon(allMuons.at(index)); if (isGoodMuon(muon) && isIsolated(muon)) goodIsolatedMuons.push_back(muon); } return goodIsolatedMuons.front(); }