CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Attributes
PhotonIsolationCalculator Class Reference

#include <PhotonIsolationCalculator.h>

Public Member Functions

void calculate (const reco::Photon *, const edm::Event &, const edm::EventSetup &es, reco::Photon::FiducialFlags &phofid, reco::Photon::IsolationVariables &phoisolR03, reco::Photon::IsolationVariables &phoisolR04)
 
double calculateEcalRecHitIso (const reco::Photon *photon, const edm::Event &iEvent, const edm::EventSetup &iSetup, double RCone, double RConeInner, double etaSlice, double eMin, double etMin, bool vetoClusteredHits, bool useNumCrystals)
 
double calculateHcalTowerIso (const reco::Photon *photon, const edm::Event &iEvent, const edm::EventSetup &iSetup, double RCone, double RConeInner, double eMin, signed int depth)
 
double calculateHcalTowerIso (const reco::Photon *photon, const edm::Event &iEvent, const edm::EventSetup &iSetup, double RCone, double eMin, signed int depth)
 
void calculateTrackIso (const reco::Photon *photon, const edm::Event &e, double &trkCone, int &ntrkCone, double pTThresh=0, double RCone=.4, double RinnerCone=.1, double etaSlice=0.015, double lip=0.2, double d0=0.1)
 
void classify (const reco::Photon *photon, bool &isEBPho, bool &isEEPho, bool &isEBEtaGap, bool &isEBPhiGap, bool &isEERingGap, bool &isEEDeeGap, bool &isEBEEGap)
 
 PhotonIsolationCalculator ()
 
void setup (const edm::ParameterSet &conf, std::vector< int > flagsEB_, std::vector< int > flagsEE_, std::vector< int > severitiesEB_, std::vector< int > severitiesEE_)
 
virtual ~PhotonIsolationCalculator ()
 

Protected Attributes

edm::InputTag barrelecalCollection_
 
edm::InputTag beamSpotProducerTag_
 
std::vector< double > ecalIsoBarrelRadiusA_
 
std::vector< double > ecalIsoBarrelRadiusB_
 
std::vector< double > ecalIsoEndcapRadiusA_
 
std::vector< double > ecalIsoEndcapRadiusB_
 
edm::InputTag endcapecalCollection_
 
std::vector< int > flagsEB_
 
std::vector< int > flagsEE_
 
edm::InputTag hcalCollection_
 
std::vector< double > hcalIsoBarrelRadiusA_
 
std::vector< double > hcalIsoBarrelRadiusB_
 
std::vector< double > hcalIsoEndcapRadiusA_
 
std::vector< double > hcalIsoEndcapRadiusB_
 
double isolationtrackEtaSliceA_
 
double isolationtrackEtaSliceB_
 
double isolationtrackThresholdA_
 
double isolationtrackThresholdB_
 
std::vector< double > moduleEtaBoundary_
 
double modulePhiBoundary_
 
double photonEcalRecHitConeInnerRadiusA_
 
double photonEcalRecHitConeInnerRadiusB_
 
double photonEcalRecHitConeOuterRadiusA_
 
double photonEcalRecHitConeOuterRadiusB_
 
double photonEcalRecHitEtaSliceA_
 
double photonEcalRecHitEtaSliceB_
 
double photonEcalRecHitThreshEA_
 
double photonEcalRecHitThreshEB_
 
double photonEcalRecHitThreshEtA_
 
double photonEcalRecHitThreshEtB_
 
double photonHcalDepth1TowerConeInnerRadiusA_
 
double photonHcalDepth1TowerConeInnerRadiusB_
 
double photonHcalDepth1TowerConeOuterRadiusA_
 
double photonHcalDepth1TowerConeOuterRadiusB_
 
double photonHcalDepth1TowerThreshEA_
 
double photonHcalDepth1TowerThreshEB_
 
double photonHcalDepth2TowerConeInnerRadiusA_
 
double photonHcalDepth2TowerConeInnerRadiusB_
 
double photonHcalDepth2TowerConeOuterRadiusA_
 
double photonHcalDepth2TowerConeOuterRadiusB_
 
double photonHcalDepth2TowerThreshEA_
 
double photonHcalDepth2TowerThreshEB_
 
double photonHcalTowerConeInnerRadiusA_
 
double photonHcalTowerConeInnerRadiusB_
 
double photonHcalTowerConeOuterRadiusA_
 
double photonHcalTowerConeOuterRadiusB_
 
double photonHcalTowerThreshEA_
 
double photonHcalTowerThreshEB_
 
std::vector< int > severityExclEB_
 
std::vector< int > severityExclEE_
 
double trackConeInnerRadiusA_
 
double trackConeInnerRadiusB_
 
double trackConeOuterRadiusA_
 
double trackConeOuterRadiusB_
 
double trackD0RadiusA_
 
double trackD0RadiusB_
 
edm::InputTag trackInputTag_
 
double trackLipRadiusA_
 
double trackLipRadiusB_
 
std::vector< double > trkIsoBarrelRadiusA_
 
std::vector< double > trkIsoBarrelRadiusB_
 
std::vector< double > trkIsoEndcapRadiusA_
 
std::vector< double > trkIsoEndcapRadiusB_
 
bool useNumCrystals_
 
bool vetoClusteredEcalHits_
 

Detailed Description

Determine and Set quality information on Photon Objects

Author
A. Askew, N. Marinelli, M.B. Anderson

Definition at line 14 of file PhotonIsolationCalculator.h.

Constructor & Destructor Documentation

PhotonIsolationCalculator::PhotonIsolationCalculator ( )
inline

Definition at line 18 of file PhotonIsolationCalculator.h.

18 {};
virtual PhotonIsolationCalculator::~PhotonIsolationCalculator ( )
inlinevirtual

