CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoMuon/MuonIsolation/plugins/JetExtractor.h

Go to the documentation of this file.
00001 #ifndef MuonIsolation_JetExtractor_H
00002 #define MuonIsolation_JetExtractor_H
00003 
00017 #include <string>
00018 
00019 #include "PhysicsTools/IsolationAlgos/interface/IsoDepositExtractor.h"
00020 
00021 #include "DataFormats/RecoCandidate/interface/IsoDeposit.h"
00022 #include "DataFormats/TrackReco/interface/Track.h"
00023 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00024 
00025 
00026 #include "DataFormats/CaloTowers/interface/CaloTowerCollection.h"
00027 
00028 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00029 
00030 class TrackAssociatorParameters;
00031 class TrackDetectorAssociator;
00032 class MuonServiceProxy;
00033 
00034 namespace muonisolation {
00035 
00036 class JetExtractor : public reco::isodeposit::IsoDepositExtractor {
00037 
00038 public:
00039 
00040   JetExtractor(){};
00041   JetExtractor(const edm::ParameterSet& par);
00042 
00043   virtual ~JetExtractor();
00044 
00045   virtual void fillVetos (const edm::Event & ev, const edm::EventSetup & evSetup, const reco::TrackCollection & tracks);
00046   virtual reco::IsoDeposit 
00047     deposit(const edm::Event & ev, const edm::EventSetup & evSetup, const reco::Track & track) const;
00048 
00049 private:
00050   edm::InputTag theJetCollectionLabel;
00051 
00052   std::string thePropagatorName;
00053 
00054   // Cone cuts and thresholds
00055   double theThreshold;
00056   double theDR_Veto;
00057   double theDR_Max;
00058 
00059   //excludes sumEt of towers that are inside muon veto cone
00060   bool theExcludeMuonVeto;
00061 
00063   MuonServiceProxy* theService;
00064   
00065   TrackAssociatorParameters* theAssociatorParameters;
00066   TrackDetectorAssociator* theAssociator;  
00067 
00068   bool thePrintTimeReport;
00069 
00070 };
00071 
00072 }
00073 
00074 #endif