hep.lcd.mc.fast
Class ReconTrack

java.lang.Object
  |
  +--hep.lcd.mc.fast.ReconTrack

public final class ReconTrack
extends Object
implements Track, Serializable

Provides MC smeared track.
Handles to smeared and not-smeared set of DocaTrackParameters are provided.
Updated to run with track curvature flipping (optional flag for MCFast).

Version:
$Id: ReconTrack.java,v 1.5 2001/06/18 22:39:12 walkowia Exp $
Author:
Tony Johnson, Wolfgang Walkowiak
See Also:
Serialized Form
Source Code:
ReconTrack.java

Field Summary
static int FLIPPED
           
static int NOTFLIPPED
           
 
Method Summary
 double[][] calcMomentumErrorMatrix(double l)
          Calculate the error matrix for the momentum for a point on the smeared track specified by l.
 double[][] calcPositionErrorMatrix(double l)
          Calculate the error matrix for the position coordinates for a point on the smeared track specified by l.
 double cosTheta()
          Get cos(theta) at DOCA.
 boolean fitSuccess()
          This method is not yet implemented.
 int getCharge()
          Get the full charge.
 double getChi2()
          Get the chi2 from smearing.
 double getCosTheta()
          Get cos(theta) at DOCA.
 double[] getDoca()
          Get DOCA (2-dim) of smeared track.
 double[] getDocaMomentum()
          Get momentum at DOCA (2-dim) of smeared track.
 double[] getDocaMomentum(double[] refPoint)
           
 Hep3Vector getDocaMomentumVec(double[] refPoint)
           
 Hep3Vector getDocaMomentumVec(Hep3Vector refPoint)
           
 double getDocaMomentumX()
          Get x coordinate of momentum of the smeared track at DOCA.
 double getDocaMomentumY()
          Get y coordinate of momentum of the smeared track at DOCA.
 double getDocaMomentumZ()
          Get z coordinate of momentum of the smeared track at DOCA.
 double[] getDocaPosition(double[] refPoint)
           
 Hep3Vector getDocaPositionVec(double[] refPoint)
           
 Hep3Vector getDocaPositionVec(Hep3Vector refPoint)
          Calculate and get Doca position on the smeared track with respect to any space point.
 double getDocaPt()
          Get transverse momentum of the smeared track at DOCA.
 double getDocaTransversePathLength(double[] refPoint)
           
 double getDocaTransversePathLength(Hep3Vector refPoint)
          Calculate and get path length on the smeared track for a doca to any space point in respect to the track defining doca (with respect to the origin).
 double getDocaX()
          Get x coordinate of DOCA of smeared track.
 double getDocaY()
          Get y coordinate of DOCA of smeared track.
 double getDocaZ()
          Get z coordinate of DOCA of smeared track.
 double[][] getErrorMatrix()
          Get the full error matrix.
 double getErrorMatrixElement(int i, int j)
          Get an individual error matrix element.
 MCParticle getMCParticle()
          Get the MC particle for this track.
 double[] getMomentum()
          Get momentum of smeared track at original vertex point.
 double[] getMomentum(double l)
           
 Hep3Vector getMomentumVec(double l)
          Calculate and get momentum on track with respect to any path length l on track (l in xy plane).
 double getMomentumX()
          Get x coordinate of momentum of the smeared track at original vertex.
 double getMomentumY()
          Get y coordinate of momentum of the smeared track at original vertex.
 double getMomentumZ()
          Get z coordinate of momentum of the smeared track at original vertex.
 double getNDF()
          Get the number degrees of freedom.
 DocaTrackParameters getNotSmearedTrack()
          Get the complete parameter set for the not smeared track.
 double[] getOrigin()
          Get the original vertex point of smeared MC track.
 double getOriginX()
          Get x coordinate of the original vertex point of smeared MC track.
 double getOriginY()
          Get y coordinate of the original vertex point of smeared MC track.
 double getOriginZ()
          Get z coordinate of the original vertex point of smeared MC track.
 double[] getPosition(double l)
           
 Hep3Vector getPositionVec(double l)
          Calculate and get position on track with respect to any path length l on track (l in xy plane).
 double getPt()
          Get transverse momentum of the smeared track at original vertex.
 double getPX()
          Get x coordinate of momentum of the smeared track at original vertex.
 double getPY()
          Get y coordinate of momentum of the smeared track at original vertex.
 double getPZ()
          Get z coordinate of momentum of the smeared track at original vertex.
 DocaTrackParameters getSmearedTrack()
          Get the complete parameter set for the smeared track.
 double getTrackParameter(int i)
          Get an individual track parameter.
 double[] getTrackParameters()
          Get the track parameters as an array
 boolean isFlipped()
          Check whether this track has been curvature flipped.
 double mag()
          Unsigned distance of DOCA from origin.
 double mag2()
          Square of distance of DOCA from origin.
 double[] v()
          array of coordinates at DOCA for smeared track.
 double x()
          x coordinate at DOCA for smeared track.
 double y()
          y coordinate at DOCA for smeared track.
 double z()
          z coordinate at DOCA for smeared track.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NOTFLIPPED