Definition at line 20 of file PhotonIsolationCalculator.h.

20 {};

Member Function Documentation

void PhotonIsolationCalculator::calculate ( const reco::Photon pho,
const edm::Event e,
const edm::EventSetup es,
reco::Photon::FiducialFlags phofid,
reco::Photon::IsolationVariables phoisolR03,
reco::Photon::IsolationVariables phoisolR04 
)

Definition at line 167 of file PhotonIsolationCalculator.cc.

References calculateEcalRecHitIso(), calculateHcalTowerIso(), calculateTrackIso(), classify(), EcalBarrel, EcalEndcap, ecalIsoBarrelRadiusA_, ecalIsoBarrelRadiusB_, ecalIsoEndcapRadiusA_, ecalIsoEndcapRadiusB_, reco::Photon::IsolationVariables::ecalRecHitSumEt, reco::Photon::IsolationVariables::hcalDepth1TowerSumEt, reco::Photon::IsolationVariables::hcalDepth1TowerSumEtBc, reco::Photon::IsolationVariables::hcalDepth2TowerSumEt, reco::Photon::IsolationVariables::hcalDepth2TowerSumEtBc, hcalIsoBarrelRadiusA_, hcalIsoBarrelRadiusB_, hcalIsoEndcapRadiusA_, hcalIsoEndcapRadiusB_, reco::Photon::IsolationVariables::hcalTowerSumEt, reco::Photon::IsolationVariables::hcalTowerSumEtBc, reco::Photon::FiducialFlags::isEB, reco::Photon::FiducialFlags::isEBEEGap, reco::Photon::FiducialFlags::isEBEtaGap, reco::Photon::FiducialFlags::isEBPhiGap, reco::Photon::FiducialFlags::isEE, reco::Photon::FiducialFlags::isEEDeeGap, reco::Photon::FiducialFlags::isEERingGap, isolationtrackEtaSliceA_, isolationtrackEtaSliceB_, isolationtrackThresholdA_, isolationtrackThresholdB_, reco::Photon::IsolationVariables::nTrkHollowCone, reco::Photon::IsolationVariables::nTrkSolidCone, photonEcalRecHitConeInnerRadiusA_, photonEcalRecHitConeInnerRadiusB_, photonEcalRecHitConeOuterRadiusA_, photonEcalRecHitConeOuterRadiusB_, photonEcalRecHitEtaSliceA_, photonEcalRecHitEtaSliceB_, photonEcalRecHitThreshEA_, photonEcalRecHitThreshEB_, photonEcalRecHitThreshEtA_, photonEcalRecHitThreshEtB_, photonHcalDepth1TowerConeInnerRadiusA_, photonHcalDepth1TowerConeInnerRadiusB_, photonHcalDepth1TowerConeOuterRadiusA_, photonHcalDepth1TowerConeOuterRadiusB_, photonHcalDepth1TowerThreshEA_, photonHcalDepth1TowerThreshEB_, photonHcalDepth2TowerConeInnerRadiusA_, photonHcalDepth2TowerConeInnerRadiusB_, photonHcalDepth2TowerConeOuterRadiusA_, photonHcalDepth2TowerConeOuterRadiusB_, photonHcalDepth2TowerThreshEA_, photonHcalDepth2TowerThreshEB_, photonHcalTowerConeInnerRadiusA_, photonHcalTowerConeInnerRadiusB_, photonHcalTowerConeOuterRadiusA_, photonHcalTowerConeOuterRadiusB_, photonHcalTowerThreshEA_, photonHcalTowerThreshEB_, DetId::subdetId(), reco::Photon::superCluster(), trackConeInnerRadiusA_, trackConeInnerRadiusB_, trackConeOuterRadiusA_, trackConeOuterRadiusB_, trackD0RadiusA_, trackD0RadiusB_, trackLipRadiusA_, trackLipRadiusB_, trkIsoBarrelRadiusA_, trkIsoBarrelRadiusB_, trkIsoEndcapRadiusA_, trkIsoEndcapRadiusB_, reco::Photon::IsolationVariables::trkSumPtHollowCone, reco::Photon::IsolationVariables::trkSumPtSolidCone, useNumCrystals_, and vetoClusteredEcalHits_.

