Produces pat::Electron's. More...
#include "PhysicsTools/PatAlgos/interface/PATElectronProducer.h"
Public Member Functions | |
PATElectronProducer (const edm::ParameterSet &iConfig) | |
virtual void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) |
~PATElectronProducer () | |
Public Member Functions inherited from edm::EDProducer | |
EDProducer () | |
virtual | ~EDProducer () |
Public Member Functions inherited from edm::ProducerBase | |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
boost::function< void(const BranchDescription &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
virtual | ~ProducerBase () |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (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 | fillElectron (Electron &aElectron, const ElectronBaseRef &electronRef, const reco::CandidateBaseRef &baseRef, const GenAssociations &genMatches, const IsoDepositMaps &deposits, const IsolationValueMaps &isolationValues) 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 |
void | readIsolationLabels (const edm::ParameterSet &iConfig, const char *psetName, IsolationLabels &labels) |
Private Attributes | |
bool | addEfficiencies_ |
bool | addElecID_ |
bool | addGenMatch_ |
bool | addResolutions_ |
edm::InputTag | beamLineSrc_ |
pat::helper::EfficiencyLoader | efficiencyLoader_ |
std::vector< NameTag > | elecIDSrcs_ |
edm::InputTag | electronSrc_ |
bool | embedGenMatch_ |
bool | embedGsfElectronCore_ |
bool | embedGsfTrack_ |
bool | embedHighLevelSelection_ |
embed high level selection variables? More... | |
bool | embedPFCandidate_ |
bool | embedSuperCluster_ |
bool | embedTrack_ |
std::vector< edm::InputTag > | genMatchSrc_ |
IsolationLabels | isoDepositLabels_ |
IsolationLabels | isolationValueLabels_ |
pat::helper::MultiIsolator | isolator_ |
pat::helper::MultiIsolator::IsolationValuePairs | isolatorTmpStorage_ |
edm::InputTag | pfElecSrc_ |
GreaterByPt< Electron > | pTComparator_ |
edm::InputTag | pvSrc_ |
pat::helper::KinResolutionsLoader | resolutionLoader_ |
bool | useParticleFlow_ |
pflow specific More... | |
bool | usePV_ |
pat::PATUserDataHelper < pat::Electron > | userDataHelper_ |
bool | useUserData_ |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | ModuleType |
typedef WorkerT< EDProducer > | WorkerType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Protected Member Functions inherited from edm::EDProducer | |
CurrentProcessingContext const * | currentContext () const |
Protected Member Functions inherited from edm::ProducerBase | |
template<class TProducer , class TMethod > | |
void | callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod) |
Produces pat::Electron's.
The PATElectronProducer produces analysis-level pat::Electron's starting from a collection of objects of reco::GsfElectron.
Definition at line 52 of file PATElectronProducer.h.
|
private |
Definition at line 87 of file PATElectronProducer.h.
|
private |
Definition at line 86 of file PATElectronProducer.h.
|
private |
Definition at line 88 of file PATElectronProducer.h.
|
private |
Definition at line 108 of file PATElectronProducer.h.
|
private |
Definition at line 109 of file PATElectronProducer.h.
|
private |
Definition at line 89 of file PATElectronProducer.h.
|
private |
Definition at line 118 of file PATElectronProducer.h.
|
explicit |
Definition at line 44 of file PATElectronProducer.cc.
References addEfficiencies_, addElecID_, addGenMatch_, addResolutions_, beamLineSrc_, efficiencyLoader_, elecIDSrcs_, electronSrc_, embedGenMatch_, embedGsfElectronCore_, embedGsfTrack_, embedHighLevelSelection_, embedPFCandidate_, embedSuperCluster_, embedTrack_, edm::ParameterSet::existsAs(), genMatchSrc_, edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterNamesForType(), isoDepositLabels_, isolationValueLabels_, h::names, pfElecSrc_, pvSrc_, readIsolationLabels(), resolutionLoader_, useParticleFlow_, usePV_, userDataHelper_, and useUserData_.
PATElectronProducer::~PATElectronProducer | ( | ) |
Definition at line 160 of file PATElectronProducer.cc.
|
static |
Definition at line 606 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::setAllowAnything(), edm::ParameterSetDescription::setComment(), and edm::ParameterDescriptionNode::setComment().
|
private |
common electron filling, for both the standard and PF2PAT case
Definition at line 445 of file PATElectronProducer.cc.
References addGenMatch_, pat::PATObject< ObjectType >::addGenParticleRef(), efficiencyLoader_, embedGenMatch_, pat::PATObject< ObjectType >::embedGenParticle(), pat::Electron::embedGsfElectronCore(), embedGsfElectronCore_, pat::Electron::embedGsfTrack(), embedGsfTrack_, pat::Electron::embedSuperCluster(), embedSuperCluster_, pat::Electron::embedTrack(), embedTrack_, pat::helper::EfficiencyLoader::enabled(), pat::helper::KinResolutionsLoader::enabled(), first, i, edm::Ref< C, T, F >::isNull(), isoDepositLabels_, isolationValueLabels_, j, n, pat::Electron::pfCandidateRef(), resolutionLoader_, pat::helper::EfficiencyLoader::setEfficiencies(), pat::Lepton< LeptonType >::setIsoDeposit(), pat::Lepton< LeptonType >::setIsolation(), pat::helper::KinResolutionsLoader::setResolutions(), LaserTracksInput_cfi::source, and useParticleFlow_.
Referenced by produce().
|
private |
Definition at line 527 of file PATElectronProducer.cc.
References addGenMatch_, pat::PATObject< ObjectType >::addGenParticleRef(), edm::contains(), pat::EcalIso, efficiencyLoader_, embedGenMatch_, pat::PATObject< ObjectType >::embedGenParticle(), pat::Electron::embedGsfElectronCore(), embedGsfElectronCore_, pat::Electron::embedGsfTrack(), embedGsfTrack_, pat::Electron::embedSuperCluster(), embedSuperCluster_, pat::Electron::embedTrack(), embedTrack_, pat::helper::EfficiencyLoader::enabled(), pat::helper::KinResolutionsLoader::enabled(), first, pat::HcalIso, i, edm::Ptr< T >::id(), isoDepositLabels_, isolationValueLabels_, j, n, reco::LeafCandidate::p4(), pat::Electron::pfCandidateRef(), resolutionLoader_, pat::Electron::setEcalDrivenMomentum(), pat::helper::EfficiencyLoader::setEfficiencies(), pat::Lepton< LeptonType >::setIsoDeposit(), pat::Lepton< LeptonType >::setIsolation(), reco::GsfElectron::setMva(), reco::LeafCandidate::setP4(), pat::helper::KinResolutionsLoader::setResolutions(), and pat::TrackIso.
Referenced by produce().
|
virtual |
Implements edm::EDProducer.
Definition at line 164 of file PATElectronProducer.cc.
References IPTools::absoluteTransverseImpactParameter(), addElecID_, addGenMatch_, beamLineSrc_, ExpressReco_HICollisions_FallBack::beamSpot, pat::helper::MultiIsolator::beginEvent(), ExpressReco_HICollisions_FallBack::deposits, efficiencyLoader_, elecIDSrcs_, electronSrc_, embedGenMatch_, embedHighLevelSelection_, pat::Electron::embedPFCandidate(), embedPFCandidate_, pat::helper::EfficiencyLoader::enabled(), pat::helper::KinResolutionsLoader::enabled(), pat::helper::MultiIsolator::enabled(), pat::helper::MultiIsolator::endEvent(), pat::helper::MultiIsolator::fill(), fillElectron(), fillElectron2(), first, genMatchSrc_, edm::EventSetup::get(), edm::Event::getByLabel(), i, getHLTprescales::index, edm::Ref< C, T, F >::isAvailable(), edm::Ref< C, T, F >::isNonnull(), isoDepositLabels_, isolationValueLabels_, isolator_, isolatorTmpStorage_, edm::EventBase::isRealData(), edm::HandleBase::isValid(), j, reco::Matched, pat::helper::EfficiencyLoader::newEvent(), pat::helper::KinResolutionsLoader::newEvent(), electronProducer_cfi::patElectrons, pfElecSrc_, pTComparator_, edm::Event::put(), pvSrc_, resolutionLoader_, query::result, edm::second(), pat::Electron::setDB(), pat::Electron::setElectronIDs(), pat::Lepton< LeptonType >::setIsoDeposit(), pat::Lepton< LeptonType >::setIsolation(), pat::Electron::setPFCandidateRef(), python.multivaluedict::sort(), ExpressReco_HICollisions_FallBack::track, useParticleFlow_, usePV_, userDataHelper_, useUserData_, reco::BeamSpot::x0(), reco::BeamSpot::y0(), and reco::BeamSpot::z0().
|
private |
fill the labels vector from the contents of the parameter set, for the isodeposit or isolation values embedding
Definition at line 705 of file PATElectronProducer.cc.
References pat::EcalIso, edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), pat::HcalIso, combine::key, pat::PfAllParticleIso, pat::PfChargedHadronIso, pat::PfGammaIso, pat::PfNeutralHadronIso, pat::TrackIso, and pat::UserBaseIso.
Referenced by PATElectronProducer().
|
private |
Definition at line 129 of file PATElectronProducer.h.
Referenced by PATElectronProducer().
|
private |
Definition at line 117 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().
|
private |
Definition at line 71 of file PATElectronProducer.h.
Referenced by fillElectron(), fillElectron2(), PATElectronProducer(), and produce().
|
private |
Definition at line 132 of file PATElectronProducer.h.
Referenced by PATElectronProducer().
|
private |
Definition at line 82 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().
|
private |
Definition at line 130 of file PATElectronProducer.h.
Referenced by fillElectron(), fillElectron2(), PATElectronProducer(), and produce().
|
private |
Definition at line 119 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().
|
private |
Definition at line 66 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().
|
private |
Definition at line 72 of file PATElectronProducer.h.
Referenced by fillElectron(), fillElectron2(), PATElectronProducer(), and produce().
|
private |
Definition at line 67 of file PATElectronProducer.h.
Referenced by fillElectron(), fillElectron2(), and PATElectronProducer().
|
private |
Definition at line 68 of file PATElectronProducer.h.
Referenced by fillElectron(), fillElectron2(), and PATElectronProducer().
|
private |
embed high level selection variables?
Definition at line 81 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().
|
private |
Definition at line 78 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().
|
private |
Definition at line 69 of file PATElectronProducer.h.
Referenced by fillElectron(), fillElectron2(), and PATElectronProducer().
|
private |
Definition at line 70 of file PATElectronProducer.h.
Referenced by fillElectron(), fillElectron2(), and PATElectronProducer().
|
private |
Definition at line 73 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().
|
private |
Definition at line 126 of file PATElectronProducer.h.
Referenced by fillElectron(), fillElectron2(), PATElectronProducer(), and produce().
|
private |
Definition at line 127 of file PATElectronProducer.h.
Referenced by fillElectron(), fillElectron2(), PATElectronProducer(), and produce().
|
private |
Definition at line 124 of file PATElectronProducer.h.
Referenced by produce().
|
private |
Definition at line 125 of file PATElectronProducer.h.
Referenced by produce().
|
private |
Definition at line 77 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().
|
private |
Definition at line 122 of file PATElectronProducer.h.
Referenced by produce().
|
private |
Definition at line 84 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().
|
private |
Definition at line 133 of file PATElectronProducer.h.
Referenced by fillElectron(), fillElectron2(), PATElectronProducer(), and produce().
|
private |
pflow specific
Definition at line 76 of file PATElectronProducer.h.
Referenced by fillElectron(), PATElectronProducer(), and produce().
|
private |
Definition at line 83 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().
|
private |
Definition at line 136 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().
|
private |
Definition at line 135 of file PATElectronProducer.h.
Referenced by PATElectronProducer(), and produce().