Abstract base class for a PFBlock element (track, cluster...) More...
#include <PFBlockElement.h>
Public Types | |
enum | TrackType { DEFAULT = 0, T_FROM_DISP, T_TO_DISP, T_FROM_GAMMACONV, MUON, T_FROM_V0 } |
enum | Type { NONE = 0, TRACK = 1, PS1 = 2, PS2 = 3, ECAL = 4, HCAL = 5, GSF = 6, BREM = 7, HFEM = 8, HFHAD = 9, SC = 10, HO = 11, HGCAL = 12, kNBETypes = 13 } |
Public Member Functions | |
virtual PFBlockElement * | clone () const =0 |
necessary to have the edm::OwnVector<PFBlockElement> working More... | |
virtual const PFClusterRef & | clusterRef () const |
virtual const ConversionRefVector & | convRefs () const |
virtual const PFDisplacedTrackerVertexRef & | displacedVertexRef (TrackType trType) const |
virtual void | Dump (std::ostream &out=std::cout, const char *tab=" ") const |
print the object inside the element More... | |
const PFMultilinksType & | getMultilinks (Type type) const |
unsigned | index () const |
virtual bool | isLinkedToDisplacedVertex () const |
bool | isMultilinksValide (Type type) const |
virtual bool | isPrimary () const |
virtual bool | isSecondary () const |
bool | isTimeValid () const |
do we have a valid time information More... | |
void | lock () |
lock element More... | |
bool | locked () const |
locked ? More... | |
virtual const MuonRef & | muonRef () const |
PFBlockElement (Type type=NONE) | |
standard constructor More... | |
virtual void | setConversionRef (const ConversionRef &convRef, TrackType trType) |
virtual void | setDisplacedVertexRef (const PFDisplacedTrackerVertexRef &niref, TrackType trType) |
void | setIndex (unsigned index) |
set index More... | |
void | setIsValidMultilinks (bool isVal, Type type) |
void | setMultilinks (const PFMultiLinksTC &ml, Type type) |
virtual void | setMuonRef (const MuonRef &muref) |
void | setTime (float time, float timeError=0.f) |
the timing information More... | |
virtual void | setTrackType (TrackType trType, bool value) |
the trackType More... | |
virtual void | setV0Ref (const VertexCompositeCandidateRef &v0ref, TrackType trType) |
float | time () const |
float | timeError () const |
virtual const reco::TrackRef & | trackRef () const |
virtual const PFRecTrackRef & | trackRefPF () const |
virtual bool | trackType (TrackType trType) const |
Type | type () const |
void | unLock () |
unlock element More... | |
virtual const VertexCompositeCandidateRef & | V0Ref () const |
virtual | ~PFBlockElement () |
destructor More... | |
Protected Attributes | |
unsigned | index_ |
index in block vector More... | |
bool | locked_ |
std::map < reco::PFBlockElement::Type, PFMultiLinksTC > | multilinks_ |
float | time_ |
timing information (valid if timeError_ >= 0) More... | |
float | timeError_ |
timing information uncertainty (<0 if timing not available) More... | |
Type | type_ |
Static Protected Attributes | |
static const ConversionRefVector | nullConv_ = reco::ConversionRefVector() |
static const MuonRef | nullMuon_ = reco::MuonRef() |
static const PFClusterRef | nullPFCluster_ = reco::PFClusterRef() |
static const PFDisplacedTrackerVertexRef | nullPFDispVertex_ = reco::PFDisplacedTrackerVertexRef() |
static const PFRecTrackRef | nullPFRecTrack_ = reco::PFRecTrackRef() |
static const reco::TrackRef | nullTrack_ = reco::TrackRef() |
static const VertexCompositeCandidateRef | nullVertex_ = reco::VertexCompositeCandidateRef() |
Abstract base class for a PFBlock element (track, cluster...)
this class contains a PFRecTrackRef of a PFClusterRef, depending on the type of the element
Definition at line 26 of file PFBlockElement.h.
Enumerator | |
---|---|
DEFAULT | |
T_FROM_DISP | |
T_TO_DISP | |
T_FROM_GAMMACONV | |
MUON | |
T_FROM_V0 |
Definition at line 47 of file PFBlockElement.h.
possible types for the element do not modify this enum if you don't know what you're doing!!!
Enumerator | |
---|---|
NONE | |
TRACK | |
PS1 | |
PS2 | |
ECAL | |
HCAL | |
GSF | |
BREM | |
HFEM | |
HFHAD | |
SC | |
HO | |
HGCAL | |
kNBETypes |
Definition at line 30 of file PFBlockElement.h.
standard constructor
Definition at line 50 of file PFBlockElement.h.
|
inlinevirtual |
|
pure virtual |
necessary to have the edm::OwnVector<PFBlockElement> working
Implemented in reco::PFBlockElementSuperCluster, reco::PFBlockElementBrem, reco::PFBlockElementCluster, reco::PFBlockElementGsfTrack, and reco::PFBlockElementTrack.
Referenced by reco::PFBlock::addElement().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementCluster.
Definition at line 90 of file PFBlockElement.h.
References nullPFCluster_.
Referenced by PFElectronTranslator::createBasicCluster(), PFPhotonTranslator::createBasicCluster(), PFElectronTranslator::createPreshowerCluster(), PFPhotonTranslator::createPreshowerCluster(), reco::mlpf::getElementProperties(), PFBlockBasedIsolation::getHighestEtECALCluster(), KDTreeLinkerPSEcal::insertFieldClusterElt(), KDTreeLinkerTrackHcal::insertFieldClusterElt(), KDTreeLinkerTrackEcal::insertFieldClusterElt(), and FWPFBlockProxyBuilder::setupClusterElement().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 92 of file PFBlockElement.h.
References nullConv_.
Referenced by TrackAndTrackLinker::testLink().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 91 of file PFBlockElement.h.
References nullPFDispVertex_.
Referenced by TrackAndTrackLinker::testLink().
|
virtual |
print the object inside the element
Reimplemented in reco::PFBlockElementSuperCluster, reco::PFBlockElementCluster, reco::PFBlockElementGsfTrack, reco::PFBlockElementBrem, and reco::PFBlockElementTrack.
Definition at line 24 of file PFBlockElement.cc.
|
inline |
Definition at line 124 of file PFBlockElement.h.
References multilinks_.
Referenced by PreshowerAndECALLinker::linkPrefilter(), TrackAndECALLinker::linkPrefilter(), TrackAndHCALLinker::linkPrefilter(), TrackAndECALLinker::testLink(), and TrackAndHCALLinker::testLink().
|
inline |
Definition at line 86 of file PFBlockElement.h.
References index_.
Referenced by BeautifulSoup.PageElement::_invert(), reco::PFCandidateEGammaExtra::addExtraNonConvTrack(), PFPhotonTranslator::correspondingDaughterCandidate(), PFElectronTranslator::correspondingDaughterCandidate(), PFEGammaAlgo::fillPFCandidates(), PFEGammaAlgo::initializeProtoCands(), PFEGammaAlgo::isMuon(), reco::operator<<(), PFEGammaAlgo::removeOrLinkECALClustersToKFTracks(), reco::PFCandidateEGammaExtra::setGsfElectronClusterRef(), and setIndex().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 111 of file PFBlockElement.h.
Referenced by TrackAndTrackLinker::linkPrefilter().
|
inline |
Definition at line 117 of file PFBlockElement.h.
References multilinks_.
Referenced by PreshowerAndECALLinker::linkPrefilter(), TrackAndECALLinker::linkPrefilter(), TrackAndHCALLinker::linkPrefilter(), TrackAndECALLinker::testLink(), and TrackAndHCALLinker::testLink().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 110 of file PFBlockElement.h.
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack, and reco::PFBlockElementGsfTrack.
Definition at line 109 of file PFBlockElement.h.
|
inline |
do we have a valid time information
Definition at line 128 of file PFBlockElement.h.
References timeError_.
Referenced by PFAlgo::reconstructTrack().
|
inline |
lock element
Definition at line 63 of file PFBlockElement.h.
References locked_.
Referenced by reco::PFBlock::addElement().
|
inline |
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 93 of file PFBlockElement.h.
References nullMuon_.
Referenced by reco::mlpf::getElementProperties(), and reco::mlpf::setCandidateRefs().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 99 of file PFBlockElement.h.
References gather_cfg::cout.
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 95 of file PFBlockElement.h.
References gather_cfg::cout.
|
inline |
set index
Definition at line 83 of file PFBlockElement.h.
References index(), and index_.
Referenced by reco::PFBlock::addElement().
|
inline |
Definition at line 115 of file PFBlockElement.h.
References multilinks_, and type().
|
inline |
Definition at line 114 of file PFBlockElement.h.
References edm_modernize_messagelogger::ml, multilinks_, and type().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 102 of file PFBlockElement.h.
References gather_cfg::cout.
|
inline |
the timing information
Definition at line 134 of file PFBlockElement.h.
References time(), time_, timeError(), and timeError_.
|
inlinevirtual |
the trackType
Reimplemented in reco::PFBlockElementGsfTrack, and reco::PFBlockElementTrack.
Definition at line 75 of file PFBlockElement.h.
References gather_cfg::cout.
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 105 of file PFBlockElement.h.
References gather_cfg::cout.
|
inline |
Definition at line 130 of file PFBlockElement.h.
References time_.
Referenced by PFAlgo::reconstructTrack(), and setTime().
|
inline |
Definition at line 132 of file PFBlockElement.h.
References timeError_.
Referenced by PFAlgo::reconstructTrack(), and setTime().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 88 of file PFBlockElement.h.
References nullTrack_.
Referenced by PFEGammaFilters::isElectronSafeForJetMET(), PFEGammaFilters::isPhotonSafeForJetMET(), reco::mlpf::setCandidateRefs(), and FWPFBlockProxyBuilder::setupTrackElement().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 89 of file PFBlockElement.h.
References nullPFRecTrack_.
Referenced by reco::mlpf::getElementProperties(), KDTreeLinkerTrackEcal::insertTargetElt(), and KDTreeLinkerTrackHcal::insertTargetElt().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementGsfTrack, and reco::PFBlockElementTrack.
Definition at line 72 of file PFBlockElement.h.
Referenced by PFAlgo::isFromSecInt(), FWPFBlockProxyBuilder::setupTrackElement(), and TrackAndTrackLinker::testLink().
|
inline |
Definition at line 69 of file PFBlockElement.h.
References type_.
Referenced by reco::mlpf::getElementProperties(), PFBlockBasedIsolation::getHighestEtECALCluster(), PFEGammaFilters::isElectronSafeForJetMET(), PFEGammaAlgo::isMuon(), PFEGammaFilters::isPhotonSafeForJetMET(), PreshowerAndECALLinker::linkPrefilter(), TrackAndECALLinker::linkPrefilter(), TrackAndHCALLinker::linkPrefilter(), PFBlockElementSCEqual::operator()(), reco::operator<<(), PFElectronTranslator::produce(), PFPhotonTranslator::produce(), reco::mlpf::setCandidateRefs(), setIsValidMultilinks(), setMultilinks(), HCALAndHOLinker::testLink(), HFEMAndHFHADLinker::testLink(), ECALAndHCALCaloJetLinker::testLink(), HGCalAndBREMLinker::testLink(), GSFAndHGCalLinker::testLink(), ECALAndHCALLinker::testLink(), GSFAndBREMLinker::testLink(), TrackAndHOLinker::testLink(), GSFAndHCALLinker::testLink(), ECALAndBREMLinker::testLink(), HCALAndBREMLinker::testLink(), GSFAndECALLinker::testLink(), TrackAndGSFLinker::testLink(), PreshowerAndECALLinker::testLink(), TrackAndECALLinker::testLink(), SCAndHGCalLinker::testLink(), SCAndECALLinker::testLink(), and TrackAndHCALLinker::testLink().
|
inline |
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 94 of file PFBlockElement.h.
References nullVertex_.
Referenced by TrackAndTrackLinker::testLink().
|
protected |
index in block vector
Definition at line 150 of file PFBlockElement.h.
Referenced by index(), and setIndex().
|
protected |
locked flag.
Definition at line 147 of file PFBlockElement.h.
|
protected |
Definition at line 154 of file PFBlockElement.h.
Referenced by getMultilinks(), isMultilinksValide(), setIsValidMultilinks(), and setMultilinks().
|
staticprotected |
Definition at line 166 of file PFBlockElement.h.
Referenced by convRefs().
|
staticprotected |
Definition at line 167 of file PFBlockElement.h.
Referenced by muonRef().
|
staticprotected |
Definition at line 164 of file PFBlockElement.h.
Referenced by clusterRef().
|
staticprotected |
Definition at line 165 of file PFBlockElement.h.
Referenced by reco::PFBlockElementTrack::displacedVertexRef(), and displacedVertexRef().
|
staticprotected |
Definition at line 163 of file PFBlockElement.h.
Referenced by trackRefPF().
|
staticprotected |
Definition at line 162 of file PFBlockElement.h.
Referenced by trackRef().
|
staticprotected |
Definition at line 168 of file PFBlockElement.h.
Referenced by V0Ref().
|
protected |
timing information (valid if timeError_ >= 0)
Definition at line 158 of file PFBlockElement.h.
|
protected |
timing information uncertainty (<0 if timing not available)
Definition at line 160 of file PFBlockElement.h.
Referenced by isTimeValid(), setTime(), and timeError().
|
protected |
type, see PFBlockElementType
Definition at line 142 of file PFBlockElement.h.
Referenced by Modules.Service::__str__(), Modules.Service::_placeImpl(), Modules.ESSource::_placeImpl(), Modules.ESProducer::_placeImpl(), Modules.ESPrefer::copy(), Mixins._TypedParameterizable::dumpPython(), Modules.ESPrefer::dumpPythonAs(), Modules.Service::dumpSequencePython(), RandomRunSource.RandomRunSource::insertInto(), Modules.Service::insertInto(), ExternalGeneratorFilter.ExternalGeneratorFilter::insertInto(), Mixins._TypedParameterizable::insertInto(), Modules.ESSource::moduleLabel_(), Modules.ESProducer::moduleLabel_(), Modules.ESSource::nameInProcessDesc_(), Modules.ESProducer::nameInProcessDesc_(), Modules.ESPrefer::nameInProcessDesc_(), and type().