CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/PhysicsTools/PatUtils/src/DuplicatedPhotonRemover.cc

Go to the documentation of this file.
00001 #include "PhysicsTools/PatUtils/interface/DuplicatedPhotonRemover.h"
00002 
00003 #include <algorithm>
00004 
00005 std::auto_ptr< std::vector<size_t> > 
00006 pat::DuplicatedPhotonRemover::duplicatesBySeed(const reco::PhotonCollection &photons) const {
00007     return duplicatesBySeed<reco::PhotonCollection>(photons);
00008 }
00009 
00010 std::auto_ptr< std::vector<size_t> > 
00011 pat::DuplicatedPhotonRemover::duplicatesBySeed(const edm::View<reco::Photon> &photons) const {
00012     return duplicatesBySeed< edm::View<reco::Photon> >(photons);
00013 }
00014 
00015 std::auto_ptr< std::vector<size_t> > 
00016 pat::DuplicatedPhotonRemover::duplicatesBySuperCluster(const reco::PhotonCollection &photons) const {
00017     return duplicatesBySuperCluster<reco::PhotonCollection>(photons);
00018 }
00019 
00020 std::auto_ptr< std::vector<size_t> > 
00021 pat::DuplicatedPhotonRemover::duplicatesBySuperCluster(const edm::View<reco::Photon> &photons) const {
00022     return duplicatesBySuperCluster< edm::View<reco::Photon> >(photons);
00023 }
00024 
00025 // ================ ELECTRONS  =============================
00026 // ---------------- against EleCollection  -----------------------------
00027 std::auto_ptr< pat::OverlapList >
00028 pat::DuplicatedPhotonRemover::electronsBySeed(const reco::PhotonCollection &photons, 
00029         const reco::GsfElectronCollection electrons) const {
00030     return electronsBySeed<reco::PhotonCollection, reco::GsfElectronCollection>(photons, electrons);
00031 }
00032 
00033 std::auto_ptr< pat::OverlapList >
00034 pat::DuplicatedPhotonRemover::electronsBySeed(const edm::View<reco::Photon> &photons, 
00035         const reco::GsfElectronCollection electrons) const {
00036     return electronsBySeed<edm::View<reco::Photon>, reco::GsfElectronCollection>(photons, electrons);
00037 }
00038 
00039 std::auto_ptr< pat::OverlapList >
00040 pat::DuplicatedPhotonRemover::electronsBySuperCluster(const edm::View<reco::Photon> &photons, 
00041         const reco::GsfElectronCollection electrons) const {
00042     return electronsBySuperCluster<edm::View<reco::Photon>, reco::GsfElectronCollection>(photons, electrons);
00043 }
00044 
00045 std::auto_ptr< pat::OverlapList >
00046 pat::DuplicatedPhotonRemover::electronsBySuperCluster(const reco::PhotonCollection &photons, 
00047         const reco::GsfElectronCollection  electrons) const {
00048     return electronsBySuperCluster<reco::PhotonCollection, reco::GsfElectronCollection>(photons, electrons);
00049 }
00050 
00051 // ---------------- against EleView  -----------------------------
00052 std::auto_ptr< pat::OverlapList >
00053 pat::DuplicatedPhotonRemover::electronsBySeed(const reco::PhotonCollection &photons, 
00054         const edm::View<reco::GsfElectron>  electrons) const {
00055     return electronsBySeed<reco::PhotonCollection, edm::View<reco::GsfElectron> >(photons, electrons);
00056 }
00057 
00058 std::auto_ptr< pat::OverlapList >
00059 pat::DuplicatedPhotonRemover::electronsBySeed(const edm::View<reco::Photon> &photons, 
00060         const edm::View<reco::GsfElectron>  electrons) const {
00061     return electronsBySeed<edm::View<reco::Photon>, edm::View<reco::GsfElectron> >(photons, electrons);
00062 }
00063 
00064 std::auto_ptr< pat::OverlapList >
00065 pat::DuplicatedPhotonRemover::electronsBySuperCluster(const edm::View<reco::Photon> &photons, 
00066         const edm::View<reco::GsfElectron>  electrons) const {
00067     return electronsBySuperCluster<edm::View<reco::Photon>, edm::View<reco::GsfElectron> >(photons, electrons);
00068 }
00069 
00070 std::auto_ptr< pat::OverlapList >
00071 pat::DuplicatedPhotonRemover::electronsBySuperCluster(const reco::PhotonCollection &photons, 
00072         const edm::View<reco::GsfElectron>  electrons) const {
00073     return electronsBySuperCluster<reco::PhotonCollection, edm::View<reco::GsfElectron> >(photons, electrons);
00074 }
00075