A PFTrack holds several trajectory points, which basically contain the position and momentum of a track at a given position. More...
#include <PFTrajectoryPoint.h>
Public Types | |
enum | LayerType { ClosestApproach = 0, BeamPipeOrEndVertex = 1, PS1 = 2, PS2 = 3, ECALEntrance = 4, ECALShowerMax = 5, HCALEntrance = 6, HCALExit = 7, HOLayer = 8, VFcalEntrance = 9, NLayers = 10, Unknown = -1 } |
Define the different layers where the track can be propagated. More... | |
typedef ROOT::Math::PositionVector3D < ROOT::Math::CylindricalEta3D < double > > | REPPoint |
Public Member Functions | |
void | calculatePositionREP () |
calculate posrep_ once and for all More... | |
int | detId () const |
measurement detId More... | |
bool | isTrackerLayer () const |
is this point corresponding to an intersection with a tracker layer ? More... | |
bool | isValid () const |
is this point valid ? More... | |
int | layer () const |
trajectory point layer More... | |
const math::XYZTLorentzVector & | momentum () const |
4-momenta quadrivector More... | |
bool | operator== (const reco::PFTrajectoryPoint &other) const |
PFTrajectoryPoint () | |
default constructor. Set variables at default dummy values More... | |
PFTrajectoryPoint (int detId, int layer, const math::XYZPoint &posxyz, const math::XYZTLorentzVector &momentum) | |
constructor from values. set detId to -1 if this point is not from a tracker layer More... | |
PFTrajectoryPoint (const PFTrajectoryPoint &other) | |
copy More... | |
const math::XYZPoint & | position () const |
cartesian position (x, y, z) More... | |
const REPPoint & | positionREP () const |
trajectory position in (rho, eta, phi) base More... | |
virtual | ~PFTrajectoryPoint () |
destructor More... | |
Static Public Member Functions | |
static LayerType | layerTypeByName (const std::string &name) |
Static Public Attributes | |
static const std::array < std::string, NLayers > | layerTypeNames |
Private Attributes | |
int | detId_ |
detid if measurement is corresponding to a tracker layer More... | |
bool | isTrackerLayer_ |
Is the measurement corresponding to a tracker layer? or was it obtained by propagating the track to a certain position? More... | |
int | layer_ |
propagated layer More... | |
math::XYZTLorentzVector | momentum_ |
momentum quadrivector More... | |
REPPoint | posrep_ |
position in (rho, eta, phi) base (transient) More... | |
math::XYZPoint | posxyz_ |
cartesian position (x, y, z) More... | |
Friends | |
std::ostream & | operator<< (std::ostream &out, const reco::PFTrajectoryPoint &trajPoint) |
A PFTrack holds several trajectory points, which basically contain the position and momentum of a track at a given position.
Definition at line 26 of file PFTrajectoryPoint.h.
typedef ROOT::Math::PositionVector3D<ROOT::Math::CylindricalEta3D<double> > reco::PFTrajectoryPoint::REPPoint |
Definition at line 31 of file PFTrajectoryPoint.h.
Define the different layers where the track can be propagated.
Enumerator | |
---|---|
ClosestApproach |
Point of closest approach from beam axis (initial point in the case of PFSimParticle) |
BeamPipeOrEndVertex | |
PS1 |
Preshower layer 1. |
PS2 |
Preshower layer 2. |
ECALEntrance |
ECAL front face. |
ECALShowerMax |
expected maximum of the shower in ECAL, for an e/gamma particle |
HCALEntrance |
HCAL front face. |
HCALExit |
HCAL exit. |
HOLayer |
HO layer. |
VFcalEntrance |
VFcal(HF) front face. |
NLayers | |
Unknown |
Definition at line 34 of file PFTrajectoryPoint.h.
PFTrajectoryPoint::PFTrajectoryPoint | ( | ) |
default constructor. Set variables at default dummy values
Definition at line 20 of file PFTrajectoryPoint.cc.
PFTrajectoryPoint::PFTrajectoryPoint | ( | int | detId, |
int | layer, | ||
const math::XYZPoint & | posxyz, | ||
const math::XYZTLorentzVector & | momentum | ||
) |
constructor from values. set detId to -1 if this point is not from a tracker layer
Definition at line 22 of file PFTrajectoryPoint.cc.
References isTrackerLayer_, posrep_, and posxyz_.
PFTrajectoryPoint::PFTrajectoryPoint | ( | const PFTrajectoryPoint & | other | ) |
copy
Definition at line 32 of file PFTrajectoryPoint.cc.
|
virtual |
|
inline |
calculate posrep_ once and for all
Definition at line 106 of file PFTrajectoryPoint.h.
References posrep_, and posxyz_.
|
inline |
measurement detId
Definition at line 78 of file PFTrajectoryPoint.h.
References detId_.
Referenced by reco::operator<<().
|
inline |
is this point corresponding to an intersection with a tracker layer ?
Definition at line 92 of file PFTrajectoryPoint.h.
References detId_.
Referenced by reco::PFTrack::addPoint().
|
inline |
is this point valid ?
Definition at line 84 of file PFTrajectoryPoint.h.
References detId_, and layer_.
Referenced by ntupleDataFormat._Object::_checkIsValid(), LowPtGsfElectronSCProducer::closestCluster(), PFElecTkProducer::isSharingEcalEnergyWithEgSC(), PFElecTkProducer::minTangDist(), reco::PFBlockElementBrem::PFBlockElementBrem(), reco::PFBlockElementGsfTrack::PFBlockElementGsfTrack(), reco::PFBlockElementTrack::PFBlockElementTrack(), PFConversionProducer::produce(), PFTrackProducer::produce(), LowPtGsfElectronSeedProducer::propagateTrackToCalo(), core.AutoHandle.AutoHandle::ReallyLoad(), ConvBremPFTrackFinder::runConvBremFinder(), KDTreeLinkerTrackEcal::searchLinks(), KDTreeLinkerTrackHcal::searchLinks(), GSFAndHCALLinker::testLink(), GSFAndHGCalLinker::testLink(), ECALAndBREMLinker::testLink(), HCALAndBREMLinker::testLink(), GSFAndECALLinker::testLink(), HGCalAndBREMLinker::testLink(), TrackAndECALLinker::testLink(), TrackAndHCALLinker::testLink(), and LinkByRecHit::testTrackAndClusterByRecHit().
|
inline |
trajectory point layer
Definition at line 81 of file PFTrajectoryPoint.h.
References layer_.
Referenced by geometryXMLparser.DTAlignable::index(), geometryXMLparser.CSCAlignable::index(), and reco::operator<<().
|
static |
Definition at line 42 of file PFTrajectoryPoint.cc.
References HLT_FULL_cff::distance, spr::find(), layerTypeNames, mergeVDriftHistosByStation::name, and Unknown.
Referenced by KDTreeLinkerTrackHcal::KDTreeLinkerTrackHcal(), and TrackAndHCALLinker::TrackAndHCALLinker().
|
inline |
4-momenta quadrivector
Definition at line 109 of file PFTrajectoryPoint.h.
References momentum_.
Referenced by reco::operator<<(), ConvBremPFTrackFinder::runConvBremFinder(), KDTreeLinkerTrackEcal::searchLinks(), and LinkByRecHit::testTrackAndClusterByRecHit().
bool PFTrajectoryPoint::operator== | ( | const reco::PFTrajectoryPoint & | other | ) | const |
Definition at line 51 of file PFTrajectoryPoint.cc.
References momentum_, and posxyz_.
|
inline |
cartesian position (x, y, z)
Definition at line 100 of file PFTrajectoryPoint.h.
References posxyz_.
Referenced by reco::operator<<(), reco::PFBlockElementBrem::PFBlockElementBrem(), reco::PFBlockElementGsfTrack::PFBlockElementGsfTrack(), reco::PFBlockElementTrack::PFBlockElementTrack(), LowPtGsfElectronSeedProducer::propagateTrackToCalo(), KDTreeLinkerTrackEcal::searchLinks(), TrackAndHCALLinker::testLink(), LinkByRecHit::testTrackAndClusterByRecHit(), and KDTreeLinkerTrackHcal::updatePFBlockEltWithLinks().
|
inline |
trajectory position in (rho, eta, phi) base
Definition at line 103 of file PFTrajectoryPoint.h.
References posrep_.
Referenced by LowPtGsfElectronSCProducer::closestCluster(), PFElecTkProducer::minTangDist(), LowPtGsfElectronSeedProducer::propagateTrackToCalo(), KDTreeLinkerTrackEcal::searchLinks(), KDTreeLinkerTrackHcal::searchLinks(), HGCalAndBREMLinker::testLink(), GSFAndHGCalLinker::testLink(), TrackAndECALLinker::testLink(), TrackAndHCALLinker::testLink(), LinkByRecHit::testTrackAndClusterByRecHit(), and KDTreeLinkerTrackHcal::updatePFBlockEltWithLinks().
|
friend |
|
private |
detid if measurement is corresponding to a tracker layer
Definition at line 121 of file PFTrajectoryPoint.h.
Referenced by detId(), isTrackerLayer(), and isValid().
|
private |
Is the measurement corresponding to a tracker layer? or was it obtained by propagating the track to a certain position?
Definition at line 118 of file PFTrajectoryPoint.h.
Referenced by PFTrajectoryPoint().
|
private |
propagated layer
Definition at line 124 of file PFTrajectoryPoint.h.
|
static |
Definition at line 61 of file PFTrajectoryPoint.h.
Referenced by layerTypeByName().
|
private |
momentum quadrivector
Definition at line 133 of file PFTrajectoryPoint.h.
Referenced by momentum(), and operator==().
|
private |
position in (rho, eta, phi) base (transient)
Definition at line 130 of file PFTrajectoryPoint.h.
Referenced by calculatePositionREP(), PFTrajectoryPoint(), and positionREP().
|
private |
cartesian position (x, y, z)
Definition at line 127 of file PFTrajectoryPoint.h.
Referenced by calculatePositionREP(), operator==(), PFTrajectoryPoint(), and position().