hep.lcd.recon.tracking
Class AbsTrackFinder

java.lang.Object
  |
  +--hep.lcd.recon.tracking.AbsTrackFinder
Direct Known Subclasses:
COMBPat2, TPCPat2

public abstract class AbsTrackFinder
extends Object
implements TrackFinder

Finds tracks from 3D space points using various triplets of layers. Graded levels of pattern recognition are employed to optimize tracking efficiency.

Source Code:
AbsTrackFinder.java

Field Summary
 double ccCuts
           
protected  double[] Chis_tk
           
 double Chis_tk_factor
           
 boolean debug
           
protected  DecimalFormat df
           
 double dmas
           
 boolean doFitting
           
 double Dzas
           
protected  double[][][] Err_matr
           
 String Finder
           
protected  boolean[] fitsuccess
           
protected  TrkFitter fitter
           
protected  double[] gdmcfr_tk
           
protected  int Ibal
           
protected  int Id
           
protected  int[] ilon
           
protected  int[] ipoi
           
protected  int[][] itra
           
protected  boolean[] KFlag
           
protected  int Level
           
 int MaxLayers
           
 int MaxLayerToCount
           
protected  int MaxLevel
           
 int MaxPntBin
           
 int MaxPoints
           
 int MaxTracks
           
 int MaxTrkPts
           
protected  MCParticle[] MCPar_tk
           
protected  double[] minRadius
           
 int NAzBins
           
protected  double[] Ndof_tk
           
protected  int nEvt
           
protected  int Npatterns
           
protected  int npchkd
           
protected  int[] nPtsReq
           
protected  int ntra
           
protected  int ntras
           
protected  boolean[] outp
           
protected  boolean[] outt
           
protected  int Paternmb
           
 double rOut
           
 double rPipe
           
 double rTol
           
protected  double[] si
           
 double small
           
protected  Specifications specs
           
 TrkFindStrategy Strategy
           
protected  HelicalSwimmer swmr
           
 int tooMany
           
 Tracker tracker
           
protected  double[][] trackPar
           
protected  int[][] triplets
           
protected  double trkmom
           
protected  TrkParams trkprms
           
protected  double[] tz
           
protected  boolean useFitter
           
 boolean vxdIncluded
           
protected  double[] x
           
protected  double[] xc
           
protected  double[] xd
           
protected  double[] xxc
           
protected  double[] y
           
protected  double[] yc
           
protected  double[] yd
           
protected  double[] yyc
           
protected  double[] z
           
protected  double[] zd
           
 double zTol
           
 
Constructor Summary
AbsTrackFinder(int MaxTracks, int MaxTrkPts, boolean hist)
           
 
Method Summary
 int assignPoints(int it, int nLayers, double Ddzax, double Dmasu, int MaxPts, int[][] ipnt, double[] Sang, double[] Chis, double[] ChisN)
          Assigns given points to the track.
 void findTracks(int level, int nPoints, int nLayers)
          Find tracks.
 boolean fitSuccess(int itrk)
           
 double get_curv(int itrk)
          Get ...
 double get_d0(int itrk)
          Get ...
 double get_phi0(int itrk)
          Get ...
 double get_tandip(int itrk)
          Get ...
 double get_z0(int itrk)
          Get ...
 double getChi2(int itrk)
           
 double[][] getErrMatr(int itrk)
           
 double getFrHtsSameMC(int it)
           
 int getMaxLevel()
          Get maximum level of pattern recognition.
 MCParticle getMCParticle(int itrk)
           
 double getNDF(int itrk)
           
 int getNPoints(int itrk)
          Get number of points on a track.
 int getNTracks()
          Get number of track found.
 TrkFindStrategy getStrategy()
           
 Tracker getTracker()
           
 double[] getTrkParam(int itrk)
          Get track parameters.
 int[] getTrkPnts(int itrk)
          Get a point on the track.
protected  boolean isDuplicate()
           
protected  void makeTrack(int nLayers, int numberPtsRequired, int innerLayer, int Ibal, double Ddzax, double Dmasu, double curv, double gamma1, double gamma2)
           
