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;
196 DetId seedXtalId = seedCluster.hitsAndFractions()[0].first ;
197 int detector = seedXtalId.
subdetId() ;
454 int detector = seedXtalId.
subdetId() ;
458 double feta = fabs(eta);
465 if (fabs(feta-1.479)<.1) isEBEEGap =
true ;
479 if (fabs(feta-1.479)<.1) isEBEEGap =
true ;
516 vertexBeamSpot = *recoBeamSpotHandle;
543 bool vetoClusteredHits,
560 std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEE(0);
563 std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEB(0);
583 double ecalIsolEB = phoIsoEB.
getEtSum(photon);
600 double ecalIsolEE = phoIsoEE.
getEtSum(photon);
602 double ecalIsol = ecalIsolEB + ecalIsolEE;
T getParameter(std::string const &) const
double z0() const
z coordinate
float hcalDepth1TowerSumEtBc
float hcalDepth1TowerSumEt
std::vector< int > flagsEE_
double photonHcalTowerConeInnerRadiusB_
static bool isNextToEtaBoundary(EBDetId id)
std::vector< double > ecalIsoBarrelRadiusA_
double modulePhiBoundary_
double photonHcalDepth1TowerConeOuterRadiusA_
double photonHcalDepth1TowerConeOuterRadiusB_
double photonEcalRecHitThreshEB_
double photonHcalDepth2TowerConeInnerRadiusB_
double trackConeInnerRadiusB_
double photonEcalRecHitConeInnerRadiusA_
std::vector< double > hcalIsoBarrelRadiusB_
void doSeverityChecks(const EcalRecHitCollection *const recHits, const std::vector< int > v)
double getEtSum(const reco::Candidate *emObject) const
double photonHcalTowerConeInnerRadiusA_
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 trackConeOuterRadiusA_
double photonEcalRecHitConeOuterRadiusB_
double photonHcalTowerThreshEB_
double photonHcalTowerConeOuterRadiusB_
std::vector< double > ecalIsoEndcapRadiusB_
double photonEcalRecHitEtaSliceB_
std::vector< double > trkIsoEndcapRadiusB_
std::vector< Track > TrackCollection
collection of Tracks
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.
edm::InputTag barrelecalCollection_
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
std::vector< int > severityExclEE_
double trackConeOuterRadiusB_
double photonHcalDepth2TowerConeOuterRadiusB_
float hcalDepth2TowerSumEt
void doFlagChecks(const std::vector< int > v)
double getTowerEtSum(const reco::Candidate *, const std::vector< CaloTowerDetId > *detIdToExclude=0) const
double photonHcalDepth1TowerThreshEB_
double calculateHcalTowerIso(const reco::Photon *photon, const edm::Event &iEvent, const edm::EventSetup &iSetup, double RCone, double RConeInner, double eMin, signed int depth)
double photonHcalDepth2TowerConeInnerRadiusA_
edm::InputTag endcapecalCollection_
std::vector< double > hcalIsoEndcapRadiusA_
void setUseNumCrystals(bool b=true)
std::vector< double > trkIsoBarrelRadiusB_
std::vector< int > flagsEB_
edm::InputTag hcalCollection_
std::vector< int > severityExclEB_
double photonEcalRecHitThreshEtB_
std::vector< double > hcalIsoBarrelRadiusA_
static bool isNextToPhiBoundary(EBDetId id)
double isolationtrackEtaSliceA_
edm::InputTag trackInputTag_
double photonHcalDepth1TowerConeInnerRadiusA_
static bool isNextToRingBoundary(EEDetId id)
double photonHcalTowerThreshEA_
double isolationtrackEtaSliceB_
static bool isNextToDBoundary(EEDetId id)
double isolationtrackThresholdB_
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
double isolationtrackThresholdA_
double getPtTracks(const reco::Candidate *) const
double photonEcalRecHitEtaSliceA_
float hcalDepth2TowerSumEtBc
double photonHcalDepth2TowerThreshEB_
double photonHcalDepth1TowerConeInnerRadiusB_
double photonHcalDepth2TowerThreshEA_
bool etMin(const PFCandidate &cand, double cut)
double photonHcalDepth1TowerThreshEA_
edm::InputTag beamSpotProducerTag_
XYZPointD XYZPoint
point in space with cartesian internal representation
double photonHcalDepth2TowerConeOuterRadiusA_
double photonEcalRecHitConeOuterRadiusA_
std::vector< double > trkIsoEndcapRadiusA_
T const * product() const
double photonEcalRecHitConeInnerRadiusB_
T const * product() const
void setup(const edm::ParameterSet &conf, std::vector< int > flagsEB_, std::vector< int > flagsEE_, std::vector< int > severitiesEB_, std::vector< int > severitiesEE_)
std::vector< double > moduleEtaBoundary_
void setVetoClustered(bool b=true)
std::vector< double > hcalIsoEndcapRadiusB_
double y0() const
y coordinate
const std::vector< CaloTowerDetId > & hcalTowersBehindClusters() const
std::vector< double > ecalIsoEndcapRadiusA_
std::vector< double > ecalIsoBarrelRadiusB_
double photonEcalRecHitThreshEA_
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 trackConeInnerRadiusA_
void classify(const reco::Photon *photon, bool &isEBPho, bool &isEEPho, bool &isEBEtaGap, bool &isEBPhiGap, bool &isEERingGap, bool &isEEDeeGap, bool &isEBEEGap)
double photonHcalTowerConeOuterRadiusA_
double photonEcalRecHitThreshEtA_
std::vector< double > trkIsoBarrelRadiusA_
int getNumberTracks(const reco::Candidate *) const
double x0() const
x coordinate
bool vetoClusteredEcalHits_