File indexing completed on 2024-04-06 12:04:59
0001
0002
0003
0004 #include "DataFormats/PatCandidates/interface/TriggerFilter.h"
0005
0006 using namespace pat;
0007
0008
0009
0010
0011 TriggerFilter::TriggerFilter() : label_(), type_(), status_(), saveTags_() {
0012 objectKeys_.clear();
0013 triggerObjectTypes_.clear();
0014 }
0015
0016
0017 TriggerFilter::TriggerFilter(const std::string& label, int status, bool saveTags)
0018 : label_(label), type_(), status_(status), saveTags_(saveTags) {
0019 objectKeys_.clear();
0020 triggerObjectTypes_.clear();
0021 }
0022
0023
0024 TriggerFilter::TriggerFilter(const edm::InputTag& tag, int status, bool saveTags)
0025 : label_(tag.label()), type_(), status_(status), saveTags_(saveTags) {
0026 objectKeys_.clear();
0027 triggerObjectTypes_.clear();
0028 }
0029
0030
0031
0032
0033 bool TriggerFilter::setStatus(int status) {
0034 if (status < -1 || 1 < status)
0035 return false;
0036 status_ = status;
0037 return true;
0038 }
0039
0040
0041 std::vector<int> TriggerFilter::triggerObjectTypes() const {
0042 std::vector<int> triggerObjectTypes;
0043 for (size_t iTo = 0; iTo < triggerObjectTypes_.size(); ++iTo) {
0044 triggerObjectTypes.push_back(triggerObjectTypes_.at(iTo));
0045 }
0046 return triggerObjectTypes;
0047 }
0048
0049
0050 bool TriggerFilter::hasObjectKey(unsigned objectKey) const {
0051 for (size_t iO = 0; iO < objectKeys().size(); ++iO) {
0052 if (objectKeys().at(iO) == objectKey)
0053 return true;
0054 }
0055 return false;
0056 }
0057
0058
0059 bool TriggerFilter::hasTriggerObjectType(trigger::TriggerObjectType triggerObjectType) const {
0060 for (size_t iO = 0; iO < triggerObjectTypes().size(); ++iO) {
0061 if (triggerObjectTypes().at(iO) == triggerObjectType)
0062 return true;
0063 }
0064 return false;
0065 }