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

Definition at line 35 of file TriggerFilter.h.

Constructor & Destructor Documentation

TriggerFilter::TriggerFilter ( )

Constructors and Desctructor.

Default constructor

Definition at line 15 of file TriggerFilter.cc.

References objectKeys_, and triggerObjectTypes_.

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

Constructor from std::string for filter label.

Definition at line 27 of file TriggerFilter.cc.

References objectKeys_, and triggerObjectTypes_.

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

Constructor from edm::InputTag for filter label.

Definition at line 39 of file TriggerFilter.cc.

References objectKeys_, and triggerObjectTypes_.

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

Destructor.

Definition at line 68 of file TriggerFilter.h.

68 {};

Member Function Documentation

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

Definition at line 81 of file TriggerFilter.h.

References addTriggerObjectType().

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

Definition at line 82 of file TriggerFilter.h.

References addTriggerObjectType().

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

Add a new trigger object collection index.

Definition at line 77 of file TriggerFilter.h.

References hasObjectKey(), and objectKeys_.

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

77 { if ( ! hasObjectKey( objectKey ) ) objectKeys_.push_back( objectKey ); };
std::vector< unsigned > objectKeys_
Definition: TriggerFilter.h:45
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 79 of file TriggerFilter.h.

References hasTriggerObjectType(), and triggerObjectTypes_.

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

79 { if ( ! hasTriggerObjectType( triggerObjectType ) ) triggerObjectTypes_.push_back( triggerObjectType ); };
std::vector< trigger::TriggerObjectType > triggerObjectTypes_
Definition: TriggerFilter.h:49
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 80 of file TriggerFilter.h.

References addTriggerObjectType().

Referenced by addTriggerObjectType().

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

Definition at line 110 of file TriggerFilter.h.

References hasTriggerObjectType().

110 { 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 111 of file TriggerFilter.h.

References hasTriggerObjectType().

111 { 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 74 of file TriggerFilter.cc.

References objectKeys().

Referenced by addObjectKey().

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

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

Definition at line 84 of file TriggerFilter.cc.

References triggerObjectTypes().

Referenced by addTriggerObjectType(), and hasObjectId().

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

Definition at line 109 of file TriggerFilter.h.

References hasTriggerObjectType().

Referenced by hasTriggerObjectType().

109 { 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 104 of file TriggerFilter.h.

References saveTags(), and status().

104 { 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 103 of file TriggerFilter.h.

References saveTags().

103 { 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 98 of file TriggerFilter.h.

References triggerObjectTypes().

98 { 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 93 of file TriggerFilter.h.

References objectKeys_.

Referenced by hasObjectKey().

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

Get the L3 status.

Definition at line 102 of file TriggerFilter.h.

References saveTags_.

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

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

Methods.

Set the filter label

Definition at line 73 of file TriggerFilter.h.

References label(), and label_.

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

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

Set the L3 status.

Definition at line 87 of file TriggerFilter.h.

References saveTags(), and saveTags_.

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

87 { 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 54 of file TriggerFilter.cc.

References status(), and status_.

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

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

Set the filter module type.

Definition at line 75 of file TriggerFilter.h.

References type(), and type_.

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

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

Get the filter status.

Definition at line 100 of file TriggerFilter.h.

References status_.

Referenced by isFiring(), and setStatus().

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

Get all trigger object type identifiers.

Definition at line 63 of file TriggerFilter.cc.

References triggerObjectTypes_.

Referenced by hasTriggerObjectType(), and objectIds().

64 {
65  std::vector< int > triggerObjectTypes;
66  for ( size_t iTo = 0; iTo < triggerObjectTypes_.size(); ++iTo ) {
67  triggerObjectTypes.push_back( triggerObjectTypes_.at( iTo ) );
68  }
69  return triggerObjectTypes;
70 }
std::vector< trigger::TriggerObjectType > triggerObjectTypes_
Definition: TriggerFilter.h:49
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 40 of file TriggerFilter.h.

Referenced by Mixins._Labelable::_findDependencies(), label(), setLabel(), and Mixins._Labelable::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 45 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 54 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 51 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 49 of file TriggerFilter.h.

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

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