![]() |
![]() |
00001 #ifndef PhysicsTools_PFCandProducer_PFIsolation_h_ 00002 #define PhysicsTools_PFCandProducer_PFIsolation_h_ 00003 00004 // system include files 00005 #include <memory> 00006 #include <string> 00007 00008 // user include files 00009 #include "FWCore/Framework/interface/Frameworkfwd.h" 00010 #include "FWCore/Framework/interface/EDProducer.h" 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 00013 #include "FWCore/Framework/interface/Event.h" 00014 #include "FWCore/Framework/interface/MakerMacros.h" 00015 00016 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h" 00017 00038 class PFIsolation : public edm::EDProducer { 00039 public: 00040 00041 explicit PFIsolation(const edm::ParameterSet&); 00042 00043 ~PFIsolation(); 00044 00045 virtual void produce(edm::Event&, const edm::EventSetup&); 00046 00047 virtual void beginJob(const edm::EventSetup & c); 00048 00049 private: 00050 00051 double 00052 computeIsolation( const reco::PFCandidate& cand, 00053 const reco::PFCandidateCollection& candidates, 00054 double isolationCone ) const; 00055 00057 edm::InputTag inputTagPFCandidates_; 00058 00060 edm::InputTag inputTagPFCandidatesForIsolation_; 00061 00063 bool verbose_; 00064 00066 double max_ptFraction_InCone_; 00067 00069 double isolation_Cone_DeltaR_; 00070 00073 double isolation_InnerCone_DeltaR_; 00074 }; 00075 00076 #endif