CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/DQM/HLTEvF/interface/HLTMuonDQMSource.h

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 // 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