190 likes | 332 Views
Errors fitting in Sti. V. Perevoztchikov Brookhaven National Laboratory,USA. What is the problem?. Errors of track and vertex parameters calculated from hits errors. But how to calculate hit errors?
E N D
Errors fitting in Sti V. Perevoztchikov Brookhaven National Laboratory,USA
What is the problem? Errors of track and vertex parameters calculated from hits errors. But how to calculate hit errors? For TPC hit errors there is parameterization. For SVT and SSD we do not have even that. How to estimate these parameters? To check quality of errors pulls could be used. Pull = (Xfit – Xmeas)/sqrt(ErrMeas**2 -ErrFit**2) If errors are correct, then: <Pull> = 0 <Pull*Pull> = 1 StarSoft local
Example StarSoft local
Error calculation • D – distance between track and hit. Hit is excluded from the fit; • Et – track error; • Eh – hit error; • W – window size where hit is accepted; • P – density of probability N is a normalization factor, function of Et, Eh and W. So integral of P() over the window = 1 StarSoft local
Error calculation continue • Now we can write likelihood function L: • Maximizing L by hit error we can obtain our estimation:OuterY = 1162 +- 705 mu • OuterY = 1162 +- 705 mu • OuterZ = 1563 +- 880 mu • InnerY = 607 +- 317 mu • InnerZ = 1215 +- 536 mu • SsdY = 117 +- 0 mu • SsdZ = 670 +- 0 mu • SvtY = 139 +- 0 mu • SvtZ = 84 +- 0 mu StarSoft local
Something wrong It is clear, that this result is not too good. Especially, the SSD accuracy is too low. A possible explanation is, that our P() function does not account fake hits. Now I am trying: Where is a contamination by fake hits and the width of fake hits. This is not ready yet. StarSoft local
General procedure • Start Sti reconstruction; • Get hit errors from CINT DB files; • Reconstruction of N events; • Produce file with hits,pulls, etc… • Start FitError program; • Get hit errors from CINT DB files and use hit errors as input for the fit; • Fit hit errors; • Update CINT DB files by new hit errors; • If initial values close to fitted, EXIT; • GOTO 1 StarSoft local
Why iterations • Hit errors fit uses track errors as some constants. • These track errors are functions of hit errors from the previous Sti run. • So our fitted values are not final. • Using obtained hit errors in the next Sti run, improve track errors; • Next hit errors fit is more realistic, and so on. • When input hit errors are close to fitted ones, we can stop iterations. • It is needed about 10 iterations and few hundred events StarSoft local
Why it is not ready yet? The problem is in the Fit. MINUIT can not handle functional with hundred of thousands hits. Special fitting procedure was written. First and second derivatives calculated analytically. Now it is good enough with one Gaussian. But with two Gaussians it is not stable yet. I hope in a week it will be ready. Then we will need to run this procedure before each big production run. As a byproduct we get contamination estimation. For the outer TPC we have now about 2%, which is good. StarSoft local
It is still not ready The problem of the fit is solved. Fit is working well. But result still bad. Why? Possible reasons: • Contamination by fake hits α must depend of layer, event multiplicity and prediction errors. More errors , more contamination. • This contamination must be the same for Y and Z coordinates. • The probability of contamination, expressed as a sum of two gausses, must be proved or changed; All of the above must be accounted. StarSoft local
Correct contamination formula • New formula for probability density of selected hits, accounting fake hits is derived: • Where: • a – y-error • b – z-error • – number of fake hits in ellipse (a,b) StarSoft local
Contamination formula continue • This formula was independently derived by Howard Wieman. Hopefully it is correct. What we can see from it: • Contamination depends of layer; • The same contamination for y,z direction; • Sharpness of shape increased with contamination. Which is opposite to previous naïve formula with two gausses; StarSoft local
Hit Error increasing StarSoft local
This approach does not work • It is not clear to me why it does not work. The only explanation which I can imagine: • The assumption, that dependency of track error from the hit error parameters is much less then for the hit error in this point does not work. Something better should be invented. StarSoft local
New approach. Illustration • Let take very simple example as an illustration. We have N measurements of value X with error E. But we do not know E. We want to estimate X together with E. Density of probability of one measurement is: • Total density P will be: StarSoft local
Illustration continue • Maximizing this total density by <X> and E we obtain: • So we have direct approach of errors estimation. StarSoft local
Real implementation • So it looks like easy. Just create total density function P(), for all tracks, all hits in all events. Maximize it by all track parameters and all hit errors. • Done. • It is possible to do, if completely redesign track reconstruction code. • This job is too big. More simple approach is implemented. • Strait tracks with more than 25 points are selected; • For each track added deviation in form of polynomial as a function of length. This polynomial defines some addition to each residual. • In X,Y this polynomial is the second order, and in Z, Length the first order. • The relations (P(L)+residual)/HitError are used to construct the total density of probability for all tracks in all events. • Polynomial is easy to fit. The total fit by track parameters deviations and parameterized errors gives us the resulting hit error estimations. StarSoft local
Real implementation continue • Obtained errors are saved into local Data Base; • Run reconstruction with new errors; • Fitting errors again. • It is enough to do two iterations. • C-shell script in $STAR/mgr/fiterr.csh is implemented. • To run it: • Create temporary directory; • Run fiterr.csh daqfile.daq • In subdirectory StarDB/Calibrations/tracker you will find Cint DB files with error parameters; • How to use them for different runs and condition is not yet defined. StarSoft local
Results StarSoft local