111 for (
unsigned int iRecoEcalCand = 0; iRecoEcalCand < recoecalcandHandle->size(); iRecoEcalCand++) {
113 if (recoecalcandref->superCluster()->seed()->seed().det() !=
DetId::Ecal) {
114 clshMap.insert(recoecalcandref, 0);
115 clsh5x5Map.insert(recoecalcandref, 0);
116 clsh5x5NoiseCleanedMap.insert(recoecalcandref, 0);
118 clshMap2.insert(recoecalcandref, 0);
119 clsh5x5Map2.insert(recoecalcandref, 0);
120 clsh5x5NoiseCleanedMap2.insert(recoecalcandref, 0);
122 clshSMajorMap.insert(recoecalcandref, 0);
123 clshSMinorMap.insert(recoecalcandref, 0);
131 const auto& vCov = lazyTools.localCovariances(*(recoecalcandref->superCluster()->seed()));
132 sigmaee =
sqrt(vCov[0]);
133 sigmapp =
sqrt(vCov[2]);
136 auto const ecalCandLocalCov = lazyTools5x5.localCovariances(*(recoecalcandref->superCluster()->seed()));
137 auto const sigmaee5x5 =
sqrt(ecalCandLocalCov[0]);
138 auto const sigmapp5x5 =
sqrt(ecalCandLocalCov[2]);
140 auto const ecalCandLocalCovNoiseCleaned = lazyTools5x5.localCovariances(*(recoecalcandref->superCluster()->seed()),
145 auto const sigmaee5x5NoiseCleaned =
sqrt(ecalCandLocalCovNoiseCleaned[0]);
146 auto const sigmapp5x5NoiseCleaned =
sqrt(ecalCandLocalCovNoiseCleaned[2]);
148 clshMap.insert(recoecalcandref, sigmaee);
149 clsh5x5Map.insert(recoecalcandref, sigmaee5x5);
150 clsh5x5NoiseCleanedMap.insert(recoecalcandref, sigmaee5x5NoiseCleaned);
152 clshMap2.insert(recoecalcandref, sigmapp);
153 clsh5x5Map2.insert(recoecalcandref, sigmapp5x5);
154 clsh5x5NoiseCleanedMap2.insert(recoecalcandref, sigmapp5x5NoiseCleaned);
162 clshSMajorMap.insert(recoecalcandref,
sMaj);
163 clshSMinorMap.insert(recoecalcandref,
sMin);
166 iEvent.put(std::make_unique<reco::RecoEcalCandidateIsolationMap>(clshMap));
167 iEvent.put(std::make_unique<reco::RecoEcalCandidateIsolationMap>(clsh5x5Map),
"sigmaIEtaIEta5x5");
168 iEvent.put(std::make_unique<reco::RecoEcalCandidateIsolationMap>(clsh5x5NoiseCleanedMap),
169 "sigmaIEtaIEta5x5NoiseCleaned");
171 iEvent.put(std::make_unique<reco::RecoEcalCandidateIsolationMap>(clshMap2),
"sigmaIPhiIPhi");
172 iEvent.put(std::make_unique<reco::RecoEcalCandidateIsolationMap>(clsh5x5Map2),
"sigmaIPhiIPhi5x5");
173 iEvent.put(std::make_unique<reco::RecoEcalCandidateIsolationMap>(clsh5x5NoiseCleanedMap2),
174 "sigmaIPhiIPhi5x5NoiseCleaned");
176 iEvent.put(std::make_unique<reco::RecoEcalCandidateIsolationMap>(clshSMajorMap),
"sMajor");
177 iEvent.put(std::make_unique<reco::RecoEcalCandidateIsolationMap>(clshSMinorMap),
"sMinor");
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
static constexpr float kRelEnCut
T const * product() const
const double multThresEE_
const edm::ESGetToken< EcalPFRecHitThresholds, EcalPFRecHitThresholdsRcd > ecalPFRechitThresholdsToken_
const EcalClusterLazyTools::ESGetTokens ecalClusterLazyToolsESGetTokens_
Abs< T >::type abs(const T &t)
const double multThresEB_
const edm::EDGetTokenT< EcalRecHitCollection > ecalRechitEEToken_
const edm::EDGetTokenT< EcalRecHitCollection > ecalRechitEBToken_
const edm::EDGetTokenT< reco::RecoEcalCandidateCollection > recoEcalCandidateProducer_