CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HLTLevel1GTSeed.h
Go to the documentation of this file.
1 #ifndef HLTfilters_HLTLevel1GTSeed_h
2 #define HLTfilters_HLTLevel1GTSeed_h
3 
22 // system include files
23 #include <string>
24 #include <vector>
25 
26 // user include files
27 
28 // base class
30 
32 
36 
38 
39 // forward declarations
40 class L1GtTriggerMenu;
41 class L1GtTriggerMask;
43 
44 // class declaration
45 class HLTLevel1GTSeed : public HLTFilter
46 {
47 
48 public:
49 
51  explicit HLTLevel1GTSeed(const edm::ParameterSet&);
52 
54  virtual ~HLTLevel1GTSeed();
55 
57  virtual bool filter(edm::Event&, const edm::EventSetup&);
58 
59 private:
60 
62  const std::vector<L1GtObject>* objectTypeVec(const int chipNumber, const std::string& cndName);
63 
67 
70  void updateAlgoLogicParser(const std::vector<bool>& gtWord,
71  const std::vector<unsigned int>& triggerMask, const int physicsDaqPartition);
72 
76 
79  void debugPrint(bool);
80 
82  bool seedsL1TriggerObjectMaps(edm::Event&, std::auto_ptr<
84  const L1GlobalTriggerReadoutRecord*, const int physicsDaqPartition);
85 
91  bool seedsL1Extra(edm::Event&, std::auto_ptr<trigger::TriggerFilterObjectWithRefs>&);
92 
94  void dumpTriggerFilterObjectWithRefs(std::auto_ptr<trigger::TriggerFilterObjectWithRefs>&);
95 
96 
97 private:
98 
99  // cached stuff
100 
103  unsigned long long m_l1GtMenuCacheID;
104 
107  unsigned long long m_l1GtTmAlgoCacheID;
108 
110  unsigned long long m_l1GtTmTechCacheID;
111 
112  std::vector<unsigned int> m_triggerMaskAlgoTrig;
113  std::vector<unsigned int> m_triggerMaskTechTrig;
114 
115  //
116 
119 
121  std::vector<L1GtLogicParser::OperandToken> m_l1AlgoSeeds;
122 
124  std::vector< const std::vector<L1GtLogicParser::TokenRPN>* > m_l1AlgoSeedsRpn;
125 
127  std::vector< std::vector< const std::vector<L1GtObject>* > > m_l1AlgoSeedsObjType;
128 
129 
130 private:
131 
141 
145 
148 
151 
155 
158 
161 
164 
167 
178 
180  bool saveTags_;
181 
184 
185 
186 };
187 
188 #endif // HLTfilters_HLTLevel1GTSeed_h
void dumpTriggerFilterObjectWithRefs(std::auto_ptr< trigger::TriggerFilterObjectWithRefs > &)
detailed print of filter content
bool m_l1UseL1TriggerObjectMaps
const L1GtTriggerMenu * m_l1GtMenu
trigger menu
const L1GtTriggerMask * m_l1GtTmAlgo
trigger masks
edm::InputTag m_l1EtMissMHT
bool seedsL1Extra(edm::Event &, std::auto_ptr< trigger::TriggerFilterObjectWithRefs > &)
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
void debugPrint(bool)
std::vector< L1GtLogicParser::OperandToken > m_l1AlgoSeeds
list of required algorithms for seeding
bool m_l1UseAliasesForSeeding
seeding uses algorithm aliases instead of algorithm names, if value is &quot;true&quot;
edm::InputTag m_l1ExtraTag
std::vector< unsigned int > m_triggerMaskTechTrig
bool m_l1TechTriggerSeeding
seeding done via technical trigger bits, if value is &quot;true&quot;
edm::InputTag m_l1GtObjectMapTag
InputTag for L1 Global Trigger object maps.
std::vector< std::vector< const std::vector< L1GtObject > * > > m_l1AlgoSeedsObjType
vector of object-type vectors for each condition in the required algorithms for seeding ...
edm::InputTag m_l1CollectionsTag
InputTag for L1 particle collections (except muon)
edm::InputTag m_l1MuonCollectionTag
InputTag for L1 muon collection.
void updateAlgoLogicParser(const L1GtTriggerMenu *, const AlgorithmMap &)
std::string m_l1SeedsLogicalExpression
edm::InputTag m_l1IsoEGTag
unsigned long long m_l1GtMenuCacheID
edm::InputTag m_l1ForJetTag
bool m_isDebugEnabled
cache edm::isDebugEnabled()
edm::InputTag m_l1CenJetTag
std::vector< const std::vector< L1GtLogicParser::TokenRPN > * > m_l1AlgoSeedsRpn
vector of Rpn vectors for the required algorithms for seeding
edm::InputTag m_l1NoIsoEGTag
void convertStringToBitNumber()
unsigned long long m_l1GtTmTechCacheID
unsigned long long m_l1GtTmAlgoCacheID
edm::InputTag m_l1GtReadoutRecordTag
InputTag for the L1 Global Trigger DAQ readout record.
virtual bool filter(edm::Event &, const edm::EventSetup &)
filter the event
const std::vector< L1GtObject > * objectTypeVec(const int chipNumber, const std::string &cndName)
get the vector of object types for a condition cndName on the GTL chip chipNumber ...
std::vector< unsigned int > m_triggerMaskAlgoTrig
HLTLevel1GTSeed(const edm::ParameterSet &)
constructor
virtual ~HLTLevel1GTSeed()
destructor
edm::InputTag m_l1EtMissMET
edm::InputTag m_l1MuonTag
cached InputTags
L1GtLogicParser m_l1AlgoLogicParser
logic parser for m_l1SeedsLogicalExpression
bool saveTags_
Whether to save these tags.
edm::InputTag m_l1TauJetTag
const L1GtTriggerMask * m_l1GtTmTech
bool seedsL1TriggerObjectMaps(edm::Event &, std::auto_ptr< trigger::TriggerFilterObjectWithRefs > &, const L1GlobalTriggerReadoutRecord *, const int physicsDaqPartition)
seeding is done via L1 trigger object maps, considering the objects which fired in L1 ...