protected  void markUsedHits(boolean[] Kflg)
           
 void putFrHtsSameMC(int it, double fr)
           
 void replaceTrkPrms(int itrk, double[] newpar)
          To replace track params by fitter output
protected  void selectThreePoints(int nPoints, int nLayers, double radiusMin, int innerLayer, int middleLayer, int outerLayer, int numberPtsRequired)
           
 void setFitter(TrkFitter ftr)
           
 void setMCParticle(int it, MCParticle mcp)
           
 void setupFinder(Tracker tracker)
          Setup Finder parameters and initiate callback to set pattern recognition strategy.
abstract  void setupParameters()
           
 void setupStrategy(int MaxLevel, double[] minRadius, int Npatterns, int[][] triplets, int[] nPtsReq)
          Setup pattern recognition strategy.
 void updateFitStatus(int it, TrkFitter ftr)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Finder

public String Finder

tracker

public Tracker tracker

MaxTracks

public int MaxTracks

MaxTrkPts

public int MaxTrkPts

MaxLayers

public final int MaxLayers

MaxPoints

public final int MaxPoints

NAzBins

public final int NAzBins

MaxPntBin

public final int MaxPntBin

MaxLayerToCount

public int MaxLayerToCount

vxdIncluded

public boolean vxdIncluded

doFitting

public boolean doFitting

debug

public boolean debug

Strategy

public TrkFindStrategy Strategy

trkprms

protected TrkParams trkprms

trkmom

protected double trkmom

specs

protected Specifications specs

x

protected double[] x

y

protected double[] y

z

protected double[] z

ipoi

protected int[] ipoi

ilon

protected int[] ilon

KFlag

protected boolean[] KFlag

swmr

protected HelicalSwimmer swmr

fitter

protected TrkFitter fitter

useFitter

protected boolean useFitter

df

protected DecimalFormat df

nEvt

protected int nEvt

ntra

protected int ntra

ntras

protected int ntras

trackPar

protected double[][] trackPar

itra

protected int[][] itra

xd

protected double[] xd

yd

protected double[] yd

zd

protected double[] zd

xc

protected double[] xc

yc

protected double[] yc

xxc

protected double[] xxc

yyc

protected double[] yyc

si

protected double[] si

tz

protected double[] tz

outp

protected boolean[] outp

outt

protected boolean[] outt

fitsuccess

protected boolean[] fitsuccess

Chis_tk

protected double[] Chis_tk

Ndof_tk

protected double[] Ndof_tk

Err_matr

protected double[][][] Err_matr

MCPar_tk

protected MCParticle[] MCPar_tk

gdmcfr_tk

protected double[] gdmcfr_tk

MaxLevel

protected int MaxLevel

minRadius

protected double[] minRadius

Npatterns

protected int Npatterns

triplets

protected int[][] triplets

nPtsReq

protected int[] nPtsReq

Level

protected int Level

Paternmb

protected int Paternmb

npchkd

protected int npchkd

tooMany

public int tooMany

Id

protected int Id

Ibal

protected int Ibal

dmas

public double dmas

Dzas

public double Dzas

rTol

public double rTol

zTol

public double zTol

rPipe

public double rPipe

rOut

public double rOut

small

public double small

ccCuts

public double ccCuts

Chis_tk_factor

public double Chis_tk_factor
Constructor Detail

AbsTrackFinder

public AbsTrackFinder(int MaxTracks,
                      int MaxTrkPts,
                      boolean hist)
Method Detail

setupFinder

public void setupFinder(Tracker tracker)
Setup Finder parameters and initiate callback to set pattern recognition strategy.
Specified by:
setupFinder in interface TrackFinder

getTracker

public Tracker getTracker()

getStrategy

public TrkFindStrategy getStrategy()
Specified by:
getStrategy in interface TrackFinder

setupParameters

public abstract void setupParameters()

setupStrategy

public void setupStrategy(int MaxLevel,
                          double[] minRadius,
                          int Npatterns,
                          int[][] triplets,
                          int[] nPtsReq)
Setup pattern recognition strategy.
Specified by:
setupStrategy in interface TrackFinder

setFitter

public void setFitter(TrkFitter ftr)
Specified by:
setFitter in interface TrackFinder

