CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
pat::PATPhotonProducer Class Reference

Produces the pat::Photon. More...

Inheritance diagram for pat::PATPhotonProducer:
edm::stream::EDProducer<>

Public Member Functions

 PATPhotonProducer (const edm::ParameterSet &iConfig)
 
void produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
 ~PATPhotonProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Types

typedef std::vector< edm::Handle< edm::ValueMap< IsoDeposit > > > IsoDepositMaps
 
typedef std::pair< pat::IsolationKeys, edm::InputTagIsolationLabel
 
typedef std::vector< IsolationLabelIsolationLabels
 
typedef std::vector< edm::Handle< edm::ValueMap< double > > > IsolationValueMaps
 
typedef std::pair< std::string, edm::InputTagNameTag
 

Private Member Functions

template<typename T >
void readIsolationLabels (const edm::ParameterSet &iConfig, const char *psetName, IsolationLabels &labels, std::vector< edm::EDGetTokenT< edm::ValueMap< T >>> &tokens)
 

Private Attributes

bool addEfficiencies_
 
bool addGenMatch_
 
bool addPFClusterIso_
 
bool addPhotonID_
 
bool addPuppiIsolation_
 
bool addResolutions_
 
edm::EDGetTokenT< reco::BeamSpotbeamLineToken_
 
const EcalClusterLazyTools::ESGetTokens ecalClusterToolsESGetTokens_
 
const CaloGeometryecalGeometry_
 
const edm::ESGetToken< CaloGeometry, CaloGeometryRecordecalGeometryToken_
 
edm::EDGetTokenT< edm::ValueMap< float > > ecalPFClusterIsoT_
 
const CaloTopologyecalTopology_
 
const edm::ESGetToken< CaloTopology, CaloTopologyRecordecalTopologyToken_
 
pat::helper::EfficiencyLoader efficiencyLoader_
 
edm::EDGetTokenT< reco::GsfElectronCollectionelectronToken_
 
bool embedBasicClusters_
 
bool embedGenMatch_
 
bool embedPreshowerClusters_
 
bool embedRecHits_
 
bool embedSeedCluster_
 
bool embedSuperCluster_
 
GreaterByEt< PhotoneTComparator_
 
std::vector< edm::EDGetTokenT< edm::Association< reco::GenParticleCollection > > > genMatchTokens_
 
edm::EDGetTokenT< edm::ValueMap< float > > hcalPFClusterIsoT_
 
edm::EDGetTokenT< reco::ConversionCollectionhConversionsToken_
 
IsolationLabels isoDepositLabels_
 
std::vector< edm::EDGetTokenT< edm::ValueMap< IsoDeposit > > > isoDepositTokens_
 
IsolationLabels isolationValueLabels_
 
std::vector< edm::EDGetTokenT< edm::ValueMap< double > > > isolationValueTokens_
 
pat::helper::MultiIsolator isolator_
 
pat::helper::MultiIsolator::IsolationValuePairs isolatorTmpStorage_
 
std::vector< NameTagphotIDSrcs_
 
std::vector< edm::EDGetTokenT< edm::ValueMap< Bool_t > > > photIDTokens_
 
edm::EDGetTokenT< edm::View< reco::Photon > > photonToken_
 
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_charged_hadrons_
 
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_neutral_hadrons_
 
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_photons_
 
edm::InputTag reducedBarrelRecHitCollection_
 
edm::EDGetTokenT< EcalRecHitCollectionreducedBarrelRecHitCollectionToken_
 
edm::InputTag reducedEndcapRecHitCollection_
 
edm::EDGetTokenT< EcalRecHitCollectionreducedEndcapRecHitCollectionToken_
 
pat::helper::KinResolutionsLoader resolutionLoader_
 
bool saveRegressionData_
 
pat::PATUserDataHelper< pat::PhotonuserDataHelper_
 
bool useUserData_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

Detailed Description

Produces the pat::Photon.

The PATPhotonProducer produces the analysis-level pat::Photon starting from a collection of objects of PhotonType.

Author
Steven Lowette
Version
Id
PATPhotonProducer.h,v 1.19 2009/06/25 23:49:35 gpetrucc Exp

Definition at line 49 of file PATPhotonProducer.cc.

Member Typedef Documentation

◆ IsoDepositMaps

Definition at line 90 of file PATPhotonProducer.cc.

◆ IsolationLabel

Definition at line 92 of file PATPhotonProducer.cc.

◆ IsolationLabels

Definition at line 93 of file PATPhotonProducer.cc.

◆ IsolationValueMaps

typedef std::vector<edm::Handle<edm::ValueMap<double> > > pat::PATPhotonProducer::IsolationValueMaps
private

Definition at line 91 of file PATPhotonProducer.cc.

◆ NameTag

typedef std::pair<std::string, edm::InputTag> pat::PATPhotonProducer::NameTag
private

Definition at line 118 of file PATPhotonProducer.cc.

Constructor & Destructor Documentation

◆ PATPhotonProducer()

PATPhotonProducer::PATPhotonProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 195 of file PATPhotonProducer.cc.

196  :
197 
198  ecalClusterToolsESGetTokens_{consumesCollector()},
199  isolator_(iConfig.exists("userIsolation") ? iConfig.getParameter<edm::ParameterSet>("userIsolation")
200  : edm::ParameterSet(),
201  consumesCollector(),
202  false),
203  useUserData_(iConfig.exists("userData")),
206  // initialize the configurables
207  photonToken_ = consumes<edm::View<reco::Photon>>(iConfig.getParameter<edm::InputTag>("photonSource"));
208  electronToken_ = consumes<reco::GsfElectronCollection>(iConfig.getParameter<edm::InputTag>("electronSource"));
209  hConversionsToken_ = consumes<reco::ConversionCollection>(iConfig.getParameter<edm::InputTag>("conversionSource"));
210  beamLineToken_ = consumes<reco::BeamSpot>(iConfig.getParameter<edm::InputTag>("beamLineSrc"));
211  embedSuperCluster_ = iConfig.getParameter<bool>("embedSuperCluster");
212  embedSeedCluster_ = iConfig.getParameter<bool>("embedSeedCluster");
213  embedBasicClusters_ = iConfig.getParameter<bool>("embedBasicClusters");
214  embedPreshowerClusters_ = iConfig.getParameter<bool>("embedPreshowerClusters");
215  embedRecHits_ = iConfig.getParameter<bool>("embedRecHits");
216  reducedBarrelRecHitCollection_ = iConfig.getParameter<edm::InputTag>("reducedBarrelRecHitCollection");
217  reducedBarrelRecHitCollectionToken_ = mayConsume<EcalRecHitCollection>(reducedBarrelRecHitCollection_);
218  reducedEndcapRecHitCollection_ = iConfig.getParameter<edm::InputTag>("reducedEndcapRecHitCollection");
219  reducedEndcapRecHitCollectionToken_ = mayConsume<EcalRecHitCollection>(reducedEndcapRecHitCollection_);
220  // MC matching configurables
221  addGenMatch_ = iConfig.getParameter<bool>("addGenMatch");
222  if (addGenMatch_) {
223  embedGenMatch_ = iConfig.getParameter<bool>("embedGenMatch");
224  if (iConfig.existsAs<edm::InputTag>("genParticleMatch")) {
226  iConfig.getParameter<edm::InputTag>("genParticleMatch")));
227  } else {
229  iConfig.getParameter<std::vector<edm::InputTag>>("genParticleMatch"),
230  [this](edm::InputTag const& tag) { return consumes<edm::Association<reco::GenParticleCollection>>(tag); });
231  }
232  }
233  // Efficiency configurables
234  addEfficiencies_ = iConfig.getParameter<bool>("addEfficiencies");
235  if (addEfficiencies_) {
237  pat::helper::EfficiencyLoader(iConfig.getParameter<edm::ParameterSet>("efficiencies"), consumesCollector());
238  }
239  // PFCluster Isolation maps
240  addPuppiIsolation_ = iConfig.getParameter<bool>("addPuppiIsolation");
241  if (addPuppiIsolation_) {
243  consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("puppiIsolationChargedHadrons"));
245  consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("puppiIsolationNeutralHadrons"));
247  consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("puppiIsolationPhotons"));
248  }
249  addPFClusterIso_ = iConfig.getParameter<bool>("addPFClusterIso");
250  if (addPFClusterIso_) {
251  ecalPFClusterIsoT_ = consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("ecalPFClusterIsoMap"));
252  auto hcPFC = iConfig.getParameter<edm::InputTag>("hcalPFClusterIsoMap");
253  if (not hcPFC.label().empty())
254  hcalPFClusterIsoT_ = consumes<edm::ValueMap<float>>(hcPFC);
255  }
256 
257  // photon ID configurables
258  addPhotonID_ = iConfig.getParameter<bool>("addPhotonID");
259  if (addPhotonID_) {
260  // it might be a single photon ID
261  if (iConfig.existsAs<edm::InputTag>("photonIDSource")) {
262  photIDSrcs_.push_back(NameTag("", iConfig.getParameter<edm::InputTag>("photonIDSource")));
263  }
264  // or there might be many of them
265  if (iConfig.existsAs<edm::ParameterSet>("photonIDSources")) {
266  // please don't configure me twice
267  if (!photIDSrcs_.empty()) {
268  throw cms::Exception("Configuration")
269  << "PATPhotonProducer: you can't specify both 'photonIDSource' and 'photonIDSources'\n";
270  }
271  // read the different photon ID names
272  edm::ParameterSet idps = iConfig.getParameter<edm::ParameterSet>("photonIDSources");
273  std::vector<std::string> names = idps.getParameterNamesForType<edm::InputTag>();
274  for (std::vector<std::string>::const_iterator it = names.begin(), ed = names.end(); it != ed; ++it) {
275  photIDSrcs_.push_back(NameTag(*it, idps.getParameter<edm::InputTag>(*it)));
276  }
277  }
278  // but in any case at least once
279  if (photIDSrcs_.empty())
280  throw cms::Exception("Configuration") << "PATPhotonProducer: id addPhotonID is true, you must specify either:\n"
281  << "\tInputTag photonIDSource = <someTag>\n"
282  << "or\n"
283  << "\tPSet photonIDSources = { \n"
284  << "\t\tInputTag <someName> = <someTag> // as many as you want \n "
285  << "\t}\n";
286  }
288  photIDSrcs_, [this](NameTag const& tag) { return mayConsume<edm::ValueMap<Bool_t>>(tag.second); });
289  // Resolution configurables
290  addResolutions_ = iConfig.getParameter<bool>("addResolutions");
291  if (addResolutions_) {
293  }
294  // Check to see if the user wants to add user data
295  if (useUserData_) {
297  PATUserDataHelper<Photon>(iConfig.getParameter<edm::ParameterSet>("userData"), consumesCollector());
298  }
299  // produces vector of photons
300  produces<std::vector<Photon>>();
301 
302  // read isoDeposit labels, for direct embedding
303  readIsolationLabels(iConfig, "isoDeposits", isoDepositLabels_, isoDepositTokens_);
304  // read isolation value labels, for direct embedding
306 
307  saveRegressionData_ = iConfig.getParameter<bool>("saveRegressionData");
308 }

