CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes | Friends
reco::PFTrajectoryPoint Class Reference

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, NLayers = 9
}
 Define the different layers where the track can be propagated. More...
 
typedef
ROOT::Math::PositionVector3D
< ROOT::Math::CylindricalEta3D
< Double32_t > > 
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::XYZTLorentzVectormomentum () 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::XYZPointposition () const
 cartesian position (x, y, z) More...
 
const REPPointpositionREP () const
 trajectory position in (rho, eta, phi) base More...
 
virtual ~PFTrajectoryPoint ()
 destructor More...
 

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)
 

Detailed Description

A PFTrack holds several trajectory points, which basically contain the position and momentum of a track at a given position.

Author
Renaud Bruneliere
Date
July 2006

Definition at line 26 of file PFTrajectoryPoint.h.

Member Typedef Documentation

typedef ROOT::Math::PositionVector3D<ROOT::Math::CylindricalEta3D<Double32_t> > reco::PFTrajectoryPoint::REPPoint

Definition at line 29 of file PFTrajectoryPoint.h.

Member Enumeration Documentation

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.

NLayers 

Definition at line 32 of file PFTrajectoryPoint.h.

Constructor & Destructor Documentation

PFTrajectoryPoint::PFTrajectoryPoint ( )

default constructor. Set variables at default dummy values

Definition at line 6 of file PFTrajectoryPoint.cc.

6  :
7  isTrackerLayer_(false),
8  detId_(-1),
9  layer_(-1) {}
int detId_
detid if measurement is corresponding to a tracker layer
bool isTrackerLayer_
Is the measurement corresponding to a tracker layer? or was it obtained by propagating the track to a...
int layer_
propagated layer
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 12 of file PFTrajectoryPoint.cc.

References isTrackerLayer_, posrep_, and posxyz_.

15  :
16  isTrackerLayer_(false),
17  detId_(detId),
18  layer_(layer),
19  posxyz_(posxyz),
21 {
22  if (detId) isTrackerLayer_ = true;
23  posrep_.SetCoordinates(posxyz_.Rho(), posxyz_.Eta(), posxyz_.Phi());
24 }
int detId_
detid if measurement is corresponding to a tracker layer
math::XYZPoint posxyz_
cartesian position (x, y, z)
int layer() const
trajectory point layer
bool isTrackerLayer_
Is the measurement corresponding to a tracker layer? or was it obtained by propagating the track to a...
const math::XYZTLorentzVector & momentum() const
4-momenta quadrivector
int layer_
propagated layer
math::XYZTLorentzVector momentum_
momentum quadrivector
int detId() const
measurement detId
REPPoint posrep_
position in (rho, eta, phi) base (transient)
PFTrajectoryPoint::PFTrajectoryPoint ( const PFTrajectoryPoint other)

copy

Definition at line 27 of file PFTrajectoryPoint.cc.

27  :
29  detId_(other.detId_),
30  layer_(other.layer_),
31  posxyz_(other.posxyz_),
32  posrep_(other.posrep_),
33  momentum_(other.momentum_) { }
int detId_
detid if measurement is corresponding to a tracker layer
math::XYZPoint posxyz_
cartesian position (x, y, z)
bool isTrackerLayer_
Is the measurement corresponding to a tracker layer? or was it obtained by propagating the track to a...
int layer_
propagated layer
math::XYZTLorentzVector momentum_
momentum quadrivector
REPPoint posrep_
position in (rho, eta, phi) base (transient)
PFTrajectoryPoint::~PFTrajectoryPoint ( )
virtual

destructor

Definition at line 36 of file PFTrajectoryPoint.cc.

37 {}

Member Function Documentation

void reco::PFTrajectoryPoint::calculatePositionREP ( )
inline

calculate posrep_ once and for all

Definition at line 97 of file PFTrajectoryPoint.h.

References posrep_, and posxyz_.

97  {
98  posrep_.SetCoordinates( posxyz_.Rho(), posxyz_.Eta(), posxyz_.Phi() );
99  }
math::XYZPoint posxyz_
cartesian position (x, y, z)
REPPoint posrep_
position in (rho, eta, phi) base (transient)
int reco::PFTrajectoryPoint::detId ( ) const
inline

measurement detId

Definition at line 73 of file PFTrajectoryPoint.h.

References detId_.

Referenced by reco::operator<<().

73 { return detId_; }
int detId_
detid if measurement is corresponding to a tracker layer
bool reco::PFTrajectoryPoint::isTrackerLayer ( ) const
inline

is this point corresponding to an intersection with a tracker layer ?

Definition at line 85 of file PFTrajectoryPoint.h.

References detId_.

Referenced by reco::PFTrack::addPoint().

85  {
86  if(detId_ >= 0 ) return true;
87  else return false;
88  }
int detId_
detid if measurement is corresponding to a tracker layer
bool reco::PFTrajectoryPoint::isValid ( void  ) const
inline
int reco::PFTrajectoryPoint::layer ( ) const
inline

trajectory point layer

Definition at line 76 of file PFTrajectoryPoint.h.

References layer_.

Referenced by geometryXMLparser.DTAlignable::index(), geometryXMLparser.CSCAlignable::index(), and reco::operator<<().

76 { return layer_; }
int layer_
propagated layer
const math::XYZTLorentzVector& reco::PFTrajectoryPoint::momentum ( ) const
inline
bool PFTrajectoryPoint::operator== ( const reco::PFTrajectoryPoint other) const

Definition at line 40 of file PFTrajectoryPoint.cc.

References momentum_, and posxyz_.

40  {
41  if( posxyz_ == other.posxyz_ &&
42  momentum_ == other.momentum_ ) return true;
43  else return false;
44 }
math::XYZPoint posxyz_
cartesian position (x, y, z)
math::XYZTLorentzVector momentum_
momentum quadrivector
const math::XYZPoint& reco::PFTrajectoryPoint::position ( ) const
inline
const REPPoint& reco::PFTrajectoryPoint::positionREP ( ) const
inline

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const reco::PFTrajectoryPoint trajPoint 
)
friend

Member Data Documentation

int reco::PFTrajectoryPoint::detId_
private

detid if measurement is corresponding to a tracker layer

Definition at line 115 of file PFTrajectoryPoint.h.

Referenced by detId(), isTrackerLayer(), and isValid().

bool reco::PFTrajectoryPoint::isTrackerLayer_
private

Is the measurement corresponding to a tracker layer? or was it obtained by propagating the track to a certain position?

Definition at line 112 of file PFTrajectoryPoint.h.

Referenced by PFTrajectoryPoint().

int reco::PFTrajectoryPoint::layer_
private

propagated layer

Definition at line 118 of file PFTrajectoryPoint.h.

Referenced by isValid(), and layer().

math::XYZTLorentzVector reco::PFTrajectoryPoint::momentum_
private

momentum quadrivector

Definition at line 127 of file PFTrajectoryPoint.h.

Referenced by momentum(), and operator==().

REPPoint reco::PFTrajectoryPoint::posrep_
private

position in (rho, eta, phi) base (transient)

Definition at line 124 of file PFTrajectoryPoint.h.

Referenced by calculatePositionREP(), PFTrajectoryPoint(), and positionREP().

math::XYZPoint reco::PFTrajectoryPoint::posxyz_
private

cartesian position (x, y, z)

Definition at line 121 of file PFTrajectoryPoint.h.

Referenced by calculatePositionREP(), operator==(), PFTrajectoryPoint(), and position().