CMS 3D CMS Logo

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

cut-flow versioning info in the event provenance More...

#include "PhysicsTools/SelectorUtils/interface/VersionedSelector.h"

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

Public Member Functions

const unsigned bitMap () const
 
vid::CutFlowResult cutFlowResult () const
 
const size_t cutFlowSize () const
 
const unsigned howFarInCutFlow () const
 
void initialize (const edm::ParameterSet &)
 
const unsigned char * md55Raw () const
 
const std::string & md5String () const
 
const std::string & name () const
 
virtual bool operator() (const T &ref, pat::strbitset &ret) overridefinal
 This provides the interface for base classes to select objects. More...
 
virtual bool operator() (const T &ref, edm::EventBase const &e, pat::strbitset &ret) overridefinal
 This provides an alternative signature that includes extra information. More...
 
bool operator() (typename T::value_type const &t)
 
bool operator() (typename T::value_type const &t, edm::EventBase const &e)
 
virtual bool operator() (T const &t) overridefinal
 This provides an alternative signature without the second ret. More...
 
virtual bool operator() (T const &t, edm::EventBase const &e) overridefinal
 This provides an alternative signature that includes extra information. More...
 
bool operator== (const VersionedSelector &other) const
 
void setConsumes (edm::ConsumesCollector)
 
 VersionedSelector ()
 
 VersionedSelector (const edm::ParameterSet &conf)
 
- Public Member Functions inherited from Selector< T >
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
 
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

unsigned bitmap_
 
std::vector< typename Selector
< T >::index_type
cut_indices_
 
std::vector< std::shared_ptr
< candf::CandidateCut > > 
cuts_
 
unsigned howfar_
 
bool initialized_
 
std::vector< bool > needs_event_content_
 
std::vector< double > values_
 
- Protected Attributes inherited from Selector< T >
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...
 

Private Attributes

unsigned char id_md5_ [MD5_DIGEST_LENGTH]
 
std::string md5_string_
 
std::string name_
 

Additional Inherited Members

- Public Types inherited from Selector< T >
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
 

Detailed Description

template<class T>
class VersionedSelector< T >

cut-flow versioning info in the event provenance

class template to implement versioning for IDs that's available in the event provenance or available by hash-code in the event record

Author
Lindsey Gray

Definition at line 46 of file VersionedSelector.h.

Constructor & Destructor Documentation

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

Definition at line 48 of file VersionedSelector.h.

template<class T>
VersionedSelector< T >::VersionedSelector ( const edm::ParameterSet conf)
inline

Definition at line 50 of file VersionedSelector.h.

Member Function Documentation

template<class T>
const unsigned VersionedSelector< T >::bitMap ( ) const
inline

Definition at line 150 of file VersionedSelector.h.

template<class T >
vid::CutFlowResult VersionedSelector< T >::cutFlowResult ( ) const

Definition at line 240 of file VersionedSelector.h.

template<class T>
const size_t VersionedSelector< T >::cutFlowSize ( ) const
inline

Definition at line 152 of file VersionedSelector.h.

template<class T>
const unsigned VersionedSelector< T >::howFarInCutFlow ( ) const
inline

Definition at line 148 of file VersionedSelector.h.

template<class T >
void VersionedSelector< T >::initialize ( const edm::ParameterSet conf)

Definition at line 175 of file VersionedSelector.h.

template<class T>
const unsigned char* VersionedSelector< T >::md55Raw ( ) const
inline

Definition at line 139 of file VersionedSelector.h.

template<class T>
const std::string& VersionedSelector< T >::md5String ( ) const
inline

Definition at line 144 of file VersionedSelector.h.

Referenced by VIDSelectorBase.VIDSelectorBase::initialize().

template<class T>
const std::string& VersionedSelector< T >::name ( void  ) const
inline

Definition at line 146 of file VersionedSelector.h.

Referenced by VIDSelectorBase.VIDSelectorBase::initialize().

template<class T>
virtual bool VersionedSelector< T >::operator() ( const T t,
pat::strbitset ret 
)
inlinefinaloverridevirtual

This provides the interface for base classes to select objects.

Implements Selector< T >.

Definition at line 74 of file VersionedSelector.h.

template<class T>
virtual bool VersionedSelector< T >::operator() ( const T t,
edm::EventBase const &  e,
pat::strbitset ret 
)
inlinefinaloverridevirtual

This provides an alternative signature that includes extra information.

Reimplemented from Selector< T >.

Definition at line 99 of file VersionedSelector.h.

template<class T>
bool VersionedSelector< T >::operator() ( typename T::value_type const &  t)
inline

Definition at line 115 of file VersionedSelector.h.

template<class T>
bool VersionedSelector< T >::operator() ( typename T::value_type const &  t,
edm::EventBase const &  e 
)
inline

Definition at line 120 of file VersionedSelector.h.

template<class T>
virtual bool VersionedSelector< T >::operator() ( T const &  t)
inlinefinaloverridevirtual

This provides an alternative signature without the second ret.

Reimplemented from Selector< T >.

Definition at line 125 of file VersionedSelector.h.

template<class T>
virtual bool VersionedSelector< T >::operator() ( T const &  t,
edm::EventBase const &  e 
)
inlinefinaloverridevirtual

This provides an alternative signature that includes extra information.

Reimplemented from Selector< T >.

Definition at line 132 of file VersionedSelector.h.

template<class T>
bool VersionedSelector< T >::operator== ( const VersionedSelector< T > &  other) const
inline

Definition at line 140 of file VersionedSelector.h.

template<class T >
void VersionedSelector< T >::setConsumes ( edm::ConsumesCollector  cc)

Definition at line 256 of file VersionedSelector.h.

Member Data Documentation

template<class T>
unsigned VersionedSelector< T >::bitmap_
protected

Definition at line 165 of file VersionedSelector.h.

template<class T>
std::vector<typename Selector<T>::index_type> VersionedSelector< T >::cut_indices_
protected

Definition at line 164 of file VersionedSelector.h.

template<class T>
std::vector<std::shared_ptr< candf::CandidateCut > > VersionedSelector< T >::cuts_
protected

Definition at line 162 of file VersionedSelector.h.

template<class T>
unsigned VersionedSelector< T >::howfar_
protected

Definition at line 165 of file VersionedSelector.h.

template<class T>
unsigned char VersionedSelector< T >::id_md5_[MD5_DIGEST_LENGTH]
private

Definition at line 169 of file VersionedSelector.h.

template<class T>
bool VersionedSelector< T >::initialized_
protected

Definition at line 161 of file VersionedSelector.h.

template<class T>
std::string VersionedSelector< T >::md5_string_
private

Definition at line 170 of file VersionedSelector.h.

template<class T>
std::string VersionedSelector< T >::name_
private

Definition at line 170 of file VersionedSelector.h.

template<class T>
std::vector<bool> VersionedSelector< T >::needs_event_content_
protected

Definition at line 163 of file VersionedSelector.h.

template<class T>
std::vector<double> VersionedSelector< T >::values_
protected

Definition at line 166 of file VersionedSelector.h.