CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
pat::TriggerFilter Class Reference

Analysis-level HLTrigger filter class. More...

#include "DataFormats/PatCandidates/interface/TriggerFilter.h"

Public Member Functions

void addObjectId (trigger::TriggerObjectType triggerObjectType)
 
void addObjectId (int triggerObjectType)
 
void addObjectKey (unsigned objectKey)
 Add a new trigger object collection index. More...
 
void addTriggerObjectType (trigger::TriggerObjectType triggerObjectType)
 Add a new trigger object type identifier. More...
 
void addTriggerObjectType (int triggerObjectType)
 
bool hasObjectId (trigger::TriggerObjectType triggerObjectType) const
 
bool hasObjectId (int triggerObjectType) const
 
bool hasObjectKey (unsigned objectKey) const
 Checks, if a certain trigger object collection index is assigned. More...
 
bool hasTriggerObjectType (trigger::TriggerObjectType triggerObjectType) const
 Checks, if a certain trigger object type identifier is assigned. More...
 
bool hasTriggerObjectType (int triggerObjectType) const
 
bool isFiring () const
 
bool isL3 () const
 
const std::string & label () const
 Get the filter label. More...
 
std::vector< int > objectIds () const
 
const std::vector< unsigned > & objectKeys () const
 Get all trigger object collection indeces. More...
 
bool saveTags () const
 Get the L3 status. More...
 
void setLabel (const std::string &label)
 Methods. More...
 
void setSaveTags (bool saveTags)
 Set the L3 status. More...
 
bool setStatus (int status)
 
void setType (const std::string &type)
 Set the filter module type. More...
 
int status () const
 Get the filter status. More...
 
 TriggerFilter ()
 Constructors and Desctructor. More...
 
 TriggerFilter (const std::string &label, int status=-1, bool saveTags=false)
 Constructor from std::string for filter label. More...
 
 TriggerFilter (const edm::InputTag &tag, int status=-1, bool saveTags=false)
 Constructor from edm::InputTag for filter label. More...
 
std::vector< int > triggerObjectTypes () const
 Get all trigger object type identifiers. More...
 
const std::string & type () const
 Get the filter module type. More...
 
virtual ~TriggerFilter ()
 Destructor. More...
 

Private Attributes

std::string label_
 Data Members. More...
 
std::vector< unsigned > objectKeys_
 
bool saveTags_
 
int status_
 Indicator for filter status: -1: not run, 0: failed, 1: succeeded. More...
 
std::vector
< trigger::TriggerObjectType
triggerObjectTypes_
 
std::string type_
 CMSSW module type. More...
 

Detailed Description

Analysis-level HLTrigger filter class.

TriggerFilter implements a container for trigger filters' information within the 'pat' namespace. For detailed information, consult https://twiki.cern.ch/twiki/bin/view/CMS/SWGuidePATTrigger#TriggerFilter

Author
Volker Adler
Version
Id:
TriggerFilter.h,v 1.10 2013/06/11 13:24:49 vadler Exp

Definition at line 37 of file TriggerFilter.h.

Constructor & Destructor Documentation

TriggerFilter::TriggerFilter ( )

Constructors and Desctructor.

Default constructor

Definition at line 16 of file TriggerFilter.cc.

References objectKeys_, and triggerObjectTypes_.

16  :
17  label_(),
18  type_(),
19  status_(),
20  saveTags_()
21 {
22  objectKeys_.clear();
23  triggerObjectTypes_.clear();
24 }
int status_
Indicator for filter status: -1: not run, 0: failed, 1: succeeded.
Definition: TriggerFilter.h:53
std::vector< unsigned > objectKeys_
Definition: TriggerFilter.h:47
std::vector< trigger::TriggerObjectType > triggerObjectTypes_
Definition: TriggerFilter.h:51
std::string label_
Data Members.
Definition: TriggerFilter.h:42
std::string type_
CMSSW module type.
Definition: TriggerFilter.h:44
TriggerFilter::TriggerFilter ( const std::string &  label,
int  status = -1,
bool  saveTags = false 
)

Constructor from std::string for filter label.

Definition at line 28 of file TriggerFilter.cc.

References objectKeys_, and triggerObjectTypes_.

