167 const std::vector<int> &tempV(conf.
getParameter<std::vector<int> >(
"recHitFlagsToBeExcluded"));
174 if(!conf.
getParameter<std::string>(
"spikeIdString").compare(
"kE1OverE9") ) {
176 }
else if(!conf.
getParameter<std::string>(
"spikeIdString").compare(
"kSwissCross") ) {
178 }
else if(!conf.
getParameter<std::string>(
"spikeIdString").compare(
"kSwissCrossBordersIncluded") ) {
183 <<
"Cannot find the requested method. kSwissCross set instead.";
197 bool isEBPho =
false;
198 bool isEEPho =
false;
199 bool isEBEtaGap =
false;
200 bool isEBPhiGap =
false;
201 bool isEERingGap =
false;
202 bool isEEDeeGap =
false;
203 bool isEBEEGap =
false;
204 classify(pho, isEBPho, isEEPho, isEBEtaGap, isEBPhiGap, isEERingGap, isEEDeeGap, isEBEEGap);
205 phofid.
isEB = isEBPho;
206 phofid.
isEE = isEEPho;
218 DetId seedXtalId = seedCluster.hitsAndFractions()[0].first ;
450 double feta = fabs(eta);
457 if (fabs(feta-1.479)<.1) isEBEEGap =
true ;
471 if (fabs(feta-1.479)<.1) isEBEEGap =
true ;
508 vertexBeamSpot = *recoBeamSpotHandle;
535 bool vetoClusteredHits,
553 std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEE(0);
556 std::auto_ptr<CaloRecHitMetaCollectionV> RecHitsEB(0);
575 double ecalIsolEB = phoIsoEB.
getEtSum(photon);
589 double ecalIsolEE = phoIsoEE.
getEtSum(photon);
591 double ecalIsol = ecalIsolEB + ecalIsolEE;
T getParameter(std::string const &) const
double z0() const
z coordinate
float hcalDepth1TowerSumEt
std::string hcalProducer_
double photonHcalTowerConeInnerRadiusB_
static bool isNextToEtaBoundary(EBDetId id)
std::vector< double > ecalIsoBarrelRadiusA_
std::vector< int > v_chstatus_
double modulePhiBoundary_
double photonHcalDepth1TowerConeOuterRadiusA_
double photonHcalDepth1TowerConeOuterRadiusB_
double photonEcalRecHitThreshEB_
reco::SuperClusterRef superCluster() const
Retrieve photonCore attributes.
double photonHcalDepth2TowerConeInnerRadiusB_
double trackConeInnerRadiusB_
double photonEcalRecHitConeInnerRadiusA_
std::vector< double > hcalIsoBarrelRadiusB_
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::string hcalCollection_
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)
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
double trackConeOuterRadiusB_
double photonHcalDepth2TowerConeOuterRadiusB_
float hcalDepth2TowerSumEt
std::string endcapecalCollection_
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_
std::vector< double > hcalIsoEndcapRadiusA_
void setUseNumCrystals(bool b=true)
std::vector< double > trkIsoBarrelRadiusB_
std::string endcapecalProducer_
double photonEcalRecHitThreshEtB_
std::vector< double > hcalIsoBarrelRadiusA_
void setup(const edm::ParameterSet &conf)
static bool isNextToPhiBoundary(EBDetId id)
double isolationtrackEtaSliceA_
edm::InputTag trackInputTag_
float severityRecHitThreshold_
EcalSeverityLevelAlgo::SpikeId spId_
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_
double photonHcalDepth2TowerThreshEB_
double photonHcalDepth1TowerConeInnerRadiusB_
double photonHcalDepth2TowerThreshEA_
std::string barrelecalProducer_
double photonHcalDepth1TowerThreshEA_
std::string barrelecalCollection_
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
std::vector< double > moduleEtaBoundary_
void setVetoClustered(bool b=true)
std::vector< double > hcalIsoEndcapRadiusB_
double y0() const
y coordinate
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_
double getTowerEtSum(const reco::Candidate *) const
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_
void doSpikeRemoval(const EcalRecHitCollection *const recHits, const EcalChannelStatus *const chStatus, const int &severityLevelCut=3, const float &sevRecHitThresh=5.0, const EcalSeverityLevelAlgo::SpikeId &id=EcalSeverityLevelAlgo::kSwissCross, const float &spIdThresh=0.95)
int getNumberTracks(const reco::Candidate *) const
double x0() const
x coordinate
bool vetoClusteredEcalHits_