![]() |
![]() |
#include <RecoEgamma/EgammaHLTAlgos/interface/EgammaHLTHcalIsolation.h>
Public Member Functions | |
EgammaHLTHcalIsolation (double egHcalIso_PtMin, double egHcalIso_ConeSize) | |
float | getConeSize () |
Get isolation cone size. | |
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 | ptMin |
Usage: <usage>
Definition at line 36 of file EgammaHLTHcalIsolation.h.
EgammaHLTHcalIsolation::EgammaHLTHcalIsolation | ( | double | egHcalIso_PtMin, | |
double | egHcalIso_ConeSize | |||
) | [inline] |
Definition at line 41 of file EgammaHLTHcalIsolation.h.
00041 : 00042 ptMin(egHcalIso_PtMin),conesize(egHcalIso_ConeSize){ 00043 /* 00044 std::cout << "EgammaHLTHcalIsolation instance:" 00045 << " ptMin=" << ptMin << "|" << ptMinG 00046 << " conesize="<< conesize << "|" << conesizeG 00047 << std::endl; 00048 */ 00049 }
float EgammaHLTHcalIsolation::getConeSize | ( | ) | [inline] |
Get isolation cone size.
Definition at line 58 of file EgammaHLTHcalIsolation.h.
References conesize.
00058 { return conesize; }
float EgammaHLTHcalIsolation::getptMin | ( | ) | [inline] |
Get pt cut for hcal hits.
Definition at line 56 of file EgammaHLTHcalIsolation.h.
References ptMin.
00056 { return ptMin; }
float EgammaHLTHcalIsolation::isolPtSum | ( | const reco::RecoCandidate * | recocandidate, | |
const HBHERecHitCollection * | hbhe, | |||
const HFRecHitCollection * | hf, | |||
const CaloGeometry * | geometry | |||
) |
Definition at line 24 of file EgammaHLTHcalIsolation.cc.
References edm::SortedCollection< T, SORT >::begin(), conesize, edm::SortedCollection< T, SORT >::end(), eta, funct::exp(), CaloGeometry::getPosition(), phi, PI, ptMin, funct::sin(), reco::RecoCandidate::superCluster(), and TWOPI.
Referenced by EgammaHLTHcalIsolationProducersRegional::produce().
00024 { 00025 00026 float hcalIsol=0.; 00027 00028 float candSCphi = recocandidate->superCluster()->phi(); 00029 float candSCeta = recocandidate->superCluster()->eta(); 00030 if(candSCphi<0) candSCphi+=TWOPI; 00031 float conesizeSquared=conesize*conesize; 00032 00033 for(HBHERecHitCollection::const_iterator hbheItr = hbhe->begin(); hbheItr != hbhe->end(); ++hbheItr){ 00034 double HcalHit_eta=geometry->getPosition(hbheItr->id()).eta(); //Attention getpos 00035 if(fabs(HcalHit_eta-candSCeta)<conesize) { 00036 float HcalHit_pth=hbheItr->energy()*sin(2*atan(exp(-HcalHit_eta))); 00037 if(HcalHit_pth>ptMin) { 00038 double HcalHit_phi=geometry->getPosition(hbheItr->id()).phi(); 00039 float deltaeta=fabs(HcalHit_eta-candSCeta); 00040 if(HcalHit_phi<0) HcalHit_phi+=TWOPI; 00041 float deltaphi=fabs(HcalHit_phi-candSCphi); 00042 if(deltaphi>TWOPI) deltaphi-=TWOPI; 00043 if(deltaphi>PI) deltaphi=TWOPI-deltaphi; 00044 float newDelta= (deltaphi*deltaphi+ deltaeta*deltaeta); 00045 if(newDelta<conesizeSquared) hcalIsol+=HcalHit_pth; 00046 } 00047 } 00048 } 00049 00050 for(HFRecHitCollection::const_iterator hfItr = hf->begin(); hfItr != hf->end(); ++hfItr){ 00051 double HcalHit_eta=geometry->getPosition(hfItr->id()).eta(); //Attention getpos 00052 if(fabs(HcalHit_eta-candSCeta)<conesize) { 00053 float HcalHit_pth=hfItr->energy()*sin(2*atan(exp(-HcalHit_eta))); 00054 if(HcalHit_pth>ptMin) { 00055 double HcalHit_phi=geometry->getPosition(hfItr->id()).phi(); 00056 float deltaeta=fabs(HcalHit_eta-candSCeta); 00057 float deltaphi; 00058 if(HcalHit_phi<0) HcalHit_phi+=TWOPI; 00059 if(candSCphi<0) candSCphi+=TWOPI; 00060 deltaphi=fabs(HcalHit_phi-candSCphi); 00061 if(deltaphi>TWOPI) deltaphi-=TWOPI; 00062 if(deltaphi>PI) deltaphi=TWOPI-deltaphi; 00063 float newDelta= (deltaphi*deltaphi+ deltaeta*deltaeta); 00064 if(newDelta<conesizeSquared) hcalIsol+=HcalHit_pth; 00065 } 00066 } 00067 00068 00069 /* 00070 double HcalHit_energy=hfItr->energy(); 00071 double HcalHit_eta=geometry->getPosition(hfItr->id()).eta(); 00072 double HcalHit_phi=geometry->getPosition(hfItr->id()).phi(); 00073 float HcalHit_pth=HcalHit_energy*sin(2*atan(exp(-HcalHit_eta))); 00074 if(HcalHit_pth>ptMin) { 00075 float deltaphi; 00076 if(HcalHit_phi<0) HcalHit_phi+=TWOPI; 00077 if(candSCphi<0) candSCphi+=TWOPI; 00078 deltaphi=fabs(HcalHit_phi-candSCphi); 00079 if(deltaphi>TWOPI) deltaphi-=TWOPI; 00080 if(deltaphi>PI) deltaphi=TWOPI-deltaphi; 00081 float deltaeta=fabs(HcalHit_eta-candSCeta); 00082 float newDelta= sqrt(deltaphi*deltaphi+ deltaeta*deltaeta); 00083 if(newDelta<conesize) hcalIsol+=HcalHit_pth; 00084 } 00085 */ 00086 00087 00088 } 00089 00090 return hcalIsol; 00091 00092 }
float EgammaHLTHcalIsolation::conesize [private] |
Definition at line 66 of file EgammaHLTHcalIsolation.h.
Referenced by getConeSize(), and isolPtSum().
float EgammaHLTHcalIsolation::ptMin [private] |