CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/RecoEgamma/EgammaHLTProducers/interface/EgammaHLTBcHcalIsolationProducersRegional.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:    EgammaHLTProducers
00004 // Class:      EgammaHLTBcHcalIsolationProducersRegional
00005 // 
00006 // Original Author:  Matteo Sani (UCSD)
00007 //         Created:  Thu Nov 24 11:38:00 CEST 2011
00008 //
00009 
00010 #include <memory>
00011 
00012 #include "FWCore/Framework/interface/Frameworkfwd.h"
00013 #include "FWCore/Framework/interface/EDProducer.h"
00014 #include "FWCore/Framework/interface/Event.h"
00015 #include "FWCore/Framework/interface/MakerMacros.h"
00016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00017 
00018 #include "RecoEgamma/EgammaElectronAlgos/interface/ElectronHcalHelper.h"
00019 
00020 class EgammaTowerIsolation;
00021 
00022 //this class produces either Hcal isolation or H for H/E  depending if doEtSum=true or false
00023 //H for H/E = towers behind SC, hcal isolation has these towers excluded
00024 //a rho correction can be applied
00025 
00026 class EgammaHLTBcHcalIsolationProducersRegional : public edm::EDProducer {
00027 public:
00028   explicit EgammaHLTBcHcalIsolationProducersRegional(const edm::ParameterSet&);
00029   ~EgammaHLTBcHcalIsolationProducersRegional();
00030 
00031 
00032 private:
00033   EgammaHLTBcHcalIsolationProducersRegional(const EgammaHLTBcHcalIsolationProducersRegional& rhs){}
00034   EgammaHLTBcHcalIsolationProducersRegional& operator=(const EgammaHLTBcHcalIsolationProducersRegional& rhs){ return *this; }
00035   
00036 public:
00037   virtual void produce(edm::Event&, const edm::EventSetup&);
00038   
00039 private:
00040   edm::InputTag recoEcalCandidateProducer_;
00041   edm::InputTag caloTowerProducer_;
00042   edm::InputTag rhoProducer_;
00043 
00044   bool doRhoCorrection_;
00045   float rhoScale_;
00046   float rhoMax_;
00047   bool doEtSum_;
00048   float etMin_;
00049   float innerCone_;
00050   float outerCone_;
00051   int depth_;
00052   float effectiveAreaBarrel_;
00053   float effectiveAreaEndcap_;
00054 
00055   ElectronHcalHelper::Configuration hcalCfg_;
00056   ElectronHcalHelper *hcalHelper_;
00057 };
00058