getMaxLevel

public int getMaxLevel()
Get maximum level of pattern recognition.
Specified by:
getMaxLevel in interface TrackFinder

getNTracks

public int getNTracks()
Description copied from interface: TrackFinder
Get number of track found.
Specified by:
getNTracks in interface TrackFinder

get_d0

public double get_d0(int itrk)
Description copied from interface: TrackFinder
Get ...
Specified by:
get_d0 in interface TrackFinder

get_phi0

public double get_phi0(int itrk)
Description copied from interface: TrackFinder
Get ...
Specified by:
get_phi0 in interface TrackFinder

get_curv

public double get_curv(int itrk)
Description copied from interface: TrackFinder
Get ...
Specified by:
get_curv in interface TrackFinder

get_z0

public double get_z0(int itrk)
Description copied from interface: TrackFinder
Get ...
Specified by:
get_z0 in interface TrackFinder

get_tandip

public double get_tandip(int itrk)
Description copied from interface: TrackFinder
Get ...
Specified by:
get_tandip in interface TrackFinder

getTrkParam

public double[] getTrkParam(int itrk)
Description copied from interface: TrackFinder
Get track parameters.
Specified by:
getTrkParam in interface TrackFinder

getNPoints

public int getNPoints(int itrk)
Description copied from interface: TrackFinder
Get number of points on a track.
Specified by:
getNPoints in interface TrackFinder

getTrkPnts

public int[] getTrkPnts(int itrk)
Description copied from interface: TrackFinder
Get a point on the track.
Specified by:
getTrkPnts in interface TrackFinder

getChi2

public double getChi2(int itrk)
Specified by:
getChi2 in interface TrackFinder

getNDF

public double getNDF(int itrk)
Specified by:
getNDF in interface TrackFinder

getErrMatr

public double[][] getErrMatr(int itrk)
Specified by:
getErrMatr in interface TrackFinder

getMCParticle

public MCParticle getMCParticle(int itrk)
Specified by:
getMCParticle in interface TrackFinder

setMCParticle

public void setMCParticle(int it,
                          MCParticle mcp)
Specified by:
setMCParticle in interface TrackFinder

getFrHtsSameMC

public double getFrHtsSameMC(int it)
Specified by:
getFrHtsSameMC in interface TrackFinder

putFrHtsSameMC

public void putFrHtsSameMC(int it,
                           double fr)
Specified by:
putFrHtsSameMC in interface TrackFinder

fitSuccess

public boolean fitSuccess(int itrk)
Specified by:
fitSuccess in interface TrackFinder

replaceTrkPrms

public void replaceTrkPrms(int itrk,
                           double[] newpar)
Description copied from interface: TrackFinder
To replace track params by fitter output
Specified by:
replaceTrkPrms in interface TrackFinder

updateFitStatus

public void updateFitStatus(int it,
                            TrkFitter ftr)
Specified by:
updateFitStatus in interface TrackFinder

findTracks

public void findTracks(int level,
                       int nPoints,
                       int nLayers)
Description copied from interface: TrackFinder
Find tracks.
Specified by:
findTracks in interface TrackFinder

selectThreePoints

protected void selectThreePoints(int nPoints,
                                 int nLayers,
                                 double radiusMin,
                                 int innerLayer,
                                 int middleLayer,
                                 int outerLayer,
                                 int numberPtsRequired)

markUsedHits

protected void markUsedHits(boolean[] Kflg)

isDuplicate

protected boolean isDuplicate()

makeTrack

protected void makeTrack(int nLayers,
                         int numberPtsRequired,
                         int innerLayer,
                         int Ibal,
                         double Ddzax,
                         double Dmasu,
                         double curv,
                         double gamma1,
                         double gamma2)

assignPoints

public int assignPoints(int it,
                        int nLayers,
                        double Ddzax,
                        double Dmasu,
                        int MaxPts,
                        int[][] ipnt,
                        double[] Sang,
                        double[] Chis,
                        double[] ChisN)
Description copied from interface: TrackFinder
Assigns given points to the track.
Specified by:
assignPoints in interface TrackFinder


The LCD Group