CMS 3D CMS Logo

HLTLevel1GTSeed.h

Go to the documentation of this file.
00001 #ifndef HLTfilters_HLTLevel1GTSeed_h
00002 #define HLTfilters_HLTLevel1GTSeed_h
00003 
00022 // system include files
00023 #include <string>
00024 #include <vector>
00025 
00026 // user include files
00027 
00028 //   base class
00029 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
00030 
00031 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
00032 
00033 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
00034 #include "CondFormats/L1TObjects/interface/L1GtTriggerMenuFwd.h"
00035 #include "DataFormats/L1GlobalTrigger/interface/L1GtLogicParser.h"
00036 
00037 #include "FWCore/ParameterSet/interface/InputTag.h"
00038 
00039 // forward declarations
00040 class L1GtTriggerMenu;
00041 class L1GtTriggerMask;
00042 
00043 // class declaration
00044 class HLTLevel1GTSeed : public HLTFilter
00045 {
00046 
00047 public:
00048 
00050     explicit HLTLevel1GTSeed(const edm::ParameterSet&);
00051 
00053     virtual ~HLTLevel1GTSeed();
00054 
00056     virtual bool filter(edm::Event&, const edm::EventSetup&);
00057 
00058 private:
00059 
00061     const std::vector<L1GtObject>* objectTypeVec(const int chipNumber, const std::string& cndName);
00062 
00065     void updateAlgoLogicParser(const L1GtTriggerMenu*);
00066 
00069     void updateAlgoLogicParser(const std::vector<bool>& gtWord,
00070             const std::vector<unsigned int>& triggerMask, const int physicsDaqPartition);
00071 
00074     void convertStringToBitNumber();
00075 
00078     void debugPrint(bool);
00079 
00080 
00081 private:
00082 
00083     // cached stuff
00084 
00086     const L1GtTriggerMenu* m_l1GtMenu;
00087     unsigned long long m_l1GtMenuCacheID;
00088 
00090     const L1GtTriggerMask* m_l1GtTmAlgo;
00091     unsigned long long m_l1GtTmAlgoCacheID;
00092 
00093     const L1GtTriggerMask* m_l1GtTmTech;
00094     unsigned long long m_l1GtTmTechCacheID;
00095 
00096     std::vector<unsigned int> m_triggerMaskAlgoTrig;
00097     std::vector<unsigned int> m_triggerMaskTechTrig;
00098 
00099     //
00100 
00102     L1GtLogicParser m_l1AlgoLogicParser;
00103 
00105     std::vector<L1GtLogicParser::OperandToken> m_l1AlgoSeeds;
00106 
00108     std::vector< const std::vector<L1GtLogicParser::TokenRPN>* > m_l1AlgoSeedsRpn;
00109 
00111     std::vector< std::vector< const std::vector<L1GtObject>* > > m_l1AlgoSeedsObjType;
00112 
00113 private:
00114 
00116     bool m_l1TechTriggerSeeding;
00117 
00120     std::string m_l1SeedsLogicalExpression;
00121 
00123     edm::InputTag m_l1GtReadoutRecordTag;
00124 
00126     edm::InputTag m_l1GtObjectMapTag;
00127 
00129     edm::InputTag m_l1CollectionsTag;
00130 
00132     edm::InputTag m_l1MuonCollectionTag;
00133 
00135     edm::InputTag m_l1MuonTag;
00136     edm::InputTag m_l1ExtraTag;
00137     edm::InputTag m_l1IsoEGTag;
00138     edm::InputTag m_l1NoIsoEGTag;
00139     edm::InputTag m_l1CenJetTag;
00140     edm::InputTag m_l1ForJetTag;
00141     edm::InputTag m_l1TauJetTag;
00142 
00144     bool saveTags_;
00145 };
00146 
00147 #endif // HLTfilters_HLTLevel1GTSeed_h

Generated on Tue Jun 9 17:37:54 2009 for CMSSW by  doxygen 1.5.4