Skip to content

Commit 233a4e4

Browse files
f3schshahor02
authored andcommitted
Common: DCAFitter explanation to README
1 parent 2ab6000 commit 233a4e4

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

Common/DCAFitter/README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,41 @@ In this case the relevant correlation coefficient of the cov.matrix is redefined
9393

9494
`DCAFitterN::setBadCovPolicy(DCAFitterN::OverrideAnFlag);` continue fit with overridden cov.matrix but set the propagation failure flag (can be checked using the same `isPropagationFailure(int cand = 0)` method).
9595

96+
## Fit status
97+
The fitter provides a fit status for each candidate, which can be retrieved using:
98+
```
99+
FitStatus status = ft.getFitStatus(int cand = 0);
100+
```
101+
The possible values are:
102+
```
103+
enum FitStatus : uint8_t { // part of the DCAFitterN class
104+
None, // no status set (should not be possible!)
105+
106+
/* Good Conditions */
107+
Converged, // fit converged
108+
MaxIter, // max iterations reached before fit convergence (can still be a good vertex)
109+
110+
/* Error Conditions */
111+
NoCrossing, // no reasonable crossing was found
112+
RejRadius, // radius of crossing was not acceptable
113+
RejTrackX, // one candidate track x was below the minimum required radius
114+
RejTrackRoughZ, // rejected by rough cut on tracks Z difference
115+
RejChi2Max, // rejected by maximum chi2 cut
116+
FailProp, // propagation of at least prong to PCA failed
117+
FailInvCov, // inversion of cov.-matrix failed
118+
FailInvWeight, // inversion of Ti weight matrix failed
119+
FailInv2ndDeriv, // inversion of 2nd derivatives failed
120+
FailCorrTracks, // correction of tracks to updated x failed
121+
FailCloserAlt, // alternative PCA is closer
122+
};
123+
```
124+
This is allows to track where candiate fit was abondended.
125+
```
126+
int nc = ft.process(tr0,tr1,tr2);
127+
auto status = ft.getFitStatus();
128+
if (nc) {
129+
// status can either be FitStatus::Converged or FitStatus::MaxIter
130+
}
131+
// status can be on of the error conditions
132+
```
133+
A more thorough example is given in `testDCAFitterN.cxx`.

0 commit comments

Comments
 (0)