CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Attributes
Selector< T > Class Template Referenceabstract

Functor that operates on <T> More...

#include "CommonTools/Utils/interface/Selector.h"

Inheritance diagram for Selector< T >:
VersionedSelector< T >

Public Types

typedef std::binary_function
< T, pat::strbitset, bool > 
base_type
 
typedef std::pair< index_type,
size_t > 
cut_flow_item
 
typedef std::vector
< cut_flow_item
cut_flow_map
 
typedef T data_type
 
typedef std::map< index_type,
double > 
double_map
 
typedef pat::strbitset::index_type index_type
 
typedef std::map< index_type, int > int_map
 

Public Member Functions

void clear (std::string const &s)
 Turn off a given selection cut. More...
 
void clear (index_type const &i)
 
bool considerCut (std::string const &s) const
 consider the cut at index "s" More...
 
bool considerCut (index_type const &i) const
 
int cut (index_type const &i, int val) const
 Access the int cut values at index "s". More...
 
double cut (index_type const &i, double val) const
 Access the double cut values at index "s". More...
 
int cut (std::string s, int val) const
 Access the int cut values at index "s". More...
 
double cut (std::string s, double val) const
 Access the double cut values at index "s". More...
 
pat::strbitset getBitTemplate () const
 Get an empty bitset with the proper names. More...
 
double getPasses (std::string const &s) const
 Return the number of passing cases. More...
 
double getPasses (index_type const &i) const
 
bool ignoreCut (std::string const &s) const
 ignore the cut at index "s" More...
 
bool ignoreCut (index_type const &i) const
 
virtual bool operator() (T const &t, pat::strbitset &ret)=0
 This provides the interface for base classes to select objects. More...
 
virtual bool operator() (T const &t)
 This provides an alternative signature without the second ret. More...
 
virtual bool operator() (T const &t, edm::EventBase const &e, pat::strbitset &ret)
 This provides an alternative signature that includes extra information. More...
 
virtual bool operator() (T const &t, edm::EventBase const &e)
 This provides an alternative signature that includes extra information. More...
 
bool operator[] (std::string const &s) const
 
bool operator[] (index_type const &i) const
 
void passCut (pat::strbitset &ret, std::string const &s)
 Passing cuts. More...
 
void passCut (pat::strbitset &ret, index_type const &i)
 
void print (std::ostream &out) const
 Print the cut flow. More...
 
void printActiveCuts (std::ostream &out) const
 Print the cuts being considered. More...
 
virtual void push_back (std::string const &s)
 This is the registration of an individual cut string. More...
 
virtual void push_back (std::string const &s, int cut)
 This is the registration of an individual cut string, with an int cut value. More...
 
virtual void push_back (std::string const &s, double cut)
 This is the registration of an individual cut string, with a double cut value. More...
 
 Selector ()
 Constructor clears the bits. More...
 
void set (std::string const &s, bool val=true)
 Set a given selection cut, on or off. More...
 
void set (index_type const &i, bool val=true)
 
void set (std::string const &s, int cut, bool val=true)
 Set a given selection cut, on or off, and reset int cut value. More...
 
void set (index_type const &i, int cut, bool val=true)
 
void set (std::string const &s, double cut, bool val=true)
 Set a given selection cut, on or off, and reset int cut value. More...
 
void set (index_type const &i, double cut, bool val=true)
 
void setIgnored (pat::strbitset &ret)
 set ignored bits More...
 
void setIgnoredCuts (std::vector< std::string > const &bitsToIgnore)
 set the bits to ignore from a vector More...
 
virtual ~Selector ()
 

Protected Attributes

pat::strbitset bits_
 the bitset indexed by strings More...
 
cut_flow_map cutFlow_
 map of cut flows in "human" order More...
 
double_map doubleCuts_
 the double-value cut map More...
 
int_map intCuts_
 the int-value cut map More...
 
pat::strbitset retInternal_
 internal ret if users don't care about return bits More...
 

