CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/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& 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   //  edm::InputTag l3linksTag_;
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   // ----------member data ---------------------------
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 // OIState,OIHit,IOHit
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 // tracker
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