CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TriggerFilter.h
Go to the documentation of this file.
1 #ifndef DataFormats_PatCandidates_TriggerFilter_h
2 #define DataFormats_PatCandidates_TriggerFilter_h
3 
4 
5 // -*- C++ -*-
6 //
7 // Package: PatCandidates
8 // Class: pat::TriggerFilter
9 //
10 // $Id: TriggerFilter.h,v 1.10 2013/06/11 13:24:49 vadler Exp $
11 //
25 #include <string>
26 #include <vector>
27 
34 
35 namespace pat {
36 
37  class TriggerFilter {
38 
40 
42  std::string label_;
44  std::string type_;
47  std::vector< unsigned > objectKeys_;
51  std::vector< trigger::TriggerObjectType > triggerObjectTypes_;
53  int status_;
56  bool saveTags_;
57 
58  public:
59 
61 
63  TriggerFilter();
65  TriggerFilter( const std::string & label, int status = -1, bool saveTags = false );
67  TriggerFilter( const edm::InputTag & tag, int status = -1, bool saveTags = false );
68 
70  virtual ~TriggerFilter() {};
71 
73 
75  void setLabel( const std::string & label ) { label_ = label; };
77  void setType( const std::string & type ) { type_ = type; };
79  void addObjectKey( unsigned objectKey ) { if ( ! hasObjectKey( objectKey ) ) objectKeys_.push_back( objectKey ); };
81  void addTriggerObjectType( trigger::TriggerObjectType triggerObjectType ) { if ( ! hasTriggerObjectType( triggerObjectType ) ) triggerObjectTypes_.push_back( triggerObjectType ); };
82  void addTriggerObjectType( int triggerObjectType ) { addTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); };
83  void addObjectId( trigger::TriggerObjectType triggerObjectType ) { addTriggerObjectType( triggerObjectType ); }; // for backward compatibility
84  void addObjectId( int triggerObjectType ) { addTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); }; // for backward compatibility
87  bool setStatus( int status );
89  void setSaveTags( bool saveTags ) { saveTags_ = saveTags; };
91  const std::string & label() const { return label_; };
93  const std::string & type() const { return type_; };
95  const std::vector< unsigned > & objectKeys() const { return objectKeys_; };
97 // std::vector< trigger::TriggerObjectType > triggerObjectTypes() const { return triggerObjectTypes_; };
98 // std::vector< trigger::TriggerObjectType > objectIds() const { return triggerObjectTypes(); }; // for backward compatibility
99  std::vector< int > triggerObjectTypes() const; // for backward compatibilit
100  std::vector< int > objectIds() const { return triggerObjectTypes(); }; // for double backward compatibility
102  int status() const { return status_; };
104  bool saveTags() const { return saveTags_; };
105  bool isL3() const { return saveTags(); };
106  bool isFiring() const { return ( saveTags() && status() == 1 ); };
108  bool hasObjectKey( unsigned objectKey ) const;
110  bool hasTriggerObjectType( trigger::TriggerObjectType triggerObjectType ) const;
111  bool hasTriggerObjectType( int triggerObjectType ) const { return hasTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); };
112  bool hasObjectId( trigger::TriggerObjectType triggerObjectType ) const { return hasTriggerObjectType( triggerObjectType ); }; // for backward compatibility
113  bool hasObjectId( int triggerObjectType ) const { return hasTriggerObjectType( trigger::TriggerObjectType( triggerObjectType ) ); }; // for backward compatibility
114 
115  };
116 
117 
119  typedef std::vector< TriggerFilter > TriggerFilterCollection;
128 
129 }
130 
131 
132 #endif
type
Definition: HCALResponse.h:22
edm::RefVector< TriggerFilterCollection > TriggerFilterRefVector
Vector of persistent references to items in the same TriggerFilterCollection.
int status_
Indicator for filter status: -1: not run, 0: failed, 1: succeeded.
Definition: TriggerFilter.h:53
virtual ~TriggerFilter()
Destructor.
Definition: TriggerFilter.h:70
edm::RefVectorIterator< TriggerFilterCollection > TriggerFilterRefVectorIterator
Const iterator over vector of persistent references to items in the same TriggerFilterCollection.
bool setStatus(int status)
bool hasTriggerObjectType(int triggerObjectType) const
bool isL3() const
TriggerFilter()
Constructors and Desctructor.
void setLabel(const std::string &label)
Methods.
Definition: TriggerFilter.h:75
void addTriggerObjectType(trigger::TriggerObjectType triggerObjectType)
Add a new trigger object type identifier.
Definition: TriggerFilter.h:81
std::vector< int > objectIds() const
bool hasObjectId(trigger::TriggerObjectType triggerObjectType) const
void addObjectKey(unsigned objectKey)
Add a new trigger object collection index.
Definition: TriggerFilter.h:79
std::vector< unsigned > objectKeys_
Definition: TriggerFilter.h:47
std::vector< trigger::TriggerObjectType > triggerObjectTypes_
Definition: TriggerFilter.h:51
bool hasTriggerObjectType(trigger::TriggerObjectType triggerObjectType) const
Checks, if a certain trigger object type identifier is assigned.
Analysis-level HLTrigger filter class.
Definition: TriggerFilter.h:37
edm::Ref< TriggerFilterCollection > TriggerFilterRef
Persistent reference to an item in a TriggerFilterCollection.
void addTriggerObjectType(int triggerObjectType)
Definition: TriggerFilter.h:82
const std::string & type() const
Get the filter module type.
Definition: TriggerFilter.h:93
bool hasObjectKey(unsigned objectKey) const
Checks, if a certain trigger object collection index is assigned.
void setSaveTags(bool saveTags)
Set the L3 status.
Definition: TriggerFilter.h:89
bool saveTags() const
Get the L3 status.
int status() const
Get the filter status.
std::string label_
Data Members.
Definition: TriggerFilter.h:42
std::vector< TriggerFilter > TriggerFilterCollection
Collection of TriggerFilter.
bool hasObjectId(int triggerObjectType) const
std::string type_
CMSSW module type.
Definition: TriggerFilter.h:44
void addObjectId(trigger::TriggerObjectType triggerObjectType)
Definition: TriggerFilter.h:83
void setType(const std::string &type)
Set the filter module type.
Definition: TriggerFilter.h:77
bool isFiring() const
void addObjectId(int triggerObjectType)
Definition: TriggerFilter.h:84
const std::string & label() const
Get the filter label.
Definition: TriggerFilter.h:91
std::vector< int > triggerObjectTypes() const
Get all trigger object type identifiers.
edm::RefProd< TriggerFilterCollection > TriggerFilterRefProd
Persistent reference to a TriggerFilterCollection product.
const std::vector< unsigned > & objectKeys() const
Get all trigger object collection indeces.
Definition: TriggerFilter.h:95