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
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
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_;
00093 double ptThrMu2_;
00094
00095
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