28  :
29  label_( label ),
30  type_(),
31  status_( status ),
33 {
34  objectKeys_.clear();
35  triggerObjectTypes_.clear();
36 }
int status_
Indicator for filter status: -1: not run, 0: failed, 1: succeeded.
Definition: TriggerFilter.h:53
std::vector< unsigned > objectKeys_
Definition: TriggerFilter.h:47
std::vector< trigger::TriggerObjectType > triggerObjectTypes_
Definition: TriggerFilter.h:51
bool saveTags() const
Get the L3 status.
int status() const
Get the filter status.
std::string label_
Data Members.
Definition: TriggerFilter.h:42
std::string type_
CMSSW module type.
Definition: TriggerFilter.h:44
const std::string & label() const
Get the filter label.
Definition: TriggerFilter.h:91
TriggerFilter::TriggerFilter ( const edm::InputTag tag,
int  status = -1,
bool  saveTags = false 
)

Constructor from edm::InputTag for filter label.

Definition at line 40 of file TriggerFilter.cc.

References objectKeys_, and triggerObjectTypes_.

40  :
41  label_( tag.label() ),
42  type_(),
43  status_( status ),
45 {
46  objectKeys_.clear();
47  triggerObjectTypes_.clear();
48 }
int status_
Indicator for filter status: -1: not run, 0: failed, 1: succeeded.
Definition: TriggerFilter.h:53
std::vector< unsigned > objectKeys_
Definition: TriggerFilter.h:47
std::vector< trigger::TriggerObjectType > triggerObjectTypes_
Definition: TriggerFilter.h:51
bool saveTags() const
Get the L3 status.
int status() const
Get the filter status.
std::string label_
Data Members.
Definition: TriggerFilter.h:42
std::string type_
CMSSW module type.
Definition: TriggerFilter.h:44
std::string const & label() const
Definition: InputTag.h:25
virtual pat::TriggerFilter::~TriggerFilter ( )
inlinevirtual

Destructor.

Definition at line 70 of file TriggerFilter.h.

70 {};

Member Function Documentation

void pat::TriggerFilter::addObjectId ( trigger::TriggerObjectType  triggerObjectType)
inline

Definition at line 83 of file TriggerFilter.h.

References addTriggerObjectType().

83 { addTriggerObjectType( triggerObjectType ); }; // for backward compatibility
void addTriggerObjectType(trigger::TriggerObjectType triggerObjectType)
Add a new trigger object type identifier.
Definition: TriggerFilter.h:81
void pat::TriggerFilter::addObjectId ( int  triggerObjectType)
inline

Definition at line 84 of file TriggerFilter.h.

References addTriggerObjectType().

84 { addTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); }; // for backward compatibility
void addTriggerObjectType(trigger::TriggerObjectType triggerObjectType)
Add a new trigger object type identifier.
Definition: TriggerFilter.h:81
void pat::TriggerFilter::addObjectKey ( unsigned  objectKey)
inline

Add a new trigger object collection index.

Definition at line 79 of file TriggerFilter.h.

References hasObjectKey(), and objectKeys_.

Referenced by pat::PATTriggerProducer::produce().

79 { if ( ! hasObjectKey( objectKey ) ) objectKeys_.push_back( objectKey ); };
std::vector< unsigned > objectKeys_
Definition: TriggerFilter.h:47
bool hasObjectKey(unsigned objectKey) const
Checks, if a certain trigger object collection index is assigned.
void pat::TriggerFilter::addTriggerObjectType ( trigger::TriggerObjectType  triggerObjectType)
inline

Add a new trigger object type identifier.

Definition at line 81 of file TriggerFilter.h.

References hasTriggerObjectType(), and triggerObjectTypes_.

Referenced by addObjectId(), and pat::PATTriggerProducer::produce().

81 { if ( ! hasTriggerObjectType( triggerObjectType ) ) triggerObjectTypes_.push_back( triggerObjectType ); };
std::vector< trigger::TriggerObjectType > triggerObjectTypes_
Definition: TriggerFilter.h:51
bool hasTriggerObjectType(trigger::TriggerObjectType triggerObjectType) const
Checks, if a certain trigger object type identifier is assigned.
void pat::TriggerFilter::addTriggerObjectType ( int  triggerObjectType)
inline

Definition at line 82 of file TriggerFilter.h.

References addTriggerObjectType().

Referenced by addTriggerObjectType().

