CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQM/HLTEvF/interface/HLTTauDQMTrkPlotter.h

Go to the documentation of this file.
00001 // Original Author:  Eduardo Luigi
00002 //         Created:  Sun Jan 20 20:10:02 CST 2008
00003 
00004 // system include files
00005 #include <memory>
00006 
00007 // user include files
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "FWCore/Framework/interface/EDAnalyzer.h"
00010 #include "FWCore/Framework/interface/Event.h"
00011 #include "FWCore/Framework/interface/MakerMacros.h"
00012 #include "FWCore/ServiceRegistry/interface/Service.h"
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014 #include "FWCore/Utilities/interface/InputTag.h"
00015 #include "DataFormats/BTauReco/interface/IsolatedTauTagInfo.h"
00016 #include "DataFormats/JetReco/interface/CaloJet.h"
00017 #include "DataFormats/TrackReco/interface/Track.h"
00018 #include <string>
00019 
00020 
00021 //Include DQM core
00022 #include "DQMServices/Core/interface/DQMStore.h"
00023 #include "DQMServices/Core/interface/MonitorElement.h"
00024 
00025 
00026  typedef math::XYZTLorentzVectorD   LV;
00027  typedef std::vector<LV>            LVColl;
00028 
00029 
00030 
00031 
00032 //
00033 // class decleration
00034 //
00035 
00036 
00037 class HLTTauDQMTrkPlotter  {
00038    public:
00039        HLTTauDQMTrkPlotter(const edm::ParameterSet&,int,int,int,double,bool,double);
00040       ~HLTTauDQMTrkPlotter();
00041       void analyze(const edm::Event&, const edm::EventSetup&,const LVColl&);
00042 
00043    private:
00044       std::pair<bool,LV> match(const LV& recoJet, const LVColl& matchingObject);       
00045       bool matchJet(const reco::Jet& ,const reco::CaloJetCollection&); 
00046    
00047       //Parameters to read
00048       edm::InputTag jetTagSrc_;
00049       edm::InputTag isolJets_;
00050      
00051       //Output file
00052       std::string folder_;
00053       std::string type_;
00054       double mcMatch_;
00055       //Monitor elements main
00056       MonitorElement* jetEt;
00057       MonitorElement* jetEta;
00058       MonitorElement* jetPhi;
00059 
00060       MonitorElement* isoJetEt;
00061       MonitorElement* isoJetEta;
00062       MonitorElement* isoJetPhi;
00063 
00064       MonitorElement* nPxlTrksInL25Jet;
00065       MonitorElement* nQPxlTrksInL25Jet;
00066       MonitorElement* signalLeadTrkPt;
00067       MonitorElement* hasLeadTrack;
00068 
00069       MonitorElement* EtEffNum;
00070       MonitorElement* EtEffDenom;
00071       MonitorElement* EtaEffNum;
00072       MonitorElement* EtaEffDenom;
00073       MonitorElement* PhiEffNum;
00074       MonitorElement* PhiEffDenom;
00075 
00076 
00077 
00078       DQMStore* store;
00079               
00080       bool doRef_;
00081 
00082       //Histogram Limits
00083 
00084       double EtMax_;
00085       int NPtBins_;
00086       int NEtaBins_;
00087       int NPhiBins_;
00088 
00089 };
00090 
00091 
00092