CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
PhotonIDValueMapProducer Class Reference
Inheritance diagram for PhotonIDValueMapProducer:
edm::global::EDProducer<> edm::global::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 PhotonIDValueMapProducer (const edm::ParameterSet &)
 
 ~PhotonIDValueMapProducer () override
 
- Public Member Functions inherited from edm::global::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const final
 
- Public Member Functions inherited from edm::global::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::global::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

float computeWorstPFChargedIsolation (const reco::Photon &photon, const edm::View< reco::Candidate > &pfCands, const reco::VertexCollection &vertices, const reco::Vertex &pv, unsigned char options, bool isAOD) const
 
void produce (edm::StreamID, edm::Event &, const edm::EventSetup &) const override
 

Private Attributes

const edm::EDGetTokenT< EcalRecHitCollectionebRecHits_
 
const edm::EDGetTokenT< EcalRecHitCollectioneeRecHits_
 
const edm::EDGetTokenT< EcalRecHitCollectionesRecHits_
 
const bool isAOD_
 
const edm::EDGetToken particleBasedIsolationToken_
 
const edm::EDGetTokenT< edm::View< reco::Candidate > > pfCandsToken_
 
const edm::EDGetTokenT< edm::View< reco::Photon > > src_
 
const bool usesES_
 
const edm::EDGetTokenT< reco::VertexCollectionvtxToken_
 

Additional Inherited Members

- Public Types inherited from edm::global::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 82 of file PhotonIDValueMapProducer.cc.

Constructor & Destructor Documentation

◆ PhotonIDValueMapProducer()

PhotonIDValueMapProducer::PhotonIDValueMapProducer ( const edm::ParameterSet cfg)
explicit

Definition at line 159 of file PhotonIDValueMapProducer.cc.

160  : usesES_(!cfg.getParameter<edm::InputTag>("esReducedRecHitCollection").label().empty()),
161  src_(consumes<edm::View<reco::Photon>>(cfg.getParameter<edm::InputTag>("src"))),
162  ebRecHits_(consumes<EcalRecHitCollection>(cfg.getParameter<edm::InputTag>("ebReducedRecHitCollection"))),
163  eeRecHits_(consumes<EcalRecHitCollection>(cfg.getParameter<edm::InputTag>("eeReducedRecHitCollection"))),
164  esRecHits_(consumes<EcalRecHitCollection>(cfg.getParameter<edm::InputTag>("esReducedRecHitCollection"))),
165  vtxToken_(consumes<reco::VertexCollection>(cfg.getParameter<edm::InputTag>("vertices"))),
166  pfCandsToken_(consumes<edm::View<reco::Candidate>>(cfg.getParameter<edm::InputTag>("pfCandidates"))),
167  particleBasedIsolationToken_(mayConsume<edm::ValueMap<std::vector<reco::PFCandidateRef>>>(
168  cfg.getParameter<edm::InputTag>("particleBasedIsolation")) /* ...only for AOD... */),
169  isAOD_(cfg.getParameter<bool>("isAOD")) {
170  // Declare producibles
171  for (int i = 0; i < nVars_; ++i)
173 }

References mps_fire::i, names, nVars_, and edm::ProductRegistryHelper::produces().

◆ ~PhotonIDValueMapProducer()

PhotonIDValueMapProducer::~PhotonIDValueMapProducer ( )
inlineoverride

Definition at line 85 of file PhotonIDValueMapProducer.cc.

85 {}

Member Function Documentation

◆ computeWorstPFChargedIsolation()

float PhotonIDValueMapProducer::computeWorstPFChargedIsolation ( const reco::Photon photon,
const edm::View< reco::Candidate > &  pfCands,
const reco::VertexCollection vertices,
const reco::Vertex pv,
unsigned char  options,
bool  isAOD 
) const
private

Definition at line 355 of file PhotonIDValueMapProducer.cc.

