#include <DataFormats/ParticleFlowReco/interface/PFBlockElementTrack.h>
Public Member Functions | |
PFBlockElement * | clone () const |
necessary to have the edm::OwnVector<PFBlockElement> working | |
ConversionRef | convRef () const |
| |
void | Dump (std::ostream &out=std::cout, const char *tab=" ") const |
print the object inside the element | |
bool | isSecondary () const |
check if the track is secondary | |
reco::MuonRef | muonRef () const |
| |
NuclearInteractionRef | nuclearRef () const |
| |
PFBlockElementTrack (const PFRecTrackRef &ref) | |
PFBlockElementTrack () | |
const math::XYZPointF & | positionAtECALEntrance () const |
| |
void | setConversionRef (const ConversionRef &convRef, TrackType trType) |
the ref to gamma conversion | |
void | setMuonRef (const MuonRef &muref) |
reference to the Muon | |
void | setNuclearRef (const NuclearInteractionRef &niref, TrackType trType) |
the ref to the nuclear interaction | |
void | setPositionAtECALEntrance (float x, float y, float z) |
set position at ECAL entrance | |
virtual void | setTrackType (TrackType trType, bool value) |
the trackType | |
void | setV0Ref (const VertexCompositeCandidateRef &V0Ref, TrackType trType) |
the ref to V0 | |
reco::TrackRef | trackRef () const |
| |
PFRecTrackRef | trackRefPF () const |
| |
virtual bool | trackType (TrackType trType) const |
| |
VertexCompositeCandidateRef | V0Ref () const |
| |
Private Attributes | |
ConversionRef | convRef_ |
reference to reco conversion | |
reco::MuonRef | muonRef_ |
reference to the corresponding muon | |
NuclearInteractionRef | nuclInterRef_ |
reference to the corresponding pf nuclear interaction | |
math::XYZPointF | positionAtECALEntrance_ |
position at ECAL entrance | |
reco::TrackRef | trackRef_ |
reference to the corresponding track | |
PFRecTrackRef | trackRefPF_ |
reference to the corresponding track (transient) | |
unsigned int | trackType_ |
VertexCompositeCandidateRef | v0Ref_ |
reference to V0 |
this class contains a reference to a PFRecTrack
Definition at line 17 of file PFBlockElementTrack.h.
reco::PFBlockElementTrack::PFBlockElementTrack | ( | ) | [inline] |
PFBlockElementTrack::PFBlockElementTrack | ( | const PFRecTrackRef & | ref | ) |
Definition at line 13 of file PFBlockElementTrack.cc.
References reco::PFBlockElement::DEFAULT, reco::PFTrajectoryPoint::ECALEntrance, edm::Ref< C, T, F >::isNull(), reco::PFTrajectoryPoint::isValid(), reco::PFTrajectoryPoint::position(), positionAtECALEntrance_, and setTrackType().
00013 : 00014 PFBlockElement( TRACK ), 00015 trackRefPF_( ref ), 00016 trackRef_( ref->trackRef() ), 00017 trackType_(0) { 00018 00019 00020 if( ref.isNull() ) 00021 throw cms::Exception("NullRef")<<" PFBlockElementTrack constructed from a null reference to PFRecTrack."; 00022 00023 const reco::PFTrajectoryPoint& atECAL 00024 = ref->extrapolatedPoint( reco::PFTrajectoryPoint::ECALEntrance ); 00025 00026 if( atECAL.isValid() ) 00027 positionAtECALEntrance_.SetCoordinates( atECAL.position().x(), 00028 atECAL.position().y(), 00029 atECAL.position().z() ); 00030 // if the position at ecal entrance is invalid, 00031 // positionAtECALEntrance_ is initialized by default to 0,0,0 00032 00033 setTrackType( DEFAULT, true ); 00034 }
PFBlockElement* reco::PFBlockElementTrack::clone | ( | ) | const [inline, virtual] |
necessary to have the edm::OwnVector<PFBlockElement> working
Implements reco::PFBlockElement.
Definition at line 24 of file PFBlockElementTrack.h.
References PFBlockElementTrack().
00024 { return new PFBlockElementTrack(*this); }
ConversionRef reco::PFBlockElementTrack::convRef | ( | ) | const [inline, virtual] |
Reimplemented from reco::PFBlockElement.
Definition at line 81 of file PFBlockElementTrack.h.
References convRef_.
00081 {return convRef_;}
void reco::PFBlockElementTrack::Dump | ( | std::ostream & | out = std::cout , |
|
const char * | tab = " " | |||
) | const [virtual] |
print the object inside the element
Reimplemented from reco::PFBlockElement.
Referenced by reco::operator<<().
bool reco::PFBlockElementTrack::isSecondary | ( | ) | const [inline, virtual] |
check if the track is secondary
Reimplemented from reco::PFBlockElement.
Definition at line 60 of file PFBlockElementTrack.h.
References reco::PFBlockElement::T_FROM_GAMMACONV, reco::PFBlockElement::T_FROM_NUCL, and trackType().
00060 { 00061 return trackType(T_FROM_NUCL) || trackType(T_FROM_GAMMACONV); 00062 }
reco::MuonRef reco::PFBlockElementTrack::muonRef | ( | ) | const [inline, virtual] |
Reimplemented from reco::PFBlockElement.
Definition at line 73 of file PFBlockElementTrack.h.
References muonRef_.
Referenced by PFAlgo::reconstructTrack().
00073 { return muonRef_; }
NuclearInteractionRef reco::PFBlockElementTrack::nuclearRef | ( | ) | const [inline, virtual] |
Reimplemented from reco::PFBlockElement.
Definition at line 65 of file PFBlockElementTrack.h.
References nuclInterRef_.
Referenced by PFAlgo::reconstructTrack().
00065 { return nuclInterRef_; }
const math::XYZPointF& reco::PFBlockElementTrack::positionAtECALEntrance | ( | ) | const [inline] |
Definition at line 48 of file PFBlockElementTrack.h.
References positionAtECALEntrance_.
Referenced by PFAlgo::reconstructTrack().
00048 { 00049 return positionAtECALEntrance_; 00050 }
void reco::PFBlockElementTrack::setConversionRef | ( | const ConversionRef & | convRef, | |
TrackType | trType | |||
) | [inline, virtual] |
the ref to gamma conversion
Reimplemented from reco::PFBlockElement.
Definition at line 84 of file PFBlockElementTrack.h.
References convRef_, and setTrackType().
00084 { 00085 convRef_ = convRef; setTrackType(trType,true); 00086 }
reference to the Muon
Reimplemented from reco::PFBlockElement.
Definition at line 76 of file PFBlockElementTrack.h.
References reco::PFBlockElement::MUON, muonRef_, and setTrackType().
00076 { 00077 muonRef_=muref; setTrackType(MUON,true); 00078 }
void reco::PFBlockElementTrack::setNuclearRef | ( | const NuclearInteractionRef & | niref, | |
TrackType | trType | |||
) | [inline, virtual] |
the ref to the nuclear interaction
Reimplemented from reco::PFBlockElement.
Definition at line 68 of file PFBlockElementTrack.h.
References nuclInterRef_, and setTrackType().
00068 { 00069 nuclInterRef_ = niref; setTrackType(trType,true); 00070 }
void reco::PFBlockElementTrack::setPositionAtECALEntrance | ( | float | x, | |
float | y, | |||
float | z | |||
) | [inline] |
set position at ECAL entrance
Definition at line 42 of file PFBlockElementTrack.h.
References positionAtECALEntrance_.
00042 { 00043 positionAtECALEntrance_.SetCoordinates(x, y, z); 00044 }
virtual void reco::PFBlockElementTrack::setTrackType | ( | TrackType | trType, | |
bool | value | |||
) | [inline, virtual] |
the trackType
Reimplemented from reco::PFBlockElement.
Definition at line 35 of file PFBlockElementTrack.h.
References trackType_.
Referenced by PFBlockElementTrack(), setConversionRef(), setMuonRef(), setNuclearRef(), and setV0Ref().
00035 { 00036 if(value) trackType_ = trackType_ | (1<<trType); 00037 else trackType_ = trackType_ ^ (1<<trType); 00038 }
void reco::PFBlockElementTrack::setV0Ref | ( | const VertexCompositeCandidateRef & | V0Ref, | |
TrackType | trType | |||
) | [inline, virtual] |
the ref to V0
Reimplemented from reco::PFBlockElement.
Definition at line 92 of file PFBlockElementTrack.h.
References setTrackType(), and v0Ref_.
00092 { 00093 v0Ref_ = V0Ref; setTrackType(trType,true); 00094 }
reco::TrackRef reco::PFBlockElementTrack::trackRef | ( | ) | const [inline, virtual] |
Reimplemented from reco::PFBlockElement.
Definition at line 57 of file PFBlockElementTrack.h.
References trackRef_.
Referenced by PFAlgo::reconstructTrack(), PFElectronAlgo::SetCandidates(), and PFConversionAlgo::setCandidates().
00057 { return trackRef_; }
PFRecTrackRef reco::PFBlockElementTrack::trackRefPF | ( | ) | const [inline, virtual] |
Reimplemented from reco::PFBlockElement.
Definition at line 54 of file PFBlockElementTrack.h.
References trackRefPF_.
00054 { return trackRefPF_; }
Reimplemented from reco::PFBlockElement.
Definition at line 30 of file PFBlockElementTrack.h.
References trackType_.
Referenced by isSecondary(), reco::operator<<(), and PFAlgo::reconstructTrack().
00030 { 00031 return (trackType_>>trType) & 1; 00032 }
VertexCompositeCandidateRef reco::PFBlockElementTrack::V0Ref | ( | ) | const [inline, virtual] |
Reimplemented from reco::PFBlockElement.
Definition at line 89 of file PFBlockElementTrack.h.
References v0Ref_.
00089 {return v0Ref_;}
reference to reco conversion
Definition at line 118 of file PFBlockElementTrack.h.
Referenced by convRef(), and setConversionRef().
reference to the corresponding muon
Definition at line 115 of file PFBlockElementTrack.h.
Referenced by muonRef(), and setMuonRef().
reference to the corresponding pf nuclear interaction
Definition at line 112 of file PFBlockElementTrack.h.
Referenced by nuclearRef(), and setNuclearRef().
position at ECAL entrance
Definition at line 109 of file PFBlockElementTrack.h.
Referenced by PFBlockElementTrack(), positionAtECALEntrance(), and setPositionAtECALEntrance().
reference to the corresponding track
Definition at line 104 of file PFBlockElementTrack.h.
Referenced by trackRef().
reference to the corresponding track (transient)
Definition at line 101 of file PFBlockElementTrack.h.
Referenced by trackRefPF().
unsigned int reco::PFBlockElementTrack::trackType_ [private] |
Definition at line 106 of file PFBlockElementTrack.h.
Referenced by setTrackType(), and trackType().
reference to V0
Definition at line 121 of file PFBlockElementTrack.h.
Referenced by setV0Ref(), and V0Ref().