172  {
173 
174  //Get fiducial flags. This does not really belong here
175  bool isEBPho = false;
176  bool isEEPho = false;
177  bool isEBEtaGap = false;
178  bool isEBPhiGap = false;
179  bool isEERingGap = false;
180  bool isEEDeeGap = false;
181  bool isEBEEGap = false;
182  classify(pho, isEBPho, isEEPho, isEBEtaGap, isEBPhiGap, isEERingGap, isEEDeeGap, isEBEEGap);
183  phofid.isEB = isEBPho;
184  phofid.isEE = isEEPho;
185  phofid.isEBEtaGap = isEBEtaGap;
186  phofid.isEBPhiGap = isEBPhiGap;
187  phofid.isEERingGap = isEERingGap;
188  phofid.isEEDeeGap = isEEDeeGap;
189  phofid.isEBEEGap = isEBEEGap;
190 
191  // Calculate isolation variables. cone sizes and thresholds
192  // are set for Barrel and endcap separately
193 
194  reco::SuperClusterRef scRef=pho->superCluster();
195  const reco::BasicCluster & seedCluster = *(scRef->seed()) ;
196  DetId seedXtalId = seedCluster.hitsAndFractions()[0].first ;
197  int detector = seedXtalId.subdetId() ;
198 
199  if (detector==EcalBarrel) {
200 
207 
213 
223 
224 
231 
237 
247 
248  } else if
249  (detector==EcalEndcap) {
250 
257 
263 
273 
274 
281 
282 
288 
298 
299  }
300 
301 
302  //Calculate hollow cone track isolation, CONE A
303  int ntrkA=0;
304  double trkisoA=0;
305  calculateTrackIso(pho, e, trkisoA, ntrkA, isolationtrackThresholdA_,
307 
308  //Calculate solid cone track isolation, CONE A
309  int sntrkA=0;
310  double strkisoA=0;
311  calculateTrackIso(pho, e, strkisoA, sntrkA, isolationtrackThresholdA_,
313 
314  phoisolR1.nTrkHollowCone = ntrkA;
315  phoisolR1.trkSumPtHollowCone = trkisoA;
316  phoisolR1.nTrkSolidCone = sntrkA;
317  phoisolR1.trkSumPtSolidCone = strkisoA;
318 
319  //Calculate hollow cone track isolation, CONE B
320  int ntrkB=0;
321  double trkisoB=0;
322  calculateTrackIso(pho, e, trkisoB, ntrkB, isolationtrackThresholdB_,
324 
325  //Calculate solid cone track isolation, CONE B
326  int sntrkB=0;
327  double strkisoB=0;
328  calculateTrackIso(pho, e, strkisoB, sntrkB, isolationtrackThresholdB_,
330 
331  phoisolR2.nTrkHollowCone = ntrkB;
332  phoisolR2.trkSumPtHollowCone = trkisoB;
333  phoisolR2.nTrkSolidCone = sntrkB;
334  phoisolR2.trkSumPtSolidCone = strkisoB;
335 
336 // std::cout << "Output from solid cone track isolation: ";
337 // std::cout << " Sum pT: " << strkiso << " ntrk: " << sntrk << std::endl;
338 
339  double EcalRecHitIsoA = calculateEcalRecHitIso(pho, e, es,
347  phoisolR1.ecalRecHitSumEt = EcalRecHitIsoA;
348 
349  double EcalRecHitIsoB = calculateEcalRecHitIso(pho, e, es,
357  phoisolR2.ecalRecHitSumEt = EcalRecHitIsoB;
358 
359 
360  double HcalTowerIsoA = calculateHcalTowerIso(pho, e, es, photonHcalTowerConeOuterRadiusA_,
363  phoisolR1.hcalTowerSumEt = HcalTowerIsoA;
364 
365 
366  double HcalTowerIsoB = calculateHcalTowerIso(pho, e, es, photonHcalTowerConeOuterRadiusB_,
369  phoisolR2.hcalTowerSumEt = HcalTowerIsoB;
370 
372 
373  double HcalDepth1TowerIsoA = calculateHcalTowerIso(pho, e, es, photonHcalDepth1TowerConeOuterRadiusA_,
376  phoisolR1.hcalDepth1TowerSumEt = HcalDepth1TowerIsoA;
377 
378 
379  double HcalDepth1TowerIsoB = calculateHcalTowerIso(pho, e, es, photonHcalDepth1TowerConeOuterRadiusB_,
382  phoisolR2.hcalDepth1TowerSumEt = HcalDepth1TowerIsoB;
383 
384 
385 
387 
388  double HcalDepth2TowerIsoA = calculateHcalTowerIso(pho, e, es, photonHcalDepth2TowerConeOuterRadiusA_,
391  phoisolR1.hcalDepth2TowerSumEt = HcalDepth2TowerIsoA;
392 
393 
394  double HcalDepth2TowerIsoB = calculateHcalTowerIso(pho, e, es, photonHcalDepth2TowerConeOuterRadiusB_,
397  phoisolR2.hcalDepth2TowerSumEt = HcalDepth2TowerIsoB;
398 
399 
400  // New Hcal isolation based on the new H/E definition (towers behind the BCs in the SC are used to evaluated H)
401  double HcalTowerBcIsoA = calculateHcalTowerIso(pho, e, es, photonHcalTowerConeOuterRadiusA_,
403  phoisolR1.hcalTowerSumEtBc = HcalTowerBcIsoA;
404 
405 
406  double HcalTowerBcIsoB = calculateHcalTowerIso(pho, e, es, photonHcalTowerConeOuterRadiusB_,
408  phoisolR2.hcalTowerSumEtBc = HcalTowerBcIsoB;
409 
411 
412  double HcalDepth1TowerBcIsoA = calculateHcalTowerIso(pho, e, es, photonHcalDepth1TowerConeOuterRadiusA_,
414  phoisolR1.hcalDepth1TowerSumEtBc = HcalDepth1TowerBcIsoA;
415 
416 
417  double HcalDepth1TowerBcIsoB = calculateHcalTowerIso(pho, e, es, photonHcalDepth1TowerConeOuterRadiusB_,
419  phoisolR2.hcalDepth1TowerSumEtBc = HcalDepth1TowerBcIsoB;
420 
421 
422 
424 
425  double HcalDepth2TowerBcIsoA = calculateHcalTowerIso(pho, e, es, photonHcalDepth2TowerConeOuterRadiusA_,
427  phoisolR1.hcalDepth2TowerSumEtBc = HcalDepth2TowerBcIsoA;
428 
429 
430  double HcalDepth2TowerBcIsoB = calculateHcalTowerIso(pho, e, es, photonHcalDepth2TowerConeOuterRadiusB_,
432  phoisolR2.hcalDepth2TowerSumEtBc = HcalDepth2TowerBcIsoB;
433 
434 
435 
436 }
std::vector< double > ecalIsoBarrelRadiusA_
std::vector< double > hcalIsoBarrelRadiusB_
std::vector< double > ecalIsoEndcapRadiusB_
std::vector< double > trkIsoEndcapRadiusB_
void calculateTrackIso(const reco::Photon *photon, const edm::Event &e, double &trkCone, int &ntrkCone, double pTThresh=0, double RCone=.4, double RinnerCone=.1, double etaSlice=0.015, double lip=0.2, double d0=0.1)
reco::SuperClusterRef superCluster() const
Ref to SuperCluster.
Definition: Photon.cc:59
double calculateHcalTowerIso(const reco::Photon *photon, const edm::Event &iEvent, const edm::EventSetup &iSetup, double RCone, double RConeInner, double eMin, signed int depth)
std::vector< double > hcalIsoEndcapRadiusA_
std::vector< double > trkIsoBarrelRadiusB_
std::vector< double > hcalIsoBarrelRadiusA_
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
Definition: DetId.h:20
std::vector< double > trkIsoEndcapRadiusA_
std::vector< double > hcalIsoEndcapRadiusB_
std::vector< double > ecalIsoEndcapRadiusA_
std::vector< double > ecalIsoBarrelRadiusB_
double calculateEcalRecHitIso(const reco::Photon *photon, const edm::Event &iEvent, const edm::EventSetup &iSetup, double RCone, double RConeInner, double etaSlice, double eMin, double etMin, bool vetoClusteredHits, bool useNumCrystals)
void classify(const reco::Photon *photon, bool &isEBPho, bool &isEEPho, bool &isEBEtaGap, bool &isEBPhiGap, bool &isEERingGap, bool &isEEDeeGap, bool &isEBEEGap)
std::vector< double > trkIsoBarrelRadiusA_
double PhotonIsolationCalculator::calculateEcalRecHitIso ( const reco::Photon photon,
const edm::Event iEvent,
const edm::EventSetup iSetup,
double  RCone,
double  RConeInner,
double  etaSlice,
double  eMin,
double  etMin,
bool  vetoClusteredHits,
bool  useNumCrystals 
)

Definition at line 535 of file PhotonIsolationCalculator.cc.

References barrelecalCollection_, EgammaRecHitIsolation::doFlagChecks(), EgammaRecHitIsolation::doSeverityChecks(), DetId::Ecal, endcapecalCollection_, flagsEB_, flagsEE_, edm::EventSetup::get(), edm::Event::getByLabel(), EgammaRecHitIsolation::getEtSum(), edm::Handle< T >::product(), edm::ESHandle< class >::product(), EgammaRecHitIsolation::setUseNumCrystals(), EgammaRecHitIsolation::setVetoClustered(), severityExclEB_, and severityExclEE_.

Referenced by calculate().

545 {
546 
547  edm::Handle<EcalRecHitCollection> ecalhitsCollEB;
548  edm::Handle<EcalRecHitCollection> ecalhitsCollEE;
549  iEvent.getByLabel(endcapecalCollection_, ecalhitsCollEE);
550 
551  iEvent.getByLabel(barrelecalCollection_, ecalhitsCollEB);
552 
553  const EcalRecHitCollection* rechitsCollectionEE_ = ecalhitsCollEE.product();
554  const EcalRecHitCollection* rechitsCollectionEB_ = ecalhitsCollEB.product();
555 
557  iSetup.get<EcalSeverityLevelAlgoRcd>().get(sevlv);
558  const EcalSeverityLevelAlgo* sevLevel = sevlv.product();
559 
560  std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEE(0);
561  RecHitsEE = std::auto_ptr<CaloRecHitMetaCollectionV>(new EcalRecHitMetaCollection(*rechitsCollectionEE_));
562 
563  std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEB(0);
564  RecHitsEB = std::auto_ptr<CaloRecHitMetaCollectionV>(new EcalRecHitMetaCollection(*rechitsCollectionEB_));
565 
566  edm::ESHandle<CaloGeometry> geoHandle;
567  iSetup.get<CaloGeometryRecord>().get(geoHandle);
568 
569  EgammaRecHitIsolation phoIsoEB(RCone,
570  RConeInner,
571  etaSlice,
572  etMin,
573  eMin,
574  geoHandle,
575  &(*RecHitsEB),
576  sevLevel,
577  DetId::Ecal);
578 
579  phoIsoEB.setVetoClustered(vetoClusteredHits);
580  phoIsoEB.setUseNumCrystals(useNumXtals);
581  phoIsoEB.doSeverityChecks(ecalhitsCollEB.product(), severityExclEB_);
582  phoIsoEB.doFlagChecks(flagsEB_);
583  double ecalIsolEB = phoIsoEB.getEtSum(photon);
584 
585  EgammaRecHitIsolation phoIsoEE(RCone,
586  RConeInner,
587  etaSlice,
588  etMin,
589  eMin,
590  geoHandle,
591  &(*RecHitsEE),
592  sevLevel,
593  DetId::Ecal);
594 
595  phoIsoEE.setVetoClustered(vetoClusteredHits);
596  phoIsoEE.setUseNumCrystals(useNumXtals);
597  phoIsoEE.doSeverityChecks(ecalhitsCollEE.product(), severityExclEE_);
598  phoIsoEE.doFlagChecks(flagsEE_);
599 
600  double ecalIsolEE = phoIsoEE.getEtSum(photon);
601  // delete phoIso;
602  double ecalIsol = ecalIsolEB + ecalIsolEE;
603 
604  return ecalIsol;
605 }
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
bool etMin(const PFCandidate &cand, double cut)
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
T const * product() const
Definition: Handle.h:74
SimpleCaloRecHitMetaCollection< EcalRecHitCollection > EcalRecHitMetaCollection
double PhotonIsolationCalculator::calculateHcalTowerIso ( const reco::Photon photon,
const edm::Event iEvent,
const edm::EventSetup iSetup,
double  RCone,
double  RConeInner,
double  eMin,
signed int  depth 
)

Definition at line 607 of file PhotonIsolationCalculator.cc.

References edm::Event::getByLabel(), EgammaTowerIsolation::getTowerEtSum(), hcalCollection_, and edm::Handle< T >::product().

Referenced by calculate().

614 {
615 
616  edm::Handle<CaloTowerCollection> hcalhitsCollH;
617 
618  iEvent.getByLabel(hcalCollection_, hcalhitsCollH);
619 
620  const CaloTowerCollection *toww = hcalhitsCollH.product();
621 
622  double hcalIsol=0.;
623 
624  //std::cout << "before iso call" << std::endl;
625  EgammaTowerIsolation phoIso(RCone,
626  RConeInner,
627  eMin,depth,
628  toww);
629  hcalIsol = phoIso.getTowerEtSum(photon);
630  // delete phoIso;
631  //std::cout << "after call" << std::endl;
632  return hcalIsol;
633 
634 
635 }
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
T const * product() const
Definition: Handle.h:74
double PhotonIsolationCalculator::calculateHcalTowerIso ( const reco::Photon photon,
const edm::Event iEvent,
const edm::EventSetup iSetup,
double  RCone,
double  eMin,
signed int  depth 
)

Definition at line 639 of file PhotonIsolationCalculator.cc.

References edm::Event::getByLabel(), EgammaTowerIsolation::getTowerEtSum(), hcalCollection_, reco::Photon::hcalTowersBehindClusters(), and edm::Handle< T >::product().

645 {
646 
647  edm::Handle<CaloTowerCollection> hcalhitsCollH;
648 
649  iEvent.getByLabel(hcalCollection_, hcalhitsCollH);
650 
651  const CaloTowerCollection *toww = hcalhitsCollH.product();
652 
653  double hcalIsol=0.;
654 
655  //std::cout << "before iso call" << std::endl;
656  EgammaTowerIsolation phoIso(RCone,
657  0.,
658  eMin,depth,
659  toww);
660  hcalIsol = phoIso.getTowerEtSum(photon, &(photon->hcalTowersBehindClusters()) );
661  // delete phoIso;
662  //std::cout << "after call" << std::endl;
663  return hcalIsol;
664 
665 
666 }
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
T const * product() const
Definition: Handle.h:74
const std::vector< CaloTowerDetId > & hcalTowersBehindClusters() const
Definition: Photon.h:179
void PhotonIsolationCalculator::calculateTrackIso ( const reco::Photon photon,
const edm::Event e,
double &  trkCone,
int &  ntrkCone,
double  pTThresh = 0,
double  RCone = .4,
double  RinnerCone = .1,
double  etaSlice = 0.015,
double  lip = 0.2,
double  d0 = 0.1 
)

Definition at line 491 of file PhotonIsolationCalculator.cc.

References beamSpotProducerTag_, edm::Event::getByLabel(), PhotonTkIsolation::getNumberTracks(), PhotonTkIsolation::getPtTracks(), edm::HandleBase::isValid(), edm::Handle< T >::product(), trackInputTag_, testEve_cfg::tracks, reco::BeamSpot::x0(), reco::BeamSpot::y0(), and reco::BeamSpot::z0().

Referenced by calculate().

500  {
501  int counter =0;
502  double ptSum =0.;
503 
504 
505  //get the tracks
507  e.getByLabel(trackInputTag_,tracks);
508  if(!tracks.isValid()) {
509  return;
510  }
511  const reco::TrackCollection* trackCollection = tracks.product();
512  //Photon Eta and Phi. Hope these are correct.
513  reco::BeamSpot vertexBeamSpot;
514  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
515  e.getByLabel(beamSpotProducerTag_,recoBeamSpotHandle);
516  vertexBeamSpot = *recoBeamSpotHandle;
517 
518  PhotonTkIsolation phoIso(RCone,
519  RinnerCone,
520  etaSlice,
521  pTThresh,
522  lip ,
523  d0,
524  trackCollection,
525  math::XYZPoint(vertexBeamSpot.x0(),vertexBeamSpot.y0(),vertexBeamSpot.z0()));
526 
527  counter = phoIso.getNumberTracks(photon);
528  ptSum = phoIso.getPtTracks(photon);
529  ntrkCone = counter;
530  trkCone = ptSum;
531 }
double z0() const
z coordinate
Definition: BeamSpot.h:69
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:10
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
tuple tracks
Definition: testEve_cfg.py:39
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:13
T const * product() const
Definition: Handle.h:74
double y0() const
y coordinate
Definition: BeamSpot.h:67
double x0() const
x coordinate
Definition: BeamSpot.h:65
void PhotonIsolationCalculator::classify ( const reco::Photon photon,
bool &  isEBPho,
bool &  isEEPho,
bool &  isEBEtaGap,
bool &  isEBPhiGap,
bool &  isEERingGap,
bool &  isEEDeeGap,
bool &  isEBEEGap 
)

Definition at line 439 of file PhotonIsolationCalculator.cc.

References EcalBarrel, EcalEndcap, eta(), reco::CaloCluster::hitsAndFractions(), EEDetId::isNextToDBoundary(), EBDetId::isNextToEtaBoundary(), EBDetId::isNextToPhiBoundary(), EEDetId::isNextToRingBoundary(), DetId::subdetId(), reco::Photon::superCluster(), and funct::true.

Referenced by calculate().

446  {
447 
448 
449  const reco::CaloCluster & seedCluster = *(photon->superCluster()->seed()) ;
450  // following line is temporary until the D. Evans or F. Ferri submit the new tag for ClusterAlgos
451  // DEfinitive will be
452  // DetId seedXtalId = scRef->seed()->seed();
453  DetId seedXtalId = seedCluster.hitsAndFractions()[0].first ;
454  int detector = seedXtalId.subdetId() ;
455 
456  //Set fiducial flags for this photon.
457  double eta = photon->superCluster()->position().eta();
458  double feta = fabs(eta);
459 
460  if (detector==EcalBarrel) {
461 
462 
463  isEBPho = true;
464  if (EBDetId::isNextToEtaBoundary(EBDetId(seedXtalId))) {
465  if (fabs(feta-1.479)<.1) isEBEEGap = true ;
466  else
467  isEBEtaGap = true ;
468  }
469 
470  if (EBDetId::isNextToPhiBoundary(EBDetId(seedXtalId)))
471  isEBPhiGap = true ;
472 
473 
474 
475  } else if (detector==EcalEndcap) {
476 
477  isEEPho = true;
478  if (EEDetId::isNextToRingBoundary(EEDetId(seedXtalId))) {
479  if (fabs(feta-1.479)<.1) isEBEEGap = true ;
480  else
481  isEERingGap = true ;
482  }
483 
484  if (EEDetId::isNextToDBoundary(EEDetId(seedXtalId)))
485  isEEDeeGap = true ;
486  }
487 
488 
489 }
static bool isNextToEtaBoundary(EBDetId id)
Definition: EBDetId.cc:175
reco::SuperClusterRef superCluster() const
Ref to SuperCluster.
Definition: Photon.cc:59
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
Definition: CaloCluster.h:189
T eta() const
static bool isNextToPhiBoundary(EBDetId id)
Definition: EBDetId.cc:180
static bool isNextToRingBoundary(EEDetId id)
Definition: EEDetId.cc:391
static bool isNextToDBoundary(EEDetId id)
Definition: EEDetId.cc:383
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
Definition: DetId.h:20
void PhotonIsolationCalculator::setup ( const edm::ParameterSet conf,
std::vector< int >  flagsEB_,
std::vector< int >  flagsEE_,
std::vector< int >  severitiesEB_,
std::vector< int >  severitiesEE_ 
)

Isolation parameters for barrel and for two different cone sizes

Isolation parameters for Endcap and for two different cone sizes

Definition at line 46 of file PhotonIsolationCalculator.cc.

References barrelecalCollection_, beamSpotProducerTag_, ecalIsoBarrelRadiusA_, ecalIsoBarrelRadiusB_, ecalIsoEndcapRadiusA_, ecalIsoEndcapRadiusB_, endcapecalCollection_, flagsEB_, flagsEE_, edm::ParameterSet::getParameter(), hcalCollection_, hcalIsoBarrelRadiusA_, hcalIsoBarrelRadiusB_, hcalIsoEndcapRadiusA_, hcalIsoEndcapRadiusB_, moduleEtaBoundary_, modulePhiBoundary_, severityExclEB_, severityExclEE_, trackInputTag_, trkIsoBarrelRadiusA_, trkIsoBarrelRadiusB_, trkIsoEndcapRadiusA_, trkIsoEndcapRadiusB_, useNumCrystals_, and vetoClusteredEcalHits_.

Referenced by PhotonProducer::beginRun().

46  {
47 
48  trackInputTag_ = conf.getParameter<edm::InputTag>("trackProducer");
49  beamSpotProducerTag_ = conf.getParameter<edm::InputTag>("beamSpotProducer");
50  barrelecalCollection_ = conf.getParameter<edm::InputTag>("barrelEcalRecHitCollection");
51  endcapecalCollection_ = conf.getParameter<edm::InputTag>("endcapEcalRecHitCollection");
52  hcalCollection_ = conf.getParameter<edm::InputTag>("HcalRecHitCollection");
53 
54  // gsfRecoInputTag_ = conf.getParameter<edm::InputTag>("GsfRecoCollection");
55  modulePhiBoundary_ = conf.getParameter<double>("modulePhiBoundary");
56  moduleEtaBoundary_ = conf.getParameter<std::vector<double> >("moduleEtaBoundary");
57  //
58  vetoClusteredEcalHits_ = conf.getParameter<bool>("vetoClustered");
59  useNumCrystals_ = conf.getParameter<bool>("useNumCrystals");
60 
62  trkIsoBarrelRadiusA_.push_back( conf.getParameter<double>("TrackConeOuterRadiusA_Barrel") );
63  trkIsoBarrelRadiusA_.push_back( conf.getParameter<double>("TrackConeInnerRadiusA_Barrel") ) ;
64  trkIsoBarrelRadiusA_.push_back( conf.getParameter<double>("isolationtrackThresholdA_Barrel") );
65  trkIsoBarrelRadiusA_.push_back( conf.getParameter<double>("longImpactParameterA_Barrel") );
66  trkIsoBarrelRadiusA_.push_back( conf.getParameter<double>("transImpactParameterA_Barrel") );
67  trkIsoBarrelRadiusA_.push_back( conf.getParameter<double>("isolationtrackEtaSliceA_Barrel") );
68 
69  ecalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("EcalRecHitInnerRadiusA_Barrel") );
70  ecalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("EcalRecHitOuterRadiusA_Barrel") );
71  ecalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("EcalRecHitEtaSliceA_Barrel") );
72  ecalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("EcalRecHitThreshEA_Barrel") );
73  ecalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("EcalRecHitThreshEtA_Barrel") );
74 
75  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalTowerInnerRadiusA_Barrel") );
76  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalTowerOuterRadiusA_Barrel") );
77  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalTowerThreshEA_Barrel") );
78  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerInnerRadiusA_Barrel") );
79  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerOuterRadiusA_Barrel") );
80  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerThreshEA_Barrel") );
81  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerInnerRadiusA_Barrel") );
82  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerOuterRadiusA_Barrel") );
83  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerThreshEA_Barrel") );
84 
85 
86  trkIsoBarrelRadiusB_.push_back( conf.getParameter<double>("TrackConeOuterRadiusB_Barrel") );
87  trkIsoBarrelRadiusB_.push_back( conf.getParameter<double>("TrackConeInnerRadiusB_Barrel") ) ;
88  trkIsoBarrelRadiusB_.push_back( conf.getParameter<double>("isolationtrackThresholdB_Barrel") );
89  trkIsoBarrelRadiusB_.push_back( conf.getParameter<double>("longImpactParameterB_Barrel") );
90  trkIsoBarrelRadiusB_.push_back( conf.getParameter<double>("transImpactParameterB_Barrel") );
91  trkIsoBarrelRadiusB_.push_back( conf.getParameter<double>("isolationtrackEtaSliceB_Barrel") );
92 
93  ecalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("EcalRecHitInnerRadiusB_Barrel") );
94  ecalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("EcalRecHitOuterRadiusB_Barrel") );
95  ecalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("EcalRecHitEtaSliceB_Barrel") );
96  ecalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("EcalRecHitThreshEB_Barrel") );
97  ecalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("EcalRecHitThreshEtB_Barrel") );
98 
99  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalTowerInnerRadiusB_Barrel") );
100  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalTowerOuterRadiusB_Barrel") );
101  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalTowerThreshEB_Barrel") );
102  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerInnerRadiusB_Barrel") );
103  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerOuterRadiusB_Barrel") );
104  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerThreshEB_Barrel") );
105  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerInnerRadiusB_Barrel") );
106  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerOuterRadiusB_Barrel") );
107  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerThreshEB_Barrel") );
108 
110  trkIsoEndcapRadiusA_.push_back( conf.getParameter<double>("TrackConeOuterRadiusA_Endcap") );
111  trkIsoEndcapRadiusA_.push_back( conf.getParameter<double>("TrackConeInnerRadiusA_Endcap") ) ;
112  trkIsoEndcapRadiusA_.push_back( conf.getParameter<double>("isolationtrackThresholdA_Endcap") );
113  trkIsoEndcapRadiusA_.push_back( conf.getParameter<double>("longImpactParameterA_Endcap") );
114  trkIsoEndcapRadiusA_.push_back( conf.getParameter<double>("transImpactParameterA_Endcap") );
115  trkIsoEndcapRadiusA_.push_back( conf.getParameter<double>("isolationtrackEtaSliceA_Endcap") );
116 
117 
118  ecalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("EcalRecHitInnerRadiusA_Endcap") );
119  ecalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("EcalRecHitOuterRadiusA_Endcap") );
120  ecalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("EcalRecHitEtaSliceA_Endcap") );
121  ecalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("EcalRecHitThreshEA_Endcap") );
122  ecalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("EcalRecHitThreshEtA_Endcap") );
123 
124 
125  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalTowerInnerRadiusA_Endcap") );
126  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalTowerOuterRadiusA_Endcap") );
127  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalTowerThreshEA_Endcap") );
128  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerInnerRadiusA_Endcap") );
129  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerOuterRadiusA_Endcap") );
130  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerThreshEA_Endcap") );
131  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerInnerRadiusA_Endcap") );
132  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerOuterRadiusA_Endcap") );
133  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerThreshEA_Endcap") );
134 
135 
136  trkIsoEndcapRadiusB_.push_back( conf.getParameter<double>("TrackConeOuterRadiusB_Endcap") );
137  trkIsoEndcapRadiusB_.push_back( conf.getParameter<double>("TrackConeInnerRadiusB_Endcap") ) ;
138  trkIsoEndcapRadiusB_.push_back( conf.getParameter<double>("isolationtrackThresholdB_Endcap") );
139  trkIsoEndcapRadiusB_.push_back( conf.getParameter<double>("longImpactParameterB_Endcap") );
140  trkIsoEndcapRadiusB_.push_back( conf.getParameter<double>("transImpactParameterB_Endcap") );
141  trkIsoEndcapRadiusB_.push_back( conf.getParameter<double>("isolationtrackEtaSliceB_Endcap") );
142 
143  ecalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("EcalRecHitInnerRadiusB_Endcap") );
144  ecalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("EcalRecHitOuterRadiusB_Endcap") );
145  ecalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("EcalRecHitEtaSliceB_Endcap") );
146  ecalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("EcalRecHitThreshEB_Endcap") );
147  ecalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("EcalRecHitThreshEtB_Endcap") );
148 
149  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalTowerInnerRadiusB_Endcap") );
150  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalTowerOuterRadiusB_Endcap") );
151  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalTowerThreshEB_Endcap") );
152  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerInnerRadiusB_Endcap") );
153  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerOuterRadiusB_Endcap") );
154  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerThreshEB_Endcap") );
155  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerInnerRadiusB_Endcap") );
156  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerOuterRadiusB_Endcap") );
157  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerThreshEB_Endcap") );
158 
159  //Pick up the variables for the spike removal
160  flagsEB_ = flagsEB;
161  flagsEE_ = flagsEE;
162  severityExclEB_ = severitiesEB;
163  severityExclEE_ = severitiesEE;
164 }
T getParameter(std::string const &) const
std::vector< double > ecalIsoBarrelRadiusA_
std::vector< double > hcalIsoBarrelRadiusB_
std::vector< double > ecalIsoEndcapRadiusB_
std::vector< double > trkIsoEndcapRadiusB_
std::vector< double > hcalIsoEndcapRadiusA_
std::vector< double > trkIsoBarrelRadiusB_
std::vector< double > hcalIsoBarrelRadiusA_
std::vector< double > trkIsoEndcapRadiusA_
std::vector< double > moduleEtaBoundary_
std::vector< double > hcalIsoEndcapRadiusB_
std::vector< double > ecalIsoEndcapRadiusA_
std::vector< double > ecalIsoBarrelRadiusB_
std::vector< double > trkIsoBarrelRadiusA_