360  {
361  float worstIsolation = 0.0;
362 
363  const float dRveto2 = photon.isEB() ? dRveto2Barrel : dRveto2Endcap;
364 
365  std::vector<CachingPtrCandidate> chargedCands;
366  chargedCands.reserve(pfCands.size());
367  for (auto const& aCand : pfCands) {
368  // require that PFCandidate is a charged hadron
369  reco::PFCandidate::ParticleType thisCandidateType = getCandidatePdgId(&aCand, isAOD);
370  if (thisCandidateType != reco::PFCandidate::h)
371  continue;
372 
373  if ((options & PT_MIN_THRESH) && aCand.pt() < ptMin)
374  continue;
375 
376  chargedCands.emplace_back(&aCand, isAOD);
377  }
378 
379  // Calculate isolation sum separately for each vertex
380  for (unsigned int ivtx = 0; ivtx < vertices.size(); ++ivtx) {
381  // Shift the photon according to the vertex
382  const reco::VertexRef vtx(&vertices, ivtx);
383  math::XYZVector phoWrtVtx(photon.superCluster()->x() - vtx->x(),
384  photon.superCluster()->y() - vtx->y(),
385  photon.superCluster()->z() - vtx->z());
386 
387  const float phoWrtVtxPhi = phoWrtVtx.phi();
388  const float phoWrtVtxEta = phoWrtVtx.eta();
389 
390  float sum = 0;
391  // Loop over the PFCandidates
392  for (auto const& aCCand : chargedCands) {
393  auto iCand = aCCand.candidate;
394  float dR2 = deltaR2(phoWrtVtxEta, phoWrtVtxPhi, iCand->eta(), iCand->phi());
395  if (dR2 > coneSizeDR2 || (options & DR_VETO && dR2 < dRveto2))
396  continue;
397 
398  float dxy = -999;
399  float dz = -999;
400  if (options & PV_CONSTRAINT)
401  getImpactParameters(aCCand, pv, dxy, dz);
402  else
403  getImpactParameters(aCCand, *vtx, dxy, dz);
404 
405  if (fabs(dxy) > dxyMax || fabs(dz) > dzMax)
406  continue;
407 
408  sum += iCand->pt();
409  }
410 
411  worstIsolation = std::max(sum, worstIsolation);
412  }
413 
414  return worstIsolation;
415 }

References coneSizeDR2, HLTMuonOfflineAnalyzer_cfi::deltaR2, DR_VETO, dRveto2Barrel, dRveto2Endcap, PVValHelper::dxy, dxyMax, PVValHelper::dz, dzMax, reco::PFCandidate::h, HLTEGTnPMonitor_cfi::isAOD, SiStripPI::max, muons2muons_cfi::photon, PT_MIN_THRESH, ptMin, MetAnalyzer::pv(), PV_CONSTRAINT, edm::View< T >::size(), pwdgSkimBPark_cfi::vertices, and badGlobalMuonTaggersAOD_cff::vtx.

Referenced by produce().

◆ fillDescriptions()

void PhotonIDValueMapProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 339 of file PhotonIDValueMapProducer.cc.

339  {
340  // photonIDValueMapProducer
342  desc.add<edm::InputTag>("particleBasedIsolation", edm::InputTag("particleBasedIsolation", "gedPhotons"));
343  desc.add<edm::InputTag>("src", edm::InputTag("slimmedPhotons", "", "@skipCurrentProcess"));
344  desc.add<edm::InputTag>("esReducedRecHitCollection", edm::InputTag("reducedEgamma", "reducedESRecHits"));
345  desc.add<edm::InputTag>("ebReducedRecHitCollection", edm::InputTag("reducedEgamma", "reducedEBRecHits"));
346  desc.add<edm::InputTag>("eeReducedRecHitCollection", edm::InputTag("reducedEgamma", "reducedEERecHits"));
347  desc.add<edm::InputTag>("pfCandidates", edm::InputTag("packedPFCandidates"));
348  desc.add<edm::InputTag>("vertices", edm::InputTag("offlineSlimmedPrimaryVertices"));
349  desc.add<bool>("isAOD", false);
350  descriptions.add("photonIDValueMapProducer", desc);
351 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), and HLT_2018_cff::InputTag.

◆ produce()

void PhotonIDValueMapProducer::produce ( edm::StreamID  ,
edm::Event iEvent,
const edm::EventSetup iSetup 
) const
overrideprivatevirtual

Implements edm::global::EDProducerBase.

Definition at line 175 of file PhotonIDValueMapProducer.cc.

