CMS 3D CMS Logo

Public Member Functions | Protected Attributes

PhotonIsolationCalculator Class Reference

#include <PhotonIsolationCalculator.h>

List of all members.

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.

{};
virtual PhotonIsolationCalculator::~PhotonIsolationCalculator ( ) [inline, virtual]

Definition at line 20 of file PhotonIsolationCalculator.h.

{};

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_.

                                                                             {


  //Get fiducial flags. This does not really belong here
  bool isEBPho     = false;
  bool isEEPho     = false;
  bool isEBEtaGap  = false;
  bool isEBPhiGap  = false;
  bool isEERingGap = false;
  bool isEEDeeGap  = false;
  bool isEBEEGap   = false;
  classify(pho, isEBPho, isEEPho, isEBEtaGap, isEBPhiGap, isEERingGap, isEEDeeGap, isEBEEGap);
  phofid.isEB = isEBPho;
  phofid.isEE = isEEPho;
  phofid.isEBEtaGap  = isEBEtaGap;
  phofid.isEBPhiGap  = isEBPhiGap;
  phofid.isEERingGap = isEERingGap;
  phofid.isEEDeeGap  = isEEDeeGap;
  phofid.isEBEEGap   = isEBEEGap;
  
  // Calculate isolation variables. cone sizes and thresholds
  // are set for Barrel and endcap separately 

  reco::SuperClusterRef scRef=pho->superCluster();
  const reco::BasicCluster & seedCluster = *(scRef->seed()) ;
  DetId seedXtalId = seedCluster.hitsAndFractions()[0].first ;
  int detector = seedXtalId.subdetId() ;

  if (detector==EcalBarrel) {

    trackConeOuterRadiusA_    = trkIsoBarrelRadiusA_[0];
    trackConeInnerRadiusA_    = trkIsoBarrelRadiusA_[1];
    isolationtrackThresholdA_ = trkIsoBarrelRadiusA_[2];
    trackLipRadiusA_          = trkIsoBarrelRadiusA_[3];
    trackD0RadiusA_           = trkIsoBarrelRadiusA_[4];
    isolationtrackEtaSliceA_  = trkIsoBarrelRadiusA_[5];

    photonEcalRecHitConeInnerRadiusA_  = ecalIsoBarrelRadiusA_[0];
    photonEcalRecHitConeOuterRadiusA_  = ecalIsoBarrelRadiusA_[1];
    photonEcalRecHitEtaSliceA_         = ecalIsoBarrelRadiusA_[2];
    photonEcalRecHitThreshEA_          = ecalIsoBarrelRadiusA_[3];
    photonEcalRecHitThreshEtA_         = ecalIsoBarrelRadiusA_[4];

    photonHcalTowerConeInnerRadiusA_       = hcalIsoBarrelRadiusA_[0];
    photonHcalTowerConeOuterRadiusA_       = hcalIsoBarrelRadiusA_[1];
    photonHcalTowerThreshEA_               = hcalIsoBarrelRadiusA_[2];
    photonHcalDepth1TowerConeInnerRadiusA_ = hcalIsoBarrelRadiusA_[3];
    photonHcalDepth1TowerConeOuterRadiusA_ = hcalIsoBarrelRadiusA_[4];
    photonHcalDepth1TowerThreshEA_         = hcalIsoBarrelRadiusA_[5];
    photonHcalDepth2TowerConeInnerRadiusA_ = hcalIsoBarrelRadiusA_[6];
    photonHcalDepth2TowerConeOuterRadiusA_ = hcalIsoBarrelRadiusA_[7];
    photonHcalDepth2TowerThreshEA_         = hcalIsoBarrelRadiusA_[8];


    trackConeOuterRadiusB_    = trkIsoBarrelRadiusB_[0];
    trackConeInnerRadiusB_    = trkIsoBarrelRadiusB_[1];
    isolationtrackThresholdB_ = trkIsoBarrelRadiusB_[2];
    trackLipRadiusB_          = trkIsoBarrelRadiusB_[3];
    trackD0RadiusB_           = trkIsoBarrelRadiusB_[4];
    isolationtrackEtaSliceB_  = trkIsoBarrelRadiusB_[5];

    photonEcalRecHitConeInnerRadiusB_  = ecalIsoBarrelRadiusB_[0];
    photonEcalRecHitConeOuterRadiusB_  = ecalIsoBarrelRadiusB_[1];
    photonEcalRecHitEtaSliceB_         = ecalIsoBarrelRadiusB_[2];
    photonEcalRecHitThreshEB_          = ecalIsoBarrelRadiusB_[3];
    photonEcalRecHitThreshEtB_         = ecalIsoBarrelRadiusB_[4];

    photonHcalTowerConeInnerRadiusB_       = hcalIsoBarrelRadiusB_[0];
    photonHcalTowerConeOuterRadiusB_       = hcalIsoBarrelRadiusB_[1];
    photonHcalTowerThreshEB_               = hcalIsoBarrelRadiusB_[2];
    photonHcalDepth1TowerConeInnerRadiusB_ = hcalIsoBarrelRadiusB_[3];
    photonHcalDepth1TowerConeOuterRadiusB_ = hcalIsoBarrelRadiusB_[4];
    photonHcalDepth1TowerThreshEB_         = hcalIsoBarrelRadiusB_[5];
    photonHcalDepth2TowerConeInnerRadiusB_ = hcalIsoBarrelRadiusB_[6];
    photonHcalDepth2TowerConeOuterRadiusB_ = hcalIsoBarrelRadiusB_[7];
    photonHcalDepth2TowerThreshEB_         = hcalIsoBarrelRadiusB_[8];

  } else if 
    (detector==EcalEndcap) {

    trackConeOuterRadiusA_    = trkIsoEndcapRadiusA_[0];
    trackConeInnerRadiusA_    = trkIsoEndcapRadiusA_[1];
    isolationtrackThresholdA_ = trkIsoEndcapRadiusA_[2];
    trackLipRadiusA_          = trkIsoEndcapRadiusA_[3];
    trackD0RadiusA_           = trkIsoEndcapRadiusA_[4];
    isolationtrackEtaSliceA_  = trkIsoEndcapRadiusA_[5];

    photonEcalRecHitConeInnerRadiusA_  = ecalIsoEndcapRadiusA_[0];
    photonEcalRecHitConeOuterRadiusA_  = ecalIsoEndcapRadiusA_[1];
    photonEcalRecHitEtaSliceA_         = ecalIsoEndcapRadiusA_[2];
    photonEcalRecHitThreshEA_          = ecalIsoEndcapRadiusA_[3];
    photonEcalRecHitThreshEtA_         = ecalIsoEndcapRadiusA_[4];

    photonHcalTowerConeInnerRadiusA_       = hcalIsoEndcapRadiusA_[0];
    photonHcalTowerConeOuterRadiusA_       = hcalIsoEndcapRadiusA_[1];
    photonHcalTowerThreshEA_               = hcalIsoEndcapRadiusA_[2];
    photonHcalDepth1TowerConeInnerRadiusA_ = hcalIsoEndcapRadiusA_[3];
    photonHcalDepth1TowerConeOuterRadiusA_ = hcalIsoEndcapRadiusA_[4];
    photonHcalDepth1TowerThreshEA_         = hcalIsoEndcapRadiusA_[5];
    photonHcalDepth2TowerConeInnerRadiusA_ = hcalIsoEndcapRadiusA_[6];
    photonHcalDepth2TowerConeOuterRadiusA_ = hcalIsoEndcapRadiusA_[7];
    photonHcalDepth2TowerThreshEA_         = hcalIsoEndcapRadiusA_[8];


    trackConeOuterRadiusB_    = trkIsoEndcapRadiusB_[0];
    trackConeInnerRadiusB_    = trkIsoEndcapRadiusB_[1];
    isolationtrackThresholdB_ = trkIsoEndcapRadiusB_[2];
    trackLipRadiusB_          = trkIsoEndcapRadiusB_[3];
    trackD0RadiusB_           = trkIsoEndcapRadiusB_[4];
    isolationtrackEtaSliceB_  = trkIsoEndcapRadiusB_[5];


    photonEcalRecHitConeInnerRadiusB_  = ecalIsoEndcapRadiusB_[0];
    photonEcalRecHitConeOuterRadiusB_  = ecalIsoEndcapRadiusB_[1];
    photonEcalRecHitEtaSliceB_         = ecalIsoEndcapRadiusB_[2];
    photonEcalRecHitThreshEB_          = ecalIsoEndcapRadiusB_[3];
    photonEcalRecHitThreshEtB_         = ecalIsoEndcapRadiusB_[4];

    photonHcalTowerConeInnerRadiusB_       = hcalIsoEndcapRadiusB_[0];
    photonHcalTowerConeOuterRadiusB_       = hcalIsoEndcapRadiusB_[1];
    photonHcalTowerThreshEB_               = hcalIsoEndcapRadiusB_[2];
    photonHcalDepth1TowerConeInnerRadiusB_ = hcalIsoEndcapRadiusB_[3];
    photonHcalDepth1TowerConeOuterRadiusB_ = hcalIsoEndcapRadiusB_[4];
    photonHcalDepth1TowerThreshEB_         = hcalIsoEndcapRadiusB_[5];
    photonHcalDepth2TowerConeInnerRadiusB_ = hcalIsoEndcapRadiusB_[6];
    photonHcalDepth2TowerConeOuterRadiusB_ = hcalIsoEndcapRadiusB_[7];
    photonHcalDepth2TowerThreshEB_         = hcalIsoEndcapRadiusB_[8];

  }

 
  //Calculate hollow cone track isolation, CONE A
  int ntrkA=0;
  double trkisoA=0;
  calculateTrackIso(pho, e, trkisoA, ntrkA, isolationtrackThresholdA_,    
                    trackConeOuterRadiusA_, trackConeInnerRadiusA_, isolationtrackEtaSliceA_, trackLipRadiusA_, trackD0RadiusA_);

  //Calculate solid cone track isolation, CONE A
  int sntrkA=0;
  double strkisoA=0;
  calculateTrackIso(pho, e, strkisoA, sntrkA, isolationtrackThresholdA_,    
                    trackConeOuterRadiusA_, 0., isolationtrackEtaSliceA_, trackLipRadiusA_, trackD0RadiusA_ );

  phoisolR1.nTrkHollowCone = ntrkA;
  phoisolR1.trkSumPtHollowCone = trkisoA;
  phoisolR1.nTrkSolidCone = sntrkA;
  phoisolR1.trkSumPtSolidCone = strkisoA;

  //Calculate hollow cone track isolation, CONE B
  int ntrkB=0;
  double trkisoB=0;
  calculateTrackIso(pho, e, trkisoB, ntrkB, isolationtrackThresholdB_,    
                    trackConeOuterRadiusB_, trackConeInnerRadiusB_,  isolationtrackEtaSliceB_, trackLipRadiusB_, trackD0RadiusB_ );

  //Calculate solid cone track isolation, CONE B
  int sntrkB=0;
  double strkisoB=0;
  calculateTrackIso(pho, e, strkisoB, sntrkB, isolationtrackThresholdB_,    
                    trackConeOuterRadiusB_, 0., isolationtrackEtaSliceB_, trackLipRadiusB_, trackD0RadiusB_);

  phoisolR2.nTrkHollowCone = ntrkB;
  phoisolR2.trkSumPtHollowCone = trkisoB;
  phoisolR2.nTrkSolidCone = sntrkB;
  phoisolR2.trkSumPtSolidCone = strkisoB;

//   std::cout << "Output from solid cone track isolation: ";
//   std::cout << " Sum pT: " << strkiso << " ntrk: " << sntrk << std::endl;
  
  double EcalRecHitIsoA = calculateEcalRecHitIso(pho, e, es,
                                                 photonEcalRecHitConeOuterRadiusA_,
                                                 photonEcalRecHitConeInnerRadiusA_,
                                                 photonEcalRecHitEtaSliceA_,
                                                 photonEcalRecHitThreshEA_,
                                                 photonEcalRecHitThreshEtA_,
                                                 vetoClusteredEcalHits_,
                                                 useNumCrystals_);
  phoisolR1.ecalRecHitSumEt = EcalRecHitIsoA;

  double EcalRecHitIsoB = calculateEcalRecHitIso(pho, e, es,
                                                 photonEcalRecHitConeOuterRadiusB_,
                                                 photonEcalRecHitConeInnerRadiusB_,
                                                 photonEcalRecHitEtaSliceB_,
                                                 photonEcalRecHitThreshEB_,
                                                 photonEcalRecHitThreshEtB_,
                                                 vetoClusteredEcalHits_,
                                                 useNumCrystals_);
  phoisolR2.ecalRecHitSumEt = EcalRecHitIsoB;

  double HcalTowerIsoA = calculateHcalTowerIso(pho, e, es, photonHcalTowerConeOuterRadiusA_,
                                              photonHcalTowerConeInnerRadiusA_,
                                              photonHcalTowerThreshEA_, -1 );
  phoisolR1.hcalTowerSumEt = HcalTowerIsoA;


  double HcalTowerIsoB = calculateHcalTowerIso(pho, e, es, photonHcalTowerConeOuterRadiusB_,
                                              photonHcalTowerConeInnerRadiusB_,
                                              photonHcalTowerThreshEB_, -1 );
  phoisolR2.hcalTowerSumEt = HcalTowerIsoB;


  double HcalDepth1TowerIsoA = calculateHcalTowerIso(pho, e, es, photonHcalDepth1TowerConeOuterRadiusA_,
                                              photonHcalDepth1TowerConeInnerRadiusA_,
                                              photonHcalDepth1TowerThreshEA_, 1 );
  phoisolR1.hcalDepth1TowerSumEt = HcalDepth1TowerIsoA;


  double HcalDepth1TowerIsoB = calculateHcalTowerIso(pho, e, es, photonHcalDepth1TowerConeOuterRadiusB_,
                                              photonHcalDepth1TowerConeInnerRadiusB_,
                                              photonHcalDepth1TowerThreshEB_, 1 );
  phoisolR2.hcalDepth1TowerSumEt = HcalDepth1TowerIsoB;




  double HcalDepth2TowerIsoA = calculateHcalTowerIso(pho, e, es, photonHcalDepth2TowerConeOuterRadiusA_,
                                              photonHcalDepth2TowerConeInnerRadiusA_,
                                              photonHcalDepth2TowerThreshEA_, 2 );
  phoisolR1.hcalDepth2TowerSumEt = HcalDepth2TowerIsoA;


  double HcalDepth2TowerIsoB = calculateHcalTowerIso(pho, e, es, photonHcalDepth2TowerConeOuterRadiusB_,
                                              photonHcalDepth2TowerConeInnerRadiusB_,
                                              photonHcalDepth2TowerThreshEB_, 2 );
  phoisolR2.hcalDepth2TowerSumEt = HcalDepth2TowerIsoB;






}
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::ESHandle< T >::product(), edm::Handle< T >::product(), EgammaRecHitIsolation::setUseNumCrystals(), EgammaRecHitIsolation::setVetoClustered(), severityLevelCut_, and v_chstatus_.

