![]() |
![]() |
00001 // Original Author: Eduardo Luigi 00002 // Created: Sun Jan 20 20:10:02 CST 2008 00003 00004 00005 00006 // system include files 00007 #include <memory> 00008 00009 // user include files 00010 #include "FWCore/Framework/interface/Frameworkfwd.h" 00011 #include "FWCore/Framework/interface/EDAnalyzer.h" 00012 #include "FWCore/Framework/interface/Event.h" 00013 #include "FWCore/Framework/interface/MakerMacros.h" 00014 #include "FWCore/ServiceRegistry/interface/Service.h" 00015 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00016 #include "FWCore/ParameterSet/interface/InputTag.h" 00017 #include "DataFormats/BTauReco/interface/IsolatedTauTagInfo.h" 00018 #include "DataFormats/JetReco/interface/CaloJet.h" 00019 #include "DataFormats/TrackReco/interface/Track.h" 00020 #include <string> 00021 #include "TH1F.h" 00022 00023 00024 //Include DQM core 00025 #include "DQMServices/Core/interface/DQMStore.h" 00026 #include "DQMServices/Core/interface/MonitorElement.h" 00027 00028 00029 typedef math::XYZTLorentzVectorD LV; 00030 typedef std::vector<LV> LVColl; 00031 00032 00033 00034 00035 // 00036 // class decleration 00037 // 00038 00039 00040 class HLTTauTrkDQMOfflineSource : public edm::EDAnalyzer { 00041 public: 00042 explicit HLTTauTrkDQMOfflineSource(const edm::ParameterSet&); 00043 ~HLTTauTrkDQMOfflineSource(); 00044 00045 private: 00046 virtual void beginJob(const edm::EventSetup&) ; 00047 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00048 virtual void endJob() ; 00049 bool match(const LV& recoJet, const LVColl& matchingObject); 00050 00051 bool matchJet(const reco::Jet& ,const reco::CaloJetCollection&); 00052 00053 //Parameters to read 00054 00055 edm::InputTag jetTagSrc_; 00056 edm::InputTag jetMCTagSrc_; 00057 edm::InputTag caloJets_; 00058 edm::InputTag isolJets_; 00059 00060 //Output file 00061 std::string tT_; 00062 std::string type_; 00063 00064 std::string outFile_; 00065 00066 //Monitor elements main 00067 MonitorElement* jetEt; 00068 MonitorElement* jetEta; 00069 MonitorElement* nL2EcalIsoJets; 00070 MonitorElement* nL25Jets; 00071 MonitorElement* nPxlTrksInL25Jet; 00072 MonitorElement* nQPxlTrksInL25Jet; 00073 MonitorElement* signalLeadTrkPt; 00074 MonitorElement* l25IsoJetEta; 00075 MonitorElement* l25IsoJetEt; 00076 // MonitorElement* l25EtaEff; 00077 //MonitorElement* l25EtEff; 00078 00079 00080 DQMStore* store; 00081 00082 int nTracksInIsolationRing_; 00083 float rMatch_; 00084 float rSig_; 00085 float rIso_; 00086 float minPtIsoRing_; 00087 float ptLeadTk_; 00088 float mcMatch_; 00089 bool match_; 00090 //Histogram Limits 00091 double EtMin_; 00092 double EtMax_; 00093 int NBins_; 00094 00095 00096 00097 }; 00098 00099 00100