public static final int NOTFLIPPED

FLIPPED

public static final int FLIPPED
Method Detail

getDocaPositionVec

public Hep3Vector getDocaPositionVec(Hep3Vector refPoint)
Calculate and get Doca position on the smeared track with respect to any space point.

getDocaPositionVec

public Hep3Vector getDocaPositionVec(double[] refPoint)

getDocaPosition

public double[] getDocaPosition(double[] refPoint)

getDocaMomentumVec

public Hep3Vector getDocaMomentumVec(Hep3Vector refPoint)

getDocaMomentumVec

public Hep3Vector getDocaMomentumVec(double[] refPoint)

getDocaMomentum

public double[] getDocaMomentum(double[] refPoint)

getPositionVec

public Hep3Vector getPositionVec(double l)
Calculate and get position on track with respect to any path length l on track (l in xy plane).

getPosition

public double[] getPosition(double l)

getMomentumVec

public Hep3Vector getMomentumVec(double l)
Calculate and get momentum on track with respect to any path length l on track (l in xy plane).

getMomentum

public double[] getMomentum(double l)

getDocaTransversePathLength

public double getDocaTransversePathLength(Hep3Vector refPoint)
Calculate and get path length on the smeared track for a doca to any space point in respect to the track defining doca (with respect to the origin). The length l is given in the transverse plane.
Use L = l*tan(lambda) to convert.

getDocaTransversePathLength

public double getDocaTransversePathLength(double[] refPoint)

calcPositionErrorMatrix

public double[][] calcPositionErrorMatrix(double l)
Calculate the error matrix for the position coordinates for a point on the smeared track specified by l. Result is given as a 3x3 array for the matrix.

calcMomentumErrorMatrix

public double[][] calcMomentumErrorMatrix(double l)
Calculate the error matrix for the momentum for a point on the smeared track specified by l. Result is given as a 3x3 array for the matrix.

getCharge

public int getCharge()
Get the full charge.
Specified by:
getCharge in interface Track

getOrigin

public double[] getOrigin()
Get the original vertex point of smeared MC track.
Specified by:
getOrigin in interface Track

getOriginX

public double getOriginX()
Get x coordinate of the original vertex point of smeared MC track.
Specified by:
getOriginX in interface Track

getOriginY

public double getOriginY()
Get y coordinate of the original vertex point of smeared MC track.
Specified by:
getOriginY in interface Track

getOriginZ

public double getOriginZ()
Get z coordinate of the original vertex point of smeared MC track.
Specified by:
getOriginZ in interface Track

getDoca

public double[] getDoca()
Get DOCA (2-dim) of smeared track.
Note: Use #getNotSmearedTrack().getDOCA() to access parameters of the not smeared track.

getDocaX

public double getDocaX()
Get x coordinate of DOCA of smeared track.

getDocaY

public double getDocaY()
Get y coordinate of DOCA of smeared track.

getDocaZ

public double getDocaZ()
Get z coordinate of DOCA of smeared track.

getMomentum

public double[] getMomentum()
Get momentum of smeared track at original vertex point.
Note: Use #getNotSmearedTrack().getMomentum() to access parameters of the not smeared track.
Specified by:
getMomentum in interface Track

getDocaMomentum

public double[] getDocaMomentum()
Get momentum at DOCA (2-dim) of smeared track.
Note: Use #getNotSmearedTrack().getMomentum() to access parameters of the not smeared track.

getPt

public double getPt()
Get transverse momentum of the smeared track at original vertex.