Referenced by calculate().

{
  
  edm::Handle<EcalRecHitCollection> ecalhitsCollEB;
  edm::Handle<EcalRecHitCollection> ecalhitsCollEE;

  iEvent.getByLabel(endcapecalCollection_, ecalhitsCollEE);
  
  iEvent.getByLabel(barrelecalCollection_, ecalhitsCollEB);
 
  const EcalRecHitCollection* rechitsCollectionEE_ = ecalhitsCollEE.product();
  const EcalRecHitCollection* rechitsCollectionEB_ = ecalhitsCollEB.product();

  //Get the channel status from the db
  edm::ESHandle<EcalChannelStatus> chStatus;
  iSetup.get<EcalChannelStatusRcd>().get(chStatus);

  edm::ESHandle<EcalSeverityLevelAlgo> sevlv;
  iSetup.get<EcalSeverityLevelAlgoRcd>().get(sevlv);
  const EcalSeverityLevelAlgo* sevLevel = sevlv.product();

  std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEE(0); 
  RecHitsEE = std::auto_ptr<CaloRecHitMetaCollectionV>(new EcalRecHitMetaCollection(*rechitsCollectionEE_));
 
  std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEB(0); 
  RecHitsEB = std::auto_ptr<CaloRecHitMetaCollectionV>(new EcalRecHitMetaCollection(*rechitsCollectionEB_));

  edm::ESHandle<CaloGeometry> geoHandle;
  iSetup.get<CaloGeometryRecord>().get(geoHandle);

  EgammaRecHitIsolation phoIsoEB(RCone,
                                 RConeInner,
                                 etaSlice,
                                 etMin,
                                 eMin,
                                 geoHandle,
                                 &(*RecHitsEB),
                                 sevLevel,
                                 DetId::Ecal);

  phoIsoEB.setVetoClustered(vetoClusteredHits);
  phoIsoEB.setUseNumCrystals(useNumXtals);
  phoIsoEB.doSpikeRemoval(ecalhitsCollEB.product(),chStatus.product(),severityLevelCut_);//,severityRecHitThreshold_,spId_,spikeIdThreshold_);
  phoIsoEB.doFlagChecks(v_chstatus_);
  double ecalIsolEB = phoIsoEB.getEtSum(photon);
  
  EgammaRecHitIsolation phoIsoEE(RCone,
                                 RConeInner,
                                 etaSlice,
                                 etMin,
                                 eMin,
                                 geoHandle,
                                 &(*RecHitsEE),
                                 sevLevel,
                                 DetId::Ecal);
  
  phoIsoEE.setVetoClustered(vetoClusteredHits);
  phoIsoEE.setUseNumCrystals(useNumXtals);
  phoIsoEE.doFlagChecks(v_chstatus_);

  double ecalIsolEE = phoIsoEE.getEtSum(photon);
  //  delete phoIso;
  double ecalIsol = ecalIsolEB + ecalIsolEE;
  
  return ecalIsol;
  

}
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().

