CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DataFormats/PatCandidates/src/TriggerFilter.cc

Go to the documentation of this file.
00001 //
00002 // $Id: TriggerFilter.cc,v 1.7 2011/05/24 15:56:25 vadler Exp $
00003 //
00004 
00005 
00006 #include "DataFormats/PatCandidates/interface/TriggerFilter.h"
00007 
00008 
00009 using namespace pat;
00010 
00011 
00012 // Constructors and Destructor
00013 
00014 
00015 // Default constructor
00016 TriggerFilter::TriggerFilter() :
00017   label_(),
00018   type_(),
00019   status_(),
00020   saveTags_()
00021 {
00022   objectKeys_.clear();
00023   triggerObjectTypes_.clear();
00024 }
00025 
00026 
00027 // Constructor from std::string for filter label
00028 TriggerFilter::TriggerFilter( const std::string & label, int status, bool saveTags ) :
00029   label_( label ),
00030   type_(),
00031   status_( status ),
00032   saveTags_( saveTags )
00033 {
00034   objectKeys_.clear();
00035   triggerObjectTypes_.clear();
00036 }
00037 
00038 
00039 // Constructor from edm::InputTag for filter label
00040 TriggerFilter::TriggerFilter( const edm::InputTag & tag, int status, bool saveTags ) :
00041   label_( tag.label() ),
00042   type_(),
00043   status_( status ),
00044   saveTags_( saveTags )
00045 {
00046   objectKeys_.clear();
00047   triggerObjectTypes_.clear();
00048 }
00049 
00050 
00051 // Methods
00052 
00053 
00054 // Set the filter status
00055 bool TriggerFilter::setStatus( int status )
00056 {
00057   if ( status < -1 || 1 < status ) return false;
00058   status_ = status;
00059   return true;
00060 }
00061 
00062 
00063 // Get all trigger object type identifiers
00064 std::vector< int > TriggerFilter::triggerObjectTypes() const
00065 {
00066   std::vector< int > triggerObjectTypes;
00067   for ( size_t iTo = 0; iTo < triggerObjectTypes_.size(); ++iTo ) {
00068     triggerObjectTypes.push_back( triggerObjectTypes_.at( iTo ) );
00069   }
00070   return triggerObjectTypes;
00071 }
00072 
00073 
00074 // Checks, if a certain trigger object collection index is assigned
00075 bool TriggerFilter::hasObjectKey( unsigned objectKey ) const
00076 {
00077   for ( size_t iO = 0; iO < objectKeys().size(); ++iO ) {
00078     if ( objectKeys().at( iO ) == objectKey ) return true;
00079   }
00080   return false;
00081 }
00082 
00083 
00084 // Checks, if a certain trigger object type identifier is assigned
00085 bool TriggerFilter::hasTriggerObjectType( trigger::TriggerObjectType triggerObjectType ) const
00086 {
00087   for ( size_t iO = 0; iO < triggerObjectTypes().size(); ++iO ) {
00088     if ( triggerObjectTypes().at( iO ) == triggerObjectType ) return true;
00089   }
00090   return false;
00091 }