public final class SimpleConstrainedFit extends Object
It changes dir[2] of both track until the deltaZ at intersection point is Zero This is done by minimizing Chi^2 = Chi^2(track1) + Chi^2(track1) + 10000 * (z1-z2)^2
Modifier and Type | Field and Description |
---|---|
(package private) double[] |
bas1 |
(package private) double[] |
bas2 |
private double |
bField |
private double |
chi2 |
private int |
debugLevel |
(package private) double[] |
dir1 |
(package private) double[] |
dir2 |
private int |
nIter |
private BasicHepLorentzVector |
pp1 |
private BasicHepLorentzVector |
pp2 |
private BasicHepLorentzVector |
ppsum |
private double |
rXY |
GarfieldTrack |
track1 |
GarfieldTrack |
track2 |
private boolean |
usePrimaryVertexConstraint |
private double[] |
vtx2D |
Constructor and Description |
---|
SimpleConstrainedFit() |
Modifier and Type | Method and Description |
---|---|
private void |
addLorentzVector(BasicHepLorentzVector a,
BasicHepLorentzVector b,
BasicHepLorentzVector sum) |
private void |
calculateChi2() |
private void |
chi2FitIteration(double dirStep) |
private double |
component(BasicHepLorentzVector a,
int i) |
boolean |
fitTwoTracksToVertexXY(double[] v,
GarfieldTrack t1,
GarfieldTrack t2)
Constrains two tracks, t1,t2, in z to a common vertex.
|
private void |
getTrack4MomentumAtRxy(GarfieldTrack g,
double xpos,
double ypos,
double mass,
BasicHepLorentzVector pp) |
void |
setDebugLevel(int i) |
void |
setNIter(int i) |
void |
setPrimaryVertexConstraint(boolean val) |
private int nIter
private double chi2
private double bField
private int debugLevel
public GarfieldTrack track1
public GarfieldTrack track2
private double[] vtx2D
private double rXY
double[] bas1
double[] bas2
double[] dir1
double[] dir2
private BasicHepLorentzVector pp1
private BasicHepLorentzVector pp2
private BasicHepLorentzVector ppsum
private boolean usePrimaryVertexConstraint
public void setDebugLevel(int i)
public void setPrimaryVertexConstraint(boolean val)
public void setNIter(int i)
private void calculateChi2()
private void getTrack4MomentumAtRxy(GarfieldTrack g, double xpos, double ypos, double mass, BasicHepLorentzVector pp)
private void addLorentzVector(BasicHepLorentzVector a, BasicHepLorentzVector b, BasicHepLorentzVector sum)
private double component(BasicHepLorentzVector a, int i)
public boolean fitTwoTracksToVertexXY(double[] v, GarfieldTrack t1, GarfieldTrack t2)
v
- v[0]=x coordinate of vertex, v[1]=y coordinatet1
- input track1t2
- input track2private void chi2FitIteration(double dirStep)
Copyright © 2016 Linear Collider Detector (LCD). All rights reserved.