getDocaPt

public double getDocaPt()
Get transverse momentum of the smeared track at DOCA.

getMomentumX

public double getMomentumX()
Get x coordinate of momentum of the smeared track at original vertex.
Specified by:
getMomentumX in interface Track

getMomentumY

public double getMomentumY()
Get y coordinate of momentum of the smeared track at original vertex.
Specified by:
getMomentumY in interface Track

getMomentumZ

public double getMomentumZ()
Get z coordinate of momentum of the smeared track at original vertex.
Specified by:
getMomentumZ in interface Track

getPX

public double getPX()
Get x coordinate of momentum of the smeared track at original vertex.
Specified by:
getPX in interface Track

getPY

public double getPY()
Get y coordinate of momentum of the smeared track at original vertex.
Specified by:
getPY in interface Track

getPZ

public double getPZ()
Get z coordinate of momentum of the smeared track at original vertex.
Specified by:
getPZ in interface Track

getDocaMomentumX

public double getDocaMomentumX()
Get x coordinate of momentum of the smeared track at DOCA.

getDocaMomentumY

public double getDocaMomentumY()
Get y coordinate of momentum of the smeared track at DOCA.

getDocaMomentumZ

public double getDocaMomentumZ()
Get z coordinate of momentum of the smeared track at DOCA.

getCosTheta

public double getCosTheta()
Get cos(theta) at DOCA.

getErrorMatrixElement

public double getErrorMatrixElement(int i,
                                    int j)
Get an individual error matrix element.
Specified by:
getErrorMatrixElement in interface Track
See Also:
getTrackParameter(int)

getErrorMatrix

public double[][] getErrorMatrix()
Get the full error matrix.
Specified by:
getErrorMatrix in interface Track
See Also:
getTrackParameter(int)

getTrackParameter

public double getTrackParameter(int i)
Get an individual track parameter.
The track parameters for LCD are defined as follows
IndexMeaning
0 d0 = XY impact parameter
1 phi0
2 omega = 1/curv.radius (negative for negative tracks)
3 z0 = z of track (z impact parameter)
4 s = tan lambda
Specified by:
getTrackParameter in interface Track
Parameters:
i - The index of the track parameter
Returns:
The track parameter with the specified index All parameters are given at the DOCA.

getTrackParameters

public double[] getTrackParameters()
Get the track parameters as an array
Specified by:
getTrackParameters in interface Track
See Also:
getTrackParameter(int)

getChi2

public double getChi2()
Get the chi2 from smearing.
Specified by:
getChi2 in interface Track
Following copied from interface: hep.lcd.event.Track
Returns:
Chi Squared
See Also:
Track.getNDF()

getNDF

public double getNDF()
Get the number degrees of freedom.
Specified by:
getNDF in interface Track
Following copied from interface: hep.lcd.event.Track
Returns:
The number of degrees of freedom
See Also:
Track.getChi2()

getMCParticle

public MCParticle getMCParticle()
Get the MC particle for this track.
Specified by:
getMCParticle in interface Track

getSmearedTrack

public DocaTrackParameters getSmearedTrack()
Get the complete parameter set for the smeared track.

getNotSmearedTrack

public DocaTrackParameters getNotSmearedTrack()
Get the complete parameter set for the not smeared track.

fitSuccess

public boolean fitSuccess()
This method is not yet implemented.
Specified by:
fitSuccess in interface Track

x

public double x()
x coordinate at DOCA for smeared track.
Specified by:
x in interface Hep3Vector

y

public double y()
y coordinate at DOCA for smeared track.
Specified by:
y in interface Hep3Vector

z

public double z()
z coordinate at DOCA for smeared track.
Specified by:
z in interface Hep3Vector

v

public double[] v()
array of coordinates at DOCA for smeared track.
Specified by:
v in interface Hep3Vector

mag

public double mag()
Unsigned distance of DOCA from origin.
Specified by:
mag in interface Hep3Vector

mag2

public double mag2()
Square of distance of DOCA from origin.
Specified by:
mag2 in interface Hep3Vector

cosTheta

public double cosTheta()
Get cos(theta) at DOCA.
Note: Same as getCosTheta();
Specified by:
cosTheta in interface Hep3Vector

isFlipped

public boolean isFlipped()
Check whether this track has been curvature flipped.


The LCD Group