◆ ~PATPhotonProducer()

PATPhotonProducer::~PATPhotonProducer ( )
override

Definition at line 310 of file PATPhotonProducer.cc.

310 {}

Member Function Documentation

◆ fillDescriptions()

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

Definition at line 641 of file PATPhotonProducer.cc.

641  {
643  iDesc.setComment("PAT photon producer module");
644 
645  // input source
646  iDesc.add<edm::InputTag>("photonSource", edm::InputTag("no default"))->setComment("input collection");
647  iDesc.add<edm::InputTag>("electronSource", edm::InputTag("no default"))->setComment("input collection");
648  iDesc.add<edm::InputTag>("conversionSource", edm::InputTag("allConversions"))->setComment("input collection");
649 
650  iDesc.add<edm::InputTag>("reducedBarrelRecHitCollection", edm::InputTag("reducedEcalRecHitsEB"));
651  iDesc.add<edm::InputTag>("reducedEndcapRecHitCollection", edm::InputTag("reducedEcalRecHitsEE"));
652 
653  iDesc.ifValue(
654  edm::ParameterDescription<bool>("addPFClusterIso", false, true),
656  "ecalPFClusterIsoMap", edm::InputTag("photonEcalPFClusterIsolationProducer"), true) and
658  "hcalPFClusterIsoMap", edm::InputTag("photonHcalPFClusterIsolationProducer"), true)) or
659  false >> (edm::ParameterDescription<edm::InputTag>("ecalPFClusterIsoMap", edm::InputTag(""), true) and
660  edm::ParameterDescription<edm::InputTag>("hcalPFClusterIsoMap", edm::InputTag(""), true)));
661 
662  iDesc.ifValue(
663  edm::ParameterDescription<bool>("addPuppiIsolation", false, true),
665  "puppiIsolationChargedHadrons", edm::InputTag("egmPhotonPUPPIIsolation", "h+-DR030-"), true) and
667  "puppiIsolationNeutralHadrons", edm::InputTag("egmPhotonPUPPIIsolation", "h0-DR030-"), true) and
669  "puppiIsolationPhotons", edm::InputTag("egmPhotonPUPPIIsolation", "gamma-DR030-"), true)) or
670  false >> edm::EmptyGroupDescription());
671 
672  iDesc.add<bool>("embedSuperCluster", true)->setComment("embed external super cluster");
673  iDesc.add<bool>("embedSeedCluster", true)->setComment("embed external seed cluster");
674  iDesc.add<bool>("embedBasicClusters", true)->setComment("embed external basic clusters");
675  iDesc.add<bool>("embedPreshowerClusters", true)->setComment("embed external preshower clusters");
676  iDesc.add<bool>("embedRecHits", true)->setComment("embed external RecHits");
677 
678  // MC matching configurables
679  iDesc.add<bool>("addGenMatch", true)->setComment("add MC matching");
680  iDesc.add<bool>("embedGenMatch", false)->setComment("embed MC matched MC information");
681  std::vector<edm::InputTag> emptySourceVector;
682  iDesc
683  .addNode(edm::ParameterDescription<edm::InputTag>("genParticleMatch", edm::InputTag(), true) xor
684  edm::ParameterDescription<std::vector<edm::InputTag>>("genParticleMatch", emptySourceVector, true))
685  ->setComment("input with MC match information");
686 
688 
689  // photon ID configurables
690  iDesc.add<bool>("addPhotonID", true)->setComment("add photon ID variables");
691  edm::ParameterSetDescription photonIDSourcesPSet;
692  photonIDSourcesPSet.setAllowAnything();
693  iDesc
694  .addNode(edm::ParameterDescription<edm::InputTag>("photonIDSource", edm::InputTag(), true) xor
695  edm::ParameterDescription<edm::ParameterSetDescription>("photonIDSources", photonIDSourcesPSet, true))
696  ->setComment("input with photon ID variables");
697 
698  // IsoDeposit configurables
699  edm::ParameterSetDescription isoDepositsPSet;
700  isoDepositsPSet.addOptional<edm::InputTag>("tracker");
701  isoDepositsPSet.addOptional<edm::InputTag>("ecal");
702  isoDepositsPSet.addOptional<edm::InputTag>("hcal");
703  isoDepositsPSet.addOptional<edm::InputTag>("pfAllParticles");
704  isoDepositsPSet.addOptional<edm::InputTag>("pfChargedHadrons");
705  isoDepositsPSet.addOptional<edm::InputTag>("pfChargedAll");
706  isoDepositsPSet.addOptional<edm::InputTag>("pfPUChargedHadrons");
707  isoDepositsPSet.addOptional<edm::InputTag>("pfNeutralHadrons");
708  isoDepositsPSet.addOptional<edm::InputTag>("pfPhotons");
709  isoDepositsPSet.addOptional<std::vector<edm::InputTag>>("user");
710  iDesc.addOptional("isoDeposits", isoDepositsPSet);
711 
712  // isolation values configurables
713  edm::ParameterSetDescription isolationValuesPSet;
714  isolationValuesPSet.addOptional<edm::InputTag>("tracker");
715  isolationValuesPSet.addOptional<edm::InputTag>("ecal");
716  isolationValuesPSet.addOptional<edm::InputTag>("hcal");
717  isolationValuesPSet.addOptional<edm::InputTag>("pfAllParticles");
718  isolationValuesPSet.addOptional<edm::InputTag>("pfChargedHadrons");
719  isolationValuesPSet.addOptional<edm::InputTag>("pfChargedAll");
720  isolationValuesPSet.addOptional<edm::InputTag>("pfPUChargedHadrons");
721  isolationValuesPSet.addOptional<edm::InputTag>("pfNeutralHadrons");
722  isolationValuesPSet.addOptional<edm::InputTag>("pfPhotons");
723  isolationValuesPSet.addOptional<std::vector<edm::InputTag>>("user");
724  iDesc.addOptional("isolationValues", isolationValuesPSet);
725 
726  // Efficiency configurables
727  edm::ParameterSetDescription efficienciesPSet;
728  efficienciesPSet.setAllowAnything(); // TODO: the pat helper needs to implement a description.
729  iDesc.add("efficiencies", efficienciesPSet);
730  iDesc.add<bool>("addEfficiencies", false);
731 
732  // Check to see if the user wants to add user data
733  edm::ParameterSetDescription userDataPSet;
735  iDesc.addOptional("userData", userDataPSet);
736 
737  edm::ParameterSetDescription isolationPSet;
738  isolationPSet.setAllowAnything(); // TODO: the pat helper needs to implement a description.
739  iDesc.add("userIsolation", isolationPSet);
740 
741  iDesc.addNode(edm::ParameterDescription<edm::InputTag>("beamLineSrc", edm::InputTag(), true))
742  ->setComment("input with high level selection");
743 
744  iDesc.add<bool>("saveRegressionData", true)->setComment("save regression input variables");
745 
746  descriptions.add("PATPhotonProducer", iDesc);
747 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addNode(), edm::ParameterSetDescription::addOptional(), pat::helper::KinResolutionsLoader::fillDescription(), pat::PATUserDataHelper< ObjectType >::fillDescription(), edm::ParameterSetDescription::ifValue(), HLT_FULL_cff::InputTag, or, edm::ParameterSetDescription::setAllowAnything(), edm::ParameterSetDescription::setComment(), and edm::ParameterDescriptionNode::setComment().

