CMS 3D CMS Logo

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>

List of all members.

Public Types

enum  LayerType {
  ClosestApproach = 0, BeamPipeOrEndVertex = 1, PS1 = 2, PS2 = 3,
  ECALEntrance = 4, ECALShowerMax = 5, HCALEntrance = 6, HCALExit = 7,
  NLayers = 8
}
 

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
int detId () const
 measurement detId
bool isTrackerLayer () const
 is this point corresponding to an intersection with a tracker layer ?
bool isValid () const
 is this point valid ?
int layer () const
 trajectory point layer
const math::XYZTLorentzVectormomentum () const
 4-momenta quadrivector
bool operator== (const reco::PFTrajectoryPoint &other) const
 PFTrajectoryPoint ()
 default constructor. Set variables at default dummy values
 PFTrajectoryPoint (const PFTrajectoryPoint &other)
 copy
 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
const math::XYZPointposition () const
 cartesian position (x, y, z)
const REPPointpositionREP () const
 trajectory position in (rho, eta, phi) base
virtual ~PFTrajectoryPoint ()
 destructor

Private Attributes

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 certain position?
int layer_
 propagated layer
math::XYZTLorentzVector momentum_
 momentum quadrivector
REPPoint posrep_
 position in (rho, eta, phi) base (transient)
math::XYZPoint posxyz_
 cartesian position (x, y, z)

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.

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.

                                     : 
  isTrackerLayer_(false),
  detId_(-1),
  layer_(-1) {}
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_.

                                                                            :
  isTrackerLayer_(false),
  detId_(detId),
  layer_(layer),
  posxyz_(posxyz),
  momentum_(momentum) 
{ 
  if (detId) isTrackerLayer_ = true;
  posrep_.SetCoordinates(posxyz_.Rho(), posxyz_.Eta(), posxyz_.Phi()); 
}
PFTrajectoryPoint::PFTrajectoryPoint ( const PFTrajectoryPoint other)

copy

Definition at line 27 of file PFTrajectoryPoint.cc.

PFTrajectoryPoint::~PFTrajectoryPoint ( ) [virtual]

destructor

Definition at line 36 of file PFTrajectoryPoint.cc.

{}

Member Function Documentation

void reco::PFTrajectoryPoint::calculatePositionREP ( ) [inline]

calculate posrep_ once and for all

Definition at line 94 of file PFTrajectoryPoint.h.

References posrep_, and posxyz_.

                                {
      posrep_.SetCoordinates( posxyz_.Rho(), posxyz_.Eta(), posxyz_.Phi() );
    }
int reco::PFTrajectoryPoint::detId ( ) const [inline]

measurement detId

Definition at line 70 of file PFTrajectoryPoint.h.

References detId_.

Referenced by reco::operator<<().

{ return detId_; }
bool reco::PFTrajectoryPoint::isTrackerLayer ( ) const [inline]

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

Definition at line 82 of file PFTrajectoryPoint.h.

References detId_.

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

                                {
      if(detId_ >= 0 ) return true; 
      else return false;
    }
bool reco::PFTrajectoryPoint::isValid ( void  ) const [inline]
int reco::PFTrajectoryPoint::layer ( ) const [inline]

trajectory point layer

Definition at line 73 of file PFTrajectoryPoint.h.

References layer_.

Referenced by reco::operator<<().

{ return 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_.

                                                                             {
  if( posxyz_ == other.posxyz_ && 
      momentum_ == other.momentum_ ) return true;
  else return false;
}
const math::XYZPoint& reco::PFTrajectoryPoint::position ( ) const [inline]
const REPPoint& reco::PFTrajectoryPoint::positionREP ( ) const [inline]

trajectory position in (rho, eta, phi) base

Definition at line 91 of file PFTrajectoryPoint.h.

References posrep_.

Referenced by CalibratableTest::analyze(), CalibratableTest::findCandidatesInDeltaR(), PFElecTkProducer::selectSecondaries(), and LinkByRecHit::testTrackAndClusterByRecHit().

{ return posrep_; }

Friends And Related Function Documentation

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

Member Data Documentation

detid if measurement is corresponding to a tracker layer

Definition at line 112 of file PFTrajectoryPoint.h.

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

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

Definition at line 109 of file PFTrajectoryPoint.h.

Referenced by PFTrajectoryPoint().

propagated layer

Definition at line 115 of file PFTrajectoryPoint.h.

Referenced by isValid(), and layer().

momentum quadrivector

Definition at line 124 of file PFTrajectoryPoint.h.

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

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

Definition at line 121 of file PFTrajectoryPoint.h.

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

cartesian position (x, y, z)

Definition at line 118 of file PFTrajectoryPoint.h.

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