Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #include "DataFormats/PatCandidates/interface/TriggerFilter.h"
00007
00008
00009 using namespace pat;
00010
00011
00012
00013
00014
00015
00016 TriggerFilter::TriggerFilter() :
00017 label_(),
00018 type_(),
00019 status_(),
00020 saveTags_()
00021 {
00022 objectKeys_.clear();
00023 triggerObjectTypes_.clear();
00024 }
00025
00026
00027
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
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
00052
00053
00054
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
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
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
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 }