CMS 3D CMS Logo

HLTL1TSeed.h
Go to the documentation of this file.
1 #ifndef HLTfilters_HLTL1TSeed_h
2 #define HLTfilters_HLTL1TSeed_h
3 
17 // system include files
18 #include <string>
19 #include <vector>
20 
21 // user include files
22 
23 // base class
26 
30 
32 
33 // forward declarations
34 class L1GtTriggerMenu;
35 class L1GtTriggerMask;
37 
39 namespace edm {
41 }
42 
43 // class declaration
45 {
46 
47 public:
48 
50  explicit HLTL1TSeed(const edm::ParameterSet&);
51 
53  virtual ~HLTL1TSeed();
54 
56  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
57 
59  virtual bool hltFilter(edm::Event&, const edm::EventSetup&, trigger::TriggerFilterObjectWithRefs & filterproduct) override;
60 
61 private:
62 
65  void inline updateAlgoLogicParser(const L1GtTriggerMenu*, const AlgorithmMap&) { };
66 
69  void inline updateAlgoLogicParser(const std::vector<bool>& gtWord,
70  const std::vector<unsigned int>& triggerMask, const int physicsDaqPartition) { };
71 
73  bool seedsL1TriggerObjectMaps( edm::Event &, trigger::TriggerFilterObjectWithRefs &);
74 
75 
77  void dumpTriggerFilterObjectWithRefs(trigger::TriggerFilterObjectWithRefs &) const;
78 
79 private:
80 
83 
85  std::vector<GlobalLogicParser::OperandToken> m_l1AlgoSeeds;
86 
88  std::vector< const std::vector<GlobalLogicParser::TokenRPN>* > m_l1AlgoSeedsRpn;
89 
91  std::vector< std::vector< const std::vector<l1t::GlobalObject>* > > m_l1AlgoSeedsObjType;
92 
93 
94 private:
95 
99 
103 
107 
111 
112  //edm::InputTag dummyTag;
117 
122 
127 
132 
137 
140 
143 };
144 
145 #endif // HLTfilters_HLTL1TSeed_h
std::string m_l1SeedsLogicalExpression
Definition: HLTL1TSeed.h:102
edm::EDGetTokenT< l1t::EtSumBxCollection > m_l1EtSumToken
Definition: HLTL1TSeed.h:136
std::vector< std::vector< const std::vector< l1t::GlobalObject > * > > m_l1AlgoSeedsObjType
vector of object-type vectors for each condition in the required algorithms for seeding ...
Definition: HLTL1TSeed.h:91
edm::InputTag m_l1MuonTag
Definition: HLTL1TSeed.h:115
void updateAlgoLogicParser(const L1GtTriggerMenu *, const AlgorithmMap &)
Definition: HLTL1TSeed.h:65
edm::InputTag m_l1EGammaCollectionsTag
Meta InputTag for L1 Egamma collection.
Definition: HLTL1TSeed.h:119
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
edm::InputTag m_l1JetCollectionsTag
Meta InputTag for L1 Egamma collection.
Definition: HLTL1TSeed.h:124
edm::InputTag m_l1JetTag
Definition: HLTL1TSeed.h:125
edm::InputTag m_l1GtObjectMapTag
InputTag for L1 Global Trigger object maps. This is done per menu. Should be part of Run...
Definition: HLTL1TSeed.h:105
edm::EDGetTokenT< l1t::JetBxCollection > m_l1JetToken
Definition: HLTL1TSeed.h:126
GlobalLogicParser m_l1AlgoLogicParser
logic parser for m_l1SeedsLogicalExpression
Definition: HLTL1TSeed.h:82
edm::EDGetTokenT< l1t::EGammaBxCollection > m_l1EGammaToken
Definition: HLTL1TSeed.h:121
edm::InputTag m_l1EtSumTag
Definition: HLTL1TSeed.h:135
std::vector< const std::vector< GlobalLogicParser::TokenRPN > * > m_l1AlgoSeedsRpn
vector of Rpn vectors for the required algorithms for seeding
Definition: HLTL1TSeed.h:88
edm::InputTag m_l1TauTag
Definition: HLTL1TSeed.h:130
edm::InputTag m_l1EtSumCollectionsTag
Meta InputTag for L1 Egamma collection.
Definition: HLTL1TSeed.h:134
int m_l1NrBxInEvent
Definition: HLTL1TSeed.h:98
edm::InputTag m_l1TauCollectionsTag
Meta InputTag for L1 Egamma collection.
Definition: HLTL1TSeed.h:129
bool m_isDebugEnabled
cache edm::isDebugEnabled()
Definition: HLTL1TSeed.h:142
std::vector< GlobalLogicParser::OperandToken > m_l1AlgoSeeds
list of required algorithms for seeding
Definition: HLTL1TSeed.h:85
void updateAlgoLogicParser(const std::vector< bool > &gtWord, const std::vector< unsigned int > &triggerMask, const int physicsDaqPartition)
Definition: HLTL1TSeed.h:69
edm::InputTag m_l1EGammaTag
Definition: HLTL1TSeed.h:120
edm::InputTag m_l1GlobalTag
InputTag for L1 Global Trigger.
Definition: HLTL1TSeed.h:109
edm::EDGetTokenT< GlobalAlgBlkBxCollection > m_l1GlobalToken
Definition: HLTL1TSeed.h:110
HLT enums.
edm::InputTag m_l1MuonCollectionsTag
Meta InputTag for L1 Muon collection.
Definition: HLTL1TSeed.h:114
bool m_l1GlobalDecision
flag to pass if L1TGlobal accept
Definition: HLTL1TSeed.h:139
edm::EDGetTokenT< l1t::MuonBxCollection > m_l1MuonToken
Definition: HLTL1TSeed.h:116
edm::EDGetTokenT< l1t::TauBxCollection > m_l1TauToken
Definition: HLTL1TSeed.h:131
edm::EDGetTokenT< GlobalObjectMapRecord > m_l1GtObjectMapToken
Definition: HLTL1TSeed.h:106