CMS 3D CMS Logo

EgammaHLTHcalIsolationDoubleCone Class Reference

Description: sum pt hcal hits in cone around egamma candidate but exlude central cone mostly identical to EgammaHLTHcalIsolation, but with an inner exclusion cone. More...

#include <RecoEgamma/EgammaHLTAlgos/interface/EgammaHLTHcalIsolationDoubleCone.h>

List of all members.

Public Member Functions

 EgammaHLTHcalIsolationDoubleCone (double egHcalIso_PtMin, double egHcalIso_ConeSize, double egHcalIso_Exclusion)
float getConeSize ()
 Get isolation cone size.
float getExclusion ()
 Get exclusion region.
float getptMin ()
 Get pt cut for hcal hits.
float isolPtSum (const reco::RecoCandidate *recocandidate, const HBHERecHitCollection *hbhe, const HFRecHitCollection *hf, const CaloGeometry *geometry)

Private Attributes

float conesize
float exclusion
float ptMin


Detailed Description

Description: sum pt hcal hits in cone around egamma candidate but exlude central cone mostly identical to EgammaHLTHcalIsolation, but with an inner exclusion cone.

Usage: <usage>

Definition at line 38 of file EgammaHLTHcalIsolationDoubleCone.h.


Constructor & Destructor Documentation

EgammaHLTHcalIsolationDoubleCone::EgammaHLTHcalIsolationDoubleCone ( double  egHcalIso_PtMin,
double  egHcalIso_ConeSize,
double  egHcalIso_Exclusion 
) [inline]

Definition at line 43 of file EgammaHLTHcalIsolationDoubleCone.h.

00043                                                                                                                   :
00044     ptMin(egHcalIso_PtMin),conesize(egHcalIso_ConeSize),exclusion(egHcalIso_Exclusion){
00045       /* 
00046          std::cout << "EgammaHLTHcalIsolation instance:"
00047          << " ptMin=" << ptMin << "|" << ptMinG
00048          << " conesize="<< conesize << "|" << conesizeG
00049          << std::endl;
00050       */
00051     }


Member Function Documentation

float EgammaHLTHcalIsolationDoubleCone::getConeSize (  )  [inline]

Get isolation cone size.

Definition at line 60 of file EgammaHLTHcalIsolationDoubleCone.h.

References conesize.

00060 { return conesize; }

float EgammaHLTHcalIsolationDoubleCone::getExclusion (  )  [inline]

Get exclusion region.

Definition at line 62 of file EgammaHLTHcalIsolationDoubleCone.h.

References exclusion.

00062 { return exclusion; }

float EgammaHLTHcalIsolationDoubleCone::getptMin (  )  [inline]

Get pt cut for hcal hits.

Definition at line 58 of file EgammaHLTHcalIsolationDoubleCone.h.

References ptMin.

00058 { return ptMin; }

float EgammaHLTHcalIsolationDoubleCone::isolPtSum ( const reco::RecoCandidate recocandidate,
const HBHERecHitCollection hbhe,
const HFRecHitCollection hf,
const CaloGeometry geometry 
)

Definition at line 25 of file EgammaHLTHcalIsolationDoubleCone.cc.

References edm::SortedCollection< T, SORT >::begin(), conesize, edm::SortedCollection< T, SORT >::end(), eta, exclusion, funct::exp(), CaloGeometry::getPosition(), phi, PI, ptMin, funct::sin(), reco::RecoCandidate::superCluster(), and TWOPI.

Referenced by EgammaHLTHcalIsolationDoubleConeProducers::produce().

00025                                                                                                                                                                                      {
00026 
00027   float hcalIsol=0.;
00028 
00029   float candSCphi = recocandidate->superCluster()->phi();
00030   float candSCeta = recocandidate->superCluster()->eta();
00031   if(candSCphi<0) candSCphi+=TWOPI;
00032   float conesizeSquared=conesize*conesize;
00033   float exclusionSquared= exclusion*exclusion;
00034 
00035   for(HBHERecHitCollection::const_iterator hbheItr = hbhe->begin(); hbheItr != hbhe->end(); ++hbheItr){
00036     double HcalHit_eta=geometry->getPosition(hbheItr->id()).eta(); //Attention getpos
00037     if(fabs(HcalHit_eta-candSCeta)<conesize) {
00038       float HcalHit_pth=hbheItr->energy()*sin(2*atan(exp(-HcalHit_eta)));
00039       if(HcalHit_pth>ptMin) {
00040         double HcalHit_phi=geometry->getPosition(hbheItr->id()).phi();
00041         float deltaeta=fabs(HcalHit_eta-candSCeta);
00042         if(HcalHit_phi<0) HcalHit_phi+=TWOPI;
00043         float deltaphi=fabs(HcalHit_phi-candSCphi);
00044         if(deltaphi>TWOPI) deltaphi-=TWOPI;
00045         if(deltaphi>PI) deltaphi=TWOPI-deltaphi;
00046         float newDelta= (deltaphi*deltaphi+ deltaeta*deltaeta);
00047         if(newDelta<conesizeSquared && newDelta>exclusionSquared ) hcalIsol+=HcalHit_pth;
00048       }
00049     }      
00050   }
00051 
00052   for(HFRecHitCollection::const_iterator hfItr = hf->begin(); hfItr != hf->end(); ++hfItr){
00053     double HcalHit_eta=geometry->getPosition(hfItr->id()).eta(); //Attention getpos
00054     if(fabs(HcalHit_eta-candSCeta)<conesize) {
00055       float HcalHit_pth=hfItr->energy()*sin(2*atan(exp(-HcalHit_eta)));
00056       if(HcalHit_pth>ptMin) {
00057         double HcalHit_phi=geometry->getPosition(hfItr->id()).phi();
00058         float deltaeta=fabs(HcalHit_eta-candSCeta);
00059         float deltaphi;
00060         if(HcalHit_phi<0) HcalHit_phi+=TWOPI;
00061         if(candSCphi<0) candSCphi+=TWOPI;
00062         deltaphi=fabs(HcalHit_phi-candSCphi);
00063         if(deltaphi>TWOPI) deltaphi-=TWOPI;
00064         if(deltaphi>PI) deltaphi=TWOPI-deltaphi;
00065         float newDelta= (deltaphi*deltaphi+ deltaeta*deltaeta);
00066         if(newDelta<conesizeSquared && newDelta>exclusionSquared ) hcalIsol+=HcalHit_pth;
00067       }
00068     }      
00069   }
00070 
00071 
00072   return hcalIsol;
00073   
00074 }


Member Data Documentation

float EgammaHLTHcalIsolationDoubleCone::conesize [private]

Definition at line 69 of file EgammaHLTHcalIsolationDoubleCone.h.

Referenced by getConeSize(), and isolPtSum().

float EgammaHLTHcalIsolationDoubleCone::exclusion [private]

Definition at line 70 of file EgammaHLTHcalIsolationDoubleCone.h.

Referenced by getExclusion(), and isolPtSum().

float EgammaHLTHcalIsolationDoubleCone::ptMin [private]

Definition at line 68 of file EgammaHLTHcalIsolationDoubleCone.h.

Referenced by getptMin(), and isolPtSum().


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