CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
EgammaHLTHcalIsolationProducersRegional Class Reference

#include <RecoEgamma/EgammaHLTProducers/interface/EgammaHLTHcalIsolationProducersRegional.h>

Inheritance diagram for EgammaHLTHcalIsolationProducersRegional:
edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

Public Member Functions

 EgammaHLTHcalIsolationProducersRegional (const edm::ParameterSet &)
 
virtual void produce (edm::Event &, const edm::EventSetup &)
 
 ~EgammaHLTHcalIsolationProducersRegional ()
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
boost::function< void(const
BranchDescription &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 

Private Member Functions

 EgammaHLTHcalIsolationProducersRegional (const EgammaHLTHcalIsolationProducersRegional &rhs)
 
EgammaHLTHcalIsolationProducersRegionaloperator= (const EgammaHLTHcalIsolationProducersRegional &rhs)
 

Private Attributes

bool doEtSum_
 
edm::InputTag hbheRecHitProducer_
 
EgammaHLTHcalIsolationisolAlgo_
 
edm::InputTag recoEcalCandidateProducer_
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
typedef WorkerT< EDProducerWorkerType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDProducer
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class TProducer , class TMethod >
void callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod)
 

Detailed Description

Author
Monica Vazquez Acosta (CERN)

$Id:

Definition at line 36 of file EgammaHLTHcalIsolationProducersRegional.h.

Constructor & Destructor Documentation

EgammaHLTHcalIsolationProducersRegional::EgammaHLTHcalIsolationProducersRegional ( const edm::ParameterSet config)
explicit

Definition at line 39 of file EgammaHLTHcalIsolationProducersRegional.cc.

References doEtSum_, edm::ParameterSet::getParameter(), hbheRecHitProducer_, isolAlgo_, and recoEcalCandidateProducer_.

40 {
41  // use configuration file to setup input/output collection names
42  recoEcalCandidateProducer_ = config.getParameter<edm::InputTag>("recoEcalCandidateProducer");
43 
44  hbheRecHitProducer_ = config.getParameter<edm::InputTag>("hbheRecHitProducer");
45  //hfRecHitProducer_ = conf_.getParameter<edm::InputTag>("hfRecHitProducer");
46 
47 
48  double eMinHB = config.getParameter<double>("eMinHB");
49  double eMinHE = config.getParameter<double>("eMinHE");
50  double etMinHB = config.getParameter<double>("etMinHB");
51  double etMinHE = config.getParameter<double>("etMinHE");
52 
53  double innerCone = config.getParameter<double>("innerCone");
54  double outerCone = config.getParameter<double>("outerCone");
55  int depth = config.getParameter<int>("depth");
56 
57  doEtSum_ = config.getParameter<bool>("doEtSum");
58  isolAlgo_ = new EgammaHLTHcalIsolation(eMinHB,eMinHE,etMinHB,etMinHE,innerCone,outerCone,depth);
59 
60 
61  //register your products
62  produces < reco::RecoEcalCandidateIsolationMap >();
63 }
T getParameter(std::string const &) const
EgammaHLTHcalIsolationProducersRegional::~EgammaHLTHcalIsolationProducersRegional ( )

Definition at line 65 of file EgammaHLTHcalIsolationProducersRegional.cc.

References isolAlgo_.

66 {
67  delete isolAlgo_;
68 }
EgammaHLTHcalIsolationProducersRegional::EgammaHLTHcalIsolationProducersRegional ( const EgammaHLTHcalIsolationProducersRegional rhs)
inlineprivate

Definition at line 43 of file EgammaHLTHcalIsolationProducersRegional.h.

43 {}

Member Function Documentation

EgammaHLTHcalIsolationProducersRegional& EgammaHLTHcalIsolationProducersRegional::operator= ( const EgammaHLTHcalIsolationProducersRegional rhs)
inlineprivate

Definition at line 44 of file EgammaHLTHcalIsolationProducersRegional.h.

44 {return *this;}
void EgammaHLTHcalIsolationProducersRegional::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Implements edm::EDProducer.

