CMS 3D CMS Logo

Public Member Functions | Private Attributes

pat::TriggerFilter Class Reference

Analysis-level HLTrigger filter class. More...

#include <DataFormats/PatCandidates/interface/TriggerFilter.h>

List of all members.

Public Member Functions

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

Private Attributes

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

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.9 2011/05/24 15:56:25 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_.

                             :
  label_(),
  type_(),
  status_(),
  saveTags_()
{
  objectKeys_.clear();
  triggerObjectTypes_.clear();
}
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_.

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_.

                                                                                 :
  label_( tag.label() ),
  type_(),
  status_( status ),
  saveTags_( saveTags )
{
  objectKeys_.clear();
  triggerObjectTypes_.clear();
}
virtual pat::TriggerFilter::~TriggerFilter ( ) [inline, virtual]

Destructor.

Definition at line 70 of file TriggerFilter.h.

{};

Member Function Documentation

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

Definition at line 83 of file TriggerFilter.h.

References addTriggerObjectType().

{ addTriggerObjectType( triggerObjectType ); };                               // for backward compatibility
void pat::TriggerFilter::addObjectId ( int  triggerObjectType) [inline]

Definition at line 84 of file TriggerFilter.h.

References addTriggerObjectType().

{ addTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); }; // for backward compatibility
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().

{ if ( ! hasObjectKey( objectKey ) ) objectKeys_.push_back( objectKey ); };
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().

{ if ( ! hasTriggerObjectType( triggerObjectType ) ) triggerObjectTypes_.push_back( triggerObjectType ); };
void pat::TriggerFilter::addTriggerObjectType ( int  triggerObjectType) [inline]

Definition at line 82 of file TriggerFilter.h.

References addTriggerObjectType().

Referenced by addTriggerObjectType().

{ addTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); };
bool pat::TriggerFilter::hasObjectId ( trigger::TriggerObjectType  triggerObjectType) const [inline]

Definition at line 112 of file TriggerFilter.h.

References hasTriggerObjectType().

{ return hasTriggerObjectType( triggerObjectType ); };                               // for backward compatibility
bool pat::TriggerFilter::hasObjectId ( int  triggerObjectType) const [inline]

Definition at line 113 of file TriggerFilter.h.

References hasTriggerObjectType().

{ return hasTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); }; // for backward compatibility
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(), pat::TriggerEvent::filterCollections(), pat::TriggerEvent::filterObjects(), and pat::TriggerEvent::objectInFilter().

{
  for ( size_t iO = 0; iO < objectKeys().size(); ++iO ) {
    if ( objectKeys().at( iO ) == objectKey ) return true;
  }
  return false;
}
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().

{
  for ( size_t iO = 0; iO < triggerObjectTypes().size(); ++iO ) {
    if ( triggerObjectTypes().at( iO ) == triggerObjectType ) return true;
  }
  return false;
}
bool pat::TriggerFilter::hasTriggerObjectType ( int  triggerObjectType) const [inline]

Definition at line 111 of file TriggerFilter.h.

References hasTriggerObjectType().

Referenced by hasTriggerObjectType().

{ return hasTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); };
bool pat::TriggerFilter::isFiring ( ) const [inline]

Definition at line 106 of file TriggerFilter.h.

References saveTags(), and status().

{ return ( saveTags() && status() == 1 ); };
bool pat::TriggerFilter::isL3 ( ) const [inline]

Definition at line 105 of file TriggerFilter.h.

References saveTags().

{ return saveTags(); };
std::string pat::TriggerFilter::label ( ) const [inline]

Get the filter label.

Definition at line 91 of file TriggerFilter.h.

References label_.

Referenced by setLabel().

{ return label_; };
std::vector< int > pat::TriggerFilter::objectIds ( ) const [inline]

Definition at line 100 of file TriggerFilter.h.

References triggerObjectTypes().

{ return triggerObjectTypes(); }; // for double backward compatibility
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().

{ return objectKeys_; };
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().

{ 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_.

{ label_ = label; };
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().

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().

{
  if ( status < -1 || 1 < status ) return false;
  status_ = status;
  return true;
}
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().

{ type_  = type; };
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().

{ return status_; };
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().

{
  std::vector< int > triggerObjectTypes;
  for ( size_t iTo = 0; iTo < triggerObjectTypes_.size(); ++iTo ) {
    triggerObjectTypes.push_back( triggerObjectTypes_.at( iTo ) );
  }
  return triggerObjectTypes;
}
std::string pat::TriggerFilter::type ( ) const [inline]

Get the filter module type.

Definition at line 93 of file TriggerFilter.h.

References type_.

Referenced by setType().

{ return type_; };

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 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().

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().

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

Definition at line 53 of file TriggerFilter.h.

Referenced by setStatus(), and status().

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]

CMSSW module type.

Definition at line 44 of file TriggerFilter.h.

Referenced by setType(), and type().