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)
 
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)
 
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_
 
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_
 
int severityLevelCut_
 
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_
 
std::vector< int > v_chstatus_
 
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 185 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::hcalDepth2TowerSumEt, hcalIsoBarrelRadiusA_, hcalIsoBarrelRadiusB_, hcalIsoEndcapRadiusA_, hcalIsoEndcapRadiusB_, reco::Photon::IsolationVariables::hcalTowerSumEt, 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_.

190  {
191 
192 
193  //Get fiducial flags. This does not really belong here
194  bool isEBPho = false;
195  bool isEEPho = false;
196  bool isEBEtaGap = false;
197  bool isEBPhiGap = false;
198  bool isEERingGap = false;
199  bool isEEDeeGap = false;
200  bool isEBEEGap = false;
201  classify(pho, isEBPho, isEEPho, isEBEtaGap, isEBPhiGap, isEERingGap, isEEDeeGap, isEBEEGap);
202  phofid.isEB = isEBPho;
203  phofid.isEE = isEEPho;
204  phofid.isEBEtaGap = isEBEtaGap;
205  phofid.isEBPhiGap = isEBPhiGap;
206  phofid.isEERingGap = isEERingGap;
207  phofid.isEEDeeGap = isEEDeeGap;
208  phofid.isEBEEGap = isEBEEGap;
209 
210  // Calculate isolation variables. cone sizes and thresholds
211  // are set for Barrel and endcap separately
212 
213  reco::SuperClusterRef scRef=pho->superCluster();
214  const reco::BasicCluster & seedCluster = *(scRef->seed()) ;
215  DetId seedXtalId = seedCluster.hitsAndFractions()[0].first ;
216  int detector = seedXtalId.subdetId() ;
217 
218  if (detector==EcalBarrel) {
219 
226 
232 
242 
243 
250 
256 
266 
267  } else if
268  (detector==EcalEndcap) {
269 
276 
282 
292 
293 
300 
301 
307 
317 
318  }
319 
320 
321  //Calculate hollow cone track isolation, CONE A
322  int ntrkA=0;
323  double trkisoA=0;
324  calculateTrackIso(pho, e, trkisoA, ntrkA, isolationtrackThresholdA_,
326 
327  //Calculate solid cone track isolation, CONE A
328  int sntrkA=0;
329  double strkisoA=0;
330  calculateTrackIso(pho, e, strkisoA, sntrkA, isolationtrackThresholdA_,
332 
333  phoisolR1.nTrkHollowCone = ntrkA;
334  phoisolR1.trkSumPtHollowCone = trkisoA;
335  phoisolR1.nTrkSolidCone = sntrkA;
336  phoisolR1.trkSumPtSolidCone = strkisoA;
337 
338  //Calculate hollow cone track isolation, CONE B
339  int ntrkB=0;
340  double trkisoB=0;
341  calculateTrackIso(pho, e, trkisoB, ntrkB, isolationtrackThresholdB_,
343 
344  //Calculate solid cone track isolation, CONE B
345  int sntrkB=0;
346  double strkisoB=0;
347  calculateTrackIso(pho, e, strkisoB, sntrkB, isolationtrackThresholdB_,
349 
350  phoisolR2.nTrkHollowCone = ntrkB;
351  phoisolR2.trkSumPtHollowCone = trkisoB;
352  phoisolR2.nTrkSolidCone = sntrkB;
353  phoisolR2.trkSumPtSolidCone = strkisoB;
354 
355 // std::cout << "Output from solid cone track isolation: ";
356 // std::cout << " Sum pT: " << strkiso << " ntrk: " << sntrk << std::endl;
357 
358  double EcalRecHitIsoA = calculateEcalRecHitIso(pho, e, es,
366  phoisolR1.ecalRecHitSumEt = EcalRecHitIsoA;
367 
368  double EcalRecHitIsoB = calculateEcalRecHitIso(pho, e, es,
376  phoisolR2.ecalRecHitSumEt = EcalRecHitIsoB;
377 
378  double HcalTowerIsoA = calculateHcalTowerIso(pho, e, es, photonHcalTowerConeOuterRadiusA_,
381  phoisolR1.hcalTowerSumEt = HcalTowerIsoA;
382 
383 
384  double HcalTowerIsoB = calculateHcalTowerIso(pho, e, es, photonHcalTowerConeOuterRadiusB_,
387  phoisolR2.hcalTowerSumEt = HcalTowerIsoB;
388 
390 
391  double HcalDepth1TowerIsoA = calculateHcalTowerIso(pho, e, es, photonHcalDepth1TowerConeOuterRadiusA_,
394  phoisolR1.hcalDepth1TowerSumEt = HcalDepth1TowerIsoA;
395 
396 
397  double HcalDepth1TowerIsoB = calculateHcalTowerIso(pho, e, es, photonHcalDepth1TowerConeOuterRadiusB_,
400  phoisolR2.hcalDepth1TowerSumEt = HcalDepth1TowerIsoB;
401 
402 
403 
405 
406  double HcalDepth2TowerIsoA = calculateHcalTowerIso(pho, e, es, photonHcalDepth2TowerConeOuterRadiusA_,
409  phoisolR1.hcalDepth2TowerSumEt = HcalDepth2TowerIsoA;
410 
411 
412  double HcalDepth2TowerIsoB = calculateHcalTowerIso(pho, e, es, photonHcalDepth2TowerConeOuterRadiusB_,
415  phoisolR2.hcalDepth2TowerSumEt = HcalDepth2TowerIsoB;
416 
417 
418 
419 
420 
421 
422 }
std::vector< double > ecalIsoBarrelRadiusA_
reco::SuperClusterRef superCluster() const
Ref to SuperCluster.
Definition: Photon.h:57
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)
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 521 of file PhotonIsolationCalculator.cc.

References barrelecalCollection_, EgammaRecHitIsolation::doFlagChecks(), EgammaRecHitIsolation::doSpikeRemoval(), DetId::Ecal, endcapecalCollection_, edm::EventSetup::get(), edm::Event::getByLabel(), EgammaRecHitIsolation::getEtSum(), edm::Handle< T >::product(), edm::ESHandle< class >::product(), EgammaRecHitIsolation::setUseNumCrystals(), EgammaRecHitIsolation::setVetoClustered(), severityLevelCut_, and v_chstatus_.

Referenced by calculate().

531 {
532 
533  edm::Handle<EcalRecHitCollection> ecalhitsCollEB;
534  edm::Handle<EcalRecHitCollection> ecalhitsCollEE;
535 
536  iEvent.getByLabel(endcapecalCollection_, ecalhitsCollEE);
537 
538  iEvent.getByLabel(barrelecalCollection_, ecalhitsCollEB);
539 
540  const EcalRecHitCollection* rechitsCollectionEE_ = ecalhitsCollEE.product();
541  const EcalRecHitCollection* rechitsCollectionEB_ = ecalhitsCollEB.product();
542 
543  //Get the channel status from the db
545  iSetup.get<EcalChannelStatusRcd>().get(chStatus);
546 
548  iSetup.get<EcalSeverityLevelAlgoRcd>().get(sevlv);
549  const EcalSeverityLevelAlgo* sevLevel = sevlv.product();
550 
551  std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEE(0);
552  RecHitsEE = std::auto_ptr<CaloRecHitMetaCollectionV>(new EcalRecHitMetaCollection(*rechitsCollectionEE_));
553 
554  std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEB(0);
555  RecHitsEB = std::auto_ptr<CaloRecHitMetaCollectionV>(new EcalRecHitMetaCollection(*rechitsCollectionEB_));
556 
557  edm::ESHandle<CaloGeometry> geoHandle;
558  iSetup.get<CaloGeometryRecord>().get(geoHandle);
559 
560  EgammaRecHitIsolation phoIsoEB(RCone,
561  RConeInner,
562  etaSlice,
563  etMin,
564  eMin,
565  geoHandle,
566  &(*RecHitsEB),
567  sevLevel,
568  DetId::Ecal);
569 
570  phoIsoEB.setVetoClustered(vetoClusteredHits);
571  phoIsoEB.setUseNumCrystals(useNumXtals);
572  phoIsoEB.doSpikeRemoval(ecalhitsCollEB.product(),chStatus.product(),severityLevelCut_);//,severityRecHitThreshold_,spId_,spikeIdThreshold_);
573  phoIsoEB.doFlagChecks(v_chstatus_);
574  double ecalIsolEB = phoIsoEB.getEtSum(photon);
575 
576  EgammaRecHitIsolation phoIsoEE(RCone,
577  RConeInner,
578  etaSlice,
579  etMin,
580  eMin,
581  geoHandle,
582  &(*RecHitsEE),
583  sevLevel,
584  DetId::Ecal);
585 
586  phoIsoEE.setVetoClustered(vetoClusteredHits);
587  phoIsoEE.setUseNumCrystals(useNumXtals);
588  phoIsoEE.doFlagChecks(v_chstatus_);
589 
590  double ecalIsolEE = phoIsoEE.getEtSum(photon);
591  // delete phoIso;
592  double ecalIsol = ecalIsolEB + ecalIsolEE;
593 
594  return ecalIsol;
595 
596 
597 }
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
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 599 of file PhotonIsolationCalculator.cc.

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

Referenced by calculate().

606 {
607 
608  edm::Handle<CaloTowerCollection> hcalhitsCollH;
609 
610  iEvent.getByLabel(hcalCollection_, hcalhitsCollH);
611 
612  const CaloTowerCollection *toww = hcalhitsCollH.product();
613 
614  double ecalIsol=0.;
615 
616  //std::cout << "before iso call" << std::endl;
617  EgammaTowerIsolation phoIso(RCone,
618  RConeInner,
619  eMin,depth,
620  toww);
621  ecalIsol = phoIso.getTowerEtSum(photon);
622  // delete phoIso;
623  //std::cout << "after call" << std::endl;
624  return ecalIsol;
625 
626 
627 }
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
T const * product() const
Definition: Handle.h:74
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 477 of file PhotonIsolationCalculator.cc.

References beamSpotProducerTag_, cmsDriverOptions::counter, 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().

486  {
487  int counter =0;
488  double ptSum =0.;
489 
490 
491  //get the tracks
493  e.getByLabel(trackInputTag_,tracks);
494  if(!tracks.isValid()) {
495  return;
496  }
497  const reco::TrackCollection* trackCollection = tracks.product();
498  //Photon Eta and Phi. Hope these are correct.
499  reco::BeamSpot vertexBeamSpot;
500  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
501  e.getByLabel(beamSpotProducerTag_,recoBeamSpotHandle);
502  vertexBeamSpot = *recoBeamSpotHandle;
503 
504  PhotonTkIsolation phoIso(RCone,
505  RinnerCone,
506  etaSlice,
507  pTThresh,
508  lip ,
509  d0,
510  trackCollection,
511  math::XYZPoint(vertexBeamSpot.x0(),vertexBeamSpot.y0(),vertexBeamSpot.z0()));
512 
513  counter = phoIso.getNumberTracks(photon);
514  ptSum = phoIso.getPtTracks(photon);
515  ntrkCone = counter;
516  trkCone = ptSum;
517 }
double z0() const
z coordinate
Definition: BeamSpot.h:69
tuple d0
Definition: debug_cff.py:3
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:355
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 425 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().

432  {
433 
434 
435  const reco::CaloCluster & seedCluster = *(photon->superCluster()->seed()) ;
436  // following line is temporary until the D. Evans or F. Ferri submit the new tag for ClusterAlgos
437  // DEfinitive will be
438  // DetId seedXtalId = scRef->seed()->seed();
439  DetId seedXtalId = seedCluster.hitsAndFractions()[0].first ;
440  int detector = seedXtalId.subdetId() ;
441 
442  //Set fiducial flags for this photon.
443  double eta = photon->superCluster()->position().eta();
444  double feta = fabs(eta);
445 
446  if (detector==EcalBarrel) {
447 
448 
449  isEBPho = true;
450  if (EBDetId::isNextToEtaBoundary(EBDetId(seedXtalId))) {
451  if (fabs(feta-1.479)<.1) isEBEEGap = true ;
452  else
453  isEBEtaGap = true ;
454  }
455 
456  if (EBDetId::isNextToPhiBoundary(EBDetId(seedXtalId)))
457  isEBPhiGap = true ;
458 
459 
460 
461  } else if (detector==EcalEndcap) {
462 
463  isEEPho = true;
464  if (EEDetId::isNextToRingBoundary(EEDetId(seedXtalId))) {
465  if (fabs(feta-1.479)<.1) isEBEEGap = true ;
466  else
467  isEERingGap = true ;
468  }
469 
470  if (EEDetId::isNextToDBoundary(EEDetId(seedXtalId)))
471  isEEDeeGap = true ;
472  }
473 
474 
475 }
static bool isNextToEtaBoundary(EBDetId id)
Definition: EBDetId.cc:175
reco::SuperClusterRef superCluster() const
Ref to SuperCluster.
Definition: Photon.h:57
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)

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_, edm::ParameterSet::getParameter(), hcalCollection_, hcalIsoBarrelRadiusA_, hcalIsoBarrelRadiusB_, hcalIsoEndcapRadiusA_, hcalIsoEndcapRadiusB_, moduleEtaBoundary_, modulePhiBoundary_, severityLevelCut_, python.multivaluedict::sort(), trackInputTag_, trkIsoBarrelRadiusA_, trkIsoBarrelRadiusB_, trkIsoEndcapRadiusA_, trkIsoEndcapRadiusB_, useNumCrystals_, v_chstatus_, and vetoClusteredEcalHits_.

Referenced by PhotonProducer::beginRun().

46  {
47 
48 
49  trackInputTag_ = conf.getParameter<edm::InputTag>("trackProducer");
50  beamSpotProducerTag_ = conf.getParameter<edm::InputTag>("beamSpotProducer");
51  barrelecalCollection_ = conf.getParameter<edm::InputTag>("barrelEcalRecHitCollection");
52  endcapecalCollection_ = conf.getParameter<edm::InputTag>("endcapEcalRecHitCollection");
53  hcalCollection_ = conf.getParameter<edm::InputTag>("HcalRecHitCollection");
54 
55  // gsfRecoInputTag_ = conf.getParameter<edm::InputTag>("GsfRecoCollection");
56  modulePhiBoundary_ = conf.getParameter<double>("modulePhiBoundary");
57  moduleEtaBoundary_ = conf.getParameter<std::vector<double> >("moduleEtaBoundary");
58  //
59  vetoClusteredEcalHits_ = conf.getParameter<bool>("vetoClustered");
60  useNumCrystals_ = conf.getParameter<bool>("useNumCrystals");
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  severityLevelCut_ = conf.getParameter<int>("severityLevelCut");
161  //severityRecHitThreshold_ = conf.getParameter<double>("severityRecHitThreshold");
162  //spikeIdThreshold_ = conf.getParameter<double>("spikeIdThreshold");
163 
164  const std::vector<int> &tempV(conf.getParameter<std::vector<int> >("recHitFlagsToBeExcluded"));
165  v_chstatus_.clear();
166  v_chstatus_.insert(v_chstatus_.begin(),tempV.begin(),tempV.end());
167  std::sort( v_chstatus_.begin(), v_chstatus_.end() );
168 
169 
170  //Need to figure out which algo to use
171  //if(!conf.getParameter<std::string>("spikeIdString").compare("kE1OverE9") ) {
172  // spId_ = EcalSeverityLevelAlgo::kE1OverE9;
173  //} else if(!conf.getParameter<std::string>("spikeIdString").compare("kSwissCross") ) {
174  // spId_ = EcalSeverityLevelAlgo::kSwissCross;
175  //} else if(!conf.getParameter<std::string>("spikeIdString").compare("kSwissCrossBordersIncluded") ) {
176  // spId_ = EcalSeverityLevelAlgo::kSwissCrossBordersIncluded;
177  //} else {
178  // spId_ = EcalSeverityLevelAlgo::kSwissCrossBordersIncluded;
179  // edm::LogWarning("PhotonIsolationCalculator|SpikeRemovalForIsolation")
180  // << "Cannot find the requested method. kSwissCross set instead.";
181  //}
182 }
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 74 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

edm::InputTag PhotonIsolationCalculator::beamSpotProducerTag_
protected

Definition at line 79 of file PhotonIsolationCalculator.h.

Referenced by calculateTrackIso(), and setup().

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

Definition at line 86 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

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

Definition at line 89 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

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

Definition at line 93 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

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

Definition at line 96 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

edm::InputTag PhotonIsolationCalculator::endcapecalCollection_
protected

Definition at line 75 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

edm::InputTag PhotonIsolationCalculator::hcalCollection_
protected

Definition at line 76 of file PhotonIsolationCalculator.h.

Referenced by calculateHcalTowerIso(), and setup().

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

Definition at line 87 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

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

Definition at line 90 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

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

Definition at line 94 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

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

Definition at line 97 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

double PhotonIsolationCalculator::isolationtrackEtaSliceA_
protected

Definition at line 117 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::isolationtrackEtaSliceB_
protected

Definition at line 146 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::isolationtrackThresholdA_
protected

Definition at line 116 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::isolationtrackThresholdB_
protected

Definition at line 145 of file PhotonIsolationCalculator.h.

Referenced by calculate().

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

Definition at line 81 of file PhotonIsolationCalculator.h.

Referenced by setup().

double PhotonIsolationCalculator::modulePhiBoundary_
protected

Definition at line 80 of file PhotonIsolationCalculator.h.

Referenced by setup().

double PhotonIsolationCalculator::photonEcalRecHitConeInnerRadiusA_
protected

Definition at line 100 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitConeInnerRadiusB_
protected

Definition at line 129 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitConeOuterRadiusA_
protected

Definition at line 101 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitConeOuterRadiusB_
protected

Definition at line 130 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitEtaSliceA_
protected

Definition at line 102 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitEtaSliceB_
protected

Definition at line 131 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitThreshEA_
protected

Definition at line 103 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitThreshEB_
protected

Definition at line 132 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitThreshEtA_
protected

Definition at line 104 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonEcalRecHitThreshEtB_
protected

Definition at line 133 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerConeInnerRadiusA_
protected

Definition at line 108 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerConeInnerRadiusB_
protected

Definition at line 137 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerConeOuterRadiusA_
protected

Definition at line 109 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerConeOuterRadiusB_
protected

Definition at line 138 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerThreshEA_
protected

Definition at line 110 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth1TowerThreshEB_
protected

Definition at line 139 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerConeInnerRadiusA_
protected

Definition at line 111 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerConeInnerRadiusB_
protected

Definition at line 140 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerConeOuterRadiusA_
protected

Definition at line 112 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerConeOuterRadiusB_
protected

Definition at line 141 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerThreshEA_
protected

Definition at line 113 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalDepth2TowerThreshEB_
protected

Definition at line 142 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerConeInnerRadiusA_
protected

Definition at line 105 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerConeInnerRadiusB_
protected

Definition at line 134 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerConeOuterRadiusA_
protected

Definition at line 106 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerConeOuterRadiusB_
protected

Definition at line 135 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerThreshEA_
protected

Definition at line 107 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::photonHcalTowerThreshEB_
protected

Definition at line 136 of file PhotonIsolationCalculator.h.

Referenced by calculate().

int PhotonIsolationCalculator::severityLevelCut_
protected

Definition at line 121 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

double PhotonIsolationCalculator::trackConeInnerRadiusA_
protected

Definition at line 115 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackConeInnerRadiusB_
protected

Definition at line 144 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackConeOuterRadiusA_
protected

Definition at line 114 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackConeOuterRadiusB_
protected

Definition at line 143 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackD0RadiusA_
protected

Definition at line 119 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackD0RadiusB_
protected

Definition at line 148 of file PhotonIsolationCalculator.h.

Referenced by calculate().

edm::InputTag PhotonIsolationCalculator::trackInputTag_
protected

Definition at line 78 of file PhotonIsolationCalculator.h.

Referenced by calculateTrackIso(), and setup().

double PhotonIsolationCalculator::trackLipRadiusA_
protected

Definition at line 118 of file PhotonIsolationCalculator.h.

Referenced by calculate().

double PhotonIsolationCalculator::trackLipRadiusB_
protected

Definition at line 147 of file PhotonIsolationCalculator.h.

Referenced by calculate().

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

Definition at line 85 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

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

Definition at line 88 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

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

Definition at line 92 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

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

Definition at line 95 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

bool PhotonIsolationCalculator::useNumCrystals_
protected

Definition at line 83 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().

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

Definition at line 125 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

bool PhotonIsolationCalculator::vetoClusteredEcalHits_
protected

Definition at line 82 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().