◆ produce()

void PATPhotonProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 312 of file PATPhotonProducer.cc.

312  {
313  // switch off embedding (in unschedules mode)
314  if (iEvent.isRealData()) {
315  addGenMatch_ = false;
316  embedGenMatch_ = false;
317  }
318 
321 
322  // Get the vector of Photon's from the event
324  iEvent.getByToken(photonToken_, photons);
325 
326  // for conversion veto selection
328  iEvent.getByToken(hConversionsToken_, hConversions);
329 
330  // Get the collection of electrons from the event
332  iEvent.getByToken(electronToken_, hElectrons);
333 
334  // Get the beamspot
335  edm::Handle<reco::BeamSpot> beamSpotHandle;
336  iEvent.getByToken(beamLineToken_, beamSpotHandle);
337 
338  EcalClusterLazyTools lazyTools(iEvent,
342 
343  // prepare the MC matching
344  std::vector<edm::Handle<edm::Association<reco::GenParticleCollection>>> genMatches(genMatchTokens_.size());
345  if (addGenMatch_) {
346  for (size_t j = 0, nd = genMatchTokens_.size(); j < nd; ++j) {
347  iEvent.getByToken(genMatchTokens_[j], genMatches[j]);
348  }
349  }
350 
351  if (isolator_.enabled())
352  isolator_.beginEvent(iEvent, iSetup);
353 
358 
360  for (size_t j = 0, nd = isoDepositTokens_.size(); j < nd; ++j) {
361  iEvent.getByToken(isoDepositTokens_[j], deposits[j]);
362  }
363 
365  for (size_t j = 0; j < isolationValueTokens_.size(); ++j) {
367  }
368 
369  // prepare ID extraction
370  std::vector<edm::Handle<edm::ValueMap<Bool_t>>> idhandles;
371  std::vector<pat::Photon::IdPair> ids;
372  if (addPhotonID_) {
373  idhandles.resize(photIDSrcs_.size());
374  ids.resize(photIDSrcs_.size());
375  for (size_t i = 0; i < photIDSrcs_.size(); ++i) {
376  iEvent.getByToken(photIDTokens_[i], idhandles[i]);
377  ids[i].first = photIDSrcs_[i].first;
378  }
379  }
380 
381  //value maps for puppi isolation
382  edm::Handle<edm::ValueMap<float>> PUPPIIsolation_charged_hadrons;
383  edm::Handle<edm::ValueMap<float>> PUPPIIsolation_neutral_hadrons;
384  edm::Handle<edm::ValueMap<float>> PUPPIIsolation_photons;
385  if (addPuppiIsolation_) {
386  iEvent.getByToken(PUPPIIsolation_charged_hadrons_, PUPPIIsolation_charged_hadrons);
387  iEvent.getByToken(PUPPIIsolation_neutral_hadrons_, PUPPIIsolation_neutral_hadrons);
388  iEvent.getByToken(PUPPIIsolation_photons_, PUPPIIsolation_photons);
389  }
390 
391  // loop over photons
392  std::vector<Photon>* PATPhotons = new std::vector<Photon>();
393  for (edm::View<reco::Photon>::const_iterator itPhoton = photons->begin(); itPhoton != photons->end(); itPhoton++) {
394  // construct the Photon from the ref -> save ref to original object
395  unsigned int idx = itPhoton - photons->begin();
396  edm::RefToBase<reco::Photon> photonRef = photons->refAt(idx);
397  edm::Ptr<reco::Photon> photonPtr = photons->ptrAt(idx);
398  Photon aPhoton(photonRef);
399  auto phoPtr = photons->ptrAt(idx);
400  if (embedSuperCluster_)
401  aPhoton.embedSuperCluster();
402  if (embedSeedCluster_)
403  aPhoton.embedSeedCluster();
405  aPhoton.embedBasicClusters();
407  aPhoton.embedPreshowerClusters();
408 
409  std::vector<DetId> selectedCells;
410  bool barrel = itPhoton->isEB();
411  //loop over sub clusters
412  if (embedBasicClusters_) {
413  for (reco::CaloCluster_iterator clusIt = itPhoton->superCluster()->clustersBegin();
414  clusIt != itPhoton->superCluster()->clustersEnd();
415  ++clusIt) {
416  //get seed (max energy xtal)
417  DetId seed = lazyTools.getMaximum(**clusIt).first;
418  //get all xtals in 5x5 window around the seed
419  std::vector<DetId> dets5x5 =
422  selectedCells.insert(selectedCells.end(), dets5x5.begin(), dets5x5.end());
423 
424  //get all xtals belonging to cluster
425  for (const std::pair<DetId, float>& hit : (*clusIt)->hitsAndFractions()) {
426  selectedCells.push_back(hit.first);
427  }
428  }
429  }
430 
431  //remove duplicates
432  std::sort(selectedCells.begin(), selectedCells.end());
433  std::unique(selectedCells.begin(), selectedCells.end());
434 
435  // Retrieve the corresponding RecHits
436 
437  edm::Handle<EcalRecHitCollection> recHitsEBHandle;
438  iEvent.getByToken(reducedBarrelRecHitCollectionToken_, recHitsEBHandle);
439  edm::Handle<EcalRecHitCollection> recHitsEEHandle;
440  iEvent.getByToken(reducedEndcapRecHitCollectionToken_, recHitsEEHandle);
441 
442  //orginal code would throw an exception via the handle not being valid but now it'll just have a null pointer error
443  //should have little effect, if its not barrel or endcap, something very bad has happened elsewhere anyways
444  const EcalRecHitCollection* recHits = nullptr;
445  if (photonRef->superCluster()->seed()->hitsAndFractions().at(0).first.subdetId() == EcalBarrel)
446  recHits = recHitsEBHandle.product();
447  else if (photonRef->superCluster()->seed()->hitsAndFractions().at(0).first.subdetId() == EcalEndcap)
448  recHits = recHitsEEHandle.product();
449 
450  EcalRecHitCollection selectedRecHits;
451 
452  unsigned nSelectedCells = selectedCells.size();
453  for (unsigned icell = 0; icell < nSelectedCells; ++icell) {
454  EcalRecHitCollection::const_iterator it = recHits->find(selectedCells[icell]);
455  if (it != recHits->end()) {
456  selectedRecHits.push_back(*it);
457  }
458  }
459  selectedRecHits.sort();
460  if (embedRecHits_)
461  aPhoton.embedRecHits(&selectedRecHits);
462 
463  // store the match to the generated final state muons
464  if (addGenMatch_) {
465  for (size_t i = 0, n = genMatches.size(); i < n; ++i) {
466  reco::GenParticleRef genPhoton = (*genMatches[i])[photonRef];
467  aPhoton.addGenParticleRef(genPhoton);
468  }
469  if (embedGenMatch_)
470  aPhoton.embedGenParticle();
471  }
472 
473  if (efficiencyLoader_.enabled()) {
474  efficiencyLoader_.setEfficiencies(aPhoton, photonRef);
475  }
476 
477  if (resolutionLoader_.enabled()) {
479  }
480 
481  // here comes the extra functionality
482  if (isolator_.enabled()) {
484  typedef pat::helper::MultiIsolator::IsolationValuePairs IsolationValuePairs;
485  // better to loop backwards, so the vector is resized less times
486  for (IsolationValuePairs::const_reverse_iterator it = isolatorTmpStorage_.rbegin(),
487  ed = isolatorTmpStorage_.rend();
488  it != ed;
489  ++it) {
490  aPhoton.setIsolation(it->first, it->second);
491  }
492  }
493 
494  for (size_t j = 0, nd = deposits.size(); j < nd; ++j) {
495  aPhoton.setIsoDeposit(isoDepositLabels_[j].first, (*deposits[j])[photonRef]);
496  }
497 
498  for (size_t j = 0; j < isolationValues.size(); ++j) {
499  aPhoton.setIsolation(isolationValueLabels_[j].first, (*isolationValues[j])[photonRef]);
500  }
501 
502  // add photon ID info
503  if (addPhotonID_) {
504  for (size_t i = 0; i < photIDSrcs_.size(); ++i) {
505  ids[i].second = (*idhandles[i])[photonRef];
506  }
507  aPhoton.setPhotonIDs(ids);
508  }
509 
510  if (useUserData_) {
511  userDataHelper_.add(aPhoton, iEvent, iSetup);
512  }
513 
514  // set conversion veto selection
515  bool passelectronveto = false;
516  if (hConversions.isValid()) {
517  // this is recommended method
518  passelectronveto = !ConversionTools::hasMatchedPromptElectron(
519  photonRef->superCluster(), *hElectrons, *hConversions, beamSpotHandle->position());
520  }
521  aPhoton.setPassElectronVeto(passelectronveto);
522 
523  // set electron veto using pixel seed (not recommended but many analysis groups are still using since it is powerful method to remove electrons)
524  aPhoton.setHasPixelSeed(photonRef->hasPixelSeed());
525 
526  // set seed energy
527  aPhoton.setSeedEnergy(photonRef->superCluster()->seed()->energy());
528 
529  // set input variables for regression energy correction
530  if (saveRegressionData_) {
531  EcalRegressionData ecalRegData;
532  ecalRegData.fill(*(photonRef->superCluster()),
533  recHitsEBHandle.product(),
534  recHitsEEHandle.product(),
537  -1);
538 
539  aPhoton.setEMax(ecalRegData.eMax());
540  aPhoton.setE2nd(ecalRegData.e2nd());
541  aPhoton.setE3x3(ecalRegData.e3x3());
542  aPhoton.setETop(ecalRegData.eTop());
543  aPhoton.setEBottom(ecalRegData.eBottom());
544  aPhoton.setELeft(ecalRegData.eLeft());
545  aPhoton.setERight(ecalRegData.eRight());
546  aPhoton.setSee(ecalRegData.sigmaIEtaIEta());
547  aPhoton.setSep(
548  ecalRegData.sigmaIEtaIPhi() * ecalRegData.sigmaIEtaIEta() *
549  ecalRegData
550  .sigmaIPhiIPhi()); //there is a conflict on what sigmaIEtaIPhi actually is, regression and ID have it differently, this may change in later releases
551  aPhoton.setSpp(ecalRegData.sigmaIPhiIPhi());
552 
553  aPhoton.setMaxDR(ecalRegData.maxSubClusDR());
554  aPhoton.setMaxDRDPhi(ecalRegData.maxSubClusDRDPhi());
555  aPhoton.setMaxDRDEta(ecalRegData.maxSubClusDRDEta());
556  aPhoton.setMaxDRRawEnergy(ecalRegData.maxSubClusDRRawEnergy());
557  aPhoton.setSubClusRawE1(ecalRegData.subClusRawEnergy(EcalRegressionData::SubClusNr::C1));
558  aPhoton.setSubClusRawE2(ecalRegData.subClusRawEnergy(EcalRegressionData::SubClusNr::C2));
559  aPhoton.setSubClusRawE3(ecalRegData.subClusRawEnergy(EcalRegressionData::SubClusNr::C3));
560  aPhoton.setSubClusDPhi1(ecalRegData.subClusDPhi(EcalRegressionData::SubClusNr::C1));
561  aPhoton.setSubClusDPhi2(ecalRegData.subClusDPhi(EcalRegressionData::SubClusNr::C2));
562  aPhoton.setSubClusDPhi3(ecalRegData.subClusDPhi(EcalRegressionData::SubClusNr::C3));
563  aPhoton.setSubClusDEta1(ecalRegData.subClusDEta(EcalRegressionData::SubClusNr::C1));
564  aPhoton.setSubClusDEta2(ecalRegData.subClusDEta(EcalRegressionData::SubClusNr::C2));
565  aPhoton.setSubClusDEta3(ecalRegData.subClusDEta(EcalRegressionData::SubClusNr::C3));
566 
567  aPhoton.setCryPhi(ecalRegData.seedCrysPhiOrY());
568  aPhoton.setCryEta(ecalRegData.seedCrysEtaOrX());
569  aPhoton.setIEta(ecalRegData.seedCrysIEtaOrIX());
570  aPhoton.setIPhi(ecalRegData.seedCrysIPhiOrIY());
571  } else {
572  aPhoton.setEMax(0);
573  aPhoton.setE2nd(0);
574  aPhoton.setE3x3(0);
575  aPhoton.setETop(0);
576  aPhoton.setEBottom(0);
577  aPhoton.setELeft(0);
578  aPhoton.setERight(0);
579  aPhoton.setSee(0);
580  aPhoton.setSep(0);
581  aPhoton.setSpp(0);
582 
583  aPhoton.setMaxDR(0);
584  aPhoton.setMaxDRDPhi(0);
585  aPhoton.setMaxDRDEta(0);
586  aPhoton.setMaxDRRawEnergy(0);
587  aPhoton.setSubClusRawE1(0);
588  aPhoton.setSubClusRawE2(0);
589  aPhoton.setSubClusRawE3(0);
590  aPhoton.setSubClusDPhi1(0);
591  aPhoton.setSubClusDPhi2(0);
592  aPhoton.setSubClusDPhi3(0);
593  aPhoton.setSubClusDEta1(0);
594  aPhoton.setSubClusDEta2(0);
595  aPhoton.setSubClusDEta3(0);
596 
597  aPhoton.setCryPhi(0);
598  aPhoton.setCryEta(0);
599  aPhoton.setIEta(0);
600  aPhoton.setIPhi(0);
601  }
602 
603  if (addPuppiIsolation_)
604  aPhoton.setIsolationPUPPI((*PUPPIIsolation_charged_hadrons)[phoPtr],
605  (*PUPPIIsolation_neutral_hadrons)[phoPtr],
606  (*PUPPIIsolation_photons)[phoPtr]);
607  else
608  aPhoton.setIsolationPUPPI(-999., -999., -999.);
609 
610  // Get PFCluster Isolation
611  if (addPFClusterIso_) {
612  reco::Photon::PflowIsolationVariables newPFIsol = aPhoton.getPflowIsolationVariables();
613  edm::Handle<edm::ValueMap<float>> ecalPFClusterIsoMapH;
614  iEvent.getByToken(ecalPFClusterIsoT_, ecalPFClusterIsoMapH);
615  newPFIsol.sumEcalClusterEt = (*ecalPFClusterIsoMapH)[photonRef];
616  edm::Handle<edm::ValueMap<float>> hcalPFClusterIsoMapH;
618  iEvent.getByToken(hcalPFClusterIsoT_, hcalPFClusterIsoMapH);
619  newPFIsol.sumHcalClusterEt = (*hcalPFClusterIsoMapH)[photonRef];
620  } else {
621  newPFIsol.sumHcalClusterEt = -999.;
622  }
623  aPhoton.setPflowIsolationVariables(newPFIsol);
624  }
625 
626  // add the Photon to the vector of Photons
627  PATPhotons->push_back(aPhoton);
628  }
629 
630  // sort Photons in ET
631  std::sort(PATPhotons->begin(), PATPhotons->end(), eTComparator_);
632 
633  // put genEvt object in Event
634  std::unique_ptr<std::vector<Photon>> myPhotons(PATPhotons);
635  iEvent.put(std::move(myPhotons));
636  if (isolator_.enabled())
638 }

