#include <RecoEgamma/EgammaHLTAlgos/interface/EgammaHLTHcalIsolationDoubleCone.h>
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 |
Usage: <usage>
Definition at line 38 of file EgammaHLTHcalIsolationDoubleCone.h.
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 }
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 }
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().