175  {
176  // Get the handles
177  auto src = iEvent.getHandle(src_);
178  auto vertices = iEvent.getHandle(vtxToken_);
179  auto pfCandsHandle = iEvent.getHandle(pfCandsToken_);
180 
182  if (isAOD_) { // this exists only in AOD
183  iEvent.getByToken(particleBasedIsolationToken_, particleBasedIsolationMap);
184  } else if (!src->empty()) {
185  edm::Ptr<pat::Photon> test(src->ptrAt(0));
186  if (test.isNull() || !test.isAvailable()) {
187  throw cms::Exception("InvalidConfiguration")
188  << "DataFormat is detected as miniAOD but cannot cast to pat::Photon!";
189  }
190  }
191 
192  // Configure Lazy Tools, which will compute 5x5 quantities
193  auto lazyToolnoZS = usesES_ ? noZS::EcalClusterLazyTools(iEvent, iSetup, ebRecHits_, eeRecHits_, esRecHits_)
195 
196  // Get PV
197  if (vertices->empty())
198  return; // skip the event if no PV found
199  const reco::Vertex& pv = vertices->front();
200 
201  std::vector<float> vars[nVars_];
202 
203  // reco::Photon::superCluster() is virtual so we can exploit polymorphism
204  for (auto const& iPho : src->ptrs()) {
205  //
206  // Compute full 5x5 quantities
207  //
208  const auto& seed = *(iPho->superCluster()->seed());
209 
210  // For full5x5_sigmaIetaIeta, for 720 we use: lazy tools for AOD,
211  // and userFloats or lazy tools for miniAOD. From some point in 72X and on, one can
212  // retrieve the full5x5 directly from the object with ->full5x5_sigmaIetaIeta()
213  // for both formats.
214  std::vector<float> vCov = lazyToolnoZS.localCovariances(seed);
215  vars[0].push_back(edm::isNotFinite(vCov[0]) ? 0. : sqrt(vCov[0]));
216  vars[1].push_back(vCov[1]);
217  vars[2].push_back(lazyToolnoZS.e1x3(seed));
218  vars[3].push_back(lazyToolnoZS.e2x2(seed));
219  vars[4].push_back(lazyToolnoZS.e2x5Max(seed));
220  vars[5].push_back(lazyToolnoZS.e5x5(seed));
221  vars[6].push_back(lazyToolnoZS.eseffsirir(*(iPho->superCluster())));
222  vars[7].push_back(vars[2].back() / vars[5].back());
223  vars[8].push_back(vars[3].back() / vars[5].back());
224  vars[9].push_back(vars[4].back() / vars[5].back());
225 
226  //
227  // Compute absolute uncorrected isolations with footprint removal
228  //
229 
230  // First, find photon direction with respect to the good PV
231  math::XYZVector phoWrtVtx(
232  iPho->superCluster()->x() - pv.x(), iPho->superCluster()->y() - pv.y(), iPho->superCluster()->z() - pv.z());
233 
234  // isolation sums
235  float chargedIsoSum = 0.;
236  float neutralHadronIsoSum = 0.;
237  float photonIsoSum = 0.;
238 
239  // Loop over all PF candidates
240  for (auto const& iCand : pfCandsHandle->ptrs()) {
241  // Here, the type will be a simple reco::Candidate. We cast it
242  // for full PFCandidate or PackedCandidate below as necessary
243 
244  // One would think that we should check that this iCand from the
245  // generic PF collection is not identical to the iPho photon for
246  // which we are computing the isolations. However, it turns out to
247  // be unnecessary. Below, in the function isInFootprint(), we drop
248  // this iCand if it is in the footprint, and this always removes
249  // the iCand if it matches the iPho. The explicit check at this
250  // point is not totally trivial because of non-triviality of
251  // implementation of this check for miniAOD (PackedCandidates of
252  // the PF collection do not contain the supercluser link, so can't
253  // use that).
254  //
255  // if( isAOD_ ) {
256  // if( ((const edm::Ptr<reco::PFCandidate>)iCand)->superClusterRef() == iPho->superCluster() )
257  // continue;
258  // }
259 
260  // Check if this candidate is within the isolation cone
261  float dR2 = deltaR2(phoWrtVtx.Eta(), phoWrtVtx.Phi(), iCand->eta(), iCand->phi());
262  if (dR2 > coneSizeDR2)
263  continue;
264 
265  // Check if this candidate is not in the footprint
266  if (isAOD_) {
267  if (isInFootprint((*particleBasedIsolationMap)[iPho], iCand))
268  continue;
269  } else {
271  if (isInFootprint(patPhotonPtr->associatedPackedPFCandidates(), iCand))
272  continue;
273  }
274 
275  // Find candidate type
276  reco::PFCandidate::ParticleType thisCandidateType = getCandidatePdgId(&*iCand, isAOD_);
277 
278  // Increment the appropriate isolation sum
279  if (thisCandidateType == reco::PFCandidate::h) {
280  // for charged hadrons, additionally check consistency
281  // with the PV
282  float dxy = -999;
283  float dz = -999;
284 
285  getImpactParameters(CachingPtrCandidate(&*iCand, isAOD_), pv, dxy, dz);
286 
287  if (fabs(dxy) > dxyMax || fabs(dz) > dzMax)
288  continue;
289 
290  // The candidate is eligible, increment the isolaiton
291  chargedIsoSum += iCand->pt();
292  }
293 
294  if (thisCandidateType == reco::PFCandidate::h0)
295  neutralHadronIsoSum += iCand->pt();
296 
297  if (thisCandidateType == reco::PFCandidate::gamma)
298  photonIsoSum += iCand->pt();
299  }
300 
301  vars[10].push_back(chargedIsoSum);
302  vars[11].push_back(neutralHadronIsoSum);
303  vars[12].push_back(photonIsoSum);
304 
305  // Worst isolation computed with no vetos or ptMin cut, as in Run 1 Hgg code.
306  unsigned char options = 0;
307  vars[13].push_back(computeWorstPFChargedIsolation(*iPho, *pfCandsHandle, *vertices, pv, options, isAOD_));
308 
309  // Worst isolation computed with cone vetos and a ptMin cut, as in Run 2 Hgg code.
311  vars[14].push_back(computeWorstPFChargedIsolation(*iPho, *pfCandsHandle, *vertices, pv, options, isAOD_));
312 
313  // Like before, but adding primary vertex constraint
315  vars[15].push_back(computeWorstPFChargedIsolation(*iPho, *pfCandsHandle, *vertices, pv, options, isAOD_));
316 
317  // PFCluster Isolations
318  vars[16].push_back(iPho->trkSumPtSolidConeDR04());
319  if (isAOD_) {
320  vars[17].push_back(0.f);
321  vars[18].push_back(0.f);
322  } else {
324  vars[17].push_back(patPhotonPtr->hcalPFClusterIso());
325  vars[18].push_back(patPhotonPtr->ecalPFClusterIso());
326  }
327  }
328 
329  // write the value maps
330  for (int i = 0; i < nVars_; ++i) {
331  auto valMap = std::make_unique<edm::ValueMap<float>>();
332  typename edm::ValueMap<float>::Filler filler(*valMap);
333  filler.insert(src, vars[i].begin(), vars[i].end());
334  filler.fill();
335  iEvent.put(std::move(valMap), names[i]);
336  }
337 }

