Classes | |
class | RecoStepInfo |
Public Member Functions | |
void | endStream () override |
GEDPhotonProducer (const edm::ParameterSet &ps, const CacheData *gcache) | |
void | produce (edm::Event &evt, const edm::EventSetup &es) override |
Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< CacheData > > | |
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 EDProducer & | operator= (const EDProducer &)=delete |
Static Public Member Functions | |
static void | globalEndJob (const CacheData *) |
static std::unique_ptr< CacheData > | initializeGlobalCache (const edm::ParameterSet &) |
Private Types | |
typedef EcalPFClusterIsolation < reco::Photon > | PhotonEcalPFClusterIsolation |
typedef HcalPFClusterIsolation < reco::Photon > | PhotonHcalPFClusterIsolation |
Private Member Functions | |
void | fillPhotonCollection (edm::Event &evt, edm::EventSetup const &es, const edm::Handle< reco::PhotonCoreCollection > &photonCoreHandle, const CaloTopology *topology, const EcalRecHitCollection *ecalBarrelHits, const EcalRecHitCollection *ecalEndcapHits, const EcalRecHitCollection *preshowerHits, const ElectronHcalHelper *hcalHelperCone, const ElectronHcalHelper *hcalHelperBc, const reco::VertexCollection &pvVertices, reco::PhotonCollection &outputCollection, int &iSC, EcalPFRecHitThresholds const &thresholds) |
void | fillPhotonCollection (edm::Event &evt, edm::EventSetup const &es, const edm::Handle< reco::PhotonCollection > &photonHandle, const edm::Handle< reco::PFCandidateCollection > pfCandidateHandle, const edm::Handle< reco::PFCandidateCollection > pfEGCandidateHandle, reco::VertexCollection const &pvVertices, reco::PhotonCollection &outputCollection, int &iSC, const edm::Handle< edm::ValueMap< float >> &chargedHadrons, const edm::Handle< edm::ValueMap< float >> &neutralHadrons, const edm::Handle< edm::ValueMap< float >> &photons, const edm::Handle< edm::ValueMap< float >> &chargedHadronsWorstVtx, const edm::Handle< edm::ValueMap< float >> &chargedHadronsWorstVtxGeomVeto, const edm::Handle< edm::ValueMap< float >> &chargedHadronsPFPV, const edm::Handle< edm::ValueMap< float >> &pfEcalClusters, const edm::Handle< edm::ValueMap< float >> &pfHcalClusters) |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< CacheData > > | |
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 |
Definition at line 74 of file GEDPhotonProducer.cc.
|
private |
Definition at line 213 of file GEDPhotonProducer.cc.
|
private |
Definition at line 231 of file GEDPhotonProducer.cc.
GEDPhotonProducer::GEDPhotonProducer | ( | const edm::ParameterSet & | ps, |
const CacheData * | gcache | ||
) |
Get the set for PF cluster isolation calculator
Definition at line 260 of file GEDPhotonProducer.cc.
References barrelEcalHits_, caloGeometryToken_, caloTopologyToken_, candidateP4type_, ElectronHcalHelper::Configuration::checkHcalStatus, checkHcalStatus_, submitPVResolutionJobs::config, dnnPFidEnabled_, ecalClusterESGetTokens_, ecaldrMax_, ecaldrVetoBarrel_, ecaldrVetoEndcap_, ecalenergyBarrel_, ecalenergyEndcap_, ecaletaStripBarrel_, ecaletaStripEndcap_, ecalPFRechitThresholdsToken_, endcapEcalHits_, DeDxTools::esConsumes(), ElectronHcalHelper::Configuration::eThresHB, ElectronHcalHelper::Configuration::eThresHE, edm::ParameterSet::exists(), flagsexclEB_, flagsexclEE_, edm::ParameterSet::getParameter(), ElectronHcalHelper::Configuration::hbheRecHits, hbheRecHits_, hcaldrMax_, hcaldrVetoBarrel_, hcaldrVetoEndcap_, hcalenergyBarrel_, hcalenergyEndcap_, hcaletaStripBarrel_, hcaletaStripEndcap_, hcalHelperBc_, hcalHelperCone_, hcalRun2EffDepth_, hcaluseEt_, highEt_, ElectronHcalHelper::Configuration::hOverEConeSize, hOverEConeSize_, GEDPhotonProducer::RecoStepInfo::isFinal(), edm::EDGetTokenT< T >::isUninitialized(), ElectronHcalHelper::Configuration::maxSeverityHB, ElectronHcalHelper::Configuration::maxSeverityHE, minR9Barrel_, minR9Endcap_, multThresEB_, multThresEE_, mergeVDriftHistosByStation::name, ElectronHcalHelper::Configuration::onlyBehindCluster, pfCandidates_, pfClusterProducer_, pfClusterProducerHCAL_, pfClusterProducerHFEM_, pfClusterProducerHFHAD_, pfEgammaCandidates_, phoChargedIsolationToken_, phoChargedPFPVIsoToken_, phoChargedWorstVtxGeomVetoIsoToken_, phoChargedWorstVtxIsoToken_, phoNeutralHadronIsolationToken_, phoPFECALClusIsolationToken_, phoPFHCALClusIsolationToken_, phoPhotonIsolationToken_, photonCollection_, photonCoreProducerT_, CacheData::photonDNNEstimator, photonEnergyCorrector_, photonIsoCalculator_, photonMIPHaloTagger_, photonProducer_, photonProducerT_, preselCutValuesBarrel_, preselCutValuesEndcap_, preshowerHits_, recoStep_, runMIPTagger_, severitiesexclEB_, severitiesexclEE_, AlCaHLTBitMon_QueryRunRegistry::string, tfSessions_, useHF_, usePrimaryVertex_, valueMapPFCandPhoton_, and vertexProducer_.
|
override |
Definition at line 458 of file GEDPhotonProducer.cc.
References tensorflow::closeSession(), run_AlCaRecoTriggerBitsUpdateWorkflow::session, and tfSessions_.
|
private |
fill shower shape block
fill extra shower shapes
fill full5x5 shower shape block
fill extra full5x5 shower shapes
get ecal photon specific corrected energy plus values from regressions and store them in the Photon
Pre-selection loose isolation cuts
Definition at line 661 of file GEDPhotonProducer.cc.
References Cluster2ndMoments::alpha, barrelEcalHits_, caloGeom_, EcalClusterToolsT< noZS >::cluster2ndMoments(), EcalClusterToolsT< noZS >::covariances(), reco::Photon::PflowIDVariables::dnn, dnnPFidEnabled_, EcalClusterToolsT< noZS >::e1x3(), reco::Photon::ShowerShape::e1x3, EcalClusterToolsT< noZS >::e1x5(), reco::Photon::ShowerShape::e1x5, reco::Photon::ShowerShape::e2nd, EcalClusterToolsT< noZS >::e2nd(), EcalClusterToolsT< noZS >::e2x2(), reco::Photon::ShowerShape::e2x2, reco::Photon::ShowerShape::e2x5, EcalClusterToolsT< noZS >::e2x5Bottom(), reco::Photon::ShowerShape::e2x5Bottom, EcalClusterToolsT< noZS >::e2x5Left(), reco::Photon::ShowerShape::e2x5Left, EcalClusterToolsT< noZS >::e2x5Max(), reco::Photon::ShowerShape::e2x5Max, EcalClusterToolsT< noZS >::e2x5Right(), reco::Photon::ShowerShape::e2x5Right, EcalClusterToolsT< noZS >::e2x5Top(), reco::Photon::ShowerShape::e2x5Top, EcalClusterToolsT< noZS >::e3x3(), reco::Photon::ShowerShape::e3x3, EcalClusterToolsT< noZS >::e5x5(), reco::Photon::ShowerShape::e5x5, EcalClusterToolsT< noZS >::eBottom(), reco::Photon::ShowerShape::eBottom, reco::Photon::ecal_photons, EcalBarrel, ecalClusterESGetTokens_, EcalEndcap, ecalisoAlgo, ecalRecalibRecHit_cfi::ecalRecHit, reco::Photon::ShowerShape::effSigmaRR, EcalClusterToolsT< noZS >::eLeft(), reco::Photon::ShowerShape::eLeft, EcalClusterToolsT< noZS >::eMax(), edm::SortedCollection< T, SORT >::end(), endcapEcalHits_, EcalClusterToolsT< noZS >::eRight(), reco::Photon::ShowerShape::eRight, EcalClusterToolsT< noZS >::eTop(), reco::Photon::ShowerShape::eTop, edm::SortedCollection< T, SORT >::find(), flagsexclEB_, flagsexclEE_, EcalClusterLazyToolsBase::ESGetTokens::get(), edm::Event::getHandle(), ElectronHcalHelper::hasActiveHcal(), ElectronHcalHelper::hcalESum(), hcalisoAlgo, reco::Photon::ShowerShape::hcalOverEcal, reco::Photon::ShowerShape::hcalOverEcalBc, ElectronHcalHelper::hcalTowersBehindClusters(), reco::Photon::ShowerShape::hcalTowersBehindClusters, highEt_, gpuClustering::id, reco::Photon::ShowerShape::invalidHcal, reco::Photon::FiducialFlags::isEE, edm::isFinite(), EcalTools::isHGCalDet(), edm::Ref< C, T, F >::isNonnull(), reco::Photon::SaturationInfo::isSeedSaturated, EgammaLocalCovParamDefaults::kRelEnCut, EcalClusterToolsT< noZS >::localCovariances(), LogDebug, reco::Photon::ShowerShape::maxEnergyXtal, reco::Photon::SaturationInfo::nSaturatedXtals, pfClusterProducer_, pfClusterProducerHCAL_, pfClusterProducerHFEM_, pfClusterProducerHFHAD_, photonIsoCalculator_, photonMIPHaloTagger_, reco::Photon::ShowerShape::pre7DepthHcal, preselCutValuesBarrel_, preselCutValuesEndcap_, preshowerHits_, ptFast(), reco::Photon::regression1, reco::Photon::regression2, reco::CaloCluster::seed(), severitiesexclEB_, severitiesexclEE_, reco::Photon::ShowerShape::sigmaEtaEta, reco::Photon::ShowerShape::sigmaIetaIeta, reco::Photon::ShowerShape::sigmaIetaIphi, reco::Photon::ShowerShape::sigmaIphiIphi, Cluster2ndMoments::sMaj, reco::Photon::ShowerShape::smAlpha, Cluster2ndMoments::sMin, reco::Photon::ShowerShape::smMajor, reco::Photon::ShowerShape::smMinor, mathSSE::sqrt(), reco::Photon::PflowIsolationVariables::sumEcalClusterEt, reco::Photon::PflowIsolationVariables::sumHcalClusterEt, tfSessions_, parallelization::uint(), useHF_, and makeHLTPrescaleTable::values.
Referenced by produce().
|
private |
Definition at line 1017 of file GEDPhotonProducer.cc.
References reco::Photon::PflowIsolationVariables::chargedHadronIso, reco::Photon::PflowIsolationVariables::chargedHadronPFPVIso, reco::Photon::PflowIsolationVariables::chargedHadronWorstVtxGeomVetoIso, reco::Photon::PflowIsolationVariables::chargedHadronWorstVtxIso, reco::Photon::ecal_photons, EcalBarrel, EcalEndcap, EcalTools::isHGCalDet(), edm::Ref< C, T, F >::isNonnull(), GEDPhotonProducer::RecoStepInfo::isOOT(), edm::EDGetTokenT< T >::isUninitialized(), reco::Photon::PflowIsolationVariables::neutralHadronIso, reco::Photon::p4(), phoPFECALClusIsolationToken_, phoPFHCALClusIsolationToken_, reco::Photon::PflowIsolationVariables::photonIso, preselCutValuesBarrel_, preselCutValuesEndcap_, ptFast(), recoStep_, reco::Photon::regression1, reco::Photon::regression2, reco::Photon::setCandidateP4type(), reco::Photon::setP4(), reco::Photon::setPflowIsolationVariables(), reco::Photon::PflowIsolationVariables::sumEcalClusterEt, and reco::Photon::PflowIsolationVariables::sumHcalClusterEt.
|
inlinestatic |
Definition at line 81 of file GEDPhotonProducer.cc.
|
static |
Definition at line 453 of file GEDPhotonProducer.cc.
References submitPVResolutionJobs::config.
|
override |
PF ECAL cluster based isolations
Definition at line 464 of file GEDPhotonProducer.cc.
References barrelEcalHits_, HLT_FULL_cff::barrelRecHits, caloGeom_, caloGeometryToken_, caloTopologyToken_, ecaldrMax_, ecaldrVetoBarrel_, ecaldrVetoEndcap_, ecalenergyBarrel_, ecalenergyEndcap_, ecaletaStripBarrel_, ecaletaStripEndcap_, ecalisoAlgo, ecalPFRechitThresholdsToken_, endcapEcalHits_, HLT_FULL_cff::endcapRecHits, Exception, fillPhotonCollection(), edm::Event::get(), edm::Event::getByToken(), edm::EventSetup::getData(), hcaldrMax_, hcaldrVetoBarrel_, hcaldrVetoEndcap_, hcalenergyBarrel_, hcalenergyEndcap_, hcaletaStripBarrel_, hcaletaStripEndcap_, hcalHelperBc_, hcalHelperCone_, hcalisoAlgo, hcalRun2EffDepth_, hcaluseEt_, GEDPhotonProducer::RecoStepInfo::isFinal(), GEDPhotonProducer::RecoStepInfo::isOOT(), edm::EDGetTokenT< T >::isUninitialized(), edm::InputTag::label(), eostools::move(), pfCandidates_, pfEgammaCandidates_, phoChargedIsolationToken_, phoChargedPFPVIsoToken_, phoChargedWorstVtxGeomVetoIsoToken_, phoChargedWorstVtxIsoToken_, phoNeutralHadronIsolationToken_, phoPFECALClusIsolationToken_, phoPFHCALClusIsolationToken_, phoPhotonIsolationToken_, photonCollection_, photonCoreProducerT_, photonProducer_, photonProducerT_, preshowerHits_, edm::Event::put(), recoStep_, lowPtGsfElectronSeeds_cfi::thresholds(), makeHLTPrescaleTable::values, GoodVertex_cfg::vertexCollection, and vertexProducer_.
|
private |
Definition at line 135 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), GEDPhotonProducer(), and produce().
|
private |
Definition at line 182 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and produce().
|
private |
Definition at line 194 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 193 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 191 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 172 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 203 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 155 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 206 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 207 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 208 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 211 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 212 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 209 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 210 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 214 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and produce().
|
private |
Definition at line 195 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 136 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), GEDPhotonProducer(), and produce().
|
private |
Definition at line 164 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 165 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 140 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 218 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 219 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 220 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 223 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 224 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 221 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 222 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 199 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 198 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 232 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and produce().
|
private |
Definition at line 200 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 225 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 173 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 171 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 174 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 175 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 169 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 170 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 143 of file GEDPhotonProducer.cc.
|
private |
Definition at line 139 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 215 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 227 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 228 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 229 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 138 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 145 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 150 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 149 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 148 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 146 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 152 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), GEDPhotonProducer(), and produce().
|
private |
Definition at line 153 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), GEDPhotonProducer(), and produce().
|
private |
Definition at line 147 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 130 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 133 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 190 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 159 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 185 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 131 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 134 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().
|
private |
Definition at line 187 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 188 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 137 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), GEDPhotonProducer(), and produce().
|
private |
Definition at line 178 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), GEDPhotonProducer(), and produce().
|
private |
Definition at line 176 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 166 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 167 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 204 of file GEDPhotonProducer.cc.
Referenced by endStream(), fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 217 of file GEDPhotonProducer.cc.
Referenced by fillPhotonCollection(), and GEDPhotonProducer().
|
private |
Definition at line 180 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 157 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer().
|
private |
Definition at line 141 of file GEDPhotonProducer.cc.
Referenced by GEDPhotonProducer(), and produce().