CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoEcal/EgammaClusterProducers/interface/HybridClusterProducer.h

Go to the documentation of this file.
00001 #ifndef RecoEcal_EgammaClusterProducers_HybridClusterProducer_h_
00002 #define RecoEcal_EgammaClusterProducers_HybridClusterProducer_h_
00003 
00004 #include <memory>
00005 
00006 #include "FWCore/Framework/interface/Frameworkfwd.h"
00007 #include "FWCore/Framework/interface/EDProducer.h"
00008 #include "FWCore/Framework/interface/Event.h"
00009 #include "FWCore/Framework/interface/EventSetup.h"
00010 
00011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00012 
00013 #include "RecoEcal/EgammaClusterAlgos/interface/HybridClusterAlgo.h"
00014 #include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h"
00015 
00016 //
00017 
00018 
00019 class HybridClusterProducer : public edm::EDProducer 
00020 {
00021   
00022   public:
00023 
00024       HybridClusterProducer(const edm::ParameterSet& ps);
00025 
00026       ~HybridClusterProducer();
00027 
00028       virtual void produce(edm::Event&, const edm::EventSetup&);
00029 
00030    private:
00031       int nMaxPrintout_; // max # of printouts
00032       int nEvt_;         // internal counter of events
00033  
00034       std::string basicclusterCollection_;
00035       std::string superclusterCollection_;
00036       std::string hitproducer_;
00037       std::string hitcollection_;
00038 
00039       HybridClusterAlgo::DebugLevel debugL;
00040 
00041       HybridClusterAlgo * hybrid_p; // clustering algorithm
00042       PositionCalc posCalculator_; // position calculation algorithm
00043 
00044       bool counterExceeded() const { return ((nEvt_ > nMaxPrintout_) || (nMaxPrintout_ < 0));}
00045 };
00046 
00047 
00048 #endif
00049 
00050