Definition at line 78 of file EgammaHLTHcalIsolationProducersRegional.cc.

References begin, doEtSum_, edm::EventSetup::get(), edm::Event::getByLabel(), EgammaHLTHcalIsolation::getESum(), EgammaHLTHcalIsolation::getEtSum(), hbheRecHitProducer_, edm::AssociationMap< Tag >::insert(), isolAlgo_, edm::Handle< T >::product(), edm::ESHandle< class >::product(), edm::Event::put(), and recoEcalCandidateProducer_.

79 {
80 
81  // Get the HLT filtered objects
83  iEvent.getByLabel(recoEcalCandidateProducer_,recoEcalCandHandle);
84  // Get the barrel hcal hits
85  edm::Handle<HBHERecHitCollection> hbheRecHitHandle;
86  iEvent.getByLabel(hbheRecHitProducer_, hbheRecHitHandle);
87  const HBHERecHitCollection* hbheRecHitCollection = hbheRecHitHandle.product();
88 
90  iSetup.get<HcalChannelQualityRcd>().get(hcalChStatus);
91 
93  iSetup.get<HcalSeverityLevelComputerRcd>().get(hcalSevLvlComp);
94 
95 
96 
97  // Get the forward hcal hits
98  //edm::Handle<HFRecHitCollection> hhitEndcapHandle;
99  //iEvent.getByLabel(hfRecHitProducer_, hhitEndcapHandle);
100  //const HFRecHitCollection* hcalhitEndcapCollection = hhitEndcapHandle.product();
101  //Get Calo Geometry
102 
103  edm::ESHandle<CaloGeometry> caloGeomHandle;
104  iSetup.get<CaloGeometryRecord>().get(caloGeomHandle);
105  const CaloGeometry* caloGeom = caloGeomHandle.product();
106 
108 
109 
110  for(reco::RecoEcalCandidateCollection::const_iterator iRecoEcalCand = recoEcalCandHandle->begin(); iRecoEcalCand != recoEcalCandHandle->end(); iRecoEcalCand++){
111 
112  reco::RecoEcalCandidateRef recoEcalCandRef(recoEcalCandHandle,iRecoEcalCand -recoEcalCandHandle ->begin());
113 
114  float isol = 0;
115  if(doEtSum_) isol = isolAlgo_->getEtSum(recoEcalCandRef->superCluster()->eta(),
116  recoEcalCandRef->superCluster()->phi(),hbheRecHitCollection,caloGeom,
117  hcalSevLvlComp.product(),hcalChStatus.product());
118  else isol = isolAlgo_->getESum(recoEcalCandRef->superCluster()->eta(),recoEcalCandRef->superCluster()->phi(),
119  hbheRecHitCollection,caloGeom,
120  hcalSevLvlComp.product(),hcalChStatus.product());
121 
122  isoMap.insert(recoEcalCandRef, isol);
123 
124  }
125 
126  std::auto_ptr<reco::RecoEcalCandidateIsolationMap> isolMap(new reco::RecoEcalCandidateIsolationMap(isoMap));
127  iEvent.put(isolMap);
128 
129 }
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:84
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
float getEtSum(float candEta, float candPhi, const HBHERecHitCollection *hbhe, const CaloGeometry *geometry) const
void insert(const key_type &k, const data_type &v)
insert an association
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
T const * product() const
Definition: Handle.h:74
#define begin
Definition: vmac.h:31
float getESum(float candEta, float candPhi, const HBHERecHitCollection *hbhe, const CaloGeometry *geometry) const

Member Data Documentation

bool EgammaHLTHcalIsolationProducersRegional::doEtSum_
private
edm::InputTag EgammaHLTHcalIsolationProducersRegional::hbheRecHitProducer_
private
EgammaHLTHcalIsolation* EgammaHLTHcalIsolationProducersRegional::isolAlgo_
private
edm::InputTag EgammaHLTHcalIsolationProducersRegional::recoEcalCandidateProducer_
private