References begin, computeWorstPFChargedIsolation(), coneSizeDR2, HLTMuonOfflineAnalyzer_cfi::deltaR2, DR_VETO, PVValHelper::dxy, dxyMax, PVValHelper::dz, dzMax, ebRecHits_, eeRecHits_, end, esRecHits_, Exception, f, trigObjTnPSource_cfi::filler, reco::PFCandidate::gamma, reco::PFCandidate::h, reco::PFCandidate::h0, mps_fire::i, iEvent, isAOD_, edm::isNotFinite(), eostools::move(), names, nVars_, particleBasedIsolationToken_, pfCandsToken_, PT_MIN_THRESH, MetAnalyzer::pv(), PV_CONSTRAINT, SurveyInfoScenario_cff::seed, mathSSE::sqrt(), TrackRefitter_38T_cff::src, src_, ctpps_dqm_sourceclient-live_cfg::test, usesES_, pwdgSkimBPark_cfi::vertices, and vtxToken_.

Member Data Documentation

◆ ebRecHits_

const edm::EDGetTokenT<EcalRecHitCollection> PhotonIDValueMapProducer::ebRecHits_
private

Definition at line 110 of file PhotonIDValueMapProducer.cc.

Referenced by produce().

◆ eeRecHits_

const edm::EDGetTokenT<EcalRecHitCollection> PhotonIDValueMapProducer::eeRecHits_
private