References pat::PATUserDataHelper< ObjectType >::add(), addGenMatch_, pat::PATObject< ObjectType >::addGenParticleRef(), addPFClusterIso_, addPhotonID_, addPuppiIsolation_, Reference_intrackfit_cff::barrel, beamLineToken_, pat::helper::MultiIsolator::beginEvent(), EcalRegressionData::C1, EcalRegressionData::C2, EcalRegressionData::C3, CandIsolatorFromDeposits_cfi::deposits, EcalRegressionData::e2nd(), EcalRegressionData::e3x3(), EcalRegressionData::eBottom(), DetId::Ecal, EcalBarrel, ecalClusterToolsESGetTokens_, EcalEndcap, ecalGeometry_, ecalGeometryToken_, ecalPFClusterIsoT_, ecalTopology_, ecalTopologyToken_, efficiencyLoader_, electronToken_, EcalRegressionData::eLeft(), EcalRegressionData::eMax(), pat::Photon::embedBasicClusters(), embedBasicClusters_, embedGenMatch_, pat::PATObject< ObjectType >::embedGenParticle(), pat::Photon::embedPreshowerClusters(), embedPreshowerClusters_, pat::Photon::embedRecHits(), embedRecHits_, pat::Photon::embedSeedCluster(), embedSeedCluster_, pat::Photon::embedSuperCluster(), embedSuperCluster_, pat::helper::EfficiencyLoader::enabled(), pat::helper::KinResolutionsLoader::enabled(), pat::helper::MultiIsolator::enabled(), pat::helper::MultiIsolator::endEvent(), EcalRegressionData::eRight(), eTComparator_, EcalRegressionData::eTop(), pat::helper::MultiIsolator::fill(), EcalRegressionData::fill(), first, genMatchTokens_, EcalClusterLazyToolsBase::ESGetTokens::get(), edm::EventSetup::getData(), reco::Photon::getPflowIsolationVariables(), CaloTopology::getSubdetectorTopology(), CaloSubdetectorTopology::getWindow(), ConversionTools::hasMatchedPromptElectron(), reco::Photon::hasPixelSeed(), hcalPFClusterIsoT_, hConversionsToken_, mps_fire::i, heavyIonCSV_trainingSettings::idx, iEvent, isoDepositLabels_, isoDepositTokens_, isolationValueLabels_, electronProducer_cff::isolationValues, isolationValueTokens_, isolator_, isolatorTmpStorage_, edm::EDGetTokenT< T >::isUninitialized(), edm::HandleBase::isValid(), dqmiolumiharvest::j, EcalRegressionData::maxSubClusDR(), EcalRegressionData::maxSubClusDRDEta(), EcalRegressionData::maxSubClusDRDPhi(), EcalRegressionData::maxSubClusDRRawEnergy(), eostools::move(), dqmiodumpmetadata::n, pat::helper::EfficiencyLoader::newEvent(), pat::helper::KinResolutionsLoader::newEvent(), photIDSrcs_, photIDTokens_, BPHMonitor_cfi::photons, photonToken_, reco::BeamSpot::position(), edm::Handle< T >::product(), PUPPIIsolation_charged_hadrons_, PUPPIIsolation_neutral_hadrons_, PUPPIIsolation_photons_, edm::SortedCollection< T, SORT >::push_back(), FastTrackerRecHitMaskProducer_cfi::recHits, reducedBarrelRecHitCollectionToken_, reducedEndcapRecHitCollectionToken_, resolutionLoader_, saveRegressionData_, fileCollector::seed, EcalRegressionData::seedCrysEtaOrX(), EcalRegressionData::seedCrysIEtaOrIX(), EcalRegressionData::seedCrysIPhiOrIY(), EcalRegressionData::seedCrysPhiOrY(), pat::Photon::setCryEta(), pat::Photon::setCryPhi(), pat::Photon::setE2nd(), pat::Photon::setE3x3(), pat::Photon::setEBottom(), pat::helper::EfficiencyLoader::setEfficiencies(), pat::Photon::setELeft(), pat::Photon::setEMax(), pat::Photon::setERight(), pat::Photon::setETop(), pat::Photon::setHasPixelSeed(), pat::Photon::setIEta(), pat::Photon::setIPhi(), pat::Photon::setIsoDeposit(), pat::Photon::setIsolation(), pat::Photon::setIsolationPUPPI(), pat::Photon::setMaxDR(), pat::Photon::setMaxDRDEta(), pat::Photon::setMaxDRDPhi(), pat::Photon::setMaxDRRawEnergy(), pat::Photon::setPassElectronVeto(), reco::Photon::setPflowIsolationVariables(), pat::Photon::setPhotonIDs(), pat::helper::KinResolutionsLoader::setResolutions(), pat::Photon::setSee(), pat::Photon::setSeedEnergy(), pat::Photon::setSep(), pat::Photon::setSpp(), pat::Photon::setSubClusDEta1(), pat::Photon::setSubClusDEta2(), pat::Photon::setSubClusDEta3(), pat::Photon::setSubClusDPhi1(), pat::Photon::setSubClusDPhi2(), pat::Photon::setSubClusDPhi3(), pat::Photon::setSubClusRawE1(), pat::Photon::setSubClusRawE2(), pat::Photon::setSubClusRawE3(), EcalRegressionData::sigmaIEtaIEta(), EcalRegressionData::sigmaIEtaIPhi(), EcalRegressionData::sigmaIPhiIPhi(), edm::SortedCollection< T, SORT >::size(), jetUpdater_cfi::sort, edm::SortedCollection< T, SORT >::sort(), EcalRegressionData::subClusDEta(), EcalRegressionData::subClusDPhi(), EcalRegressionData::subClusRawEnergy(), reco::Photon::PflowIsolationVariables::sumEcalClusterEt, reco::Photon::PflowIsolationVariables::sumHcalClusterEt, reco::Photon::superCluster(), tier0::unique(), userDataHelper_, and useUserData_.

