1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
//
//
#include "DataFormats/PatCandidates/interface/TriggerFilter.h"
using namespace pat;
// Constructors and Destructor
// Default constructor
TriggerFilter::TriggerFilter() : label_(), type_(), status_(), saveTags_() {
objectKeys_.clear();
triggerObjectTypes_.clear();
}
// Constructor from std::string for filter label
TriggerFilter::TriggerFilter(const std::string& label, int status, bool saveTags)
: label_(label), type_(), status_(status), saveTags_(saveTags) {
objectKeys_.clear();
triggerObjectTypes_.clear();
}
// Constructor from edm::InputTag for filter label
TriggerFilter::TriggerFilter(const edm::InputTag& tag, int status, bool saveTags)
: label_(tag.label()), type_(), status_(status), saveTags_(saveTags) {
objectKeys_.clear();
triggerObjectTypes_.clear();
}
// Methods
// Set the filter status
bool TriggerFilter::setStatus(int status) {
if (status < -1 || 1 < status)
return false;
status_ = status;
return true;
}
// Get all trigger object type identifiers
std::vector<int> TriggerFilter::triggerObjectTypes() const {
std::vector<int> triggerObjectTypes;
for (size_t iTo = 0; iTo < triggerObjectTypes_.size(); ++iTo) {
triggerObjectTypes.push_back(triggerObjectTypes_.at(iTo));
}
return triggerObjectTypes;
}
// Checks, if a certain trigger object collection index is assigned
bool TriggerFilter::hasObjectKey(unsigned objectKey) const {
for (size_t iO = 0; iO < objectKeys().size(); ++iO) {
if (objectKeys().at(iO) == objectKey)
return true;
}
return false;
}
// Checks, if a certain trigger object type identifier is assigned
bool TriggerFilter::hasTriggerObjectType(trigger::TriggerObjectType triggerObjectType) const {
for (size_t iO = 0; iO < triggerObjectTypes().size(); ++iO) {
if (triggerObjectTypes().at(iO) == triggerObjectType)
return true;
}
return false;
}
|