CMS 3D CMS Logo

EgammaHLTHcalIsolationDoubleConeProducers Class Reference

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

Inheritance diagram for EgammaHLTHcalIsolationDoubleConeProducers:

edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

 EgammaHLTHcalIsolationDoubleConeProducers (const edm::ParameterSet &)
virtual void produce (edm::Event &, const edm::EventSetup &)
 ~EgammaHLTHcalIsolationDoubleConeProducers ()

Private Attributes

edm::ParameterSet conf_
double egHcalExclusion_
double egHcalIsoConeSize_
double egHcalIsoPtMin_
edm::InputTag hbRecHitProducer_
edm::InputTag hfRecHitProducer_
edm::InputTag recoEcalCandidateProducer_
EgammaHLTHcalIsolationDoubleConetest_


Detailed Description

Definition at line 36 of file EgammaHLTHcalIsolationDoubleConeProducers.h.


Constructor & Destructor Documentation

EgammaHLTHcalIsolationDoubleConeProducers::EgammaHLTHcalIsolationDoubleConeProducers ( const edm::ParameterSet config  )  [explicit]

Definition at line 36 of file EgammaHLTHcalIsolationDoubleConeProducers.cc.

References conf_, egHcalExclusion_, egHcalIsoConeSize_, egHcalIsoPtMin_, edm::ParameterSet::getParameter(), hbRecHitProducer_, hfRecHitProducer_, recoEcalCandidateProducer_, and test_.

00036                                                                                                                   : conf_(config)
00037 {
00038  // use configuration file to setup input/output collection names
00039   recoEcalCandidateProducer_               = conf_.getParameter<edm::InputTag>("recoEcalCandidateProducer");
00040 
00041   hbRecHitProducer_           = conf_.getParameter<edm::InputTag>("hbRecHitProducer");
00042   hfRecHitProducer_           = conf_.getParameter<edm::InputTag>("hfRecHitProducer");
00043 
00044   egHcalIsoPtMin_               = conf_.getParameter<double>("egHcalIsoPtMin");
00045   egHcalIsoConeSize_            = conf_.getParameter<double>("egHcalIsoConeSize");
00046   egHcalExclusion_            = conf_.getParameter<double>("egHcalExclusion");
00047 
00048   test_ = new EgammaHLTHcalIsolationDoubleCone(egHcalIsoPtMin_,egHcalIsoConeSize_,egHcalExclusion_);
00049 
00050 
00051   //register your products
00052   produces < reco::RecoEcalCandidateIsolationMap >();
00053 }

EgammaHLTHcalIsolationDoubleConeProducers::~EgammaHLTHcalIsolationDoubleConeProducers (  ) 

Definition at line 56 of file EgammaHLTHcalIsolationDoubleConeProducers.cc.

References test_.

00056 {delete test_;}


Member Function Documentation

void EgammaHLTHcalIsolationDoubleConeProducers::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [virtual]

Implements edm::EDProducer.

Definition at line 65 of file EgammaHLTHcalIsolationDoubleConeProducers.cc.

References begin, edm::EventSetup::get(), edm::Event::getByLabel(), hbRecHitProducer_, hfRecHitProducer_, edm::AssociationMap< Tag >::insert(), EgammaHLTHcalIsolationDoubleCone::isolPtSum(), edm::ESHandle< T >::product(), edm::Handle< T >::product(), edm::Event::put(), recoEcalCandidateProducer_, and test_.

