CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

CategoryCriteria< Collection, Classifier > Class Template Reference

Implement a selector given a track or vertex collection and track or vertex classifier. More...

#include <CategoryCriteria.h>

List of all members.

Public Types

typedef Collection collection
typedef container::const_iterator const_iterator
typedef std::vector< const type * > container
typedef Collection::value_type type

Public Member Functions

const_iterator begin () const
 CategoryCriteria (const edm::ParameterSet &config)
const_iterator end () const
void select (const edm::Handle< collection > &collectionHandler, const edm::Event &event, const edm::EventSetup &setup)
std::size_t size () const

Private Attributes

Classifier classifier_
StringCutObjectSelector
< typename
Classifier::Categories > 
evaluate_
container selected_

Detailed Description

template<typename Collection, typename Classifier>
class CategoryCriteria< Collection, Classifier >

Implement a selector given a track or vertex collection and track or vertex classifier.

Definition at line 11 of file CategoryCriteria.h.


Member Typedef Documentation

template<typename Collection , typename Classifier >
typedef Collection CategoryCriteria< Collection, Classifier >::collection

Definition at line 17 of file CategoryCriteria.h.

template<typename Collection , typename Classifier >
typedef container::const_iterator CategoryCriteria< Collection, Classifier >::const_iterator

Definition at line 26 of file CategoryCriteria.h.

template<typename Collection , typename Classifier >
typedef std::vector<const type *> CategoryCriteria< Collection, Classifier >::container

Definition at line 23 of file CategoryCriteria.h.

template<typename Collection , typename Classifier >
typedef Collection::value_type CategoryCriteria< Collection, Classifier >::type

Definition at line 20 of file CategoryCriteria.h.


Constructor & Destructor Documentation

template<typename Collection , typename Classifier >
CategoryCriteria< Collection, Classifier >::CategoryCriteria ( const edm::ParameterSet config) [inline]

Definition at line 29 of file CategoryCriteria.h.

                                                     :
            classifier_(config),
            evaluate_( config.getParameter<std::string>("cut") ) {}

Member Function Documentation

template<typename Collection , typename Classifier >
const_iterator CategoryCriteria< Collection, Classifier >::begin ( void  ) const [inline]

Definition at line 56 of file CategoryCriteria.h.

References CategoryCriteria< Collection, Classifier >::selected_.

    {
        return selected_.begin();
    }
template<typename Collection , typename Classifier >
const_iterator CategoryCriteria< Collection, Classifier >::end ( void  ) const [inline]

Definition at line 62 of file CategoryCriteria.h.

References CategoryCriteria< Collection, Classifier >::selected_.

    {
        return selected_.end();
    }
template<typename Collection , typename Classifier >
void CategoryCriteria< Collection, Classifier >::select ( const edm::Handle< collection > &  collectionHandler,
const edm::Event event,
const edm::EventSetup setup 
) [inline]

Definition at line 34 of file CategoryCriteria.h.

References CategoryCriteria< Collection, Classifier >::classifier_, CategoryCriteria< Collection, Classifier >::evaluate_, i, and CategoryCriteria< Collection, Classifier >::selected_.

    {

        selected_.clear();

        // const collection & collectionPointer = *(collectionHandler.product());

        classifier_.newEvent(event, setup);

        for (typename collection::size_type i = 0; i < collectionHandler->size(); ++i)
        {
            edm::Ref<Collection> member(collectionHandler, i);

            classifier_.evaluate(member);

            // Classifier is evaluated using StringCutObjectSelector
            if ( evaluate_(classifier_) )
                selected_.push_back( &(*member) );
        }
    }
template<typename Collection , typename Classifier >
std::size_t CategoryCriteria< Collection, Classifier >::size ( void  ) const [inline]

Definition at line 68 of file CategoryCriteria.h.

References CategoryCriteria< Collection, Classifier >::selected_.

    {
        return selected_.size();
    }

Member Data Documentation

template<typename Collection , typename Classifier >
Classifier CategoryCriteria< Collection, Classifier >::classifier_ [private]
template<typename Collection , typename Classifier >
StringCutObjectSelector<typename Classifier::Categories> CategoryCriteria< Collection, Classifier >::evaluate_ [private]
template<typename Collection , typename Classifier >
container CategoryCriteria< Collection, Classifier >::selected_ [private]