Detailed Description

template<class T>
class Selector< T >

Functor that operates on <T>

Implements a string-indexed bit_vector.

class template that implements an interface to Selector utilities. This allows the user to access individual cuts based on a string index. The user can then turn individual cuts on and off at will.

Author
Salvatore Rappoccio

Definition at line 24 of file Selector.h.

Member Typedef Documentation

template<class T>
typedef std::binary_function<T,pat::strbitset,bool> Selector< T >::base_type

Definition at line 28 of file Selector.h.

template<class T>
typedef std::pair<index_type, size_t> Selector< T >::cut_flow_item

Definition at line 30 of file Selector.h.

template<class T>
typedef std::vector<cut_flow_item> Selector< T >::cut_flow_map

Definition at line 31 of file Selector.h.

template<class T>
typedef T Selector< T >::data_type

Definition at line 27 of file Selector.h.

template<class T>
typedef std::map<index_type, double> Selector< T >::double_map

Definition at line 33 of file Selector.h.

template<class T>
typedef pat::strbitset::index_type Selector< T >::index_type

Definition at line 29 of file Selector.h.

template<class T>
typedef std::map<index_type, int> Selector< T >::int_map

Definition at line 32 of file Selector.h.

Constructor & Destructor Documentation

template<class T>
Selector< T >::Selector ( )
inline

Constructor clears the bits.

Definition at line 36 of file Selector.h.

template<class T>
virtual Selector< T >::~Selector ( )
inlinevirtual

Definition at line 43 of file Selector.h.

Member Function Documentation

template<class T>
void Selector< T >::clear ( std::string const &  s)
inline

Turn off a given selection cut.

Definition at line 131 of file Selector.h.

template<class T>
void Selector< T >::clear ( index_type const &  i)
inline

Definition at line 135 of file Selector.h.

template<class T>
bool Selector< T >::considerCut ( std::string const &  s) const
inline

consider the cut at index "s"

Definition at line 151 of file Selector.h.

template<class T>
bool Selector< T >::considerCut ( index_type const &  i) const
inline

Definition at line 154 of file Selector.h.

template<class T>
int Selector< T >::cut ( index_type const &  i,
int  val 
) const
inline

Access the int cut values at index "s".

Definition at line 194 of file Selector.h.

template<class T>
double Selector< T >::cut ( index_type const &  i,
double  val 
) const
inline

Access the double cut values at index "s".

Definition at line 198 of file Selector.h.

template<class T>
int Selector< T >::cut ( std::string  s,
int  val 
) const
inline

Access the int cut values at index "s".

Definition at line 203 of file Selector.h.

template<class T>
double Selector< T >::cut ( std::string  s,
double  val 
) const
inline

Access the double cut values at index "s".

Definition at line 207 of file Selector.h.

template<class T>
pat::strbitset Selector< T >::getBitTemplate ( ) const
inline

Get an empty bitset with the proper names.

Definition at line 212 of file Selector.h.

Referenced by SimpleJetFilter::filter().

template<class T>
double Selector< T >::getPasses ( std::string const &  s) const
inline

Return the number of passing cases.

Definition at line 269 of file Selector.h.

template<class T>
double Selector< T >::getPasses ( index_type const &  i) const
inline

Definition at line 272 of file Selector.h.

template<class T>
bool Selector< T >::ignoreCut ( std::string const &  s) const
inline

ignore the cut at index "s"

Definition at line 159 of file Selector.h.

template<class T>
bool Selector< T >::ignoreCut ( index_type const &  i) const
inline

Definition at line 162 of file Selector.h.

template<class T>
virtual bool Selector< T >::operator() ( T const &  t,
pat::strbitset ret 
)
pure virtual
template<class T>
virtual bool Selector< T >::operator() ( T const &  t)
inlinevirtual
template<class T>
virtual bool Selector< T >::operator() ( T const &  t,
edm::EventBase const &  e,
pat::strbitset ret 
)
inlinevirtual
template<class T>
virtual bool Selector< T >::operator() ( T const &  t,
edm::EventBase const &  e 
)
inlinevirtual
template<class T>
bool Selector< T >::operator[] ( std::string const &  s) const
inline

