CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch1/src/PhysicsTools/IsolationAlgos/plugins/PFTauExtractor.h

Go to the documentation of this file.
00001 #ifndef PhysicsTools_IsolationAlgos_PFTauExtractor_H
00002 #define PhysicsTools_IsolationAlgos_PFTauExtractor_H
00003 
00004 #include "FWCore/Framework/interface/Event.h"
00005 #include "FWCore/Framework/interface/EventSetup.h"
00006 #include "FWCore/Utilities/interface/InputTag.h"
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 
00009 #include "PhysicsTools/IsolationAlgos/interface/IsoDepositExtractor.h"
00010 
00011 #include "DataFormats/TrackReco/interface/Track.h"
00012 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00013 #include "DataFormats/Candidate/interface/Candidate.h"
00014 #include "DataFormats/Candidate/interface/CandidateFwd.h"
00015 #include "DataFormats/RecoCandidate/interface/IsoDeposit.h"
00016 
00017 class PFTauExtractor : public reco::isodeposit::IsoDepositExtractor 
00018 {
00019  public:
00020 
00021   explicit PFTauExtractor(const edm::ParameterSet&);
00022   virtual ~PFTauExtractor(){}
00023 
00025   virtual void fillVetos(const edm::Event&, const edm::EventSetup&, const reco::TrackCollection&) { }
00026   virtual reco::IsoDeposit deposit(const edm::Event& evt, const edm::EventSetup& es, const reco::Track& track) const { 
00027     return depositFromObject(evt, es, track);
00028   }
00029   virtual reco::IsoDeposit deposit(const edm::Event& evt, const edm::EventSetup& es, const reco::Candidate& candidate) const { 
00030     return depositFromObject(evt, es, candidate);
00031   }
00032 
00033  private:
00034 
00036   edm::InputTag tauSource_;
00037   edm::InputTag candidateSource_;
00038   double maxDxyTrack_;
00039   double maxDzTrack_;
00040   double dRmatchPFTau_;
00041   double dRVetoCone_;
00042   double dRIsoCone_;
00043   double dRvetoPFTauSignalConeConstituents_;
00044 
00047   template<typename T>
00048   reco::IsoDeposit depositFromObject(const edm::Event&, const edm::EventSetup&, const T&) const;
00049 
00050 };
00051 
00052 #endif