Definition at line 111 of file PhotonIDValueMapProducer.cc.

Referenced by produce().

◆ esRecHits_

const edm::EDGetTokenT<EcalRecHitCollection> PhotonIDValueMapProducer::esRecHits_
private

Definition at line 112 of file PhotonIDValueMapProducer.cc.

Referenced by produce().

◆ isAOD_

const bool PhotonIDValueMapProducer::isAOD_
private

Definition at line 117 of file PhotonIDValueMapProducer.cc.

Referenced by produce().

◆ particleBasedIsolationToken_

const edm::EDGetToken PhotonIDValueMapProducer::particleBasedIsolationToken_
private

Definition at line 115 of file PhotonIDValueMapProducer.cc.

Referenced by produce().

◆ pfCandsToken_

const edm::EDGetTokenT<edm::View<reco::Candidate> > PhotonIDValueMapProducer::pfCandsToken_
private

Definition at line 114 of file PhotonIDValueMapProducer.cc.

Referenced by produce().

◆ src_

const edm::EDGetTokenT<edm::View<reco::Photon> > PhotonIDValueMapProducer::src_
private

Definition at line 109 of file PhotonIDValueMapProducer.cc.

Referenced by produce().

◆ usesES_

const bool PhotonIDValueMapProducer::usesES_
private

Definition at line 106 of file PhotonIDValueMapProducer.cc.

Referenced by produce().

◆ vtxToken_

const edm::EDGetTokenT<reco::VertexCollection> PhotonIDValueMapProducer::vtxToken_
private

Definition at line 113 of file PhotonIDValueMapProducer.cc.

Referenced by produce().