◆ readIsolationLabels()

template<typename T >
void pat::PATPhotonProducer::readIsolationLabels ( const edm::ParameterSet iConfig,
const char *  psetName,
IsolationLabels labels,
std::vector< edm::EDGetTokenT< edm::ValueMap< T >>> &  tokens 
)
private

fill the labels vector from the contents of the parameter set, for the isodeposit or isolation values embedding

Definition at line 141 of file PATPhotonProducer.cc.

144  {
145  labels.clear();
146 
147  if (iConfig.exists(psetName)) {
148  edm::ParameterSet depconf = iConfig.getParameter<edm::ParameterSet>(psetName);
149 
150  if (depconf.exists("tracker"))
151  labels.push_back(std::make_pair(pat::TrackIso, depconf.getParameter<edm::InputTag>("tracker")));
152  if (depconf.exists("ecal"))
153  labels.push_back(std::make_pair(pat::EcalIso, depconf.getParameter<edm::InputTag>("ecal")));
154  if (depconf.exists("hcal"))
155  labels.push_back(std::make_pair(pat::HcalIso, depconf.getParameter<edm::InputTag>("hcal")));
156  if (depconf.exists("pfAllParticles")) {
157  labels.push_back(std::make_pair(pat::PfAllParticleIso, depconf.getParameter<edm::InputTag>("pfAllParticles")));
158  }
159  if (depconf.exists("pfChargedHadrons")) {
160  labels.push_back(
161  std::make_pair(pat::PfChargedHadronIso, depconf.getParameter<edm::InputTag>("pfChargedHadrons")));
162  }
163  if (depconf.exists("pfChargedAll")) {
164  labels.push_back(std::make_pair(pat::PfChargedAllIso, depconf.getParameter<edm::InputTag>("pfChargedAll")));
165  }
166  if (depconf.exists("pfPUChargedHadrons")) {
167  labels.push_back(
168  std::make_pair(pat::PfPUChargedHadronIso, depconf.getParameter<edm::InputTag>("pfPUChargedHadrons")));
169  }
170  if (depconf.exists("pfNeutralHadrons")) {
171  labels.push_back(
172  std::make_pair(pat::PfNeutralHadronIso, depconf.getParameter<edm::InputTag>("pfNeutralHadrons")));
173  }
174  if (depconf.exists("pfPhotons")) {
175  labels.push_back(std::make_pair(pat::PfGammaIso, depconf.getParameter<edm::InputTag>("pfPhotons")));
176  }
177  if (depconf.exists("user")) {
178  std::vector<edm::InputTag> userdeps = depconf.getParameter<std::vector<edm::InputTag>>("user");
179  std::vector<edm::InputTag>::const_iterator it = userdeps.begin(), ed = userdeps.end();
181  for (; it != ed; ++it, ++key) {
182  labels.push_back(std::make_pair(pat::IsolationKeys(key), *it));
183  }
184  }
185 
186  tokens = edm::vector_transform(
187  labels, [this](IsolationLabel const& label) { return consumes<edm::ValueMap<T>>(label.second); });
188  }
189  tokens = edm::vector_transform(
190  labels, [this](IsolationLabel const& label) { return consumes<edm::ValueMap<T>>(label.second); });
191 }

References pat::EcalIso, edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), pat::HcalIso, crabWrapper::key, label, SummaryClient_cfi::labels, pat::PfAllParticleIso, pat::PfChargedAllIso, pat::PfChargedHadronIso, pat::PfGammaIso, pat::PfNeutralHadronIso, pat::PfPUChargedHadronIso, pat::TrackIso, pat::UserBaseIso, and edm::vector_transform().

Member Data Documentation

◆ addEfficiencies_

bool pat::PATPhotonProducer::addEfficiencies_
private

Definition at line 111 of file PATPhotonProducer.cc.

◆ addGenMatch_

bool pat::PATPhotonProducer::addGenMatch_
private

Definition at line 83 of file PATPhotonProducer.cc.

Referenced by produce().

◆ addPFClusterIso_

bool pat::PATPhotonProducer::addPFClusterIso_
private

Definition at line 78 of file PATPhotonProducer.cc.

Referenced by produce().

◆ addPhotonID_

bool pat::PATPhotonProducer::addPhotonID_
private

Definition at line 117 of file PATPhotonProducer.cc.

Referenced by produce().

◆ addPuppiIsolation_

bool pat::PATPhotonProducer::addPuppiIsolation_
private

Definition at line 79 of file PATPhotonProducer.cc.

Referenced by produce().

◆ addResolutions_

bool pat::PATPhotonProducer::addResolutions_
private

Definition at line 114 of file PATPhotonProducer.cc.

◆ beamLineToken_

edm::EDGetTokenT<reco::BeamSpot> pat::PATPhotonProducer::beamLineToken_
private

Definition at line 63 of file PATPhotonProducer.cc.

Referenced by produce().

◆ ecalClusterToolsESGetTokens_

const EcalClusterLazyTools::ESGetTokens pat::PATPhotonProducer::ecalClusterToolsESGetTokens_
private

Definition at line 76 of file PATPhotonProducer.cc.

Referenced by produce().

◆ ecalGeometry_

const CaloGeometry* pat::PATPhotonProducer::ecalGeometry_
private

Definition at line 130 of file PATPhotonProducer.cc.

Referenced by produce().

◆ ecalGeometryToken_

const edm::ESGetToken<CaloGeometry, CaloGeometryRecord> pat::PATPhotonProducer::ecalGeometryToken_
private

Definition at line 135 of file PATPhotonProducer.cc.

Referenced by produce().

◆ ecalPFClusterIsoT_

edm::EDGetTokenT<edm::ValueMap<float> > pat::PATPhotonProducer::ecalPFClusterIsoT_
private

Definition at line 80 of file PATPhotonProducer.cc.

Referenced by produce().

◆ ecalTopology_

const CaloTopology* pat::PATPhotonProducer::ecalTopology_
private

Definition at line 129 of file PATPhotonProducer.cc.

Referenced by produce().

◆ ecalTopologyToken_

const edm::ESGetToken<CaloTopology, CaloTopologyRecord> pat::PATPhotonProducer::ecalTopologyToken_
private

Definition at line 134 of file PATPhotonProducer.cc.

Referenced by produce().

◆ efficiencyLoader_

pat::helper::EfficiencyLoader pat::PATPhotonProducer::efficiencyLoader_
private

Definition at line 112 of file PATPhotonProducer.cc.

Referenced by produce().

◆ electronToken_

