107 auto out = std::make_unique<std::vector<pat::Photon>>();
108 out->reserve(
src->size());
116 std::vector<unsigned int>
keys;
126 photon.superCluster_.clear();
127 photon.embeddedSuperCluster_ =
false;
130 photon.basicClusters_.clear();
133 photon.preshowerClusters_.clear();
136 photon.seedCluster_.clear();
137 photon.embeddedSeedCluster_ =
false;
141 photon.embeddedRecHits_ =
false;
160 photon.setMaxDRRawEnergy(0);
161 photon.setSubClusRawE1(0);
162 photon.setSubClusRawE2(0);
163 photon.setSubClusRawE3(0);
164 photon.setSubClusDPhi1(0);
165 photon.setSubClusDPhi2(0);
166 photon.setSubClusDPhi3(0);
167 photon.setSubClusDEta1(0);
168 photon.setSubClusDEta2(0);
169 photon.setSubClusDEta3(0);
179 for (
auto const&
pf : (*reco2pf)[
photon.refToOrig_]) {
180 if (pf2pc->contains(
pf.id())) {
184 photon.setAssociatedPackedPFCandidates(
188 if (
keys.size() == 1) {
195 const auto& vCov = lazyToolsNoZS.localCovariances(*(
photon.superCluster()->seed()));
196 float r9 = lazyToolsNoZS.e3x3(*(
photon.superCluster()->seed())) /
photon.superCluster()->rawEnergy();
198 float sigmaIetaIphi = vCov[1];
201 lazyToolsNoZS.e1x5(*(
photon.superCluster()->seed())) / lazyToolsNoZS.e5x5(*(
photon.superCluster()->seed()));
203 photon.addUserFloat(
"sigmaIetaIphi_NoZS", sigmaIetaIphi);
204 photon.addUserFloat(
"sigmaIphiIphi_NoZS", sigmaIphiIphi);
206 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_
key
prepare the HTCondor submission files and eventually submit them
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_