{

  edm::Handle<CaloTowerCollection> hcalhitsCollH;
 
  iEvent.getByLabel(hcalCollection_, hcalhitsCollH);
  
  const CaloTowerCollection *toww = hcalhitsCollH.product();

  double ecalIsol=0.;
  
  //std::cout << "before iso call" << std::endl;
  EgammaTowerIsolation phoIso(RCone,
                              RConeInner,
                              eMin,depth,
                              toww);
  ecalIsol = phoIso.getTowerEtSum(photon);
  //  delete phoIso;
  //std::cout << "after call" << std::endl;
  return ecalIsol;
  

}
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().

                                                            {
  int counter  =0;
  double ptSum =0.;
  
  
  //get the tracks
  edm::Handle<reco::TrackCollection> tracks;
  e.getByLabel(trackInputTag_,tracks);
  if(!tracks.isValid()) {
    return;
  }
  const reco::TrackCollection* trackCollection = tracks.product();
  //Photon Eta and Phi.  Hope these are correct.
  reco::BeamSpot vertexBeamSpot;
  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
  e.getByLabel(beamSpotProducerTag_,recoBeamSpotHandle);
  vertexBeamSpot = *recoBeamSpotHandle;
  
  PhotonTkIsolation phoIso(RCone, 
                           RinnerCone, 
                           etaSlice,  
                           pTThresh, 
                           lip , 
                           d0, 
                           trackCollection, 
                           math::XYZPoint(vertexBeamSpot.x0(),vertexBeamSpot.y0(),vertexBeamSpot.z0()));

  counter = phoIso.getNumberTracks(photon);
  ptSum = phoIso.getPtTracks(photon);
  ntrkCone = counter;
  trkCone = ptSum;
}
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().

                                                         {


  const reco::CaloCluster & seedCluster = *(photon->superCluster()->seed()) ;
  // following line is temporary until the D. Evans or F. Ferri submit the new tag for ClusterAlgos 
  // DEfinitive will be 
  // DetId seedXtalId = scRef->seed()->seed();
  DetId seedXtalId = seedCluster.hitsAndFractions()[0].first ;
  int detector = seedXtalId.subdetId() ;

  //Set fiducial flags for this photon.
  double eta = photon->superCluster()->position().eta();
  double feta = fabs(eta);

  if (detector==EcalBarrel) {


    isEBPho = true;
    if (EBDetId::isNextToEtaBoundary(EBDetId(seedXtalId))) {
      if (fabs(feta-1.479)<.1) isEBEEGap = true ; 
      else
        isEBEtaGap = true ; 
    }

    if (EBDetId::isNextToPhiBoundary(EBDetId(seedXtalId)))
      isEBPhiGap = true ; 



  } else if (detector==EcalEndcap) {

    isEEPho = true;
    if (EEDetId::isNextToRingBoundary(EEDetId(seedXtalId))) {
      if (fabs(feta-1.479)<.1) isEBEEGap = true ; 
      else
        isEERingGap = true ; 
    }

    if (EEDetId::isNextToDBoundary(EEDetId(seedXtalId)))
      isEEDeeGap = true ; 
  }


}
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().

                                                                 {


  trackInputTag_ = conf.getParameter<edm::InputTag>("trackProducer");
  beamSpotProducerTag_ = conf.getParameter<edm::InputTag>("beamSpotProducer");
  barrelecalCollection_ = conf.getParameter<edm::InputTag>("barrelEcalRecHitCollection");
  endcapecalCollection_ = conf.getParameter<edm::InputTag>("endcapEcalRecHitCollection");
  hcalCollection_ = conf.getParameter<edm::InputTag>("HcalRecHitCollection");

  //  gsfRecoInputTag_ = conf.getParameter<edm::InputTag>("GsfRecoCollection");
  modulePhiBoundary_ = conf.getParameter<double>("modulePhiBoundary");
  moduleEtaBoundary_ = conf.getParameter<std::vector<double> >("moduleEtaBoundary");
  //
  vetoClusteredEcalHits_ = conf.getParameter<bool>("vetoClustered");
  useNumCrystals_ = conf.getParameter<bool>("useNumCrystals");
  trkIsoBarrelRadiusA_.push_back(  conf.getParameter<double>("TrackConeOuterRadiusA_Barrel") );
  trkIsoBarrelRadiusA_.push_back(  conf.getParameter<double>("TrackConeInnerRadiusA_Barrel") ) ;
  trkIsoBarrelRadiusA_.push_back(  conf.getParameter<double>("isolationtrackThresholdA_Barrel") );
  trkIsoBarrelRadiusA_.push_back(  conf.getParameter<double>("longImpactParameterA_Barrel") );
  trkIsoBarrelRadiusA_.push_back(  conf.getParameter<double>("transImpactParameterA_Barrel") );
  trkIsoBarrelRadiusA_.push_back(  conf.getParameter<double>("isolationtrackEtaSliceA_Barrel") );

  ecalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("EcalRecHitInnerRadiusA_Barrel") );
  ecalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("EcalRecHitOuterRadiusA_Barrel") );
  ecalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("EcalRecHitEtaSliceA_Barrel") );
  ecalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("EcalRecHitThreshEA_Barrel") );
  ecalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("EcalRecHitThreshEtA_Barrel") );

  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalTowerInnerRadiusA_Barrel") );
  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalTowerOuterRadiusA_Barrel") );
  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalTowerThreshEA_Barrel") );
  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerInnerRadiusA_Barrel") );
  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerOuterRadiusA_Barrel") );
  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerThreshEA_Barrel") );
  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerInnerRadiusA_Barrel") );
  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerOuterRadiusA_Barrel") );
  hcalIsoBarrelRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerThreshEA_Barrel") );


  trkIsoBarrelRadiusB_.push_back(  conf.getParameter<double>("TrackConeOuterRadiusB_Barrel") );
  trkIsoBarrelRadiusB_.push_back(  conf.getParameter<double>("TrackConeInnerRadiusB_Barrel") ) ;
  trkIsoBarrelRadiusB_.push_back(  conf.getParameter<double>("isolationtrackThresholdB_Barrel") );
  trkIsoBarrelRadiusB_.push_back(  conf.getParameter<double>("longImpactParameterB_Barrel") );
  trkIsoBarrelRadiusB_.push_back(  conf.getParameter<double>("transImpactParameterB_Barrel") );
  trkIsoBarrelRadiusB_.push_back(  conf.getParameter<double>("isolationtrackEtaSliceB_Barrel") );

  ecalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("EcalRecHitInnerRadiusB_Barrel") );
  ecalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("EcalRecHitOuterRadiusB_Barrel") );
  ecalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("EcalRecHitEtaSliceB_Barrel") );
  ecalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("EcalRecHitThreshEB_Barrel") );
  ecalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("EcalRecHitThreshEtB_Barrel") );

  hcalIsoBarrelRadiusB_.push_back(  conf.getParameter<double>("HcalTowerInnerRadiusB_Barrel") );
  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalTowerOuterRadiusB_Barrel") );
  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalTowerThreshEB_Barrel") );
  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerInnerRadiusB_Barrel") );
  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerOuterRadiusB_Barrel") );
  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerThreshEB_Barrel") );
  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerInnerRadiusB_Barrel") );
  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerOuterRadiusB_Barrel") );
  hcalIsoBarrelRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerThreshEB_Barrel") );

  trkIsoEndcapRadiusA_.push_back(  conf.getParameter<double>("TrackConeOuterRadiusA_Endcap") );
  trkIsoEndcapRadiusA_.push_back(  conf.getParameter<double>("TrackConeInnerRadiusA_Endcap") ) ;
  trkIsoEndcapRadiusA_.push_back(  conf.getParameter<double>("isolationtrackThresholdA_Endcap") );
  trkIsoEndcapRadiusA_.push_back(  conf.getParameter<double>("longImpactParameterA_Endcap") );
  trkIsoEndcapRadiusA_.push_back(  conf.getParameter<double>("transImpactParameterA_Endcap") );
  trkIsoEndcapRadiusA_.push_back(  conf.getParameter<double>("isolationtrackEtaSliceA_Endcap") );


  ecalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("EcalRecHitInnerRadiusA_Endcap") );
  ecalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("EcalRecHitOuterRadiusA_Endcap") );
  ecalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("EcalRecHitEtaSliceA_Endcap") );
  ecalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("EcalRecHitThreshEA_Endcap") );
  ecalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("EcalRecHitThreshEtA_Endcap") );


  hcalIsoEndcapRadiusA_.push_back(  conf.getParameter<double>("HcalTowerInnerRadiusA_Endcap") );
  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalTowerOuterRadiusA_Endcap") );
  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalTowerThreshEA_Endcap") );
  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerInnerRadiusA_Endcap") );
  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerOuterRadiusA_Endcap") );
  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth1TowerThreshEA_Endcap") );
  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerInnerRadiusA_Endcap") );
  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerOuterRadiusA_Endcap") );
  hcalIsoEndcapRadiusA_.push_back( conf.getParameter<double>("HcalDepth2TowerThreshEA_Endcap") );


  trkIsoEndcapRadiusB_.push_back(  conf.getParameter<double>("TrackConeOuterRadiusB_Endcap") );
  trkIsoEndcapRadiusB_.push_back(  conf.getParameter<double>("TrackConeInnerRadiusB_Endcap") ) ;
  trkIsoEndcapRadiusB_.push_back(  conf.getParameter<double>("isolationtrackThresholdB_Endcap") );
  trkIsoEndcapRadiusB_.push_back(  conf.getParameter<double>("longImpactParameterB_Endcap") );
  trkIsoEndcapRadiusB_.push_back(  conf.getParameter<double>("transImpactParameterB_Endcap") );
  trkIsoEndcapRadiusB_.push_back(  conf.getParameter<double>("isolationtrackEtaSliceB_Endcap") );

  ecalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("EcalRecHitInnerRadiusB_Endcap") );
  ecalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("EcalRecHitOuterRadiusB_Endcap") );
  ecalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("EcalRecHitEtaSliceB_Endcap") );
  ecalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("EcalRecHitThreshEB_Endcap") );
  ecalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("EcalRecHitThreshEtB_Endcap") );

  hcalIsoEndcapRadiusB_.push_back(  conf.getParameter<double>("HcalTowerInnerRadiusB_Endcap") );
  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalTowerOuterRadiusB_Endcap") );
  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalTowerThreshEB_Endcap") );
  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerInnerRadiusB_Endcap") );
  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerOuterRadiusB_Endcap") );
  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth1TowerThreshEB_Endcap") );
  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerInnerRadiusB_Endcap") );
  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerOuterRadiusB_Endcap") );
  hcalIsoEndcapRadiusB_.push_back( conf.getParameter<double>("HcalDepth2TowerThreshEB_Endcap") );

  //Pick up the variables for the spike removal
  severityLevelCut_        = conf.getParameter<int>("severityLevelCut");
  //severityRecHitThreshold_ = conf.getParameter<double>("severityRecHitThreshold");
  //spikeIdThreshold_        = conf.getParameter<double>("spikeIdThreshold");

  const std::vector<int> &tempV(conf.getParameter<std::vector<int> >("recHitFlagsToBeExcluded"));
  v_chstatus_.clear();
  v_chstatus_.insert(v_chstatus_.begin(),tempV.begin(),tempV.end());
  std::sort( v_chstatus_.begin(), v_chstatus_.end() );


  //Need to figure out which algo to use
  //if(!conf.getParameter<std::string>("spikeIdString").compare("kE1OverE9") )   {
  //  spId_ = EcalSeverityLevelAlgo::kE1OverE9;
  //} else if(!conf.getParameter<std::string>("spikeIdString").compare("kSwissCross") ) {
  //  spId_ = EcalSeverityLevelAlgo::kSwissCross;
  //} else if(!conf.getParameter<std::string>("spikeIdString").compare("kSwissCrossBordersIncluded") ) {
  //  spId_ = EcalSeverityLevelAlgo::kSwissCrossBordersIncluded;
  //} else {
  //  spId_ = EcalSeverityLevelAlgo::kSwissCrossBordersIncluded;
  //   edm::LogWarning("PhotonIsolationCalculator|SpikeRemovalForIsolation")
  //     << "Cannot find the requested method. kSwissCross set instead.";
  //}
}

Member Data Documentation

Definition at line 74 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

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().

Definition at line 75 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

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().

Definition at line 117 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 146 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 116 of file PhotonIsolationCalculator.h.

Referenced by calculate().

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().

Definition at line 80 of file PhotonIsolationCalculator.h.

Referenced by setup().

Definition at line 100 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 129 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 101 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 130 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 102 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 131 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 103 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 132 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 104 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 133 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 108 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 137 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 109 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 138 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 110 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 139 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 111 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 140 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 112 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 141 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 113 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 142 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 105 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 134 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 106 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 135 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 107 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 136 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 121 of file PhotonIsolationCalculator.h.

Referenced by calculateEcalRecHitIso(), and setup().

Definition at line 115 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 144 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 114 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 143 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 119 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 148 of file PhotonIsolationCalculator.h.

Referenced by calculate().

Definition at line 78 of file PhotonIsolationCalculator.h.

Referenced by calculateTrackIso(), and setup().

Definition at line 118 of file PhotonIsolationCalculator.h.

Referenced by calculate().

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().

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().

Definition at line 82 of file PhotonIsolationCalculator.h.

Referenced by calculate(), and setup().