Access the selector cut at index "s". "true" means to consider the cut. "false" means to ignore the cut.

Definition at line 142 of file Selector.h.

template<class T>
bool Selector< T >::operator[] ( index_type const &  i) const
inline

Definition at line 146 of file Selector.h.

template<class T>
void Selector< T >::passCut ( pat::strbitset ret,
std::string const &  s 
)
inline

Passing cuts.

Definition at line 176 of file Selector.h.

template<class T>
void Selector< T >::passCut ( pat::strbitset ret,
index_type const &  i 
)
inline

Definition at line 180 of file Selector.h.

template<class T>
void Selector< T >::print ( std::ostream &  out) const
inline

Print the cut flow.

Definition at line 233 of file Selector.h.

template<class T>
void Selector< T >::printActiveCuts ( std::ostream &  out) const
inline

Print the cuts being considered.

Definition at line 254 of file Selector.h.

template<class T>
virtual void Selector< T >::push_back ( std::string const &  s)
inlinevirtual

This is the registration of an individual cut string.

Definition at line 46 of file Selector.h.

template<class T>
virtual void Selector< T >::push_back ( std::string const &  s,
int  cut 
)
inlinevirtual

This is the registration of an individual cut string, with an int cut value.

Definition at line 56 of file Selector.h.

template<class T>
virtual void Selector< T >::push_back ( std::string const &  s,
double  cut 
)
inlinevirtual

This is the registration of an individual cut string, with a double cut value.

Definition at line 66 of file Selector.h.

template<class T>
void Selector< T >::set ( std::string const &  s,
bool  val = true 
)
inline

Set a given selection cut, on or off.

Definition at line 105 of file Selector.h.

template<class T>
void Selector< T >::set ( index_type const &  i,
bool  val = true 
)
inline

Definition at line 108 of file Selector.h.

template<class T>
void Selector< T >::set ( std::string const &  s,
int  cut,
bool  val = true 
)
inline

Set a given selection cut, on or off, and reset int cut value.

Definition at line 113 of file Selector.h.

template<class T>
void Selector< T >::set ( index_type const &  i,
int  cut,
bool  val = true 
)
inline

Definition at line 116 of file Selector.h.

template<class T>
void Selector< T >::set ( std::string const &  s,
double  cut,
bool  val = true 
)
inline

Set a given selection cut, on or off, and reset int cut value.

Definition at line 122 of file Selector.h.

template<class T>
void Selector< T >::set ( index_type const &  i,
double  cut,
bool  val = true 
)
inline

Definition at line 125 of file Selector.h.

template<class T>
void Selector< T >::setIgnored ( pat::strbitset ret)
inline

set ignored bits

Definition at line 224 of file Selector.h.

template<class T>
void Selector< T >::setIgnoredCuts ( std::vector< std::string > const &  bitsToIgnore)
inline

set the bits to ignore from a vector

Definition at line 167 of file Selector.h.

Member Data Documentation

template<class T>
pat::strbitset Selector< T >::bits_
protected

the bitset indexed by strings

Definition at line 286 of file Selector.h.

template<class T>
cut_flow_map Selector< T >::cutFlow_
protected

map of cut flows in "human" order

Definition at line 290 of file Selector.h.

template<class T>
double_map Selector< T >::doubleCuts_
protected

the double-value cut map

Definition at line 289 of file Selector.h.

template<class T>
int_map Selector< T >::intCuts_
protected

the int-value cut map

Definition at line 288 of file Selector.h.

template<class T>
pat::strbitset Selector< T >::retInternal_
protected

internal ret if users don't care about return bits

Definition at line 287 of file Selector.h.