CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 /*DQM For Tau HLT
00002 Author : Michail Bachtis
00003 University of Wisconsin-Madison
00004 bachtis@hep.wisc.edu
00005 */
00006 
00007  
00008 #include <memory>
00009 #include <unistd.h>
00010 #include <FWCore/Framework/interface/EDAnalyzer.h>
00011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00012 #include "DQMServices/Core/interface/MonitorElement.h"
00013 #include "DQMServices/Core/interface/DQMStore.h"
00014 #include "DataFormats/Common/interface/Handle.h"
00015 #include "FWCore/Framework/interface/Event.h"
00016 #include "FWCore/Framework/interface/EventSetup.h"
00017 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00018 #include "FWCore/ServiceRegistry/interface/Service.h"
00019 
00020 #include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h"
00021 #include "DataFormats/HLTReco/interface/TriggerRefsCollections.h"
00022 #include "DataFormats/Math/interface/LorentzVector.h"
00023 
00024 //MET Includes
00025 #include "DataFormats/METReco/interface/CaloMETCollection.h"
00026 #include "DataFormats/METReco/interface/CaloMET.h"
00027 
00028 //Electron includes
00029 #include "DataFormats/EgammaCandidates/interface/Electron.h"
00030 #include "DataFormats/EgammaCandidates/interface/ElectronFwd.h"
00031 
00032 //Muon Includes
00033 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
00034 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h"
00035 
00036 //Photon Includes
00037 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidateFwd.h"
00038 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidate.h"
00039 
00040 //Track Include
00041 #include "DataFormats/HcalIsolatedTrack/interface/IsolatedPixelTrackCandidateFwd.h"
00042 #include "DataFormats/HcalIsolatedTrack/interface/IsolatedPixelTrackCandidate.h"
00043 
00044 //Plotters
00045 #include "DQM/HLTEvF/interface/HLTTauDQML1Plotter.h"
00046 #include "DQM/HLTEvF/interface/HLTTauDQMCaloPlotter.h"
00047 #include "DQM/HLTEvF/interface/HLTTauDQMTrkPlotter.h"
00048 #include "DQM/HLTEvF/interface/HLTTauDQMPathPlotter.h"
00049 #include "DQM/HLTEvF/interface/HLTTauDQMSummaryPlotter.h"
00050 #include "DQM/HLTEvF/interface/HLTTauDQMLitePathPlotter.h"
00051 
00052 //
00053 // class declaration
00054 //
00055 
00056 typedef math::XYZTLorentzVectorD LV;
00057 typedef std::vector<LV> LVColl;
00058 
00059 class HLTTauDQMSource : public edm::EDAnalyzer {
00060 public:
00061   HLTTauDQMSource( const edm::ParameterSet& );
00062   ~HLTTauDQMSource();
00063 
00064 protected:
00065    
00067   void beginJob();
00068 
00070   void beginRun(const edm::Run& r, const edm::EventSetup& c);
00071 
00073   void analyze(const edm::Event& e, const edm::EventSetup& c) ;
00074 
00076   void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 
00077                             const edm::EventSetup& context) ;
00079   void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 
00080                           const edm::EventSetup& c);
00082   void endRun(const edm::Run& r, const edm::EventSetup& c);
00083 
00085   void endJob();
00086 
00087 
00088 
00089 private:
00090   DQMStore* dbe_;  
00091   std::vector<edm::ParameterSet> config_;
00092   std::vector<std::string> configType_;
00093 
00094   //Reference
00095   bool doRefAnalysis_;
00096   int NPtBins_;
00097   int NEtaBins_;
00098   int NPhiBins_;
00099   double EtMax_;
00100   double L1MatchDr_;
00101   double HLTMatchDr_;
00102 
00103 
00104   std::vector<edm::InputTag> refFilter_;
00105   std::vector<int> refID_;
00106   std::vector<double> ptThres_;
00107 
00108   //  edm::InputTag refFilter2_;
00109   //  int refID2_;
00110   //  double ptThres2_;
00111 
00112 
00113   //DQM Prescaler
00114   int counterEvt_;      
00115   int prescaleEvt_;     
00116 
00117   //get The trigger Event
00118   edm::InputTag triggerEvent_;
00119   //Helper function to get Trigger event primitives
00120   //  LVColl getFilterCollection(size_t,int,const trigger::TriggerEventWithRefs&,double);
00121   LVColl getFilterCollection(size_t index,int id,const trigger::TriggerEvent& trigEv,double);
00122 
00123 
00124   //Define Dummy vectors of Plotters
00125   std::vector<HLTTauDQML1Plotter> l1Plotters;
00126   std::vector<HLTTauDQMCaloPlotter> caloPlotters;
00127   std::vector<HLTTauDQMTrkPlotter> trackPlotters; 
00128   std::vector<HLTTauDQMPathPlotter> pathPlotters;
00129   std::vector<HLTTauDQMLitePathPlotter> litePathPlotters;
00130   std::vector<HLTTauDQMSummaryPlotter> summaryPlotters;
00131 
00132 };
00133