CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/RecoParticleFlow/PFClusterShapeProducer/plugins/PFClusterShapeProducer.h

Go to the documentation of this file.
00001 #ifndef RecoParticleFlow_PFClusterShapeProducer_PFClusterShapeProducer_h_
00002 #define RecoParticleFlow_PFClusterShapeProducer_PFClusterShapeProducer_h_
00003 
00004 // system include files
00005 #include <memory>
00006 #include <vector>
00007 
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "FWCore/Framework/interface/EDProducer.h"
00010 
00011 #include "FWCore/Framework/interface/Event.h"
00012 #include "FWCore/Framework/interface/MakerMacros.h"
00013 
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 
00016 #include "DataFormats/Common/interface/Handle.h"
00017 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00018 #include "FWCore/Utilities/interface/Exception.h"
00019 
00020 #include "DataFormats/ParticleFlowReco/interface/PFClusterFwd.h"
00021 #include "DataFormats/ParticleFlowReco/interface/PFCluster.h"
00022 
00023 #include "DataFormats/EgammaReco/interface/ClusterShape.h"
00024 #include "DataFormats/EgammaReco/interface/ClusterShapeFwd.h"
00025 
00026 #include "RecoParticleFlow/PFClusterShapeProducer/interface/PFClusterShapeAlgo.h"
00027 
00028 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00029 #include "Geometry/CaloTopology/interface/EcalBarrelTopology.h"
00030 #include "Geometry/CaloTopology/interface/EcalEndcapTopology.h"
00031 
00032 
00033 class PFClusterShapeProducer : public edm::EDProducer
00034 {
00035  public:
00036 
00037   explicit PFClusterShapeProducer(const edm::ParameterSet &);
00038 
00039   ~PFClusterShapeProducer();
00040 
00041   virtual void produce(edm::Event & ev, const edm::EventSetup & es);
00042 
00043  private:
00044 
00045   std::string shapesLabel_;
00046  
00047   edm::InputTag  inputTagPFClustersECAL_;
00048   edm::InputTag  inputTagPFRecHitsECAL_;
00049 
00050   PFClusterShapeAlgo * csAlgo_p;
00051 
00052   edm::Handle<reco::PFClusterCollection>
00053     getClusterCollection(edm::Event & evt);
00054 
00055   edm::Handle<reco::PFRecHitCollection>
00056     getRecHitCollection(edm::Event & evt);
00057 };
00058 
00059 #endif