82 { addTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); };
void addTriggerObjectType(trigger::TriggerObjectType triggerObjectType)
Add a new trigger object type identifier.
Definition: TriggerFilter.h:81
bool pat::TriggerFilter::hasObjectId ( trigger::TriggerObjectType  triggerObjectType) const
inline

Definition at line 112 of file TriggerFilter.h.

References hasTriggerObjectType().

112 { return hasTriggerObjectType( triggerObjectType ); }; // for backward compatibility
bool hasTriggerObjectType(trigger::TriggerObjectType triggerObjectType) const
Checks, if a certain trigger object type identifier is assigned.
bool pat::TriggerFilter::hasObjectId ( int  triggerObjectType) const
inline

Definition at line 113 of file TriggerFilter.h.

References hasTriggerObjectType().

113 { return hasTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); }; // for backward compatibility
bool hasTriggerObjectType(trigger::TriggerObjectType triggerObjectType) const
Checks, if a certain trigger object type identifier is assigned.
bool TriggerFilter::hasObjectKey ( unsigned  objectKey) const

Checks, if a certain trigger object collection index is assigned.

Definition at line 75 of file TriggerFilter.cc.

References objectKeys().

Referenced by addObjectKey().

76 {
77  for ( size_t iO = 0; iO < objectKeys().size(); ++iO ) {
78  if ( objectKeys().at( iO ) == objectKey ) return true;
79  }
80  return false;
81 }
const std::vector< unsigned > & objectKeys() const
Get all trigger object collection indeces.
Definition: TriggerFilter.h:95
bool TriggerFilter::hasTriggerObjectType ( trigger::TriggerObjectType  triggerObjectType) const

Checks, if a certain trigger object type identifier is assigned.

Definition at line 85 of file TriggerFilter.cc.

References triggerObjectTypes().

Referenced by addTriggerObjectType(), and hasObjectId().

86 {
87  for ( size_t iO = 0; iO < triggerObjectTypes().size(); ++iO ) {
88  if ( triggerObjectTypes().at( iO ) == triggerObjectType ) return true;
89  }
90  return false;
91 }
std::vector< int > triggerObjectTypes() const
Get all trigger object type identifiers.
bool pat::TriggerFilter::hasTriggerObjectType ( int  triggerObjectType) const
inline

Definition at line 111 of file TriggerFilter.h.

References hasTriggerObjectType().

Referenced by hasTriggerObjectType().

111 { return hasTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); };
bool hasTriggerObjectType(trigger::TriggerObjectType triggerObjectType) const
Checks, if a certain trigger object type identifier is assigned.
bool pat::TriggerFilter::isFiring ( ) const
inline

Definition at line 106 of file TriggerFilter.h.

References saveTags(), and status().

106 { return ( saveTags() && status() == 1 ); };
bool saveTags() const
Get the L3 status.
int status() const
Get the filter status.
bool pat::TriggerFilter::isL3 ( ) const
inline

Definition at line 105 of file TriggerFilter.h.

References saveTags().

105 { return saveTags(); };
bool saveTags() const
Get the L3 status.
const std::string& pat::TriggerFilter::label ( ) const
inline
std::vector< int > pat::TriggerFilter::objectIds ( ) const
inline

Definition at line 100 of file TriggerFilter.h.

References triggerObjectTypes().

100 { return triggerObjectTypes(); }; // for double backward compatibility
std::vector< int > triggerObjectTypes() const
Get all trigger object type identifiers.
const std::vector< unsigned >& pat::TriggerFilter::objectKeys ( ) const
inline

Get all trigger object collection indeces.

Definition at line 95 of file TriggerFilter.h.

References objectKeys_.

Referenced by hasObjectKey().

95 { return objectKeys_; };
std::vector< unsigned > objectKeys_
Definition: TriggerFilter.h:47
bool pat::TriggerFilter::saveTags ( ) const
inline

Get the L3 status.

Definition at line 104 of file TriggerFilter.h.

References saveTags_.

Referenced by isFiring(), isL3(), and setSaveTags().

104 { return saveTags_; };
void pat::TriggerFilter::setLabel ( const std::string &  label)
inline

Methods.

Set the filter label

Definition at line 75 of file TriggerFilter.h.

References label(), and label_.

