00001 #include <memory> 00002 00003 // user include files 00004 00005 #include "FWCore/Framework/interface/ESHandle.h" 00006 #include "DQMServices/Core/interface/DQMStore.h" 00007 #include "DQMServices/Core/interface/MonitorElement.h" 00008 #include "FWCore/ServiceRegistry/interface/Service.h" 00009 00010 #include "FWCore/Framework/interface/EDAnalyzer.h" 00011 00012 #include "FWCore/Framework/interface/Event.h" 00013 #include "FWCore/Framework/interface/MakerMacros.h" 00014 00015 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00016 00017 #include <fstream> 00018 00019 class HLTMonHcalIsoTrack : public edm::EDAnalyzer { 00020 public: 00021 explicit HLTMonHcalIsoTrack(const edm::ParameterSet&); 00022 ~HLTMonHcalIsoTrack(); 00023 00024 double getDist(double,double,double,double); 00025 std::pair<int, int> towerIndex(double, double); 00026 00027 private: 00028 00029 int evtBuf; 00030 00031 DQMStore* dbe_; 00032 00033 virtual void beginJob() ; 00034 00035 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00036 virtual void endJob() ; 00037 00038 std::string folderName_; 00039 std::string outRootFileName_; 00040 00041 std::string hltRAWEventTag_; 00042 std::string hltAODEventTag_; 00043 00044 std::string l2collectionLabel_; 00045 std::string l3collectionLabel_; 00046 00047 std::string l3filterLabel_; 00048 std::string l1filterLabel_; 00049 std::string l2filterLabel_; 00050 00051 std::vector<std::string> trigNames_; 00052 std::vector<std::string> l2collectionLabels_; 00053 std::vector<std::string> l3collectionLabels_; 00054 00055 std::vector<std::string> l3filterLabels_; 00056 std::vector<std::string> l1filterLabels_; 00057 std::vector<std::string> l2filterLabels_; 00058 00059 std::string hltProcess_; 00060 00061 bool useProducerCollections_; 00062 00063 bool saveToRootFile_; 00064 00065 std::vector<edm::ParameterSet> triggers; 00066 00067 std::vector<MonitorElement*> hL2TowerOccupancy; 00068 std::vector<MonitorElement*> hL3TowerOccupancy; 00069 std::vector<MonitorElement*> hL2L3acc; 00070 std::vector<MonitorElement*> hL3L2trackMatch; 00071 std::vector<MonitorElement*> hL3candL2rat; 00072 std::vector<MonitorElement*> hL2isolationP; 00073 std::vector<MonitorElement*> hL1eta; 00074 std::vector<MonitorElement*> hL1phi; 00075 00076 }; 00077 00078