CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

ElectronIDSelector< algo > Struct Template Reference

#include <ElectronIDSelector.h>

List of all members.

Public Types

typedef reco::GsfElectronCollection collection
typedef container::const_iterator const_iterator
typedef std::vector
< reco::GsfElectronRef
container

Public Member Functions

const_iterator begin () const
 ElectronIDSelector (const edm::ParameterSet &iConfig)
const_iterator end () const
void select (edm::Handle< reco::GsfElectronCollection > electrons, const edm::Event &iEvent, const edm::EventSetup &iEs)
virtual ~ElectronIDSelector ()

Private Attributes

algo select_
container selected_
double threshold_

Detailed Description

template<class algo>
struct ElectronIDSelector< algo >

Definition at line 14 of file ElectronIDSelector.h.


Member Typedef Documentation

template<class algo >
typedef reco::GsfElectronCollection ElectronIDSelector< algo >::collection

Definition at line 22 of file ElectronIDSelector.h.

template<class algo >
typedef container::const_iterator ElectronIDSelector< algo >::const_iterator

Definition at line 28 of file ElectronIDSelector.h.

template<class algo >
typedef std::vector<reco::GsfElectronRef> ElectronIDSelector< algo >::container

Definition at line 26 of file ElectronIDSelector.h.


Constructor & Destructor Documentation

template<class algo >
ElectronIDSelector< algo >::ElectronIDSelector ( const edm::ParameterSet iConfig) [inline, explicit]

Definition at line 16 of file ElectronIDSelector.h.

                                                               :
            select_(iConfig),
            threshold_(iConfig.getParameter<double>("threshold")) 
   {
   }
template<class algo >
virtual ElectronIDSelector< algo >::~ElectronIDSelector ( ) [inline, virtual]

Definition at line 22 of file ElectronIDSelector.h.

{};

Member Function Documentation

template<class algo >
const_iterator ElectronIDSelector< algo >::begin ( void  ) const [inline]

Definition at line 31 of file ElectronIDSelector.h.

References ElectronIDSelector< algo >::selected_.

{ return selected_.begin () ; }
template<class algo >
const_iterator ElectronIDSelector< algo >::end ( void  ) const [inline]

Definition at line 32 of file ElectronIDSelector.h.

References ElectronIDSelector< algo >::selected_.

{ return  selected_.end () ; }
template<class algo >
void ElectronIDSelector< algo >::select ( edm::Handle< reco::GsfElectronCollection electrons,
const edm::Event iEvent,
const edm::EventSetup iEs 
) [inline]

Definition at line 34 of file ElectronIDSelector.h.

References i, ElectronIDSelector< algo >::select_, ElectronIDSelector< algo >::selected_, and ElectronIDSelector< algo >::threshold_.

   {
     selected_.clear();
     select_.newEvent(iEvent, iEs);
     // Loop over electrons
     unsigned int i = 0 ;
     for ( reco::GsfElectronCollection::const_iterator eleIt = electrons->begin () ;
                                                       eleIt != electrons->end () ;
                                                       ++eleIt )
        {
         edm::Ref<reco::GsfElectronCollection> electronRef(electrons,i);
         if (select_((*eleIt),iEvent,iEs) > threshold_)
             selected_.push_back (electronRef) ;
             //selected_.push_back ( & * eleIt) ;
         ++i;
        }
   }

Member Data Documentation

template<class algo >
algo ElectronIDSelector< algo >::select_ [private]

Definition at line 56 of file ElectronIDSelector.h.

Referenced by ElectronIDSelector< algo >::select().

template<class algo >
container ElectronIDSelector< algo >::selected_ [private]
template<class algo >
double ElectronIDSelector< algo >::threshold_ [private]

Definition at line 57 of file ElectronIDSelector.h.

Referenced by ElectronIDSelector< algo >::select().