Produces pat::Electron's. More...
Public Member Functions | |
PATElectronProducer (const edm::ParameterSet &iConfig) | |
void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override |
~PATElectronProducer () 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 EDProducer & | operator= (const EDProducer &)=delete |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Private Types | |
typedef edm::RefToBase < reco::GsfElectron > | ElectronBaseRef |
typedef std::vector < edm::Handle < edm::Association < reco::GenParticleCollection > > > | GenAssociations |
typedef std::vector < edm::Handle< edm::ValueMap < IsoDeposit > > > | IsoDepositMaps |
typedef std::pair < pat::IsolationKeys, edm::InputTag > | IsolationLabel |
typedef std::vector < IsolationLabel > | IsolationLabels |
typedef std::vector < edm::Handle< edm::ValueMap < double > > > | IsolationValueMaps |
typedef std::pair< std::string, edm::InputTag > | NameTag |
Private Member Functions | |
void | embedHighLevel (pat::Electron &anElectron, reco::GsfTrackRef track, reco::TransientTrack &tt, reco::Vertex &primaryVertex, bool primaryVertexIsValid, reco::BeamSpot &beamspot, bool beamspotIsValid) |
void | fillElectron (Electron &aElectron, const ElectronBaseRef &electronRef, const reco::CandidateBaseRef &baseRef, const GenAssociations &genMatches, const IsoDepositMaps &deposits, const bool pfId, const IsolationValueMaps &isolationValues, const IsolationValueMaps &isolationValuesNoPFId) const |
common electron filling, for both the standard and PF2PAT case More... | |
void | fillElectron2 (Electron &anElectron, const reco::CandidatePtr &candPtrForIsolation, const reco::CandidatePtr &candPtrForGenMatch, const reco::CandidatePtr &candPtrForLoader, const GenAssociations &genMatches, const IsoDepositMaps &deposits, const IsolationValueMaps &isolationValues) const |
template<typename T > | |
void | readIsolationLabels (const edm::ParameterSet &iConfig, const char *psetName, IsolationLabels &labels, std::vector< edm::EDGetTokenT< edm::ValueMap< T >>> &tokens) |
void | setElectronMiniIso (pat::Electron &anElectron, const pat::PackedCandidateCollection *pc) |
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 |
Produces pat::Electron's.
The PATElectronProducer produces analysis-level pat::Electron's starting from a collection of objects of reco::GsfElectron.
Definition at line 68 of file PATElectronProducer.cc.
|
private |
Definition at line 130 of file PATElectronProducer.cc.
|
private |
Definition at line 100 of file PATElectronProducer.cc.
|
private |
Definition at line 131 of file PATElectronProducer.cc.
|
private |
Definition at line 165 of file PATElectronProducer.cc.
|
private |
Definition at line 166 of file PATElectronProducer.cc.
|
private |
Definition at line 132 of file PATElectronProducer.cc.
|
private |
Definition at line 177 of file PATElectronProducer.cc.
|
explicit |
Definition at line 270 of file PATElectronProducer.cc.
|
override |
Definition at line 449 of file PATElectronProducer.cc.
|
private |
Definition at line 1414 of file PATElectronProducer.cc.
References pat::Electron::BS2D, pat::Electron::BS3D, reco::Vertex::covariance(), reco::BeamSpot::covariance3D(), reco::BeamSpot::position(), reco::Vertex::position(), pat::Electron::PV2D, pat::Electron::PV3D, pat::Electron::PVDZ, mps_fire::result, pat::Electron::setDB(), IPTools::signedImpactParameter3D(), and reco::Vertex::zError().
Referenced by produce().
|
static |
Definition at line 1238 of file PATElectronProducer.cc.
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().
|
private |
common electron filling, for both the standard and PF2PAT case
Definition at line 1033 of file PATElectronProducer.cc.
References addGenMatch_, pat::PATObject< ObjectType >::addGenParticleRef(), cms::cuda::assert(), efficiencyLoader_, pat::Electron::embedBasicClusters(), embedBasicClusters_, embedGenMatch_, pat::PATObject< ObjectType >::embedGenParticle(), pat::Electron::embedGsfElectronCore(), embedGsfElectronCore_, pat::Electron::embedGsfTrack(), embedGsfTrack_, pat::Electron::embedPflowBasicClusters(), embedPflowBasicClusters_, pat::Electron::embedPflowPreshowerClusters(), embedPflowPreshowerClusters_, pat::Electron::embedPflowSuperCluster(), embedPflowSuperCluster_, pat::Electron::embedPreshowerClusters(), embedPreshowerClusters_, pat::Electron::embedSeedCluster(), embedSeedCluster_, pat::Electron::embedSuperCluster(), embedSuperCluster_, pat::Electron::embedTrack(), embedTrack_, pat::helper::EfficiencyLoader::enabled(), pat::helper::KinResolutionsLoader::enabled(), first, mps_fire::i, edm::Ref< C, T, F >::isNull(), isoDepositLabels_, isolationValueLabels_, isolationValueLabelsNoPFId_, dqmiolumiharvest::j, dqmiodumpmetadata::n, pat::Electron::pfCandidateRef(), resolutionLoader_, pat::helper::EfficiencyLoader::setEfficiencies(), pat::Lepton< LeptonType >::setIsoDeposit(), pat::Lepton< LeptonType >::setIsolation(), pat::helper::KinResolutionsLoader::setResolutions(), source, and useParticleFlow_.
Referenced by produce().
|
private |
Definition at line 1129 of file PATElectronProducer.cc.
References addGenMatch_, pat::PATObject< ObjectType >::addGenParticleRef(), edm::contains(), pat::EcalIso, efficiencyLoader_, pat::Electron::embedBasicClusters(), embedBasicClusters_, embedGenMatch_, pat::PATObject< ObjectType >::embedGenParticle(), pat::Electron::embedGsfElectronCore(), embedGsfElectronCore_, pat::Electron::embedGsfTrack(), embedGsfTrack_, pat::Electron::embedPflowBasicClusters(), embedPflowBasicClusters_, pat::Electron::embedPflowPreshowerClusters(), embedPflowPreshowerClusters_, pat::Electron::embedPflowSuperCluster(), embedPflowSuperCluster_, pat::Electron::embedPreshowerClusters(), embedPreshowerClusters_, pat::Electron::embedSeedCluster(), embedSeedCluster_, pat::Electron::embedSuperCluster(), embedSuperCluster_, pat::Electron::embedTrack(), embedTrack_, pat::helper::EfficiencyLoader::enabled(), pat::helper::KinResolutionsLoader::enabled(), first, pat::HcalIso, mps_fire::i, edm::Ptr< T >::id(), isoDepositLabels_, isolationValueLabels_, dqmiolumiharvest::j, dqmiodumpmetadata::n, reco::GsfElectron::p4(), pat::Electron::pfCandidateRef(), resolutionLoader_, pat::Electron::setEcalDrivenMomentum(), pat::helper::EfficiencyLoader::setEfficiencies(), pat::Lepton< LeptonType >::setIsoDeposit(), pat::Lepton< LeptonType >::setIsolation(), reco::GsfElectron::setP4(), pat::helper::KinResolutionsLoader::setResolutions(), and pat::TrackIso.
Referenced by produce().
|
override |
Definition at line 451 of file PATElectronProducer.cc.
References IPTools::absoluteImpactParameter3D(), addElecID_, addGenMatch_, addMVAVariables_, addPFClusterIso_, addPuppiIsolation_, Reference_intrackfit_cff::barrel, beamLineToken_, beam_dqm_sourceclient-live_cfg::beamSpot, pat::helper::MultiIsolator::beginEvent(), computeMiniIso_, reco::PFCandidate::e, DetId::Ecal, EcalBarrel, ecalClusterToolsESGetTokens_, EcalEndcap, ecalPFClusterIsoT_, ecalTopology_, ecalTopologyToken_, efficiencyLoader_, elecIDSrcs_, elecIDTokens_, HI_PhotonSkim_cff::electrons, electronToken_, embedBasicClusters_, embedGenMatch_, embedHighLevel(), embedHighLevelSelection_, pat::Electron::embedPFCandidate(), embedPFCandidate_, embedPflowBasicClusters_, pat::Electron::embedRecHits(), embedRecHits_, pat::helper::EfficiencyLoader::enabled(), pat::helper::KinResolutionsLoader::enabled(), pat::helper::MultiIsolator::enabled(), edm::SortedCollection< T, SORT >::end(), pat::helper::MultiIsolator::endEvent(), pat::helper::MultiIsolator::fill(), fillElectron(), fillElectron2(), edm::SortedCollection< T, SORT >::find(), first, genMatchTokens_, EcalClusterLazyToolsBase::ESGetTokens::get(), edm::Event::getByToken(), edm::EventSetup::getData(), edm::EventSetup::getHandle(), CaloTopology::getSubdetectorTopology(), CaloSubdetectorTopology::getWindow(), ConversionTools::hasMatchedConversion(), hcalPFClusterIsoT_, hConversionsToken_, mps_fire::i, edm::Ref< C, T, F >::isAvailable(), edm::Ptr< T >::isNonnull(), edm::Ref< C, T, F >::isNonnull(), isoDepositLabels_, isoDepositTokens_, isolationValueNoPFIdTokens_, isolationValueTokens_, isolator_, isolatorTmpStorage_, edm::EventBase::isRealData(), edm::HandleBase::isValid(), dqmiolumiharvest::j, reco::Matched, reco::HitPattern::MISSING_INNER_HITS, eostools::move(), pat::helper::EfficiencyLoader::newEvent(), pat::helper::KinResolutionsLoader::newEvent(), electronProducer_cfi::patElectrons, pcToken_, pfCandidateMapToken_, pfCandidateMultiMapToken_, pfElecToken_, pfElectrons_cff::pfElectrons, reco::GsfElectron::pfIsolationVariables(), beam_dqm_sourceclient-live_cfg::primaryVertex, edm::Handle< T >::product(), pTComparator_, PUPPIIsolation_charged_hadrons_, PUPPIIsolation_neutral_hadrons_, PUPPIIsolation_photons_, PUPPINoLeptonsIsolation_charged_hadrons_, PUPPINoLeptonsIsolation_neutral_hadrons_, PUPPINoLeptonsIsolation_photons_, edm::SortedCollection< T, SORT >::push_back(), edm::Event::put(), pvToken_, HLT_FULL_cff::recHits, reducedBarrelRecHitCollectionToken_, reducedEndcapRecHitCollectionToken_, resolutionLoader_, fileCollector::seed, pat::Electron::setElectronIDs(), setElectronMiniIso(), pat::Lepton< LeptonType >::setIsoDeposit(), pat::Lepton< LeptonType >::setIsolation(), pat::Electron::setIsolationPUPPI(), pat::Electron::setIsolationPUPPINoLeptons(), pat::Electron::setIsPF(), pat::Electron::setMvaVariables(), pat::Electron::setPassConversionVeto(), pat::Electron::setPFCandidateRef(), reco::GsfElectron::setPfIsolationVariables(), edm::SortedCollection< T, SORT >::sort(), reco::GsfElectron::PflowIsolationVariables::sumEcalClusterEt, reco::GsfElectron::PflowIsolationVariables::sumHcalClusterEt, HLT_FULL_cff::track, trackBuilderToken_, groupFilesInBlocks::tt, tier0::unique(), useParticleFlow_, usePfCandidateMultiMap_, userDataHelper_, and useUserData_.
|
private |
fill the labels vector from the contents of the parameter set, for the isodeposit or isolation values embedding
Definition at line 218 of file PATElectronProducer.cc.
References pat::EcalIso, edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), pat::HcalIso, submitPVResolutionJobs::key, label, pat::PfAllParticleIso, pat::PfChargedAllIso, pat::PfChargedHadronIso, pat::PfGammaIso, pat::PfNeutralHadronIso, pat::PfPUChargedHadronIso, pat::TrackIso, pat::UserBaseIso, and edm::vector_transform().
|
private |
Definition at line 1208 of file PATElectronProducer.cc.
References pat::getMiniPFIsolation(), reco::GsfElectron::isEE(), miniIsoParamsB_, miniIsoParamsE_, reco::LeafCandidate::polarP4(), and pat::Lepton< LeptonType >::setMiniPFIsolation().
Referenced by produce().
|
private |
Definition at line 193 of file PATElectronProducer.cc.
|
private |
Definition at line 176 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 91 of file PATElectronProducer.cc.
Referenced by fillElectron(), fillElectron2(), and produce().
|
private |
|
private |
Definition at line 120 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 121 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 196 of file PATElectronProducer.cc.
|
private |
Definition at line 127 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 96 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 118 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 122 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 213 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 210 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 194 of file PATElectronProducer.cc.
Referenced by fillElectron(), fillElectron2(), and produce().
|
private |
Definition at line 178 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 179 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 79 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 86 of file PATElectronProducer.cc.
Referenced by fillElectron(), fillElectron2(), and produce().
|
private |
Definition at line 92 of file PATElectronProducer.cc.
Referenced by fillElectron(), fillElectron2(), and produce().
|
private |
Definition at line 81 of file PATElectronProducer.cc.
Referenced by fillElectron(), and fillElectron2().
|
private |
Definition at line 82 of file PATElectronProducer.cc.
Referenced by fillElectron(), and fillElectron2().
|
private |
embed high level selection variables?
Definition at line 126 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 110 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 88 of file PATElectronProducer.cc.
Referenced by fillElectron(), fillElectron2(), and produce().
|
private |
Definition at line 89 of file PATElectronProducer.cc.
Referenced by fillElectron(), and fillElectron2().
|
private |
Definition at line 84 of file PATElectronProducer.cc.
Referenced by fillElectron(), and fillElectron2().
|
private |
Definition at line 87 of file PATElectronProducer.cc.
Referenced by fillElectron(), and fillElectron2().
|
private |
Definition at line 93 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 85 of file PATElectronProducer.cc.
Referenced by fillElectron(), and fillElectron2().
|
private |
Definition at line 83 of file PATElectronProducer.cc.
Referenced by fillElectron(), and fillElectron2().
|
private |
Definition at line 90 of file PATElectronProducer.cc.
Referenced by fillElectron(), and fillElectron2().
|
private |
Definition at line 102 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 123 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 80 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 186 of file PATElectronProducer.cc.
Referenced by fillElectron(), fillElectron2(), and produce().
|
private |
Definition at line 187 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 188 of file PATElectronProducer.cc.
Referenced by fillElectron(), and fillElectron2().
|
private |
Definition at line 190 of file PATElectronProducer.cc.
Referenced by fillElectron().
|
private |
Definition at line 191 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 189 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 184 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 185 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 98 of file PATElectronProducer.cc.
Referenced by setElectronMiniIso().
|
private |
Definition at line 97 of file PATElectronProducer.cc.
Referenced by setElectronMiniIso().
|
private |
Definition at line 95 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 108 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 109 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 107 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 182 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 201 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 202 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 203 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 205 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 206 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 207 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 128 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 114 of file PATElectronProducer.cc.
|
private |
Definition at line 115 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 116 of file PATElectronProducer.cc.
|
private |
Definition at line 117 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 197 of file PATElectronProducer.cc.
Referenced by fillElectron(), fillElectron2(), and produce().
|
private |
Definition at line 211 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
pflow specific
Definition at line 105 of file PATElectronProducer.cc.
Referenced by fillElectron(), and produce().
|
private |
Definition at line 106 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 208 of file PATElectronProducer.cc.
Referenced by produce().
|
private |
Definition at line 199 of file PATElectronProducer.cc.
Referenced by produce().