Go to the documentation of this file.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
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& run, const edm::EventSetup& eventSetup);
00039
00041 void analyze(const edm::Event& event, const edm::EventSetup& eventSetup) ;
00042
00043 void beginLuminosityBlock(const edm::LuminosityBlock& lumiBlock,
00044 const edm::EventSetup& eventSetup) ;
00045
00047 void endLuminosityBlock(const edm::LuminosityBlock& lumiBlock,
00048 const edm::EventSetup& eventSetup);
00049
00051 void endRun(const edm::Run& run, const edm::EventSetup& eventSetup);
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 int nl3muon, nl3muonOIState, nl3muonOIHit, nl3muonIOHit;
00068 edm::InputTag l2collectionTag_;
00069 edm::InputTag l2isolationTag_;
00070 edm::InputTag l2seedscollectionTag_;
00071 edm::InputTag l3seedscollectionTag_;
00072 edm::InputTag l3collectionTag_;
00073 edm::InputTag l3isolationTag_;
00074
00075 edm::InputTag TrigResultInput;
00076
00077 std::vector<std::string> theTriggerBits;
00078 std::vector<std::string> theDirectoryName;
00079 std::vector<std::string> theHLTCollectionLevel;
00080 std::string striggers_[20];
00081
00082 edm::InputTag l3seedscollectionTagOIState_;
00083 edm::InputTag l3seedscollectionTagOIHit_;
00084 edm::InputTag l3seedscollectionTagIOHit_;
00085
00086 edm::InputTag l3trkfindingOIState_;
00087 edm::InputTag l3trkfindingOIHit_;
00088 edm::InputTag l3trkfindingIOHit_;
00089
00090 edm::InputTag l3trkOIState_;
00091 edm::InputTag l3trkOIHit_;
00092 edm::InputTag l3trkIOHit_;
00093 edm::InputTag l3tktrk_;
00094
00095 edm::InputTag l3muons_;
00096 edm::InputTag l3muonsOIState_;
00097 edm::InputTag l3muonsOIHit_;
00098 edm::InputTag l3muonsIOHit_;
00099
00100 bool verbose_;
00101 static const int NTRIG = 20;
00102 int nTrigs;
00103
00104 MonitorElement * hNMu[NTRIG][5];
00105 MonitorElement * hcharge[NTRIG][5];
00106 MonitorElement * hchargeconv[NTRIG][3];
00107 MonitorElement * hpt[NTRIG][5];
00108 MonitorElement * heta[NTRIG][5];
00109 MonitorElement * hphi[NTRIG][5];
00110 MonitorElement * hphi_norm[NTRIG][5];
00111 MonitorElement * hptphi[NTRIG][5];
00112 MonitorElement * hpteta[NTRIG][5];
00113 MonitorElement * hptres[NTRIG][3];
00114 MonitorElement * hptrespt[NTRIG][3];
00115 MonitorElement * hetares[NTRIG][3];
00116 MonitorElement * hetareseta[NTRIG][3];
00117 MonitorElement * hphires[NTRIG][3];
00118 MonitorElement * hphiresphi[NTRIG][3];
00119 MonitorElement * hetaphi[NTRIG][5];
00120 MonitorElement * hdr[NTRIG][2];
00121 MonitorElement * hd0[NTRIG][2];
00122 MonitorElement * hdz[NTRIG][2];
00123 MonitorElement * hdz0[NTRIG][2];
00124 MonitorElement * hdrphi[NTRIG][2];
00125 MonitorElement * hd0phi[NTRIG][2];
00126 MonitorElement * hdzeta[NTRIG][2];
00127 MonitorElement * hdz0eta[NTRIG][2];
00128 MonitorElement * herr0[NTRIG][2];
00129 MonitorElement * hnHits[NTRIG][4];
00130 MonitorElement * hnValidHits[NTRIG];
00131 MonitorElement * hnTkValidHits[NTRIG];
00132 MonitorElement * hnPixelValidHits[NTRIG];
00133 MonitorElement * hnStripValidHits[NTRIG];
00134 MonitorElement * hnMuValidHits[NTRIG];
00135 MonitorElement * hdimumass[NTRIG][2];
00136 MonitorElement * hisoL2[NTRIG];
00137 MonitorElement * hisoL3[NTRIG];
00138 MonitorElement * hl1quality[NTRIG];
00139 MonitorElement * hptfrac[NTRIG][2];
00140 MonitorElement * hetafrac[NTRIG][2];
00141 MonitorElement * hphifrac[NTRIG][2];
00142 MonitorElement * hseedptres[NTRIG][2];
00143 MonitorElement * hseedetares[NTRIG][2];
00144 MonitorElement * hseedphires[NTRIG][2];
00145 MonitorElement * hptpull[NTRIG];
00146 MonitorElement * hptpullpt[NTRIG];
00147 MonitorElement * hetapull[NTRIG];
00148 MonitorElement * hetapulleta[NTRIG];
00149 MonitorElement * hphipull[NTRIG];
00150 MonitorElement * hphipullphi[NTRIG];
00151 MonitorElement * hseedNMuper[NTRIG][2];
00152 MonitorElement * hptrelres[NTRIG][3];
00153 MonitorElement * hptrelrespt[NTRIG][3];
00154 MonitorElement * hetarelres[NTRIG][3];
00155 MonitorElement * hetarelreseta[NTRIG][3];
00156 MonitorElement * hphirelres[NTRIG][3];
00157 MonitorElement * hphirelresphi[NTRIG][3];
00158 MonitorElement * hseedptrelres[NTRIG][2];
00159 MonitorElement * hseedetarelres[NTRIG][2];
00160 MonitorElement * hseedphirelres[NTRIG][2];
00161 MonitorElement * htowerEt[NTRIG];
00162 MonitorElement * htowerEta[NTRIG];
00163 MonitorElement * htowerPhi[NTRIG];
00164 MonitorElement * htowerHadEnergy[NTRIG];
00165 MonitorElement * htowerEmEnergy[NTRIG];
00166 MonitorElement * htowerOuterEnergy[NTRIG];
00167 MonitorElement * htowerHadEt[NTRIG];
00168 MonitorElement * htowerEmEt[NTRIG];
00169 MonitorElement * htowerOuterEt[NTRIG];
00170 MonitorElement * htowerEtaHadEt[NTRIG];
00171 MonitorElement * htowerEtaEmEt[NTRIG];
00172 MonitorElement * htowerEtaOuterEt[NTRIG];
00173 MonitorElement * htowerPhiHadEt[NTRIG];
00174 MonitorElement * htowerPhiEmEt[NTRIG];
00175 MonitorElement * htowerPhiOuterEt[NTRIG];
00176 MonitorElement * htowerdRL2[NTRIG];
00177 MonitorElement * htowerdRL3[NTRIG];
00178 MonitorElement * hL2muonIsoDR[NTRIG];
00179 MonitorElement * hL3muonIsoDR[NTRIG];
00180
00181 float XMIN; float XMAX;
00182
00183 TH1D *_hpt1[NTRIG][2], *_hpt2[NTRIG][2];
00184 TH1D *_heta1[NTRIG][2], *_heta2[NTRIG][2];
00185 TH1D *_hphi1[NTRIG][2], *_hphi2[NTRIG][2];
00186
00188 MonitorElement * hd0_OIState[NTRIG][5];
00189 MonitorElement * hd0_OIHit[NTRIG][5];
00190 MonitorElement * hd0_IOHit[NTRIG][5];
00191 MonitorElement * hdz_OIState[NTRIG][5];
00192 MonitorElement * hdz_OIHit[NTRIG][5];
00193 MonitorElement * hdz_IOHit[NTRIG][5];
00194 MonitorElement * hdr_OIState[NTRIG][5];
00195 MonitorElement * hdr_OIHit[NTRIG][5];
00196 MonitorElement * hdr_IOHit[NTRIG][5];
00197
00198 MonitorElement * hNMu_comp[NTRIG][5];
00199 MonitorElement * hNMu_trk_comp[NTRIG][5];
00200 MonitorElement * hNMu_l3seed_comp[NTRIG][5];
00201
00202
00203 MonitorElement * hNMu_OIState[NTRIG][5];
00204 MonitorElement * hNMu_OIHit[NTRIG][5];
00205 MonitorElement * hNMu_IOHit[NTRIG][5];
00206 MonitorElement * hpt_OIState[NTRIG][5];
00207 MonitorElement * hpt_OIHit[NTRIG][5];
00208 MonitorElement * hpt_IOHit[NTRIG][5];
00209 MonitorElement * heta_OIState[NTRIG][5];
00210 MonitorElement * heta_OIHit[NTRIG][5];
00211 MonitorElement * heta_IOHit[NTRIG][5];
00212 MonitorElement * hphi_OIState[NTRIG][5];
00213 MonitorElement * hphi_OIHit[NTRIG][5];
00214 MonitorElement * hphi_IOHit[NTRIG][5];
00215 MonitorElement * hpteta_OIState[NTRIG][5];
00216 MonitorElement * hpteta_OIHit[NTRIG][5];
00217 MonitorElement * hpteta_IOHit[NTRIG][5];
00218 MonitorElement * hetaphi_OIState[NTRIG][5];
00219 MonitorElement * hetaphi_OIHit[NTRIG][5];
00220 MonitorElement * hetaphi_IOHit[NTRIG][5];
00221 MonitorElement * hptphi_OIState[NTRIG][5];
00222 MonitorElement * hptphi_OIHit[NTRIG][5];
00223 MonitorElement * hptphi_IOHit[NTRIG][5];
00224 MonitorElement * hcharge_OIState[NTRIG][5];
00225 MonitorElement * hcharge_OIHit[NTRIG][5];
00226 MonitorElement * hcharge_IOHit[NTRIG][5];
00227
00228 MonitorElement * hNMu_trk[NTRIG][5];
00229 MonitorElement * hcharge_trk[NTRIG][5];
00230 MonitorElement * hpt_trk[NTRIG][5];
00231 MonitorElement * heta_trk[NTRIG][5];
00232 MonitorElement * hphi_trk[NTRIG][5];
00233 MonitorElement * hpteta_trk[NTRIG][5];
00234 MonitorElement * hptphi_trk[NTRIG][5];
00235 MonitorElement * hetaphi_trk[NTRIG][5];
00236 MonitorElement * hd0_trk[NTRIG][5];
00237 MonitorElement * hdz_trk[NTRIG][5];
00238 MonitorElement * hdr_trk[NTRIG][5];
00239 MonitorElement * hNMu_trk_OIState[NTRIG][5];
00240 MonitorElement * hcharge_trk_OIState[NTRIG][5];
00241 MonitorElement * hpt_trk_OIState[NTRIG][5];
00242 MonitorElement * heta_trk_OIState[NTRIG][5];
00243 MonitorElement * hphi_trk_OIState[NTRIG][5];
00244 MonitorElement * hpteta_trk_OIState[NTRIG][5];
00245 MonitorElement * hptphi_trk_OIState[NTRIG][5];
00246 MonitorElement * hetaphi_trk_OIState[NTRIG][5];
00247 MonitorElement * hd0_trk_OIState[NTRIG][5];
00248 MonitorElement * hdz_trk_OIState[NTRIG][5];
00249 MonitorElement * hdr_trk_OIState[NTRIG][5];
00250 MonitorElement * hNMu_trk_OIHit[NTRIG][5];
00251 MonitorElement * hcharge_trk_OIHit[NTRIG][5];
00252 MonitorElement * hpt_trk_OIHit[NTRIG][5];
00253 MonitorElement * heta_trk_OIHit[NTRIG][5];
00254 MonitorElement * hphi_trk_OIHit[NTRIG][5];
00255 MonitorElement * hpteta_trk_OIHit[NTRIG][5];
00256 MonitorElement * hptphi_trk_OIHit[NTRIG][5];
00257 MonitorElement * hetaphi_trk_OIHit[NTRIG][5];
00258 MonitorElement * hd0_trk_OIHit[NTRIG][5];
00259 MonitorElement * hdz_trk_OIHit[NTRIG][5];
00260 MonitorElement * hdr_trk_OIHit[NTRIG][5];
00261 MonitorElement * hNMu_trk_IOHit[NTRIG][5];
00262 MonitorElement * hcharge_trk_IOHit[NTRIG][5];
00263 MonitorElement * hpt_trk_IOHit[NTRIG][5];
00264 MonitorElement * heta_trk_IOHit[NTRIG][5];
00265 MonitorElement * hphi_trk_IOHit[NTRIG][5];
00266 MonitorElement * hpteta_trk_IOHit[NTRIG][5];
00267 MonitorElement * hptphi_trk_IOHit[NTRIG][5];
00268 MonitorElement * hetaphi_trk_IOHit[NTRIG][5];
00269 MonitorElement * hd0_trk_IOHit[NTRIG][5];
00270 MonitorElement * hdz_trk_IOHit[NTRIG][5];
00271 MonitorElement * hdr_trk_IOHit[NTRIG][5];
00272
00273 MonitorElement * hptres_L3L3trk[NTRIG][5];
00274 MonitorElement * hetares_L3L3trk[NTRIG][5];
00275 MonitorElement * hphires_L3L3trk[NTRIG][5];
00276 MonitorElement * hptrelres_L3L3trk[NTRIG][5];
00277 MonitorElement * hetarelres_L3L3trk[NTRIG][5];
00278 MonitorElement * hphirelres_L3L3trk[NTRIG][5];
00279 };
00280
00281 #endif
00282