00066 {
00067   //  std::cout << "YYY" << egHcalIsoConeSize_  << "  " << egHcalExclusion_ <<std::endl;
00068   // Get the HLT filtered objects
00069   edm::Handle<reco::RecoEcalCandidateCollection> recoecalcandHandle;
00070   iEvent.getByLabel(recoEcalCandidateProducer_,recoecalcandHandle);
00071   
00072   // Get the barrel hcal hits
00073   edm::Handle<HBHERecHitCollection> hhitBarrelHandle;
00074   iEvent.getByLabel(hbRecHitProducer_, hhitBarrelHandle);
00075   const HBHERecHitCollection* hcalhitBarrelCollection = hhitBarrelHandle.product();
00076   // Get the forward hcal hits
00077   edm::Handle<HFRecHitCollection> hhitEndcapHandle;
00078   iEvent.getByLabel(hfRecHitProducer_, hhitEndcapHandle);
00079   const HFRecHitCollection* hcalhitEndcapCollection = hhitEndcapHandle.product();
00080   //Get Calo Geometry
00081   edm::ESHandle<CaloGeometry> pG;
00082   iSetup.get<CaloGeometryRecord>().get(pG);
00083   const CaloGeometry* caloGeom = pG.product();
00084   
00085   reco::RecoEcalCandidateIsolationMap isoMap;
00086   
00087    
00088   for(reco::RecoEcalCandidateCollection::const_iterator iRecoEcalCand = recoecalcandHandle->begin(); iRecoEcalCand != recoecalcandHandle->end(); iRecoEcalCand++){
00089     
00090     reco::RecoEcalCandidateRef recoecalcandref(recoecalcandHandle,iRecoEcalCand -recoecalcandHandle ->begin());
00091     
00092     const reco::RecoCandidate *tempiRecoEcalCand = &(*recoecalcandref);
00093     float isol =  test_->isolPtSum(tempiRecoEcalCand,hcalhitBarrelCollection,hcalhitEndcapCollection,caloGeom);
00094     
00095     isoMap.insert(recoecalcandref, isol);
00096     //    std::cout << isol << std::endl;
00097   }
00098 
00099   std::auto_ptr<reco::RecoEcalCandidateIsolationMap> isolMap(new reco::RecoEcalCandidateIsolationMap(isoMap));
00100   iEvent.put(isolMap);
00101 
00102 }


Member Data Documentation

edm::ParameterSet EgammaHLTHcalIsolationDoubleConeProducers::conf_ [private]

Definition at line 54 of file EgammaHLTHcalIsolationDoubleConeProducers.h.

Referenced by EgammaHLTHcalIsolationDoubleConeProducers().

double EgammaHLTHcalIsolationDoubleConeProducers::egHcalExclusion_ [private]

Definition at line 52 of file EgammaHLTHcalIsolationDoubleConeProducers.h.

Referenced by EgammaHLTHcalIsolationDoubleConeProducers().

double EgammaHLTHcalIsolationDoubleConeProducers::egHcalIsoConeSize_ [private]

Definition at line 51 of file EgammaHLTHcalIsolationDoubleConeProducers.h.

Referenced by EgammaHLTHcalIsolationDoubleConeProducers().

double EgammaHLTHcalIsolationDoubleConeProducers::egHcalIsoPtMin_ [private]

Definition at line 50 of file EgammaHLTHcalIsolationDoubleConeProducers.h.

Referenced by EgammaHLTHcalIsolationDoubleConeProducers().

edm::InputTag EgammaHLTHcalIsolationDoubleConeProducers::hbRecHitProducer_ [private]

Definition at line 47 of file EgammaHLTHcalIsolationDoubleConeProducers.h.

Referenced by EgammaHLTHcalIsolationDoubleConeProducers(), and produce().

edm::InputTag EgammaHLTHcalIsolationDoubleConeProducers::hfRecHitProducer_ [private]

Definition at line 48 of file EgammaHLTHcalIsolationDoubleConeProducers.h.

Referenced by EgammaHLTHcalIsolationDoubleConeProducers(), and produce().

edm::InputTag EgammaHLTHcalIsolationDoubleConeProducers::recoEcalCandidateProducer_ [private]

Definition at line 46 of file EgammaHLTHcalIsolationDoubleConeProducers.h.

Referenced by EgammaHLTHcalIsolationDoubleConeProducers(), and produce().

EgammaHLTHcalIsolationDoubleCone* EgammaHLTHcalIsolationDoubleConeProducers::test_ [private]

Definition at line 56 of file EgammaHLTHcalIsolationDoubleConeProducers.h.

Referenced by EgammaHLTHcalIsolationDoubleConeProducers(), produce(), and ~EgammaHLTHcalIsolationDoubleConeProducers().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:20:10 2009 for CMSSW by  doxygen 1.5.4