Member Data Documentation

edm::InputTag PhotonIsolationCalculator::barrelecalCollection_
protected

Definition at line 87 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

edm::InputTag PhotonIsolationCalculator::beamSpotProducerTag_
protected

Definition at line 92 of file PhotonIsolationCalculator.h.

Referenced by calculateTrackIso(), and setup().

std::vector<double> PhotonIsolationCalculator::ecalIsoBarrelRadiusA_
protected

Definition at line 99 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

std::vector<double> PhotonIsolationCalculator::ecalIsoBarrelRadiusB_
protected

Definition at line 102 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

std::vector<double> PhotonIsolationCalculator::ecalIsoEndcapRadiusA_
protected

Definition at line 106 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

std::vector<double> PhotonIsolationCalculator::ecalIsoEndcapRadiusB_
protected

Definition at line 109 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

edm::InputTag PhotonIsolationCalculator::endcapecalCollection_
protected

Definition at line 88 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

std::vector<int> PhotonIsolationCalculator::flagsEB_
protected

Definition at line 134 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

std::vector<int> PhotonIsolationCalculator::flagsEE_
protected

Definition at line 135 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

edm::InputTag PhotonIsolationCalculator::hcalCollection_
protected

Definition at line 89 of file PhotonIsolationCalculator.h.

