CMS 3D CMS Logo

EgammaEcalExtractor.h

Go to the documentation of this file.
00001 #ifndef EgammaIsolationAlgos_EgammaEcalIsolation_h
00002 #define EgammaIsolationAlgos_EgammaEcalIsolation_h
00003 
00004 //*****************************************************************************
00005 // File:      EgammaEcalExtractor.h
00006 // ----------------------------------------------------------------------------
00007 // Type:      Class implementation header
00008 // Package:   EgammaIsolationAlgos/EgammaIsolationAlgos
00009 // Class:     EgammaEcalExtractor
00010 // Language:  Standard C++
00011 // Project:   CMS
00012 // OrigAuth:  Gilles De Lentdecker
00013 // Institute: IIHE-ULB
00014 //=============================================================================
00015 //*****************************************************************************
00016 
00017 
00018 #include "DataFormats/EgammaReco/interface/SuperCluster.h"
00019 #include "DataFormats/EgammaReco/interface/BasicCluster.h"
00020 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
00021 #include "DataFormats/Candidate/interface/Candidate.h"
00022 
00023 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00024 
00025 #include "FWCore/Framework/interface/Event.h"
00026 #include "FWCore/Framework/interface/EventSetup.h"
00027 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00028 #include "FWCore/ParameterSet/interface/InputTag.h"
00029 
00030 #include "DataFormats/TrackReco/interface/Track.h"
00031 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00032 
00033 #include "PhysicsTools/IsolationAlgos/interface/IsoDepositExtractor.h"
00034 #include "DataFormats/RecoCandidate/interface/IsoDeposit.h"
00035 
00036 namespace egammaisolation {
00037 
00038     class EgammaEcalExtractor : public reco::isodeposit::IsoDepositExtractor  {
00039         public:
00040             EgammaEcalExtractor(const edm::ParameterSet& par) : 
00041                     etMin_(par.getParameter<double>("etMin")),
00042                     conesize_(par.getParameter<double>("extRadius")),
00043                     scmatch_(par.getParameter<bool>("superClusterMatch")),
00044                     basicClusterTag_(par.getParameter<edm::InputTag>("basicClusters")),
00045                     superClusterTag_(par.getParameter<edm::InputTag>("superClusters")) { }
00046             
00047 
00048             virtual ~EgammaEcalExtractor();
00049 
00050             virtual void fillVetos(const edm::Event & ev, const edm::EventSetup & evSetup, const reco::TrackCollection & tracks) { }
00051             virtual reco::IsoDeposit deposit(const edm::Event & ev, const edm::EventSetup & evSetup, const reco::Track & track) const {
00052                 throw cms::Exception("Configuration Error") << "This extractor " << (typeid(this).name()) << " is not made for tracks";
00053             }
00054             virtual reco::IsoDeposit deposit(const edm::Event & ev, const edm::EventSetup & evSetup, const reco::Candidate & c) const ;
00055 
00056         private:
00057 
00058             // ---------- member data --------------------------------
00059 
00060             // Parameters of isolation cone geometry. 
00061             // Photon case
00062             double etMin_;
00063             double conesize_;
00064             bool scmatch_;  // true-> reject basic clusters matched to the superclsuter
00065                             // false-> fill all basic clusters
00066             edm::InputTag basicClusterTag_;
00067             edm::InputTag superClusterTag_;
00068     };
00069 
00070 }
00071 #endif

Generated on Tue Jun 9 17:43:24 2009 for CMSSW by  doxygen 1.5.4