edm::EDGetTokenT<reco::GsfElectronCollection> pat::PATPhotonProducer::electronToken_
private

Definition at line 61 of file PATPhotonProducer.cc.

Referenced by produce().

◆ embedBasicClusters_

bool pat::PATPhotonProducer::embedBasicClusters_
private

Definition at line 67 of file PATPhotonProducer.cc.

Referenced by produce().

◆ embedGenMatch_

bool pat::PATPhotonProducer::embedGenMatch_
private

Definition at line 84 of file PATPhotonProducer.cc.

Referenced by produce().

◆ embedPreshowerClusters_

bool pat::PATPhotonProducer::embedPreshowerClusters_
private

Definition at line 68 of file PATPhotonProducer.cc.

Referenced by produce().

◆ embedRecHits_

bool pat::PATPhotonProducer::embedRecHits_
private

Definition at line 69 of file PATPhotonProducer.cc.

Referenced by produce().

◆ embedSeedCluster_

bool pat::PATPhotonProducer::embedSeedCluster_
private

Definition at line 66 of file PATPhotonProducer.cc.

Referenced by produce().

◆ embedSuperCluster_

bool pat::PATPhotonProducer::embedSuperCluster_
private

Definition at line 65 of file PATPhotonProducer.cc.

Referenced by produce().

◆ eTComparator_

GreaterByEt<Photon> pat::PATPhotonProducer::eTComparator_
private

Definition at line 88 of file PATPhotonProducer.cc.

Referenced by produce().

◆ genMatchTokens_

std::vector<edm::EDGetTokenT<edm::Association<reco::GenParticleCollection> > > pat::PATPhotonProducer::genMatchTokens_
private

Definition at line 85 of file PATPhotonProducer.cc.

Referenced by produce().

◆ hcalPFClusterIsoT_

edm::EDGetTokenT<edm::ValueMap<float> > pat::PATPhotonProducer::hcalPFClusterIsoT_
private

Definition at line 81 of file PATPhotonProducer.cc.

Referenced by produce().

◆ hConversionsToken_

edm::EDGetTokenT<reco::ConversionCollection> pat::PATPhotonProducer::hConversionsToken_
private

Definition at line 62 of file PATPhotonProducer.cc.

Referenced by produce().

◆ isoDepositLabels_

IsolationLabels pat::PATPhotonProducer::isoDepositLabels_
private

Definition at line 100 of file PATPhotonProducer.cc.

Referenced by produce().

◆ isoDepositTokens_

std::vector<edm::EDGetTokenT<edm::ValueMap<IsoDeposit> > > pat::PATPhotonProducer::isoDepositTokens_
private

Definition at line 97 of file PATPhotonProducer.cc.

Referenced by produce().

◆ isolationValueLabels_

IsolationLabels pat::PATPhotonProducer::isolationValueLabels_
private

Definition at line 101 of file PATPhotonProducer.cc.

Referenced by produce().

◆ isolationValueTokens_

std::vector<edm::EDGetTokenT<edm::ValueMap<double> > > pat::PATPhotonProducer::isolationValueTokens_
private

Definition at line 98 of file PATPhotonProducer.cc.

Referenced by produce().

◆ isolator_

pat::helper::MultiIsolator pat::PATPhotonProducer::isolator_
private

Definition at line 95 of file PATPhotonProducer.cc.

Referenced by produce().

◆ isolatorTmpStorage_

pat::helper::MultiIsolator::IsolationValuePairs pat::PATPhotonProducer::isolatorTmpStorage_
private

Definition at line 96 of file PATPhotonProducer.cc.

Referenced by produce().

◆ photIDSrcs_

std::vector<NameTag> pat::PATPhotonProducer::photIDSrcs_
private

Definition at line 119 of file PATPhotonProducer.cc.

Referenced by produce().

◆ photIDTokens_

std::vector<edm::EDGetTokenT<edm::ValueMap<Bool_t> > > pat::PATPhotonProducer::photIDTokens_
private

Definition at line 120 of file PATPhotonProducer.cc.

Referenced by produce().

◆ photonToken_

edm::EDGetTokenT<edm::View<reco::Photon> > pat::PATPhotonProducer::photonToken_
private

Definition at line 60 of file PATPhotonProducer.cc.

Referenced by produce().

◆ PUPPIIsolation_charged_hadrons_

edm::EDGetTokenT<edm::ValueMap<float> > pat::PATPhotonProducer::PUPPIIsolation_charged_hadrons_
private

Definition at line 124 of file PATPhotonProducer.cc.

Referenced by produce().

◆ PUPPIIsolation_neutral_hadrons_

edm::EDGetTokenT<edm::ValueMap<float> > pat::PATPhotonProducer::PUPPIIsolation_neutral_hadrons_
private

Definition at line 125 of file PATPhotonProducer.cc.

Referenced by produce().

◆ PUPPIIsolation_photons_

edm::EDGetTokenT<edm::ValueMap<float> > pat::PATPhotonProducer::PUPPIIsolation_photons_
private

Definition at line 126 of file PATPhotonProducer.cc.

Referenced by produce().

◆ reducedBarrelRecHitCollection_

edm::InputTag pat::PATPhotonProducer::reducedBarrelRecHitCollection_
private

Definition at line 71 of file PATPhotonProducer.cc.

◆ reducedBarrelRecHitCollectionToken_

edm::EDGetTokenT<EcalRecHitCollection> pat::PATPhotonProducer::reducedBarrelRecHitCollectionToken_
private

Definition at line 72 of file PATPhotonProducer.cc.

Referenced by produce().

◆ reducedEndcapRecHitCollection_

edm::InputTag pat::PATPhotonProducer::reducedEndcapRecHitCollection_
private

Definition at line 73 of file PATPhotonProducer.cc.

◆ reducedEndcapRecHitCollectionToken_

edm::EDGetTokenT<EcalRecHitCollection> pat::PATPhotonProducer::reducedEndcapRecHitCollectionToken_
private

Definition at line 74 of file PATPhotonProducer.cc.

Referenced by produce().

◆ resolutionLoader_

pat::helper::KinResolutionsLoader pat::PATPhotonProducer::resolutionLoader_
private

Definition at line 115 of file PATPhotonProducer.cc.

Referenced by produce().

◆ saveRegressionData_

bool pat::PATPhotonProducer::saveRegressionData_
private

Definition at line 132 of file PATPhotonProducer.cc.

Referenced by produce().

◆ userDataHelper_

pat::PATUserDataHelper<pat::Photon> pat::PATPhotonProducer::userDataHelper_
private

Definition at line 127 of file PATPhotonProducer.cc.

Referenced by produce().

◆ useUserData_

bool pat::PATPhotonProducer::useUserData_
private

Definition at line 122 of file PATPhotonProducer.cc.

Referenced by produce().

