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 } |
Public Member Functions | |
virtual PFBlockElement * | clone () const =0 |
necessary to have the edm::OwnVector<PFBlockElement> working | |
virtual PFClusterRef | clusterRef () const |
virtual ConversionRef | convRef () const |
virtual PFDisplacedTrackerVertexRef | displacedVertexRef (TrackType trType) const |
virtual void | Dump (std::ostream &out=std::cout, const char *tab=" ") const |
print the object inside the element | |
const PFMultilinksType & | getMultilinks () const |
unsigned | index () const |
virtual bool | isLinkedToDisplacedVertex () const |
bool | isMultilinksValide () const |
virtual bool | isPrimary () const |
virtual bool | isSecondary () const |
void | lock () |
lock element | |
bool | locked () const |
locked ? | |
virtual MuonRef | muonRef () const |
PFBlockElement (Type type=NONE) | |
standard constructor | |
virtual void | setConversionRef (const ConversionRef &convRef, TrackType trType) |
virtual void | setDisplacedVertexRef (const PFDisplacedTrackerVertexRef &niref, TrackType trType) |
void | setIndex (unsigned index) |
set index | |
void | setIsValidMultilinks (bool isVal) |
void | setMultilinks (const PFMultiLinksTC &ml) |
void | setMultilinksList (const PFMultilinksType &links) |
virtual void | setMuonRef (const MuonRef &muref) |
virtual void | setTrackType (TrackType trType, bool value) |
the trackType | |
virtual void | setV0Ref (const VertexCompositeCandidateRef &v0ref, TrackType trType) |
virtual reco::TrackRef | trackRef () const |
virtual PFRecTrackRef | trackRefPF () const |
virtual bool | trackType (TrackType trType) const |
Type | type () const |
void | unLock () |
unlock element | |
virtual VertexCompositeCandidateRef | V0Ref () const |
virtual | ~PFBlockElement () |
destructor | |
Protected Attributes | |
unsigned | index_ |
index in block vector | |
bool | locked_ |
PFMultiLinksTC | multilinks_ |
Type | type_ |
Friends | |
std::ostream & | operator<< (std::ostream &out, const PFBlockElement &element) |
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.
Definition at line 48 of file PFBlockElement.h.
{ DEFAULT=0, T_FROM_DISP, T_TO_DISP, T_FROM_GAMMACONV, MUON, T_FROM_V0 };
possible types for the element do not modify this enum if you don't know what you're doing!!!
Definition at line 33 of file PFBlockElement.h.
reco::PFBlockElement::PFBlockElement | ( | Type | type = NONE | ) | [inline] |
virtual reco::PFBlockElement::~PFBlockElement | ( | ) | [inline, virtual] |
virtual PFBlockElement* reco::PFBlockElement::clone | ( | ) | const [pure virtual] |
necessary to have the edm::OwnVector<PFBlockElement> working
Implemented in reco::PFBlockElementBrem, reco::PFBlockElementCluster, reco::PFBlockElementGsfTrack, reco::PFBlockElementSuperCluster, and reco::PFBlockElementTrack.
Referenced by reco::PFBlock::addElement().
virtual PFClusterRef reco::PFBlockElement::clusterRef | ( | ) | const [inline, virtual] |
Reimplemented in reco::PFBlockElementCluster.
Definition at line 102 of file PFBlockElement.h.
Referenced by PFElectronTranslator::createBasicCluster(), PFPhotonTranslator::createBasicCluster(), PFElectronTranslator::createPreshowerCluster(), PFPhotonTranslator::createPreshowerCluster(), KDTreeLinkerTrackHcal::insertFieldClusterElt(), KDTreeLinkerTrackEcal::insertFieldClusterElt(), KDTreeLinkerPSEcal::insertFieldClusterElt(), KDTreeLinkerPSEcal::insertTargetElt(), PFBlockAlgo::link(), and FWPFBlockProxyBuilder::setupClusterElement().
{return PFClusterRef(); }
virtual ConversionRef reco::PFBlockElement::convRef | ( | ) | const [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 104 of file PFBlockElement.h.
Referenced by PFBlockAlgo::testLinkByVertex().
{ return ConversionRef();}
virtual PFDisplacedTrackerVertexRef reco::PFBlockElement::displacedVertexRef | ( | TrackType | trType | ) | const [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 103 of file PFBlockElement.h.
Referenced by PFBlockAlgo::testLinkByVertex().
{ return PFDisplacedTrackerVertexRef(); }
void PFBlockElement::Dump | ( | std::ostream & | out = std::cout , |
const char * | tab = " " |
||
) | const [virtual] |
print the object inside the element
Reimplemented in reco::PFBlockElementBrem, reco::PFBlockElementCluster, reco::PFBlockElementGsfTrack, reco::PFBlockElementSuperCluster, and reco::PFBlockElementTrack.
Definition at line 17 of file PFBlockElement.cc.
const PFMultilinksType& reco::PFBlockElement::getMultilinks | ( | ) | const [inline] |
Definition at line 132 of file PFBlockElement.h.
References reco::PFMultiLinksTC::linkedClusters, and multilinks_.
Referenced by PFBlockAlgo::link(), and PFBlockAlgo::linkPrefilter().
{return multilinks_.linkedClusters;}
unsigned reco::PFBlockElement::index | ( | ) | const [inline] |
Definition at line 98 of file PFBlockElement.h.
References index_.
Referenced by PFElectronTranslator::correspondingDaughterCandidate(), PFPhotonTranslator::correspondingDaughterCandidate(), and setIndex().
{return index_;}
virtual bool reco::PFBlockElement::isLinkedToDisplacedVertex | ( | ) | const [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 121 of file PFBlockElement.h.
Referenced by PFBlockAlgo::link().
{return false;}
bool reco::PFBlockElement::isMultilinksValide | ( | ) | const [inline] |
Definition at line 131 of file PFBlockElement.h.
References reco::PFMultiLinksTC::isValid, and multilinks_.
Referenced by PFBlockAlgo::link(), and PFBlockAlgo::linkPrefilter().
{return multilinks_.isValid;}
virtual bool reco::PFBlockElement::isPrimary | ( | ) | const [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 120 of file PFBlockElement.h.
{ return false; }
virtual bool reco::PFBlockElement::isSecondary | ( | ) | const [inline, virtual] |
Reimplemented in reco::PFBlockElementGsfTrack, and reco::PFBlockElementTrack.
Definition at line 119 of file PFBlockElement.h.
{ return false; }
void reco::PFBlockElement::lock | ( | ) | [inline] |
lock element
Definition at line 76 of file PFBlockElement.h.
References locked_.
Referenced by reco::PFBlock::addElement().
{locked_ = true;}
bool reco::PFBlockElement::locked | ( | ) | const [inline] |
virtual MuonRef reco::PFBlockElement::muonRef | ( | ) | const [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 105 of file PFBlockElement.h.
{ return MuonRef(); }
virtual void reco::PFBlockElement::setConversionRef | ( | const ConversionRef & | convRef, |
TrackType | trType | ||
) | [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 109 of file PFBlockElement.h.
References gather_cfg::cout.
Referenced by PFBlockAlgo::setInput().
{ std::cout << "Error in PFBlockElement::setConversionRef : this base class method is not implemented" << std::endl;}
virtual void reco::PFBlockElement::setDisplacedVertexRef | ( | const PFDisplacedTrackerVertexRef & | niref, |
TrackType | trType | ||
) | [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 107 of file PFBlockElement.h.
References gather_cfg::cout.
Referenced by PFBlockAlgo::setInput().
{ std::cout << "Error in PFBlockElement::setDisplacedVertexRef : this base class method is not implemented" << std::endl;}
void reco::PFBlockElement::setIndex | ( | unsigned | index | ) | [inline] |
set index
Definition at line 95 of file PFBlockElement.h.
References index(), and index_.
Referenced by reco::PFBlock::addElement().
void reco::PFBlockElement::setIsValidMultilinks | ( | bool | isVal | ) | [inline] |
Definition at line 128 of file PFBlockElement.h.
References reco::PFMultiLinksTC::isValid, and multilinks_.
{multilinks_.isValid = isVal;}
void reco::PFBlockElement::setMultilinks | ( | const PFMultiLinksTC & | ml | ) | [inline] |
void reco::PFBlockElement::setMultilinksList | ( | const PFMultilinksType & | links | ) | [inline] |
Definition at line 129 of file PFBlockElement.h.
References reco::PFMultiLinksTC::linkedClusters, and multilinks_.
{multilinks_.linkedClusters = links;}
virtual void reco::PFBlockElement::setMuonRef | ( | const MuonRef & | muref | ) | [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 111 of file PFBlockElement.h.
References gather_cfg::cout.
Referenced by PFBlockAlgo::setInput().
{ std::cout << "Error in PFBlockElement::setMuonRef : this base class method is not implemented" << std::endl;}
virtual void reco::PFBlockElement::setTrackType | ( | TrackType | trType, |
bool | value | ||
) | [inline, virtual] |
the trackType
Reimplemented in reco::PFBlockElementGsfTrack, and reco::PFBlockElementTrack.
Definition at line 88 of file PFBlockElement.h.
References gather_cfg::cout.
Referenced by PFBlockAlgo::setInput().
{ std::cout << "Error in PFBlockElement::setTrackType : this base class method is not implemented" << std::endl;}
virtual void reco::PFBlockElement::setV0Ref | ( | const VertexCompositeCandidateRef & | v0ref, |
TrackType | trType | ||
) | [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 113 of file PFBlockElement.h.
References gather_cfg::cout.
Referenced by PFBlockAlgo::setInput().
{ std::cout << "Error in PFBlockElement::setV0Ref : this base class method is not implemented" << std::endl; }
virtual reco::TrackRef reco::PFBlockElement::trackRef | ( | ) | const [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 100 of file PFBlockElement.h.
Referenced by PFPhotonAlgo::EvaluateGCorrMVA(), PFPhotonAlgo::EvaluateResMVA(), PFBlockAlgo::link(), and FWPFBlockProxyBuilder::setupTrackElement().
{return reco::TrackRef(); }
virtual PFRecTrackRef reco::PFBlockElement::trackRefPF | ( | ) | const [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 101 of file PFBlockElement.h.
Referenced by PFBlockAlgo::link().
{return PFRecTrackRef(); }
virtual bool reco::PFBlockElement::trackType | ( | TrackType | trType | ) | const [inline, virtual] |
Reimplemented in reco::PFBlockElementGsfTrack, and reco::PFBlockElementTrack.
Definition at line 85 of file PFBlockElement.h.
Referenced by PFAlgo::isFromSecInt(), PFBlockAlgo::link(), FWPFBlockProxyBuilder::setupTrackElement(), and PFBlockAlgo::testLinkByVertex().
{ return false; }
Type reco::PFBlockElement::type | ( | ) | const [inline] |
Definition at line 82 of file PFBlockElement.h.
References type_.
Referenced by PFPhotonAlgo::EvaluateGCorrMVA(), PFPhotonAlgo::EvaluateResMVA(), PFBlockAlgo::link(), PFBlockElementSCEqual::operator()(), PFPhotonTranslator::produce(), and PFElectronTranslator::produce().
{ return type_; }
void reco::PFBlockElement::unLock | ( | ) | [inline] |
unlock element
Definition at line 79 of file PFBlockElement.h.
References locked_.
{locked_ = false;}
virtual VertexCompositeCandidateRef reco::PFBlockElement::V0Ref | ( | ) | const [inline, virtual] |
Reimplemented in reco::PFBlockElementTrack.
Definition at line 106 of file PFBlockElement.h.
Referenced by PFBlockAlgo::testLinkByVertex().
{ return VertexCompositeCandidateRef(); }
std::ostream& operator<< | ( | std::ostream & | out, |
const PFBlockElement & | element | ||
) | [friend] |
unsigned reco::PFBlockElement::index_ [protected] |
index in block vector
Definition at line 147 of file PFBlockElement.h.
Referenced by index(), and setIndex().
bool reco::PFBlockElement::locked_ [protected] |
locked flag.
Definition at line 144 of file PFBlockElement.h.
PFMultiLinksTC reco::PFBlockElement::multilinks_ [protected] |
Definition at line 150 of file PFBlockElement.h.
Referenced by getMultilinks(), isMultilinksValide(), setIsValidMultilinks(), setMultilinks(), and setMultilinksList().
Type reco::PFBlockElement::type_ [protected] |