DR_VETO
const unsigned char DR_VETO
Definition: PhotonIDValueMapProducer.cc:156
PhotonIDValueMapProducer::usesES_
const bool usesES_
Definition: PhotonIDValueMapProducer.cc:106
muons2muons_cfi.photon
photon
Definition: muons2muons_cfi.py:28
mps_fire.i
i
Definition: mps_fire.py:355
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
pat::patPhotonPtr
edm::Ptr< pat::Photon > patPhotonPtr
Definition: PhotonPFIsolationWithMapBasedVeto.cc:36
PhotonIDValueMapProducer::eeRecHits_
const edm::EDGetTokenT< EcalRecHitCollection > eeRecHits_
Definition: PhotonIDValueMapProducer.cc:111
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
edm::isNotFinite
constexpr bool isNotFinite(T x)
Definition: isFinite.h:9
PhotonIDValueMapProducer::pfCandsToken_
const edm::EDGetTokenT< edm::View< reco::Candidate > > pfCandsToken_
Definition: PhotonIDValueMapProducer.cc:114
PhotonIDValueMapProducer::computeWorstPFChargedIsolation
float computeWorstPFChargedIsolation(const reco::Photon &photon, const edm::View< reco::Candidate > &pfCands, const reco::VertexCollection &vertices, const reco::Vertex &pv, unsigned char options, bool isAOD) const
Definition: PhotonIDValueMapProducer.cc:355
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
ptMin
constexpr float ptMin
Definition: PhotonIDValueMapProducer.cc:153
reco::PFCandidate::h
Definition: PFCandidate.h:45
PhotonIDValueMapProducer::vtxToken_
const edm::EDGetTokenT< reco::VertexCollection > vtxToken_
Definition: PhotonIDValueMapProducer.cc:113
dRveto2Endcap
constexpr float dRveto2Endcap
Definition: PhotonIDValueMapProducer.cc:152
coneSizeDR2
constexpr float coneSizeDR2
Definition: PhotonIDValueMapProducer.cc:148
dzMax
constexpr float dzMax
Definition: PhotonIDValueMapProducer.cc:150
edm::Handle
Definition: AssociativeIterator.h:50
end
#define end
Definition: vmac.h:39
edm::Ref< VertexCollection >
options
Definition: options.py:1
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
dxyMax
constexpr float dxyMax
Definition: PhotonIDValueMapProducer.cc:149
PT_MIN_THRESH
const unsigned char PT_MIN_THRESH
Definition: PhotonIDValueMapProducer.cc:157
test
Definition: SmallWORMDict.h:13
ctpps_dqm_sourceclient-live_cfg.test
test
Definition: ctpps_dqm_sourceclient-live_cfg.py:7
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
HLTEGTnPMonitor_cfi.isAOD
isAOD
Definition: HLTEGTnPMonitor_cfi.py:1001
names
const std::string names[nVars_]
Definition: PhotonIDValueMapProducer.cc:122
vars
vars
Definition: DeepTauId.cc:163
PhotonIDValueMapProducer::particleBasedIsolationToken_
const edm::EDGetToken particleBasedIsolationToken_
Definition: PhotonIDValueMapProducer.cc:115
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
edm::EDConsumerBase::mayConsume
EDGetTokenT< ProductType > mayConsume(edm::InputTag const &tag)
Definition: EDConsumerBase.h:141
PhotonIDValueMapProducer::esRecHits_
const edm::EDGetTokenT< EcalRecHitCollection > esRecHits_
Definition: PhotonIDValueMapProducer.cc:112
EcalClusterLazyTools
PhotonIDValueMapProducer::isAOD_
const bool isAOD_
Definition: PhotonIDValueMapProducer.cc:117
badGlobalMuonTaggersAOD_cff.vtx
vtx
Definition: badGlobalMuonTaggersAOD_cff.py:5
edm::View::size
size_type size() const
PhotonIDValueMapProducer::src_
const edm::EDGetTokenT< edm::View< reco::Photon > > src_
Definition: PhotonIDValueMapProducer.cc:109
edm::View
Definition: CaloClusterFwd.h:14
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
TrackRefitter_38T_cff.src
src
Definition: TrackRefitter_38T_cff.py:24
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
trigObjTnPSource_cfi.filler
filler
Definition: trigObjTnPSource_cfi.py:21
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
MetAnalyzer.pv
def pv(vc)
Definition: MetAnalyzer.py:7
iEvent
int iEvent
Definition: GenABIO.cc:224
reco::PFCandidate::gamma
Definition: PFCandidate.h:48
dRveto2Barrel
constexpr float dRveto2Barrel
Definition: PhotonIDValueMapProducer.cc:151
edm::Ptr
Definition: AssociationVector.h:31
looper.cfg
cfg
Definition: looper.py:297
noZS
Definition: EcalClusterLazyTools.h:267
nVars_
constexpr int nVars_
Definition: PhotonIDValueMapProducer.cc:120
edm::ProductRegistryHelper::produces
BranchAliasSetterT< ProductType > produces()
declare what type of product will make and with which optional label
Definition: ProductRegistryHelper.h:108
eostools.move
def move(src, dest)
Definition: eostools.py:511
PhotonIDValueMapProducer::ebRecHits_
const edm::EDGetTokenT< EcalRecHitCollection > ebRecHits_
Definition: PhotonIDValueMapProducer.cc:110
PVValHelper::dxy
Definition: PVValidationHelpers.h:47
HLTMuonOfflineAnalyzer_cfi.deltaR2
deltaR2
Definition: HLTMuonOfflineAnalyzer_cfi.py:105
PVValHelper::dz
Definition: PVValidationHelpers.h:50
edm::ValueMap
Definition: ValueMap.h:107
reco::PFCandidate::h0
Definition: PFCandidate.h:49
Exception
Definition: hltDiff.cc:246
edm::helper::Filler
Definition: ValueMap.h:22
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: EDConsumerBase.h:126
reco::PFCandidate::ParticleType
ParticleType
particle types
Definition: PFCandidate.h:43
edm::InputTag
Definition: InputTag.h:15
begin
#define begin
Definition: vmac.h:32
noZS::EcalClusterLazyTools
EcalClusterLazyToolsT< noZS::EcalClusterTools > EcalClusterLazyTools
Definition: EcalClusterLazyTools.h:268
reco::Vertex
Definition: Vertex.h:35
SurveyInfoScenario_cff.seed
seed
Definition: SurveyInfoScenario_cff.py:295
pwdgSkimBPark_cfi.vertices
vertices
Definition: pwdgSkimBPark_cfi.py:7
PV_CONSTRAINT
const unsigned char PV_CONSTRAINT
Definition: PhotonIDValueMapProducer.cc:155