CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
64  //const std::vector<L1GtObject>* objectTypeVec(const int chipNumber, const std::string& cndName) const;
65 
68  void inline updateAlgoLogicParser(const L1GtTriggerMenu*, const AlgorithmMap&) { };
69 
72  void inline updateAlgoLogicParser(const std::vector<bool>& gtWord,
73  const std::vector<unsigned int>& triggerMask, const int physicsDaqPartition) { };
74 
77  //void debugPrint(bool) const;
78 
85 
88  edm::Event &,
90  //, const L1GtTriggerMask *,
91  //const L1GlobalTriggerReadoutRecord *,
92  //const int physicsDaqPartition
93  );
94 
95 
98 
99 private:
100 
101  // cached stuff
102 
105  unsigned long long m_l1GtMenuCacheID;
106 
109 
111  std::vector<L1GtLogicParser::OperandToken> m_l1AlgoSeeds;
112 
114  std::vector< const std::vector<L1GtLogicParser::TokenRPN>* > m_l1AlgoSeedsRpn;
115 
117  std::vector< std::vector< const std::vector<L1GtObject>* > > m_l1AlgoSeedsObjType;
118 
119 
120 private:
121 
131 
135 
138 
141 
145 
149 
153 
154  //edm::InputTag dummyTag;
159 
164 
169 
174 
179 
182 
185 };
186 
187 #endif // HLTfilters_HLTL1TSeed_h
std::string m_l1SeedsLogicalExpression
Definition: HLTL1TSeed.h:144
edm::EDGetTokenT< L1GlobalTriggerObjectMapRecord > m_l1GtObjectMapToken
Definition: HLTL1TSeed.h:148
edm::EDGetTokenT< l1t::EtSumBxCollection > m_l1EtSumToken
Definition: HLTL1TSeed.h:178
std::vector< const std::vector< L1GtLogicParser::TokenRPN > * > m_l1AlgoSeedsRpn
vector of Rpn vectors for the required algorithms for seeding
Definition: HLTL1TSeed.h:114
edm::InputTag m_l1MuonTag
Definition: HLTL1TSeed.h:157
void updateAlgoLogicParser(const L1GtTriggerMenu *, const AlgorithmMap &)
get the vector of object types for a condition cndName on the GTL chip chipNumber ...
Definition: HLTL1TSeed.h:68
edm::InputTag m_l1EGammaCollectionsTag
Meta InputTag for L1 Egamma collection.
Definition: HLTL1TSeed.h:161
HLTL1TSeed(const edm::ParameterSet &)
constructor
Definition: HLTL1TSeed.cc:32
bool seedsL1TriggerObjectMaps(edm::Event &, trigger::TriggerFilterObjectWithRefs &)
seeding is done via L1 trigger object maps, considering the objects which fired in L1 ...
Definition: HLTL1TSeed.cc:456
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
edm::InputTag m_l1JetCollectionsTag
Meta InputTag for L1 Egamma collection.
Definition: HLTL1TSeed.h:166
virtual ~HLTL1TSeed()
destructor
Definition: HLTL1TSeed.cc:82
bool seedsAll(edm::Event &, trigger::TriggerFilterObjectWithRefs &) const
Definition: HLTL1TSeed.cc:153
bool m_l1TechTriggerSeeding
seeding done via technical trigger bits, if value is &quot;true&quot;
Definition: HLTL1TSeed.h:137
const L1GtTriggerMenu * m_utml1GtMenu
trigger menu
Definition: HLTL1TSeed.h:104
std::vector< std::vector< const std::vector< L1GtObject > * > > m_l1AlgoSeedsObjType
vector of object-type vectors for each condition in the required algorithms for seeding ...
Definition: HLTL1TSeed.h:117
edm::InputTag m_l1JetTag
Definition: HLTL1TSeed.h:167
edm::InputTag m_l1GtObjectMapTag
InputTag for L1 Global Trigger object maps. This is done per menu. Should be part of Run...
Definition: HLTL1TSeed.h:147
edm::EDGetTokenT< l1t::JetBxCollection > m_l1JetToken
Definition: HLTL1TSeed.h:168
edm::EDGetTokenT< l1t::EGammaBxCollection > m_l1EGammaToken
Definition: HLTL1TSeed.h:163
edm::InputTag m_l1EtSumTag
Definition: HLTL1TSeed.h:177
bool m_l1UseL1TriggerObjectMaps
Definition: HLTL1TSeed.h:130
edm::InputTag m_l1TauTag
Definition: HLTL1TSeed.h:172
std::vector< L1GtLogicParser::OperandToken > m_l1AlgoSeeds
list of required algorithms for seeding
Definition: HLTL1TSeed.h:111
edm::InputTag m_l1EtSumCollectionsTag
Meta InputTag for L1 Egamma collection.
Definition: HLTL1TSeed.h:176
int m_l1NrBxInEvent
Definition: HLTL1TSeed.h:134
L1GtLogicParser m_l1AlgoLogicParser
logic parser for m_l1SeedsLogicalExpression
Definition: HLTL1TSeed.h:108
bool m_l1UseAliasesForSeeding
seeding uses algorithm aliases instead of algorithm names, if value is &quot;true&quot;
Definition: HLTL1TSeed.h:140
edm::InputTag m_l1TauCollectionsTag
Meta InputTag for L1 Egamma collection.
Definition: HLTL1TSeed.h:171
bool m_isDebugEnabled
cache edm::isDebugEnabled()
Definition: HLTL1TSeed.h:184
void updateAlgoLogicParser(const std::vector< bool > &gtWord, const std::vector< unsigned int > &triggerMask, const int physicsDaqPartition)
Definition: HLTL1TSeed.h:72
edm::InputTag m_l1EGammaTag
Definition: HLTL1TSeed.h:162
unsigned long long m_l1GtMenuCacheID
Definition: HLTL1TSeed.h:105
edm::InputTag m_l1GlobalTag
InputTag for L1 Global Trigger.
Definition: HLTL1TSeed.h:151
edm::EDGetTokenT< GlobalAlgBlkBxCollection > m_l1GlobalToken
Definition: HLTL1TSeed.h:152
void dumpTriggerFilterObjectWithRefs(trigger::TriggerFilterObjectWithRefs &) const
detailed print of filter content
Definition: HLTL1TSeed.cc:310
edm::InputTag m_l1MuonCollectionsTag
Meta InputTag for L1 Muon collection.
Definition: HLTL1TSeed.h:156
virtual bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) override
filter the event
Definition: HLTL1TSeed.cc:111
bool m_l1GlobalDecision
replace string &quot;L1GlobalDecision&quot; with bool to speed up the &quot;if&quot;
Definition: HLTL1TSeed.h:181
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
parameter description
Definition: HLTL1TSeed.cc:89
edm::EDGetTokenT< l1t::MuonBxCollection > m_l1MuonToken
Definition: HLTL1TSeed.h:158
edm::EDGetTokenT< l1t::TauBxCollection > m_l1TauToken
Definition: HLTL1TSeed.h:173