CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DQM/Physics/src/HiggsDQM.h

Go to the documentation of this file.
00001 #ifndef HiggsDQM_H
00002 #define HiggsDQM_H
00003 
00004 #include "FWCore/Framework/interface/EDAnalyzer.h"
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 #include "FWCore/Framework/interface/ESHandle.h"
00007 #include "FWCore/Framework/interface/LuminosityBlock.h"
00008 #include "FWCore/Framework/interface/Run.h"
00009 #include "FWCore/Framework/interface/Event.h"
00010 #include "FWCore/Framework/interface/EventSetup.h"
00011 #include "FWCore/Utilities/interface/InputTag.h"
00012 #include "DataFormats/Candidate/interface/Candidate.h"
00013 #include "DataFormats/Candidate/interface/CandidateFwd.h"
00014 
00015 // Trigger stuff
00016 #include "DataFormats/Common/interface/TriggerResults.h"
00017 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
00018 
00019 #include "DataFormats/Common/interface/Handle.h" 
00020 #include "FWCore/Framework/interface/DataKeyTags.h"
00021 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00022 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
00023 #include "Geometry/Records/interface/IdealGeometryRecord.h"
00024 #include "DataFormats/MuonReco/interface/Muon.h"
00025 #include "DataFormats/MuonReco/interface/MuonFwd.h"
00026 #include <DataFormats/EgammaCandidates/interface/GsfElectron.h>
00027 
00028 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00029 #include "DataFormats/GeometryCommonDetAlgo/interface/Measurement1D.h"
00030 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
00031 #include "DataFormats/VertexReco/interface/Vertex.h"
00032 
00033 #include "DQMServices/Core/interface/MonitorElement.h"
00034 
00035 #include <iostream>
00036 #include <fstream>
00037 #include <string>
00038 #include <vector>
00039 #include <map>
00040 
00041 class DQMStore;
00042  
00043 class HiggsDQM: public edm::EDAnalyzer{
00044 
00045 public:
00046 
00047   HiggsDQM(const edm::ParameterSet& ps);
00048   virtual ~HiggsDQM();
00049   
00050 protected:
00051 
00052   void beginJob();
00053   void beginRun(edm::Run const& run, 
00054                 edm::EventSetup const& eSetup);
00055   void analyze(edm::Event const& e, 
00056                edm::EventSetup const& eSetup);
00057   void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, 
00058                             edm::EventSetup const& context) ;
00059   void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, 
00060                           edm::EventSetup const& c);
00061   void endRun(edm::Run const& run, 
00062               edm::EventSetup const& eSetup);
00063   void endJob();
00064 
00065 private:
00066 
00067   double Distance( const reco::Candidate & c1, const reco::Candidate & c2 );
00068   double DistancePhi( const reco::Candidate & c1, const reco::Candidate & c2 );
00069   double calcDeltaPhi(double phi1, double phi2);
00070   void bookHistos(DQMStore * bei );
00071   
00072   unsigned long long m_cacheID_;
00073   int nLumiSecs_;
00074   int nEvents_, irun, ievt;
00075   reco::CandidateCollection *leptonscands_;
00076   int leptonflavor;
00077   float pi;
00078   
00079   DQMStore* bei_;  
00080   HLTConfigProvider hltConfigProvider_;
00081   bool isValidHltConfig_;
00082 
00083   // Variables from config file
00084   std::string   theElecTriggerPathToPass;
00085   std::string   theMuonTriggerPathToPass;
00086   edm::InputTag theTriggerResultsCollection;
00087   edm::InputTag theMuonCollectionLabel;
00088   edm::InputTag theElectronCollectionLabel;
00089   edm::InputTag theCaloJetCollectionLabel;
00090   edm::InputTag theCaloMETCollectionLabel;
00091   edm::InputTag thePfMETCollectionLabel;
00092   double ptThrMu1_; // pt cut on the first muon for the Z^0
00093   double ptThrMu2_; // pt cut on the second muon for the Z^0 
00094   
00095   // Histograms
00096   MonitorElement* h_vertex_number;
00097   MonitorElement* h_vertex_chi2;
00098   MonitorElement* h_vertex_d0;
00099   MonitorElement* h_vertex_numTrks;
00100   MonitorElement* h_vertex_sumTrks;
00101   MonitorElement* h_jet_et;
00102   MonitorElement* h_jet2_et;
00103   MonitorElement* h_jet_count;
00104   MonitorElement* h_caloMet;
00105   MonitorElement* h_caloMet_phi;
00106   MonitorElement* h_pfMet;
00107   MonitorElement* h_pfMet_phi;
00108   int nfourlept,nElectron,nMuon,nLepton,nZEE,nZMuMu,nHiggs,nLooseIsolEle,nLooseIsolMu;
00109   MonitorElement* h_eMultiplicity;
00110   MonitorElement* h_mMultiplicity;
00111   MonitorElement* h_ePt;
00112   MonitorElement* h_eEta;
00113   MonitorElement* h_ePhi;
00114   MonitorElement* h_mPt_GMTM;
00115   MonitorElement* h_mEta_GMTM;
00116   MonitorElement* h_mPhi_GMTM;
00117   MonitorElement* h_mPt_GMPT;
00118   MonitorElement* h_mEta_GMPT;
00119   MonitorElement* h_mPhi_GMPT;
00120   MonitorElement* h_mPt_GM;
00121   MonitorElement* h_mEta_GM;
00122   MonitorElement* h_mPhi_GM;
00123   MonitorElement* h_mPt_TM;
00124   MonitorElement* h_mEta_TM;
00125   MonitorElement* h_mPhi_TM;
00126   MonitorElement* h_mPt_STAM;
00127   MonitorElement* h_mEta_STAM;
00128   MonitorElement* h_mPhi_STAM;
00129   MonitorElement* h_eCombIso;
00130   MonitorElement* h_mCombIso;
00131   MonitorElement* h_dimumass_GMGM;
00132   MonitorElement* h_dimumass_GMTM;
00133   MonitorElement* h_dimumass_TMTM;
00134   MonitorElement* h_dielemass;
00135   MonitorElement* h_lepcounts;
00136   
00137   
00138 };
00139 
00140 
00141 #endif