Referenced by calculateHcalTowerIso(), and setup().

std::vector<double> PhotonIsolationCalculator::hcalIsoBarrelRadiusA_
protected

Definition at line 100 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

std::vector<double> PhotonIsolationCalculator::hcalIsoBarrelRadiusB_
protected

Definition at line 103 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

std::vector<double> PhotonIsolationCalculator::hcalIsoEndcapRadiusA_
protected

Definition at line 107 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

std::vector<double> PhotonIsolationCalculator::hcalIsoEndcapRadiusB_
protected

Definition at line 110 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

double PhotonIsolationCalculator::isolationtrackEtaSliceA_
protected

Definition at line 130 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::isolationtrackEtaSliceB_
protected

Definition at line 156 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::isolationtrackThresholdA_
protected

Definition at line 129 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::isolationtrackThresholdB_
protected

Definition at line 155 of file PhotonIsolationCalculator.h.

Referenced by calculate().

std::vector<double> PhotonIsolationCalculator::moduleEtaBoundary_
protected

Definition at line 94 of file PhotonIsolationCalculator.h.

Referenced by setup().

double PhotonIsolationCalculator::modulePhiBoundary_
protected

Definition at line 93 of file PhotonIsolationCalculator.h.

Referenced by setup().

double PhotonIsolationCalculator::photonEcalRecHitConeInnerRadiusA_
protected