Referenced by SequenceTypes.DummyModule::__init__(), and Vispa.Gui.FindDialog.FindDialog::reset().

75 { label_ = label; };
std::string label_
Data Members.
Definition: TriggerFilter.h:42
const std::string & label() const
Get the filter label.
Definition: TriggerFilter.h:91
void pat::TriggerFilter::setSaveTags ( bool  saveTags)
inline

Set the L3 status.

Definition at line 89 of file TriggerFilter.h.

References saveTags(), and saveTags_.

Referenced by pat::PATTriggerProducer::produce().

89 { saveTags_ = saveTags; };
bool saveTags() const
Get the L3 status.
bool TriggerFilter::setStatus ( int  status)

Set the filter status, only -1,0,1 accepted; returns 'false' (and does not modify the status) otherwise

Definition at line 55 of file TriggerFilter.cc.

References status(), and status_.

Referenced by pat::PATTriggerProducer::produce().

56 {
57  if ( status < -1 || 1 < status ) return false;
58  status_ = status;
59  return true;
60 }
int status_
Indicator for filter status: -1: not run, 0: failed, 1: succeeded.
Definition: TriggerFilter.h:53
int status() const
Get the filter status.
void pat::TriggerFilter::setType ( const std::string &  type)
inline

Set the filter module type.

Definition at line 77 of file TriggerFilter.h.

References type(), and type_.

Referenced by pat::PATTriggerProducer::produce().

77 { type_ = type; };
const std::string & type() const
Get the filter module type.
Definition: TriggerFilter.h:93
std::string type_
CMSSW module type.
Definition: TriggerFilter.h:44
int pat::TriggerFilter::status ( ) const
inline

Get the filter status.

Definition at line 102 of file TriggerFilter.h.

References status_.

Referenced by isFiring(), and setStatus().

102 { return status_; };
int status_
Indicator for filter status: -1: not run, 0: failed, 1: succeeded.
Definition: TriggerFilter.h:53
std::vector< int > TriggerFilter::triggerObjectTypes ( ) const

Get all trigger object type identifiers.

Definition at line 64 of file TriggerFilter.cc.

References triggerObjectTypes_.

Referenced by hasTriggerObjectType(), and objectIds().

65 {
66  std::vector< int > triggerObjectTypes;
67  for ( size_t iTo = 0; iTo < triggerObjectTypes_.size(); ++iTo ) {
68  triggerObjectTypes.push_back( triggerObjectTypes_.at( iTo ) );
69  }
70  return triggerObjectTypes;
71 }
std::vector< trigger::TriggerObjectType > triggerObjectTypes_
Definition: TriggerFilter.h:51
std::vector< int > triggerObjectTypes() const
Get all trigger object type identifiers.
const std::string& pat::TriggerFilter::type ( ) const
inline

Member Data Documentation

std::string pat::TriggerFilter::label_
private

Data Members.

Label of the filter

Definition at line 42 of file TriggerFilter.h.

Referenced by Mixins._Labelable::_findDependencies(), Mixins._TypedParameterizable::dumpPython(), label(), and setLabel().

std::vector< unsigned > pat::TriggerFilter::objectKeys_
private

Indeces of trigger objects in pat::TriggerObjectCollection in event as produced together with the pat::TriggerFilterCollection

Definition at line 47 of file TriggerFilter.h.

Referenced by addObjectKey(), objectKeys(), and TriggerFilter().

bool pat::TriggerFilter::saveTags_
private

Indicator for being an L3 filter available starting from CMSSW_4_2_3

Definition at line 56 of file TriggerFilter.h.

Referenced by saveTags(), and setSaveTags().

int pat::TriggerFilter::status_
private

Indicator for filter status: -1: not run, 0: failed, 1: succeeded.

Definition at line 53 of file TriggerFilter.h.

Referenced by setStatus(), and status().

std::vector< trigger::TriggerObjectType > pat::TriggerFilter::triggerObjectTypes_
private

List of (unique) special identifiers for the used trigger object types as defined in trigger::TriggerObjectType (DataFormats/HLTReco/interface/TriggerTypeDefs.h), possibly empty or containing also zeroes

Definition at line 51 of file TriggerFilter.h.

Referenced by addTriggerObjectType(), TriggerFilter(), and triggerObjectTypes().

std::string pat::TriggerFilter::type_
private