CMS 3D CMS Logo

EgammaHLTElectronTrackIsolationProducers Class Reference

Author:
Monica Vazquez Acosta (CERN)
More...

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

Inheritance diagram for EgammaHLTElectronTrackIsolationProducers:

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

List of all members.

Public Member Functions

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

Private Attributes

edm::ParameterSet conf_
bool egCheckForOtherEleInCone_
double egTrkIsoConeSize_
double egTrkIsoPtMin_
double egTrkIsoRSpan_
double egTrkIsoVetoConeSize_
double egTrkIsoZSpan_
edm::InputTag electronProducer_
EgammaHLTTrackIsolationtest_
edm::InputTag trackProducer_


Detailed Description

Author:
Monica Vazquez Acosta (CERN)

Id
EgammaHLTElectronTrackIsolationProducers.cc,v 1.4 2008/10/10 14:05:21 covarell Exp

Definition at line 34 of file EgammaHLTElectronTrackIsolationProducers.h.


Constructor & Destructor Documentation

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

Definition at line 33 of file EgammaHLTElectronTrackIsolationProducers.cc.

References conf_, egCheckForOtherEleInCone_, egTrkIsoConeSize_, egTrkIsoPtMin_, egTrkIsoRSpan_, egTrkIsoVetoConeSize_, egTrkIsoZSpan_, electronProducer_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), test_, and trackProducer_.

00033                                                                                                                 : conf_(config)
00034 {
00035 
00036   electronProducer_         = conf_.getParameter<edm::InputTag>("electronProducer");
00037   trackProducer_                = conf_.getParameter<edm::InputTag>("trackProducer");
00038 
00039   egTrkIsoPtMin_                = conf_.getParameter<double>("egTrkIsoPtMin");
00040   egTrkIsoConeSize_             = conf_.getParameter<double>("egTrkIsoConeSize");
00041   egTrkIsoZSpan_                = conf_.getParameter<double>("egTrkIsoZSpan");
00042   egTrkIsoRSpan_                = conf_.getParameter<double>("egTrkIsoRSpan");
00043   egTrkIsoVetoConeSize_         = conf_.getParameter<double>("egTrkIsoVetoConeSize");
00044   egCheckForOtherEleInCone_     = conf_.getUntrackedParameter<bool>("egCheckForOtherEleInCone",false);
00045 
00046 
00047   test_ = new EgammaHLTTrackIsolation(egTrkIsoPtMin_,egTrkIsoConeSize_,
00048                                       egTrkIsoZSpan_,egTrkIsoRSpan_,egTrkIsoVetoConeSize_);
00049 
00050 
00051   //register your products
00052   produces < reco::ElectronIsolationMap >();
00053 
00054 }

EgammaHLTElectronTrackIsolationProducers::~EgammaHLTElectronTrackIsolationProducers (  ) 

Definition at line 57 of file EgammaHLTElectronTrackIsolationProducers.cc.

References test_.

00057 {delete test_;}


Member Function Documentation

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

Implements edm::EDProducer.

Definition at line 66 of file EgammaHLTElectronTrackIsolationProducers.cc.

References egCheckForOtherEleInCone_, electronProducer_, EgammaHLTTrackIsolation::electronPtSum(), edm::Event::getByLabel(), edm::AssociationMap< Tag >::insert(), edm::Handle< T >::product(), edm::Event::put(), test_, and trackProducer_.

00067 {
00068 
00069   // Get the HLT filtered objects
00070   edm::Handle<reco::ElectronCollection> electronHandle;
00071   iEvent.getByLabel(electronProducer_,electronHandle);
00072 
00073  // Get the general tracks
00074   edm::Handle<reco::TrackCollection> trackHandle;
00075   iEvent.getByLabel(trackProducer_, trackHandle);
00076   const reco::TrackCollection* trackCollection = trackHandle.product();
00077 
00078   reco::ElectronIsolationMap isoMap;
00079 
00080   for(reco::ElectronCollection::const_iterator iElectron = electronHandle->begin(); iElectron != electronHandle->end(); iElectron++){
00081     
00082     
00083     reco::ElectronRef electronref(reco::ElectronRef(electronHandle,iElectron - electronHandle->begin()));
00084     reco::TrackRef electrontrackref = iElectron->track();
00085     
00086     float isol;
00087     if (!egCheckForOtherEleInCone_) {
00088       isol = test_->electronPtSum(&(*electrontrackref),trackCollection);
00089     } else {
00090       isol = test_->electronPtSum(&(*electrontrackref),electronHandle.product(),trackCollection);
00091     }
00092     if(electrontrackref->pt() != 0. ) isol = isol/electrontrackref->pt();
00093     
00094     isoMap.insert(electronref, isol);
00095       
00096   }
00097 
00098   std::auto_ptr<reco::ElectronIsolationMap> isolMap(new reco::ElectronIsolationMap(isoMap));
00099   iEvent.put(isolMap);
00100 
00101 }


Member Data Documentation

edm::ParameterSet EgammaHLTElectronTrackIsolationProducers::conf_ [private]

Definition at line 47 of file EgammaHLTElectronTrackIsolationProducers.h.

Referenced by EgammaHLTElectronTrackIsolationProducers().

bool EgammaHLTElectronTrackIsolationProducers::egCheckForOtherEleInCone_ [private]

Definition at line 54 of file EgammaHLTElectronTrackIsolationProducers.h.

Referenced by EgammaHLTElectronTrackIsolationProducers(), and produce().

double EgammaHLTElectronTrackIsolationProducers::egTrkIsoConeSize_ [private]

Definition at line 50 of file EgammaHLTElectronTrackIsolationProducers.h.

Referenced by EgammaHLTElectronTrackIsolationProducers().

double EgammaHLTElectronTrackIsolationProducers::egTrkIsoPtMin_ [private]

Definition at line 49 of file EgammaHLTElectronTrackIsolationProducers.h.

Referenced by EgammaHLTElectronTrackIsolationProducers().

double EgammaHLTElectronTrackIsolationProducers::egTrkIsoRSpan_ [private]

Definition at line 52 of file EgammaHLTElectronTrackIsolationProducers.h.

Referenced by EgammaHLTElectronTrackIsolationProducers().

double EgammaHLTElectronTrackIsolationProducers::egTrkIsoVetoConeSize_ [private]

Definition at line 53 of file EgammaHLTElectronTrackIsolationProducers.h.

Referenced by EgammaHLTElectronTrackIsolationProducers().

double EgammaHLTElectronTrackIsolationProducers::egTrkIsoZSpan_ [private]

Definition at line 51 of file EgammaHLTElectronTrackIsolationProducers.h.

Referenced by EgammaHLTElectronTrackIsolationProducers().

edm::InputTag EgammaHLTElectronTrackIsolationProducers::electronProducer_ [private]

Definition at line 44 of file EgammaHLTElectronTrackIsolationProducers.h.

Referenced by EgammaHLTElectronTrackIsolationProducers(), and produce().

EgammaHLTTrackIsolation* EgammaHLTElectronTrackIsolationProducers::test_ [private]

Definition at line 56 of file EgammaHLTElectronTrackIsolationProducers.h.

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

edm::InputTag EgammaHLTElectronTrackIsolationProducers::trackProducer_ [private]

Definition at line 45 of file EgammaHLTElectronTrackIsolationProducers.h.

Referenced by EgammaHLTElectronTrackIsolationProducers(), and produce().


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