CMS 3D CMS Logo

EgammaPhotonTkNumIsolationProducer Class Reference

#include <EgammaAnalysis/EgammaIsolationProducers/interface/EgammaPhotonTkNumIsolationProducer.h>

Inheritance diagram for EgammaPhotonTkNumIsolationProducer:

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

List of all members.

Public Member Functions

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

Private Attributes

edm::ParameterSet conf_
double extRadius_
double intRadius_
double maxVtxDist_
edm::InputTag photonProducer_
double ptMin_
edm::InputTag trackProducer_


Detailed Description

Definition at line 20 of file EgammaPhotonTkNumIsolationProducer.h.


Constructor & Destructor Documentation

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

Definition at line 22 of file EgammaPhotonTkNumIsolationProducer.cc.

References conf_, extRadius_, edm::ParameterSet::getParameter(), intRadius_, maxVtxDist_, photonProducer_, ptMin_, and trackProducer_.

00022                                                                                                     : conf_(config)
00023 {
00024  // use configuration file to setup input/output collection names
00025   photonProducer_               = conf_.getParameter<edm::InputTag>("photonProducer");
00026   
00027   trackProducer_           = conf_.getParameter<edm::InputTag>("trackProducer");
00028 
00029   ptMin_                = conf_.getParameter<double>("ptMin");
00030   intRadius_            = conf_.getParameter<double>("intRadius");
00031   extRadius_            = conf_.getParameter<double>("extRadius");
00032   maxVtxDist_           = conf_.getParameter<double>("maxVtxDist");
00033 
00034   //register your products
00035   produces < reco::CandViewIntAssociations >();
00036 }

EgammaPhotonTkNumIsolationProducer::~EgammaPhotonTkNumIsolationProducer (  ) 

Definition at line 39 of file EgammaPhotonTkNumIsolationProducer.cc.

00039 {}


Member Function Documentation

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

Implements edm::EDProducer.

Definition at line 48 of file EgammaPhotonTkNumIsolationProducer.cc.

References extRadius_, edm::Event::getByLabel(), PhotonTkIsolation::getNumberTracks(), i, intRadius_, maxVtxDist_, photonProducer_, edm::Handle< T >::product(), ptMin_, edm::Event::put(), edm::AssociationVector< KeyRefProd, CVal, KeyRef, SizeType, KeyReferenceHelper >::setValue(), trackProducer_, and tracks.

00049 {
00050   
00051   // Get the  filtered objects
00052   edm::Handle< edm::View<reco::Candidate> > photonHandle;
00053   iEvent.getByLabel(photonProducer_,photonHandle);
00054   
00055   //get the tracks
00056   edm::Handle<reco::TrackCollection> tracks;
00057   iEvent.getByLabel(trackProducer_,tracks);
00058   const reco::TrackCollection* trackCollection = tracks.product();
00059 
00060   reco::CandViewIntAssociations* isoMap = new reco::CandViewIntAssociations( reco::CandidateBaseRefProd( photonHandle ) );
00061 
00062   PhotonTkIsolation myTkIsolation (extRadius_,intRadius_,ptMin_,maxVtxDist_,trackCollection) ;
00063 
00064   for(unsigned int i = 0 ; i < photonHandle->size(); ++i ){
00065     int isoValue = myTkIsolation.getNumberTracks(&(photonHandle->at(i)));
00066     isoMap->setValue(i,isoValue);
00067   }
00068    
00069 
00070 
00071   std::auto_ptr<reco::CandViewIntAssociations> isolMap(isoMap);
00072   iEvent.put(isolMap);
00073 
00074 }


Member Data Documentation

edm::ParameterSet EgammaPhotonTkNumIsolationProducer::conf_ [private]

Definition at line 36 of file EgammaPhotonTkNumIsolationProducer.h.

Referenced by EgammaPhotonTkNumIsolationProducer().

double EgammaPhotonTkNumIsolationProducer::extRadius_ [private]

Definition at line 33 of file EgammaPhotonTkNumIsolationProducer.h.

Referenced by EgammaPhotonTkNumIsolationProducer(), and produce().

double EgammaPhotonTkNumIsolationProducer::intRadius_ [private]

Definition at line 32 of file EgammaPhotonTkNumIsolationProducer.h.

Referenced by EgammaPhotonTkNumIsolationProducer(), and produce().

double EgammaPhotonTkNumIsolationProducer::maxVtxDist_ [private]

Definition at line 34 of file EgammaPhotonTkNumIsolationProducer.h.

Referenced by EgammaPhotonTkNumIsolationProducer(), and produce().

edm::InputTag EgammaPhotonTkNumIsolationProducer::photonProducer_ [private]

Definition at line 28 of file EgammaPhotonTkNumIsolationProducer.h.

Referenced by EgammaPhotonTkNumIsolationProducer(), and produce().

double EgammaPhotonTkNumIsolationProducer::ptMin_ [private]

Definition at line 31 of file EgammaPhotonTkNumIsolationProducer.h.

Referenced by EgammaPhotonTkNumIsolationProducer(), and produce().

edm::InputTag EgammaPhotonTkNumIsolationProducer::trackProducer_ [private]

Definition at line 29 of file EgammaPhotonTkNumIsolationProducer.h.

Referenced by EgammaPhotonTkNumIsolationProducer(), and produce().


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