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 () const |
unsigned | index () const |
virtual bool | isLinkedToDisplacedVertex () const |
bool | isMultilinksValide () 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) |
void | setMultilinks (const PFMultiLinksTC &ml) |
void | setMultilinksList (const PFMultilinksType &links) |
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_ |
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_ |
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 28 of file PFBlockElement.h.
Enumerator | |
---|---|
DEFAULT | |
T_FROM_DISP | |
T_TO_DISP | |
T_FROM_GAMMACONV | |
MUON | |
T_FROM_V0 |
Definition at line 50 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 33 of file PFBlockElement.h.
standard constructor
Definition at line 60 of file PFBlockElement.h.
|
inlinevirtual |
destructor
Definition at line 70 of file PFBlockElement.h.
References clone(), gather_cfg::cout, Dump(), and MillePedeFileConverter_cfg::out.
|
pure virtual |
necessary to have the edm::OwnVector<PFBlockElement> working
Implemented in reco::PFBlockElementSuperCluster, reco::PFBlockElementCluster, reco::PFBlockElementGsfTrack, reco::PFBlockElementBrem, and reco::PFBlockElementTrack.
Referenced by reco::PFBlock::addElement(), and ~PFBlockElement().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementCluster.
Definition at line 106 of file PFBlockElement.h.
References nullPFCluster_.
Referenced by PFElectronTranslator::createBasicCluster(), PFPhotonTranslator::createBasicCluster(), PFElectronTranslator::createPreshowerCluster(), PFPhotonTranslator::createPreshowerCluster(), PFBlockBasedIsolation::getHighestEtECALCluster(), KDTreeLinkerTrackEcal::insertFieldClusterElt(), KDTreeLinkerPSEcal::insertFieldClusterElt(), KDTreeLinkerTrackHcal::insertFieldClusterElt(), EgammaHLTPFPhotonIsolationProducer::produce(), and FWPFBlockProxyBuilder::setupClusterElement().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 108 of file PFBlockElement.h.
References nullConv_.
Referenced by TrackAndTrackLinker::testLink().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 107 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 25 of file PFBlockElement.cc.
Referenced by ~PFBlockElement().
|
inline |
Definition at line 133 of file PFBlockElement.h.
References reco::PFMultiLinksTC::linkedClusters, and multilinks_.
Referenced by PreshowerAndECALLinker::linkPrefilter(), TrackAndECALLinker::linkPrefilter(), TrackAndHCALLinker::testLink(), and TrackAndECALLinker::testLink().
|
inline |
Definition at line 102 of file PFBlockElement.h.
References index_.
Referenced by reco::PFCandidateEGammaExtra::addExtraNonConvTrack(), PFElectronTranslator::correspondingDaughterCandidate(), PFPhotonTranslator::correspondingDaughterCandidate(), PFEGammaAlgo::fillPFCandidates(), PFEGammaAlgo::initializeProtoCands(), BeautifulSoup.PageElement::insert(), PFEGammaAlgo::isAMuon(), reco::operator<<(), PFEGammaAlgo::removeOrLinkECALClustersToKFTracks(), reco::PFCandidateEGammaExtra::setGsfElectronClusterRef(), and setIndex().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 125 of file PFBlockElement.h.
Referenced by TrackAndTrackLinker::linkPrefilter().
|
inline |
Definition at line 132 of file PFBlockElement.h.
References reco::PFMultiLinksTC::isValid, and multilinks_.
Referenced by PreshowerAndECALLinker::linkPrefilter(), TrackAndECALLinker::linkPrefilter(), TrackAndHCALLinker::testLink(), and TrackAndECALLinker::testLink().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 124 of file PFBlockElement.h.
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack, and reco::PFBlockElementGsfTrack.
Definition at line 123 of file PFBlockElement.h.
|
inline |
do we have a valid time information
Definition at line 137 of file PFBlockElement.h.
References timeError_.
Referenced by PFAlgo::reconstructTrack().
|
inline |
lock element
Definition at line 80 of file PFBlockElement.h.
References locked_.
Referenced by reco::PFBlock::addElement().
|
inline |
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 109 of file PFBlockElement.h.
References nullMuon_.
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 113 of file PFBlockElement.h.
References gather_cfg::cout.
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 111 of file PFBlockElement.h.
References gather_cfg::cout.
|
inline |
set index
Definition at line 99 of file PFBlockElement.h.
References index(), and index_.
Referenced by reco::PFBlock::addElement().
|
inline |
Definition at line 129 of file PFBlockElement.h.
References plotFactory::isVal, reco::PFMultiLinksTC::isValid, and multilinks_.
|
inline |
|
inline |
Definition at line 130 of file PFBlockElement.h.
References reco::PFMultiLinksTC::linkedClusters, and multilinks_.
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 115 of file PFBlockElement.h.
References gather_cfg::cout.
|
inline |
the timing information
Definition at line 143 of file PFBlockElement.h.
References time(), time_, timeError(), and timeError_.
|
inlinevirtual |
the trackType
Reimplemented in reco::PFBlockElementGsfTrack, and reco::PFBlockElementTrack.
Definition at line 92 of file PFBlockElement.h.
References gather_cfg::cout.
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 117 of file PFBlockElement.h.
References gather_cfg::cout.
|
inline |
Definition at line 139 of file PFBlockElement.h.
References time_.
Referenced by PFAlgo::reconstructTrack(), and setTime().
|
inline |
Definition at line 141 of file PFBlockElement.h.
References timeError_.
Referenced by PFAlgo::reconstructTrack(), and setTime().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 104 of file PFBlockElement.h.
References nullTrack_.
Referenced by PFPhotonAlgo::EvaluateGCorrMVA(), PFPhotonAlgo::EvaluateResMVA(), PFEGammaFilters::isElectronSafeForJetMET(), PFEGammaFilters::isPhotonSafeForJetMET(), and FWPFBlockProxyBuilder::setupTrackElement().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 105 of file PFBlockElement.h.
References nullPFRecTrack_.
Referenced by KDTreeLinkerTrackEcal::insertTargetElt(), and KDTreeLinkerTrackHcal::insertTargetElt().
|
inlinevirtual |
Reimplemented in reco::PFBlockElementGsfTrack, and reco::PFBlockElementTrack.
Definition at line 89 of file PFBlockElement.h.
Referenced by PFAlgo::isFromSecInt(), FWPFBlockProxyBuilder::setupTrackElement(), and TrackAndTrackLinker::testLink().
|
inline |
Definition at line 86 of file PFBlockElement.h.
References type_.
Referenced by PFPhotonAlgo::EvaluateGCorrMVA(), PFPhotonAlgo::EvaluateResMVA(), PFBlockBasedIsolation::getHighestEtECALCluster(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::inputCommands(), PFEGammaAlgo::isAMuon(), PFEGammaFilters::isElectronSafeForJetMET(), PFEGammaFilters::isPhotonSafeForJetMET(), PFBlockAlgo::link(), PreshowerAndECALLinker::linkPrefilter(), TrackAndECALLinker::linkPrefilter(), PFBlockElementSCEqual::operator()(), reco::operator<<(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::outputCommands(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::outputEventContent(), PFElectronTranslator::produce(), EgammaHLTPFPhotonIsolationProducer::produce(), PFPhotonTranslator::produce(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::properties(), HCALAndHOLinker::testLink(), HFEMAndHFHADLinker::testLink(), ECALAndHCALCaloJetLinker::testLink(), ECALAndHCALLinker::testLink(), GSFAndBREMLinker::testLink(), HGCalAndBREMLinker::testLink(), HCALAndBREMLinker::testLink(), ECALAndBREMLinker::testLink(), GSFAndHCALLinker::testLink(), GSFAndHGCalLinker::testLink(), GSFAndECALLinker::testLink(), TrackAndHOLinker::testLink(), TrackAndGSFLinker::testLink(), SCAndECALLinker::testLink(), SCAndHGCalLinker::testLink(), PreshowerAndECALLinker::testLink(), TrackAndHCALLinker::testLink(), and TrackAndECALLinker::testLink().
|
inline |
|
inlinevirtual |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 110 of file PFBlockElement.h.
References nullVertex_.
Referenced by TrackAndTrackLinker::testLink().
|
protected |
index in block vector
Definition at line 157 of file PFBlockElement.h.
Referenced by index(), and setIndex().
|
protected |
locked flag.
Definition at line 154 of file PFBlockElement.h.
|
protected |
Definition at line 160 of file PFBlockElement.h.
Referenced by getMultilinks(), isMultilinksValide(), setIsValidMultilinks(), setMultilinks(), and setMultilinksList().
|
staticprotected |
Definition at line 172 of file PFBlockElement.h.
Referenced by convRefs().
|
staticprotected |
Definition at line 173 of file PFBlockElement.h.
Referenced by muonRef().
|
staticprotected |
Definition at line 170 of file PFBlockElement.h.
Referenced by clusterRef().
|
staticprotected |
Definition at line 171 of file PFBlockElement.h.
Referenced by reco::PFBlockElementTrack::displacedVertexRef(), and displacedVertexRef().
|
staticprotected |
Definition at line 169 of file PFBlockElement.h.
Referenced by trackRefPF().
|
staticprotected |
Definition at line 168 of file PFBlockElement.h.
Referenced by trackRef().
|
staticprotected |
Definition at line 174 of file PFBlockElement.h.
Referenced by V0Ref().
|
protected |
timing information (valid if timeError_ >= 0)
Definition at line 164 of file PFBlockElement.h.
|
protected |
timing information uncertainty (<0 if timing not available)
Definition at line 166 of file PFBlockElement.h.
Referenced by isTimeValid(), setTime(), and timeError().
|
protected |
type, see PFBlockElementType
Definition at line 149 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(), Mixins._TypedParameterizable::insertInto(), Modules.ESSource::moduleLabel_(), Modules.ESProducer::moduleLabel_(), Modules.ESSource::nameInProcessDesc_(), Modules.ESProducer::nameInProcessDesc_(), Modules.ESPrefer::nameInProcessDesc_(), and type().