ElectronPointer TestObjectFactory::goodCaloElectron() { ElectronPointer electron = ElectronPointer(new Electron(100., 99., 13., 5.)); electron->setUsedAlgorithm(ElectronAlgorithm::Calo); electron->setSuperClusterEta(0); electron->setD0_wrtBeamSpot(0); VertexPointer pv = TestObjectFactory::goodVertex(); electron->setZDistanceToPrimaryVertex(0); electron->setDEtaIn(0); electron->setDPhiIn(0); electron->setHadOverEm(0); electron->setSigmaIEtaIEta(0); electron->setNumberOfMissingInnerLayerHits(0); electron->setDCotThetaToNextTrack(0.5); electron->setDistToNextTrack(0.5); if (electron->isGood() == false) { cout << "Et " << electron->et() << endl; cout << "Eta " << electron->eta() << endl; cout << "VBTF 70 " << electron->VBTF_W70_ElectronID() << endl; cout << "d0 " << electron->d0_wrtBeamSpot() << endl; cout << "Et " << electron->et() << endl; } assert(electron->isGood()); assert(electron->isFromConversion() == false); assert(electron->isIsolated() == false); return electron; }
ElectronPointer TestObjectFactory::goodIsolatedElectron() { ElectronPointer electron = TestObjectFactory::goodCaloElectron(); electron->setTrackerIsolation(0.4); electron->setEcalIsolation(0.3); electron->setHcalIsolation(0.5); assert(electron->isIsolated()); assert(electron->isGood()); assert(electron->isFromConversion() == false); assert(electron->isTaggedAsConversion(0.02,0.02) == false); return electron; }
void Event::selectElectronsByQuality() { goodElectrons.clear(); goodIsolatedElectrons.clear(); goodPFIsolatedElectrons.clear(); for (unsigned int index = 0; index < allElectrons.size(); ++index) { ElectronPointer electron = allElectrons.at(index); if (electron->isGood()) goodElectrons.push_back(electron); if(electron->isGood(20)) qcdElectrons.push_back(electron); if (electron->isGood() && electron->isIsolated()) goodIsolatedElectrons.push_back(electron); if(electron->algorithm() == ElectronAlgorithm::ParticleFlow){ if(electron->isGood() && electron->isPFIsolated()) goodPFIsolatedElectrons.push_back(electron); } if (electron->isLoose()) looseElectrons.push_back(electron); } }