111 auto out = std::make_unique<std::vector<pat::Photon>>();
112 out->reserve(
src->size());
120 std::vector<unsigned int>
keys;
130 photon.superCluster_.clear();
131 photon.embeddedSuperCluster_ =
false;
134 photon.basicClusters_.clear();
137 photon.preshowerClusters_.clear();
140 photon.seedCluster_.clear();
141 photon.embeddedSeedCluster_ =
false;
145 photon.embeddedRecHits_ =
false;
164 photon.setMaxDRRawEnergy(0);
165 photon.setSubClusRawE1(0);
166 photon.setSubClusRawE2(0);
167 photon.setSubClusRawE3(0);
168 photon.setSubClusDPhi1(0);
169 photon.setSubClusDPhi2(0);
170 photon.setSubClusDPhi3(0);
171 photon.setSubClusDEta1(0);
172 photon.setSubClusDEta2(0);
173 photon.setSubClusDEta3(0);
183 for (
auto const&
pf : (*reco2pf)[
photon.refToOrig_]) {
184 if (pf2pc->contains(
pf.id())) {
188 photon.setAssociatedPackedPFCandidates(
192 if (
keys.size() == 1) {
199 const auto& vCov = lazyToolsNoZS.localCovariances(*(
photon.superCluster()->seed()));
200 float r9 = lazyToolsNoZS.e3x3(*(
photon.superCluster()->seed())) /
photon.superCluster()->rawEnergy();
202 float sigmaIetaIphi = vCov[1];
205 lazyToolsNoZS.e1x5(*(
photon.superCluster()->seed())) / lazyToolsNoZS.e5x5(*(
photon.superCluster()->seed()));
207 photon.addUserFloat(
"sigmaIetaIphi_NoZS", sigmaIetaIphi);
208 photon.addUserFloat(
"sigmaIphiIphi_NoZS", sigmaIphiIphi);
210 photon.addUserFloat(
"e1x5_over_e5x5_NoZS", e15o55);
Analysis-level Photon class.
const edm::EDGetTokenT< EcalRecHitCollection > reducedBarrelRecHitCollectionToken_
constexpr bool isNotFinite(T x)
const bool linkToPackedPF_
const StringCutObjectSelector< pat::Photon > dropSuperClusters_
const StringCutObjectSelector< pat::Photon > saveNonZSClusterShapes_
const EcalClusterLazyTools::ESGetTokens ecalClusterToolsESGetTokens_
const edm::EDGetTokenT< edm::Association< pat::PackedCandidateCollection > > pf2pc_
const edm::EDGetTokenT< edm::ValueMap< std::vector< reco::PFCandidateRef > > > reco2pf_
const edm::EDGetTokenT< edm::View< pat::Photon > > src_
const StringCutObjectSelector< pat::Photon > dropRegressionData_
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
const StringCutObjectSelector< pat::Photon > dropSeedCluster_
const StringCutObjectSelector< pat::Photon > dropRecHits_
std::unique_ptr< pat::ObjectModifier< pat::Photon > > photonModifier_
const StringCutObjectSelector< pat::Photon > dropSaturation_
const edm::EDGetTokenT< EcalRecHitCollection > reducedEndcapRecHitCollectionToken_
const StringCutObjectSelector< pat::Photon > dropBasicClusters_
const StringCutObjectSelector< pat::Photon > dropPreshowerClusters_
edm::SortedCollection< EcalRecHit > EcalRecHitCollection
const edm::EDGetTokenT< pat::PackedCandidateCollection > pc_