CMS 3D CMS Logo

TriggerCondition.h
Go to the documentation of this file.
1 #ifndef DataFormats_PatCandidates_TriggerCondition_h
2 #define DataFormats_PatCandidates_TriggerCondition_h
3 
4 // -*- C++ -*-
5 //
6 // Package: PatCandidates
7 // Class: pat::TriggerCondition
8 //
9 //
21 #include <string>
22 #include <vector>
23 
31 
32 namespace pat {
33 
36 
40  bool accept_;
48  std::vector<trigger::TriggerObjectType> triggerObjectTypes_;
51  std::vector<unsigned> objectKeys_;
52 
53  public:
55 
62 
64  virtual ~TriggerCondition(){};
65 
67 
69  void setName(const std::string& name) { name_ = name; };
71  void setAccept(bool accept) { accept_ = accept; };
80  triggerObjectTypes_.push_back(triggerObjectType);
81  }; // explicitely NOT checking for existence
82  void addTriggerObjectType(int triggerObjectType) {
84  };
86  void addObjectKey(unsigned objectKey) {
87  if (!hasObjectKey(objectKey))
88  objectKeys_.push_back(objectKey);
89  };
91  const std::string& name() const { return name_; };
93  bool wasAccept() const { return accept_; };
95  int category() const { return int(category_); };
97  int type() const { return int(type_); };
99  std::vector<int> triggerObjectTypes() const;
101  bool hasTriggerObjectType(trigger::TriggerObjectType triggerObjectType) const;
102  bool hasTriggerObjectType(int triggerObjectType) const {
103  return hasTriggerObjectType(trigger::TriggerObjectType(triggerObjectType));
104  };
106  const std::vector<unsigned>& objectKeys() const { return objectKeys_; };
108  bool hasObjectKey(unsigned objectKey) const;
109  };
110 
112  typedef std::vector<TriggerCondition> TriggerConditionCollection;
121 
122 } // namespace pat
123 
124 #endif
edm::RefVector< TriggerConditionCollection > TriggerConditionRefVector
Vector of persistent references to items in the same TriggerConditionCollection.
L1GtConditionType type_
L1 condition type as defined in CondFormats/L1TObjects/interface/L1GtFwd.h.
void addTriggerObjectType(int triggerObjectType)
void setAccept(bool accept)
Set the success flag.
bool hasObjectKey(unsigned objectKey) const
Checks, if a certain trigger object collection index is assigned.
L1GtConditionType
edm::Ref< TriggerConditionCollection > TriggerConditionRef
Persistent reference to an item in a TriggerConditionCollection.
void addTriggerObjectType(trigger::TriggerObjectType triggerObjectType)
Add a new trigger object type.
const std::string & name() const
Get the filter label.
bool hasTriggerObjectType(trigger::TriggerObjectType triggerObjectType) const
Checks, if a certain trigger object type is assigned.
int type() const
Get the condition type.
edm::RefVectorIterator< TriggerConditionCollection > TriggerConditionRefVectorIterator
Const iterator over vector of persistent references to items in the same TriggerConditionCollection.
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:31
void setCategory(int category)
TriggerCondition()
Constructors and Desctructor.
Definition: HeavyIon.h:7
Analysis-level L1 trigger condition class.
std::vector< TriggerCondition > TriggerConditionCollection
Collection of TriggerCondition.
bool hasTriggerObjectType(int triggerObjectType) const
bool wasAccept() const
Get the success flag.
std::vector< int > triggerObjectTypes() const
Get the trigger object types.
std::vector< trigger::TriggerObjectType > triggerObjectTypes_
std::string name_
Data Members.
void setType(int type)
int category() const
Get the condition category.
void setCategory(L1GtConditionCategory category)
Set the condition category.
const std::vector< unsigned > & objectKeys() const
Get all trigger object collection indeces.
L1GtConditionCategory category_
L1 condition category as defined in CondFormats/L1TObjects/interface/L1GtFwd.h.
std::vector< unsigned > objectKeys_
void addObjectKey(unsigned objectKey)
Add a new trigger object collection index.
virtual ~TriggerCondition()
Destructor.
void setName(const std::string &name)
Methods.
bool accept_
Did condition succeed?
L1GtConditionCategory
condition categories
void setType(L1GtConditionType type)
Set the condition type.
edm::RefProd< TriggerConditionCollection > TriggerConditionRefProd
Persistent reference to a TriggerConditionCollection product.