Definition at line 113 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitConeInnerRadiusB_
protected

Definition at line 139 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitConeOuterRadiusA_
protected

Definition at line 114 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitConeOuterRadiusB_
protected

Definition at line 140 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitEtaSliceA_
protected

Definition at line 115 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitEtaSliceB_
protected

Definition at line 141 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitThreshEA_
protected

Definition at line 116 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitThreshEB_
protected

Definition at line 142 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitThreshEtA_
protected

Definition at line 117 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitThreshEtB_
protected

Definition at line 143 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerConeInnerRadiusA_
protected

Definition at line 121 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerConeInnerRadiusB_
protected

Definition at line 147 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerConeOuterRadiusA_
protected

Definition at line 122 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerConeOuterRadiusB_
protected

Definition at line 148 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerThreshEA_
protected

Definition at line 123 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerThreshEB_
protected

Definition at line 149 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerConeInnerRadiusA_
protected

Definition at line 124 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerConeInnerRadiusB_
protected

Definition at line 150 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerConeOuterRadiusA_
protected

Definition at line 125 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerConeOuterRadiusB_
protected

Definition at line 151 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerThreshEA_
protected

Definition at line 126 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerThreshEB_
protected

Definition at line 152 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerConeInnerRadiusA_
protected

Definition at line 118 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerConeInnerRadiusB_
protected

