Example #1
0
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;
}
Example #2
0
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;
}
Example #3
0
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);
    }
}