CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/RecoEgamma/EgammaHLTProducers/interface/EgammaHLTHybridClusterProducer.h

Go to the documentation of this file.
00001 #ifndef RecoEcal_EgammaClusterProducers_EgammaHLTHybridClusterProducer_h_
00002 #define RecoEcal_EgammaClusterProducers_EgammaHLTHybridClusterProducer_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 EgammaHLTHybridClusterProducer : public edm::EDProducer 
00020 {
00021   
00022   public:
00023 
00024       EgammaHLTHybridClusterProducer(const edm::ParameterSet& ps);
00025 
00026       ~EgammaHLTHybridClusterProducer();
00027 
00028       virtual void produce(edm::Event&, const edm::EventSetup&);
00029 
00030    private:
00031 
00032       int nMaxPrintout_; // max # of printouts
00033       int nEvt_;         // internal counter of events
00034 
00035       bool doIsolated_;
00036 
00037       std::string  basicclusterCollection_;
00038       std::string superclusterCollection_;
00039       edm::InputTag hitproducer_;
00040       std::string hitcollection_;
00041 
00042       edm::InputTag l1TagIsolated_;
00043       edm::InputTag l1TagNonIsolated_;
00044       //edm::InputTag l1Tag_;
00045       double l1LowerThr_;
00046       double l1UpperThr_;
00047       double l1LowerThrIgnoreIsolation_;
00048 
00049       double regionEtaMargin_;
00050       double regionPhiMargin_;
00051 
00052 
00053       HybridClusterAlgo * hybrid_p; // clustering algorithm
00054       PositionCalc posCalculator_; // position calculation algorithm
00055 
00056       bool counterExceeded() const { return ((nEvt_ > nMaxPrintout_) || (nMaxPrintout_ < 0));}
00057 };
00058 
00059 
00060 #endif
00061 
00062