![]() |
![]() |
00001 #ifndef HLTMuonDQMSource_H 00002 #define HLTMuonDQMSource_H 00003 00013 #include <memory> 00014 #include <unistd.h> 00015 #include <vector> 00016 #include <string> 00017 00018 #include <FWCore/Framework/interface/EDAnalyzer.h> 00019 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00020 #include "DQMServices/Core/interface/DQMStore.h" 00021 #include "DQMServices/Core/interface/MonitorElement.h" 00022 00023 // 00024 // class declaration 00025 // 00026 00027 class HLTMuonDQMSource : public edm::EDAnalyzer { 00028 public: 00029 HLTMuonDQMSource( const edm::ParameterSet& ); 00030 ~HLTMuonDQMSource(); 00031 00032 protected: 00033 00035 void beginJob(); 00036 00038 void beginRun(const edm::Run& r, const edm::EventSetup& c); 00039 00041 void analyze(const edm::Event& e, const edm::EventSetup& c) ; 00042 00043 void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00044 const edm::EventSetup& context) ; 00045 00047 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00048 const edm::EventSetup& c); 00049 00051 void endRun(const edm::Run& r, const edm::EventSetup& c); 00052 00054 void endJob(); 00055 00056 private: 00057 00058 edm::ParameterSet parameters_; 00059 00060 DQMStore* dbe_; 00061 std::string monitorName_; 00062 std::string outputFile_; 00063 int counterEvt_; 00064 int nTrig_; 00065 int prescaleEvt_; 00066 double coneSize_; 00067 edm::InputTag l2collectionTag_; 00068 edm::InputTag l2isolationTag_; 00069 edm::InputTag l2seedscollectionTag_; 00070 edm::InputTag l3seedscollectionTag_; 00071 edm::InputTag l3collectionTag_; 00072 edm::InputTag l3isolationTag_; 00073 // edm::InputTag l3linksTag_; 00074 edm::InputTag TrigResultInput; 00075 00076 std::vector<std::string> theTriggerBits; 00077 std::vector<std::string> theDirectoryName; 00078 std::vector<std::string> theHLTCollectionLevel; 00079 std::string striggers_[20]; 00080 00081 // ----------member data --------------------------- 00082 bool verbose_; 00083 static const int NTRIG = 20; 00084 int nTrigs; 00085 00086 MonitorElement * hNMu[NTRIG][5]; 00087 MonitorElement * hcharge[NTRIG][5]; 00088 MonitorElement * hchargeconv[NTRIG][3]; 00089 MonitorElement * hpt[NTRIG][5]; 00090 MonitorElement * heta[NTRIG][5]; 00091 MonitorElement * hphi[NTRIG][5]; 00092 MonitorElement * hphi_norm[NTRIG][5]; 00093 MonitorElement * hptphi[NTRIG][5]; 00094 MonitorElement * hpteta[NTRIG][5]; 00095 MonitorElement * hptres[NTRIG][3]; 00096 MonitorElement * hptrespt[NTRIG][3]; 00097 MonitorElement * hetares[NTRIG][3]; 00098 MonitorElement * hetareseta[NTRIG][3]; 00099 MonitorElement * hphires[NTRIG][3]; 00100 MonitorElement * hphiresphi[NTRIG][3]; 00101 MonitorElement * hetaphi[NTRIG][5]; 00102 MonitorElement * hdr[NTRIG][2]; 00103 MonitorElement * hd0[NTRIG][2]; 00104 MonitorElement * hdz[NTRIG][2]; 00105 MonitorElement * hdz0[NTRIG][2]; 00106 MonitorElement * hdrphi[NTRIG][2]; 00107 MonitorElement * hd0phi[NTRIG][2]; 00108 MonitorElement * hdzeta[NTRIG][2]; 00109 MonitorElement * hdz0eta[NTRIG][2]; 00110 MonitorElement * herr0[NTRIG][2]; 00111 MonitorElement * hnHits[NTRIG][4]; 00112 MonitorElement * hnValidHits[NTRIG]; 00113 MonitorElement * hnTkValidHits[NTRIG]; 00114 MonitorElement * hnMuValidHits[NTRIG]; 00115 MonitorElement * hdimumass[NTRIG][2]; 00116 MonitorElement * hiso[NTRIG][2]; 00117 MonitorElement * hl1quality[NTRIG]; 00118 MonitorElement * hptfrac[NTRIG][2]; 00119 MonitorElement * hetafrac[NTRIG][2]; 00120 MonitorElement * hphifrac[NTRIG][2]; 00121 MonitorElement * hseedptres[NTRIG][2]; 00122 MonitorElement * hseedetares[NTRIG][2]; 00123 MonitorElement * hseedphires[NTRIG][2]; 00124 MonitorElement * hptpull[NTRIG]; 00125 MonitorElement * hptpullpt[NTRIG]; 00126 MonitorElement * hetapull[NTRIG]; 00127 MonitorElement * hetapulleta[NTRIG]; 00128 MonitorElement * hphipull[NTRIG]; 00129 MonitorElement * hphipullphi[NTRIG]; 00130 MonitorElement * hseedNMuper[NTRIG][2]; 00131 MonitorElement * hptrelres[NTRIG][3]; 00132 MonitorElement * hptrelrespt[NTRIG][3]; 00133 MonitorElement * hetarelres[NTRIG][3]; 00134 MonitorElement * hetarelreseta[NTRIG][3]; 00135 MonitorElement * hphirelres[NTRIG][3]; 00136 MonitorElement * hphirelresphi[NTRIG][3]; 00137 MonitorElement * hseedptrelres[NTRIG][2]; 00138 MonitorElement * hseedetarelres[NTRIG][2]; 00139 MonitorElement * hseedphirelres[NTRIG][2]; 00140 MonitorElement * htowerEt[NTRIG]; 00141 MonitorElement * htowerEta[NTRIG]; 00142 MonitorElement * htowerPhi[NTRIG]; 00143 MonitorElement * htowerHadEnergy[NTRIG]; 00144 MonitorElement * htowerEmEnergy[NTRIG]; 00145 MonitorElement * htowerOuterEnergy[NTRIG]; 00146 MonitorElement * htowerHadEt[NTRIG]; 00147 MonitorElement * htowerEmEt[NTRIG]; 00148 MonitorElement * htowerOuterEt[NTRIG]; 00149 MonitorElement * htowerEtaHadEt[NTRIG]; 00150 MonitorElement * htowerEtaEmEt[NTRIG]; 00151 MonitorElement * htowerEtaOuterEt[NTRIG]; 00152 MonitorElement * htowerPhiHadEt[NTRIG]; 00153 MonitorElement * htowerPhiEmEt[NTRIG]; 00154 MonitorElement * htowerPhiOuterEt[NTRIG]; 00155 MonitorElement * htowerdRL2[NTRIG]; 00156 MonitorElement * htowerdRL3[NTRIG]; 00157 MonitorElement * hL2muonIsoDR[NTRIG]; 00158 float XMIN; float XMAX; 00159 00160 TH1D *_hpt1[NTRIG][2], *_hpt2[NTRIG][2]; 00161 TH1D *_heta1[NTRIG][2], *_heta2[NTRIG][2]; 00162 TH1D *_hphi1[NTRIG][2], *_hphi2[NTRIG][2]; 00163 }; 00164 00165 #endif 00166