CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_4/src/RecoMuon/MuonIsolation/plugins/TrackExtractor.h

Go to the documentation of this file.
00001 #ifndef MuonIsolation_TrackExtractor_H
00002 #define MuonIsolation_TrackExtractor_H
00003 
00004 #include <string>
00005 #include <vector>
00006 
00007 
00008 #include "DataFormats/RecoCandidate/interface/IsoDeposit.h"
00009 #include "DataFormats/TrackReco/interface/Track.h"
00010 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00011 #include "PhysicsTools/IsolationAlgos/interface/IsoDepositExtractor.h"
00012 
00013 namespace muonisolation {
00014 
00015 class TrackExtractor : public reco::isodeposit::IsoDepositExtractor {
00016 
00017 public:
00018 
00019   TrackExtractor(){};
00020   TrackExtractor(const edm::ParameterSet& par);
00021 
00022   virtual ~TrackExtractor(){}
00023 
00024   virtual void fillVetos (const edm::Event & ev,
00025       const edm::EventSetup & evSetup, const reco::TrackCollection & track) {}
00026 
00027   virtual reco::IsoDeposit::Vetos vetos(const edm::Event & ev,
00028       const edm::EventSetup & evSetup, const reco::Track & track)const;
00029 
00030   virtual reco::IsoDeposit deposit (const edm::Event & ev,
00031       const edm::EventSetup & evSetup, const reco::Track & muon) const;
00032 
00033 private:
00034   reco::IsoDeposit::Veto veto( const reco::IsoDeposit::Direction & dir) const;
00035 private:
00036   // Parameter set
00037   edm::InputTag theTrackCollectionTag; 
00038   std::string theDepositLabel;         
00039   double theDiff_r;                    
00040   double theDiff_z;                    
00041   double theDR_Max;                    
00042   double theDR_Veto;                   
00043   std::string theBeamlineOption;       
00044   edm::InputTag theBeamSpotLabel;      
00045   unsigned int theNHits_Min;                   
00046   double theChi2Ndof_Max;              
00047   double theChi2Prob_Min;              
00048   double thePt_Min;                    
00049 };
00050 
00051 }
00052 
00053 #endif