CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoParticleFlow/PFClusterProducer/plugins/PFRecHitProducer.h

Go to the documentation of this file.
00001 #ifndef RecoParticleFlow_PFClusterProducer_PFRecHitProducer_h_
00002 #define RecoParticleFlow_PFClusterProducer_PFRecHitProducer_h_
00003 
00004 // system include files
00005 #include <memory>
00006 #include <vector>
00007 
00008 // user include files
00009 #include "FWCore/Framework/interface/Frameworkfwd.h"
00010 #include "FWCore/Framework/interface/EDProducer.h"
00011 
00012 #include "FWCore/Framework/interface/Event.h"
00013 #include "FWCore/Framework/interface/MakerMacros.h"
00014 
00015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00016 
00017 #include "DataFormats/ParticleFlowReco/interface/PFRecHitFwd.h"
00018 
00019 // For RecHits calibration wrt 50 GeV pions.
00020 // #include "CondFormats//HcalObjects/interface/HcalRespCorrs.h"
00021 #include "CondFormats//HcalObjects/interface/HcalPFCorrs.h"
00022 #include "CondFormats/HcalObjects/interface/HcalChannelQuality.h"
00023 #include "CondFormats/EcalObjects/interface/EcalChannelStatus.h"
00024 #include "Geometry/CaloTopology/interface/CaloTowerConstituentsMap.h"
00025 
00033 class PFRecHitProducer : public edm::EDProducer {
00034  public:
00035   explicit PFRecHitProducer(const edm::ParameterSet&);
00036   ~PFRecHitProducer();
00037 
00038   virtual void beginRun(edm::Run & run, const edm::EventSetup & es);
00039   virtual void endRun();
00040   
00041   void produce(edm::Event& iEvent, 
00042                const edm::EventSetup& iSetup);
00043 
00044 
00045 
00046  protected:
00047 
00048   typedef  std::map<unsigned, unsigned >::const_iterator  IDH;
00049 
00052   virtual void createRecHits(std::vector<reco::PFRecHit>& rechits,
00053                              std::vector<reco::PFRecHit>& rechitsCleaned,
00054                              edm::Event&, const edm::EventSetup&) = 0;  
00055 
00056 
00057   // ----------member data ---------------------------
00058   
00059 
00061   bool   verbose_;
00062 
00064   double  thresh_Barrel_;
00065   double  thresh_Endcap_;
00066 
00067   // the access to the response corection factors
00068   // const HcalRespCorrs* myRespCorr;
00069   const HcalPFCorrs* myPFCorr;
00070   const HcalChannelQuality* theHcalChStatus;
00071   const EcalChannelStatus* theEcalChStatus;
00072   const CaloTowerConstituentsMap* theTowerConstituentsMap;
00073 };
00074 
00075 #endif