Definition at line 144 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerConeOuterRadiusA_
protected

Definition at line 119 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerConeOuterRadiusB_
protected

Definition at line 145 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerThreshEA_
protected

Definition at line 120 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerThreshEB_
protected

Definition at line 146 of file PhotonIsolationCalculator.h.

Referenced by calculate().

std::vector<int> PhotonIsolationCalculator::severityExclEB_
protected

Definition at line 136 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

std::vector<int> PhotonIsolationCalculator::severityExclEE_
protected

Definition at line 137 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

double PhotonIsolationCalculator::trackConeInnerRadiusA_
protected

Definition at line 128 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackConeInnerRadiusB_
protected

Definition at line 154 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackConeOuterRadiusA_
protected

Definition at line 127 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackConeOuterRadiusB_
protected

Definition at line 153 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackD0RadiusA_
protected

Definition at line 132 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackD0RadiusB_
protected

Definition at line 158 of file PhotonIsolationCalculator.h.

Referenced by calculate().

edm::InputTag PhotonIsolationCalculator::trackInputTag_
protected

Definition at line 91 of file PhotonIsolationCalculator.h.

Referenced by calculateTrackIso(), and setup().

double PhotonIsolationCalculator::trackLipRadiusA_
protected

Definition at line 131 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackLipRadiusB_
protected

Definition at line 157 of file PhotonIsolationCalculator.h.

Referenced by calculate().

std::vector<double> PhotonIsolationCalculator::trkIsoBarrelRadiusA_
protected

Definition at line 98 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

std::vector<double> PhotonIsolationCalculator::trkIsoBarrelRadiusB_
protected

Definition at line 101 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

std::vector<double> PhotonIsolationCalculator::trkIsoEndcapRadiusA_
protected

Definition at line 105 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

std::vector<double> PhotonIsolationCalculator::trkIsoEndcapRadiusB_
protected

Definition at line 108 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

bool PhotonIsolationCalculator::useNumCrystals_
protected

Definition at line 96 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

bool PhotonIsolationCalculator::vetoClusteredEcalHits_
protected

Definition at line 95 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().