SummaryClient_cfi.labels
labels
Definition: SummaryClient_cfi.py:61
EcalRegressionData::seedCrysIPhiOrIY
float seedCrysIPhiOrIY() const
Definition: EcalRegressionData.h:51
pat::PATPhotonProducer::electronToken_
edm::EDGetTokenT< reco::GsfElectronCollection > electronToken_
Definition: PATPhotonProducer.cc:61
EcalRegressionData::eTop
float eTop() const
Definition: EcalRegressionData.h:40
pat::PATPhotonProducer::isolator_
pat::helper::MultiIsolator isolator_
Definition: PATPhotonProducer.cc:95
pat::PATPhotonProducer::saveRegressionData_
bool saveRegressionData_
Definition: PATPhotonProducer.cc:132
pat::PATUserDataHelper
Assists in assimilating all pat::UserData into pat objects.
Definition: PATUserDataHelper.h:49
edm::SortedCollection::sort
void sort()
Definition: SortedCollection.h:302
mps_fire.i
i
Definition: mps_fire.py:428
pat::EcalIso
Definition: Isolation.h:11
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
edm::SortedCollection< EcalRecHit >::const_iterator
std::vector< EcalRecHit >::const_iterator const_iterator
Definition: SortedCollection.h:80
pat::PATPhotonProducer::useUserData_
bool useUserData_
Definition: PATPhotonProducer.cc:122
Reference_intrackfit_cff.barrel
list barrel
Definition: Reference_intrackfit_cff.py:37
reco::Photon::superCluster
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
EcalRegressionData::sigmaIEtaIEta
float sigmaIEtaIEta() const
Definition: EcalRegressionData.h:44
EcalRegressionData::eRight
float eRight() const
Definition: EcalRegressionData.h:43
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
pat::PATPhotonProducer::embedBasicClusters_
bool embedBasicClusters_
Definition: PATPhotonProducer.cc:67
edm::Handle::product
T const * product() const
Definition: Handle.h:70
electronProducer_cff.isolationValues
isolationValues
Definition: electronProducer_cff.py:26
pat::PATPhotonProducer::reducedEndcapRecHitCollectionToken_
edm::EDGetTokenT< EcalRecHitCollection > reducedEndcapRecHitCollectionToken_
Definition: PATPhotonProducer.cc:74
EcalRegressionData::seedCrysPhiOrY
float seedCrysPhiOrY() const
Definition: EcalRegressionData.h:48
EcalRegressionData::maxSubClusDRRawEnergy
float maxSubClusDRRawEnergy() const
Definition: EcalRegressionData.h:55
pat::helper::EfficiencyLoader
Definition: EfficiencyLoader.h:16
pat::helper::MultiIsolator::fill
void fill(const edm::View< T > &coll, int idx, IsolationValuePairs &isolations) const
Definition: MultiIsolator.h:84
pat::PATUserDataHelper::fillDescription
static void fillDescription(edm::ParameterSetDescription &iDesc)
Definition: PATUserDataHelper.h:135
ConversionTools::hasMatchedPromptElectron
static bool hasMatchedPromptElectron(const reco::SuperClusterRef &sc, const reco::GsfElectronCollection &eleCol, const reco::ConversionCollection &convCol, const math::XYZPoint &beamspot, bool allowCkfMatch=true, float lxyMin=2.0, float probMin=1e-6, unsigned int nHitsBeforeVtxMax=0)
Definition: ConversionTools.cc:389
pat::PATPhotonProducer::photonToken_
edm::EDGetTokenT< edm::View< reco::Photon > > photonToken_
Definition: PATPhotonProducer.cc:60
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
pat::helper::EfficiencyLoader::enabled
bool enabled() const
'true' if this there is at least one efficiency configured
Definition: EfficiencyLoader.h:25
edm::PtrVectorItr
Definition: PtrVector.h:51
edm::EDGetTokenT::isUninitialized
constexpr bool isUninitialized() const noexcept
Definition: EDGetToken.h:99
edm::SortedCollection< EcalRecHit >
edm::SortedCollection::size
size_type size() const
Definition: SortedCollection.h:215
pat::PfAllParticleIso
Definition: Isolation.h:13
EcalRegressionData
Definition: EcalRegressionData.h:17
pat::PATPhotonProducer::embedPreshowerClusters_
bool embedPreshowerClusters_
Definition: PATPhotonProducer.cc:68
edm::ParameterSet::existsAs
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:171
EcalRegressionData::maxSubClusDRDPhi
float maxSubClusDRDPhi() const
Definition: EcalRegressionData.h:53
pat::PATPhotonProducer::ecalPFClusterIsoT_
edm::EDGetTokenT< edm::ValueMap< float > > ecalPFClusterIsoT_
Definition: PATPhotonProducer.cc:80
EcalRegressionData::maxSubClusDRDEta
float maxSubClusDRDEta() const
Definition: EcalRegressionData.h:54
edm::Handle
Definition: AssociativeIterator.h:50
edm::ParameterSetDescription::addOptional
ParameterDescriptionBase * addOptional(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:105
edm::SortedCollection::push_back
void push_back(T const &t)
Definition: SortedCollection.h:188
EcalRegressionData::eLeft
float eLeft() const
Definition: EcalRegressionData.h:42
pat::helper::MultiIsolator::IsolationValuePairs
std::vector< std::pair< pat::IsolationKeys, float > > IsolationValuePairs
Definition: MultiIsolator.h:17
EcalRegressionData::SubClusNr::C1
EcalRegressionData::subClusDEta
const std::vector< float > & subClusDEta() const
Definition: EcalRegressionData.h:58
EcalRegressionData::e2nd
float e2nd() const
Definition: EcalRegressionData.h:38
EcalBarrel
Definition: EcalSubdetector.h:10
pat::PATPhotonProducer::isolationValueLabels_
IsolationLabels isolationValueLabels_
Definition: PATPhotonProducer.cc:101
pat::helper::KinResolutionsLoader::enabled
bool enabled() const
'true' if this there is at least one efficiency configured
Definition: KinResolutionsLoader.h:27
EcalRegressionData::seedCrysIEtaOrIX
float seedCrysIEtaOrIX() const
Definition: EcalRegressionData.h:50
pat::PATPhotonProducer::IsoDepositMaps
std::vector< edm::Handle< edm::ValueMap< IsoDeposit > > > IsoDepositMaps
Definition: PATPhotonProducer.cc:90
pat::PATPhotonProducer::userDataHelper_
pat::PATUserDataHelper< pat::Photon > userDataHelper_
Definition: PATPhotonProducer.cc:127
pat::helper::MultiIsolator::enabled
bool enabled() const
True if it has a non null configuration.
Definition: MultiIsolator.h:55
edm::Ref< GenParticleCollection >
EcalRegressionData::eMax
float eMax() const
Definition: EcalRegressionData.h:37
heavyIonCSV_trainingSettings.idx
idx
Definition: heavyIonCSV_trainingSettings.py:5
pat::PATPhotonProducer::embedSeedCluster_
bool embedSeedCluster_
Definition: PATPhotonProducer.cc:66
pat::helper::MultiIsolator::endEvent
void endEvent()
Definition: MultiIsolator.cc:85
fileCollector.seed
seed
Definition: fileCollector.py:127
pat::PATPhotonProducer::efficiencyLoader_
pat::helper::EfficiencyLoader efficiencyLoader_
Definition: PATPhotonProducer.cc:112
DetId
Definition: DetId.h:17
reco::Photon::PflowIsolationVariables
Definition: Photon.h:519
EcalRegressionData::fill
void fill(const reco::SuperCluster &superClus, const EcalRecHitCollection *ebRecHits, const EcalRecHitCollection *eeRecHits, const CaloGeometry *geom, const CaloTopology *topology, const reco::VertexCollection *vertices)
Definition: EcalRegressionData.h:82
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
names
const std::string names[nVars_]
Definition: PhotonIDValueMapProducer.cc:124
pat::PfChargedHadronIso
Definition: Isolation.h:14
pat::PATUserDataHelper::add
void add(ObjectType &patObject, edm::Event const &iEvent, edm::EventSetup const &iSetup)
Definition: PATUserDataHelper.h:114
pat::PATPhotonProducer::resolutionLoader_
pat::helper::KinResolutionsLoader resolutionLoader_
Definition: PATPhotonProducer.cc:115
pat::helper::EfficiencyLoader::newEvent
void newEvent(const edm::Event &event)
To be called for each new event, reads in the ValueMaps for efficiencies.
Definition: EfficiencyLoader.cc:21
pat::PATPhotonProducer::isoDepositLabels_
IsolationLabels isoDepositLabels_
Definition: PATPhotonProducer.cc:100
pat::PATPhotonProducer::addPFClusterIso_
bool addPFClusterIso_
Definition: PATPhotonProducer.cc:78
pat::PATPhotonProducer::embedRecHits_
bool embedRecHits_
Definition: PATPhotonProducer.cc:69
pat::helper::KinResolutionsLoader
Definition: KinResolutionsLoader.h:18
pat::PATPhotonProducer::isoDepositTokens_
std::vector< edm::EDGetTokenT< edm::ValueMap< IsoDeposit > > > isoDepositTokens_
Definition: PATPhotonProducer.cc:97
EcalRegressionData::SubClusNr::C3
reco::BeamSpot::position
const Point & position() const
position
Definition: BeamSpot.h:59
EcalClusterLazyTools
EcalRegressionData::SubClusNr::C2
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:125
pat::PATPhotonProducer::IsolationLabel
std::pair< pat::IsolationKeys, edm::InputTag > IsolationLabel
Definition: PATPhotonProducer.cc:92
edm::vector_transform
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::type >
Definition: transform.h:11
EcalEndcap
Definition: EcalSubdetector.h:10
FastTrackerRecHitMaskProducer_cfi.recHits
recHits
Definition: FastTrackerRecHitMaskProducer_cfi.py:8
pat::PATPhotonProducer::isolatorTmpStorage_
pat::helper::MultiIsolator::IsolationValuePairs isolatorTmpStorage_
Definition: PATPhotonProducer.cc:96
reco::Photon::hasPixelSeed
bool hasPixelSeed() const
Bool flagging photons having a non-zero size vector of Ref to electornPixel seeds.
Definition: Photon.h:76
pat::helper::KinResolutionsLoader::setResolutions
void setResolutions(pat::PATObject< T > &obj) const
Sets the efficiencies for this object, using the reference to the original objects.
Definition: KinResolutionsLoader.h:49
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:681
edm::ParameterSet
Definition: ParameterSet.h:47
edm::ParameterSetDescription::setComment
void setComment(std::string const &value)
Definition: ParameterSetDescription.cc:33
pat::PATPhotonProducer::ecalGeometryToken_
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > ecalGeometryToken_
Definition: PATPhotonProducer.cc:135
EcalRegressionData::maxSubClusDR
float maxSubClusDR() const
Definition: EcalRegressionData.h:52
pat::PfGammaIso
Definition: Isolation.h:16
makeGlobalPositionRcd_cfg.tag
tag
Definition: makeGlobalPositionRcd_cfg.py:6
pat::helper::KinResolutionsLoader::fillDescription
static void fillDescription(edm::ParameterSetDescription &iDesc)
Method for documentation and validation of PSet.
Definition: KinResolutionsLoader.cc:34
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
pat::PATPhotonProducer::beamLineToken_
edm::EDGetTokenT< reco::BeamSpot > beamLineToken_
Definition: PATPhotonProducer.cc:63
CaloTopology::getSubdetectorTopology
const CaloSubdetectorTopology * getSubdetectorTopology(const DetId &id) const
access the subdetector Topology for the given subdetector directly
Definition: CaloTopology.cc:17
pat::UserBaseIso
Definition: Isolation.h:22
edm::ParameterSetDescription::ifValue
ParameterDescriptionNode * ifValue(ParameterDescription< T > const &switchParameter, std::unique_ptr< ParameterDescriptionCases< T >> cases)
Definition: ParameterSetDescription.h:220
pat::TrackIso
Definition: Isolation.h:10
Photon
Definition: Photon.py:1
edm::ParameterSet::getParameterNamesForType
std::vector< std::string > getParameterNamesForType(bool trackiness=true) const
Definition: ParameterSet.h:179
iEvent
int iEvent
Definition: GenABIO.cc:224
pat::PATPhotonProducer::addGenMatch_
bool addGenMatch_
Definition: PATPhotonProducer.cc:83
pat::PATPhotonProducer::isolationValueTokens_
std::vector< edm::EDGetTokenT< edm::ValueMap< double > > > isolationValueTokens_
Definition: PATPhotonProducer.cc:98
pat::HcalIso
Definition: Isolation.h:12
pat::PATPhotonProducer::ecalTopology_
const CaloTopology * ecalTopology_
Definition: PATPhotonProducer.cc:129
pat::PfNeutralHadronIso
Definition: Isolation.h:15
pat::PATPhotonProducer::IsolationValueMaps
std::vector< edm::Handle< edm::ValueMap< double > > > IsolationValueMaps
Definition: PATPhotonProducer.cc:91
BPHMonitor_cfi.photons
photons
Definition: BPHMonitor_cfi.py:91
pat::PfChargedAllIso
Definition: Isolation.h:25
edm::Association
Definition: Association.h:18
pat::PATPhotonProducer::eTComparator_
GreaterByEt< Photon > eTComparator_
Definition: PATPhotonProducer.cc:88
pat::PATPhotonProducer::addEfficiencies_
bool addEfficiencies_
Definition: PATPhotonProducer.cc:111
edm::ParameterSetDescription::addNode
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
Definition: ParameterSetDescription.cc:41
edm::ParameterSetDescription::setAllowAnything
void setAllowAnything()
allow any parameter label/value pairs
Definition: ParameterSetDescription.cc:37
EcalRegressionData::subClusDPhi
const std::vector< float > & subClusDPhi() const
Definition: EcalRegressionData.h:57
EcalRegressionData::e3x3
float e3x3() const
Definition: EcalRegressionData.h:39
DetId::Ecal
Definition: DetId.h:27
pat::PATPhotonProducer::readIsolationLabels
void readIsolationLabels(const edm::ParameterSet &iConfig, const char *psetName, IsolationLabels &labels, std::vector< edm::EDGetTokenT< edm::ValueMap< T >>> &tokens)
Definition: PATPhotonProducer.cc:141
pat::PfPUChargedHadronIso
Definition: Isolation.h:24
pat::helper::KinResolutionsLoader::newEvent
void newEvent(const edm::Event &event, const edm::EventSetup &setup)
To be called for each new event, reads in the EventSetup object.
Definition: KinResolutionsLoader.cc:27
EcalClusterLazyToolsBase::ESGetTokens::get
ESData get(edm::EventSetup const &eventSetup) const
Definition: EcalClusterLazyTools.h:64
EcalRegressionData::seedCrysEtaOrX
float seedCrysEtaOrX() const
Definition: EcalRegressionData.h:49
edm::Ptr
Definition: AssociationVector.h:31
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
pat::PATPhotonProducer::photIDTokens_
std::vector< edm::EDGetTokenT< edm::ValueMap< Bool_t > > > photIDTokens_
Definition: PATPhotonProducer.cc:120
CaloSubdetectorTopology::getWindow
virtual std::vector< DetId > getWindow(const DetId &id, const int &northSouthSize, const int &eastWestSize) const
Definition: CaloSubdetectorTopology.cc:4
pat::PATPhotonProducer::photIDSrcs_
std::vector< NameTag > photIDSrcs_
Definition: PATPhotonProducer.cc:119
pat::PATPhotonProducer::genMatchTokens_
std::vector< edm::EDGetTokenT< edm::Association< reco::GenParticleCollection > > > genMatchTokens_
Definition: PATPhotonProducer.cc:85
EcalRegressionData::eBottom
float eBottom() const
Definition: EcalRegressionData.h:41
pat::PATPhotonProducer::embedSuperCluster_
bool embedSuperCluster_
Definition: PATPhotonProducer.cc:65
eostools.move
def move(src, dest)
Definition: eostools.py:511
EcalRegressionData::subClusRawEnergy
const std::vector< float > & subClusRawEnergy() const
Definition: EcalRegressionData.h:56
pat::IsolationKeys
IsolationKeys
Enum defining isolation keys.
Definition: Isolation.h:9
pat::helper::MultiIsolator::beginEvent
void beginEvent(const edm::Event &event, const edm::EventSetup &eventSetup)
Definition: MultiIsolator.cc:79
tier0.unique
def unique(seq, keepstr=True)
Definition: tier0.py:24
pat::PATPhotonProducer::ecalGeometry_
const CaloGeometry * ecalGeometry_
Definition: PATPhotonProducer.cc:130
pat::helper::EfficiencyLoader::setEfficiencies
void setEfficiencies(pat::PATObject< T > &obj, const R &originalRef) const
Sets the efficiencies for this object, using the reference to the original objects.
Definition: EfficiencyLoader.h:41
pat::PATPhotonProducer::hcalPFClusterIsoT_
edm::EDGetTokenT< edm::ValueMap< float > > hcalPFClusterIsoT_
Definition: PATPhotonProducer.cc:81
EcalRegressionData::sigmaIEtaIPhi
float sigmaIEtaIPhi() const
Definition: EcalRegressionData.h:45
pat::PATPhotonProducer::hConversionsToken_
edm::EDGetTokenT< reco::ConversionCollection > hConversionsToken_
Definition: PATPhotonProducer.cc:62
pat::PATPhotonProducer::ecalTopologyToken_
const edm::ESGetToken< CaloTopology, CaloTopologyRecord > ecalTopologyToken_
Definition: PATPhotonProducer.cc:134
edm::ValueMap< float >
Exception
Definition: hltDiff.cc:245
pat::PATPhotonProducer::PUPPIIsolation_photons_
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_photons_
Definition: PATPhotonProducer.cc:126
pat::PATPhotonProducer::addPhotonID_
bool addPhotonID_
Definition: PATPhotonProducer.cc:117
pat::PATPhotonProducer::addPuppiIsolation_
bool addPuppiIsolation_
Definition: PATPhotonProducer.cc:79
pat::PATPhotonProducer::reducedBarrelRecHitCollectionToken_
edm::EDGetTokenT< EcalRecHitCollection > reducedBarrelRecHitCollectionToken_
Definition: PATPhotonProducer.cc:72
or
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::RefToBase
Definition: AssociativeIterator.h:54
edm::View::const_iterator
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
reco::Photon::PflowIsolationVariables::sumEcalClusterEt
float sumEcalClusterEt
Definition: Photon.h:526
reco::Photon::PflowIsolationVariables::sumHcalClusterEt
float sumHcalClusterEt
Definition: Photon.h:527
pat::PATPhotonProducer::PUPPIIsolation_neutral_hadrons_
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_neutral_hadrons_
Definition: PATPhotonProducer.cc:125
cms::Exception
Definition: Exception.h:70
pat::PATPhotonProducer::PUPPIIsolation_charged_hadrons_
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_charged_hadrons_
Definition: PATPhotonProducer.cc:124
edm::ParameterDescriptionNode::setComment
void setComment(std::string const &value)
Definition: ParameterDescriptionNode.cc:106
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
pat::PATPhotonProducer::reducedBarrelRecHitCollection_
edm::InputTag reducedBarrelRecHitCollection_
Definition: PATPhotonProducer.cc:71
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
pat::PATPhotonProducer::addResolutions_
bool addResolutions_
Definition: PATPhotonProducer.cc:114
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
pat::PATPhotonProducer::ecalClusterToolsESGetTokens_
const EcalClusterLazyTools::ESGetTokens ecalClusterToolsESGetTokens_
Definition: PATPhotonProducer.cc:76
crabWrapper.key
key
Definition: crabWrapper.py:19
edm::EmptyGroupDescription
Definition: EmptyGroupDescription.h:15
edm::ParameterDescription
Definition: ParameterDescription.h:110
CandIsolatorFromDeposits_cfi.deposits
deposits
Definition: CandIsolatorFromDeposits_cfi.py:4
pat::PATPhotonProducer::embedGenMatch_
bool embedGenMatch_
Definition: PATPhotonProducer.cc:84
edm::InputTag
Definition: InputTag.h:15
label
const char * label
Definition: PFTauDecayModeTools.cc:11
pat::PATPhotonProducer::NameTag
std::pair< std::string, edm::InputTag > NameTag
Definition: PATPhotonProducer.cc:118
hit
Definition: SiStripHitEffFromCalibTree.cc:88
EcalRegressionData::sigmaIPhiIPhi
float sigmaIPhiIPhi() const
Definition: EcalRegressionData.h:46
pat::PATPhotonProducer::reducedEndcapRecHitCollection_
edm::InputTag reducedEndcapRecHitCollection_
Definition: PATPhotonProducer.cc:73