00001 #ifndef RecoMuon_MuonIsolation_MuPFIsoHelper_H 00002 #define RecoMuon_MuonIsolation_MuPFIsoHelper_H 00003 00004 //MuPFIsoHelper 00005 //Class to embed PF2PAT style Isodeposits 00006 //To reco::Muon 00007 // 00008 //Author: Michalis Bachtis(U.Wisconsin) 00009 //bachtis@cern.ch 00010 00011 00012 // system include files 00013 #include <memory> 00014 00015 // user include files 00016 #include "FWCore/Framework/interface/Frameworkfwd.h" 00017 #include "FWCore/Framework/interface/Event.h" 00018 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00019 #include "DataFormats/MuonReco/interface/Muon.h" 00020 #include "DataFormats/Common/interface/Handle.h" 00021 00022 #include "DataFormats/MuonReco/interface/MuonFwd.h" 00023 #include "DataFormats/Common/interface/ValueMap.h" 00024 00025 00026 00027 class MuPFIsoHelper { 00028 public: 00029 typedef edm::ValueMap<double> CandDoubleMap; 00030 00031 MuPFIsoHelper(const edm::ParameterSet& iConfig); 00032 void beginEvent(const edm::Event& iEvent); 00033 00034 int embedPFIsolation(reco::Muon&,reco::MuonRef& ); 00035 00036 ~MuPFIsoHelper(); 00037 00038 00039 private: 00040 edm::ParameterSet isoCfg03_; 00041 edm::ParameterSet isoCfg04_; 00042 00043 00044 edm::Handle<CandDoubleMap> chargedParticle03_; 00045 edm::Handle<CandDoubleMap> chargedHadron03_; 00046 edm::Handle<CandDoubleMap> neutralHadron03_; 00047 edm::Handle<CandDoubleMap> photon03_; 00048 edm::Handle<CandDoubleMap> neutralHadronHighThreshold03_; 00049 edm::Handle<CandDoubleMap> photonHighThreshold03_; 00050 edm::Handle<CandDoubleMap> pu03_; 00052 edm::Handle<CandDoubleMap> chargedParticle04_; 00053 edm::Handle<CandDoubleMap> chargedHadron04_; 00054 edm::Handle<CandDoubleMap> neutralHadron04_; 00055 edm::Handle<CandDoubleMap> photon04_; 00056 edm::Handle<CandDoubleMap> neutralHadronHighThreshold04_; 00057 edm::Handle<CandDoubleMap> photonHighThreshold04_; 00058 edm::Handle<CandDoubleMap> pu04_; 00059 00060 00061 }; 00062 #endif