Re: tracking / newton method

From: Michael Kohl (kohlm@mit.edu)
Date: Tue Feb 28 2006 - 20:44:58 EST


Hi Chris and Chi,

thank you for your explanations. I'm not trying to criticize here anyone,
neither am I questioning anyone's good work. However, I still have a few
problems. I think one should never say that something is resolved for
good. The spin angle problem is one example.

> It may be worthwhile to go back and do a systemic check of the convergence
> with real data, not MC. But first I would try to answer questions like: why
> does it happen in one sector and not the other, and not in Monte Carlo? Why
> do we also see the same thing in straight-tracks, for which the image
> subsurface is linear? I suggest first systematically accounting for

Chris, does this mean that it has never been checked with real data but
only with MC? Fine that it works with MC data. But real data is prone to
miscalibrations (geometry, t2d, etc.). Is it possible that miscalibration
leads to shifted results not only because of a direct impact on the
solution but perhaps also through introducing additional roots (or
local minima) which would not be seen in (always correct) MC then?
A plot like the one I suggested, chi2 versus varied momentum for real
data would be interesting.

Another question is about machine accuracy/rounding problems. If GeV
is the unit for momentum, we are talking about momentum shifts in the
10^-4 to 10^-3 region. If floats are used throughout the Numerical Recipes
routines, what could this mean for the accuracy of the results (or are the
quantities rescaled before used, or are doubles used?)

>From reading p. 383 in the Recipes I have not understood how the
Newton-Raphson algorithm with backtracking achieves that it "slides
through local minima". The only hint I found in the description was that
if the convergence check showed evidence for a local minimum, the
algorithm wants to retry with different initial conditions.

Best regards,

    Michael

On Tue, 28 Feb 2006, Christopher Crawford wrote:

> Hi Chi, and Michael,
> Thanks for the thoughtful and detailed explanation, and for the boost in
> confidence. As Chi said, I did investigations on the radius of convergence,
> and include some of my results below. This was back in June 2003, so your
> interpretation of the results is as good as mine, but it looks like the
> radius is about 20 deg in theta and >200 MeV in momentum (but not very
> circular).
> I agree with Chi about the merits of using the Newton-Rhapson method in
> jumping over local minima to the real zero. Or think of it this way: we are
> not just looking for any minimum in X^2, but for where X=0 exactly. This is
> not quite correct, because I used a modification of the Newton Rhapson method
> to solve the root of a function into an 18 dimensional data space, where the
> solution maps back onto some 4-dimensional subsurface 'image(P)'. In other
> words, we have to project the hits onto the image of the track parameter
> space to find a solution, and this is responsible for the small, but non-zero
> X^2. I used a least-squares projection, 'J (J^t J)^{-1} J^t', where J is the
> Jacobian. I think you can convince yourself that the function 'P ->
> image(P)' is bijective using simple geometric arguments; however, the more
> difficult case to consider is if the projection is injective. It boils down
> to whether the distance of the projection is smaller than the radius of
> curvature of 'image(P)'. Otherwise there will be multiple solutions
> (shortest distance to the surface), and any reconstruction method will fail,
> unless extra input is given with regards to the projection. Henry Juengst
> from CLAS <juengst@moose.jlab.org> would be a good person to talk to about
> that (multiple scattering matrices).
> It may be worthwhile to go back and do a systemic check of the convergence
> with real data, not MC. But first I would try to answer questions like: why
> does it happen in one sector and not the other, and not in Monte Carlo? Why
> do we also see the same thing in straight-tracks, for which the image
> subsurface is linear? I suggest first systematically accounting for
> geometrical and bfield effects, making sure the time2distance function is
> correct and self-consistent (for the local variations in reconstruction), and
> then returning to convergence issues when we have more sensitivity.
> For more details, see my thesis,
> http://blast.lns.mit.edu/PUBLIC_RESULTS/THESES/Crawford_thesis_revA.pdf pp.
> 92-95 (also pp. 161-163), and Numerical Recipes, sec. 9.7, p. 383,
> http://library.lanl.gov/numerical/bookcpdf/c9-6.pdf, for the complete
> algorithm except for the projection.
> --Chris
> _______________________________________
>
> TA-53/MPF-1/D111 P-23 MS H803
> LANL, Los Alamos, NM 87545
> 505-665-9804(o) 665-4121(f) 662-0639(h)
> _______________________________________
>
> * check convergence of newton fitter
> void TBLRecon::FitDump() const
> ...
> cout<<" [";
> for (int i=0;i<18;i++) cout<<fTracks[itrk]->fFit->GetData()[i]<<" ";
> cout<<"]"<<endl;
> }
> + bugs
> TBLFitTrack:
> move 'fSum2/=2' after loop; was weighting inner point by 2^-18
> add
> nw_conv.C:
> forgot 'newt.SetPidGeneric(1)'
> fit in wc only:
> not adjusting phi correctly
> + convergence
> - proton
> track: proton [0.343377 68.6376 172.486 -0.474141 0 -1.31836]
> dp = (.70-.04)/2 = .32 MeV
> dt = (93 -18)/2 = 38 deg (whole range of wc)
> df = (196-163)/2 = 17 deg (whole range of wc)
> dz = (200-(-14))/2 = 105 cm (whole range)
> 0 theta 20 40 60 80 100 120 140
> +---------+---------+---------+---------+---------+---------+---------+-----
> 0.00:
> ............................................................................
> 0.02:
> .......xxx.x.x...xxxxxxxx....x.....x............x.......xxx..xx.x...........
> 0.04:
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xx.xxxxxxx.....xxx..xxxx.xx.xxx.x..xx..xx....
> 0.06:
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxxx...x..xxx.x..x..xxx...x.x..xx.x
> 0.08:
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...x.x..x..x......x....x...x...x...
> 0.10:
> .xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx........xx..x..x.x.xx..x..x...x...
> 0.12:
> .x.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx........xx.x...x..xx.............
> 0.14:
> .x..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...x...x........x..x.x..........
> 0.16:
> ..x.x.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx........x..x..............xx....
> 0.18:
> ...xxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......xx...x..x...xxx..........
> 0.20:
> ....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......x...x.......x...........
> 0.22:
> ......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..x....x.....x..x..x..x.......x
> 0.24:
> ......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......x.......x.......x.x.....
> 0.26:
> .......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...........x.............xx...
> 0.28:
> ..........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.........x.xx...x.............
> 0.30:
> ........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......x.x.x..x............x..
> 0.32:
> ..........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..x...xx......................
> 0.34:
> .........xxxxxxxxxxxxxxxxxxxxxxxxxOxxxxxxxxxxx..............................
> 0.36:
> ...........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......x......................
> 0.38:
> ..........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx......x.....x.................
> 0.40:
> ...........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..........x...............x..x
> 0.42:
> ...........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx........x.x...................
> 0.44:
> ............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..........x...................
> 0.46:
> ............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.............x................
> 0.48:
> ............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.................x........x...
> 0.50:
> ............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.............................
> 0.52:
> .............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.............................
> 0.54:
> ..............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...........x.................
> 0.56:
> ..............x.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......x..................x...
> 0.58:
> ...............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..............................
> 0.60:
> ................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.............x...............
> 0.62:
> ................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..............................
> 0.64:
> ..................xxxxxxxxxxxxxxxxxxxxxxxxx.xx..............................
> 0.66:
> ...................xxxxxxxxxxxxxxxxxxxxxxxxxxx..............................
> 0.68:
> ...................x.xxxxxxxxxxxxxxxxxxxxxxxxx..............................
> 0.70:
> .....................xx.xxxxxxxxxxxxxxxxxxxxxx..............................
> 0.72:
> ..........................xx.....x..........................................
> 0.74:
> ......................................x.....................................
> 0.76:
> ............................................................................
> 0.78:
> ........................................................................x...
> 0.80:
> ........................................................................x...
> 0.82:
> ............................................................................
> 0.84:
> ............................................................................
> 0.86:
> ............................................................................
> 0.88:
> ............................................................................
> 0.90:
> ............................................................................
> 0.92:
> ............................................................................
> 0.94:
> ............................................................................
> 0.96:
> ..........................................................................x.
> 0.98:
> ............................................................................
> 1.00:
> ............................................................................
> - zoom
> 0 theta 10 20 30 40 50 60 70
> 80 90 100 110 120
> p
> +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
> 0.00:
> .........................................................................................................................
> 0.02:
> ..............o.ooo..oo...o......oo.ooo.ooooooooo........oo........o..oo.o.......o..............o..o............ooooo..o.
> 0.04:
> oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo..ooo...ooo.oooooooooo.........oo.oooo.o.oo.ooo.oo..ooo...ooo
> 0.06:
> ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo..o..ooo.o.o.oo......oo....oooooo..o.....oo...
> 0.08:
> ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.ooooo..o.o..o...o.....oo....o..o.....o....oo.
> 0.10:
> ..oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.......o.o......ooo..o..o..o.oo..ooo.
> 0.12:
> ..o...oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo...............oooo...o......oo..o.
> 0.14:
> .oo..o..ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.......o......ooo...o.o..........o
> 0.16:
> ...oo..oo..ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.....o.........oo.....o..........
> 0.18:
> .....oo.oooo.ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.o............ooo......oo..o..oo.
> 0.20:
> .......oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo...............oo......o........
> 0.22:
> .........o.oooo.oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo....o.........oo.........oo....
> 0.24:
> ............oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo..............o....o...o...o.oo
> 0.26:
> ..............ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo..............o.....o..o......
> 0.28:
> ...............o.o.oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo..............o....oo..o.oo...
> 0.30:
> ................ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo..............ooo..o...oo....o
> 0.32:
> .................o.oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.....o.......o.oo.........o...
> 0.34:
> ..................oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.............................
> 0.36:
> ...................o.ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo..............o..............
> 0.38:
> ....................oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo............o..........o....
> 0.40:
> .....................ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo....................o........
> 0.42:
> ......................oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.........o......o...o..o.o...
> 0.44:
> .......................ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.o...........o......oo.......
> 0.46:
> .......................ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo...................o......o..
> 0.48:
> ........................oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo...........................o.
> 0.50:
> ........................ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo............................
> - electron
> v: 4 35.493 (0) [0.723538 48.8462 15.4827 1.07487 0 -15.5684]
> h: [-28.5758 -29.0597 -29.5443 -35.687 -36.2214 -36.7572 -50.0634 -50.6159
> -51.1701 -59.3749 -59.9799 -60.5864 -74.4219 -75.0391 -75.6577 -85.8569
> -86.5232 -87.1907]
> d: [-28.7046 -29.0748 -29.5742 -35.6063 -36.17 -36.6448 -50.0209 -50.6582
> -51.2903 -59.3552 -59.9918 -60.6023 -74.2662 -74.8876 -75.7872 -86.0127
> -86.3443 -87.3331]
>
> 0 theta 20 40 60 80 100 120 140
> p
> +---------+---------+---------+---------+---------+---------+---------+-----
> 0.00:
> ...........................................................................
> 0.02:
> ...................o........................................................
> 0.04:
> ..................................o...o.o...................................
> 0.06:
> .............oo........o........oooooooo....................................
> 0.08:
> ...........o.........o.oo....ooooooo.o......................................
> 0.10:
> ...........o............o.oooooooo.oo.......................................
> 0.12:
> .....................ooo..oooooo.oo.oo......................................
> 0.14:
> ......................oooooo..ooooo.o.......................................
> 0.16:
> ...................ooooo.oooooo.ooo..o......................................
> 0.18:
> ..............o...ooooooooooooooooo.oo......................................
> 0.20:
> .............o...oooooooooooooooooo..oo.....................................
> 0.22:
> ............o.ooooo.ooooooooo.oooooo.o......................................
> 0.24:
> ..............oo.oo.ooo.oooo.oooooooo..o....................................
> 0.26:
> ...........o..oooooooo.ooooooo.oooo.........................................
> 0.28:
> .............ooooooooooooooo.ooo...o........................................
> 0.30:
> ...........oooooooooo.ooooooooooo..o........................................
> 0.32:
> .........o..oo..ooooo.oooooooooo..o........................................
> 0.34:
> ...........ooo.o.ooooo.oooooooo.oo.o........................................
> 0.36:
> ...........ooo...oooooooooooooo.oooo........................................
> 0.38:
> ...........ooo.o.oooooooooo.oooooo.o...o....................................
> 0.40:
> .........o.ooo.o.oooooooooooooooo..o........................................
> 0.42:
> .........o.oo..o.oooooooooooo.ooo..o........................................
> 0.44:
> .......o.o.oo....ooooo.oooooo.oooooo........................................
> 0.46:
> .........o.ooo..oooooo.oooooo.ooo...........................................
> 0.48:
> .......ooo.oo...oooooo.oooooo.ooo.o.........................................
> 0.50:
> ........oo..o..ooooooo.oooooo.ooo...........................................
> 0.52:
> .....oo.oo.oo.o.ooooooooooooo.ooo...........................................
> 0.54:
> .........o.oo.oooooooo.oooooo.ooo...........................................
> 0.56:
> ........oo.oo..ooooooo.oooooo.o.............................................
> 0.58:
> .....o.....oo..ooooooo.oooooooo.o...........................................
> 0.60:
> .........o.ooo.ooooooo.oooo..oo.o...o.......................................
> 0.62:
> .....oo.o..ooo.oooooooooooo..oo.o...o.......................................
> 0.64:
> .......ooooooo.oooooooooooo..oo.o...o.......................................
> 0.66:
> ...oo..ooo.ooo.oooooooooooo.........o.o.....................................
> 0.68:
> .....o.ooo.ooo.oooooooooooo..o..o...o.......................................
> 0.70:
> .....o..oo.oooooooooooooooo..o........o.....................................
> 0.72:
> .....o..oo.oooooooooooooXoo..o..o.....o.....................................
> 0.74:
> .....o.ooo.oooooooooooooooo..o..o..o........................................
> 0.76:
> ........ooooooooooo.ooooooo..o..o..o........................................
> 0.78:
> .......ooo.oooooooooooooooo..o..oooo........................................
> 0.80:
> .......ooo.oooooooooooooooo..o.ooooo........................................
> 0.82:
> ..o......o.oooooooooooooooo..o.ooooo........................................
> 0.84:
> .......ooo.oooooooooooooooo.oo.ooo.o........................................
> 0.86:
> .......ooo.oooooo..o..oooooooo.ooooo........................................
> 0.88:
> ....o..ooo.ooo.oo.oo.ooooooooo.oooo.........................................
> 0.90:
> ....o..ooo.oo...o.oo.ooooooooo.oooo.........................................
> 0.92:
> ....oo.ooo.oo...o.oo.ooooooooo.oooo.........................................
> 0.94:
> ...oo....o.ooo..o..o.ooooooooo.o.oo.........................................
> 0.96:
> .......oo..ooo..o.oo.ooooooooo.oo.o.........................................
> 0.98:
> .......ooo.ooo..oooo.ooooooooo....o.........................................
> 1.00:
> ........oo...o..oooo.ooooooooo....o.........................................
> + start at wc
> - proton
> dp = (1.44-.06)/2 -> double upper limie
> dt = (110-24)/2 -> shifted up
> df = (173) but if p=.30: (179.6-168.5) -> bug?
> dz = (200--12) -> same
> - electron
> dp = (1.52-0.10) -> good
> dt = (95-18) -> but with scattered holes???
> df = (17--3.5) -> much better than proton
> dz = (140-10) -> with many scattered holes???
> 0 theta 20 40 60 80 100 120 140
> p
> +---------+---------+---------+---------+---------+---------+---------+-----
> 0.00:
> ............................................................................
> 0.02:
> ................++.+.+.+.+..++.....+....+...................................
> 0.04:
> ...........++.++..+.+++.+.......+........+.........+......++.++++++++++..++.
> 0.06:
> ...+.....+.++.+++.+++.+++++.+...............++.+++++++++++++++++++++.+++..++
> 0.08:
> ....++...++.+++.++....+..++...++..+..+++++++++++++.+++.+++++++++.+.++......+
> 0.10:
> ....++.++.+.+..++.++++.+.++++...+.+++++++++++++++++++++++++++..+...+..+...+.
> 0.12:
> ...+..+...++.+++.+++...++++.+++++++++++++++++++++++++++++++++.+......+...+++
> 0.14:
> .+........+++.++.++++++++++++.+++++++++++++++++++++++++++.+.+++.+...+.+++++
> 0.16:
> ....+......++.++.++++++++++++++.++++++++++++++++++++++++++.+.++.+......+++++
> segfault (bgrid)
> - electron w/smaller phi
> dp = (1.48-.24)
> dt = (50-12)
> df = (192-173)
> dz = (174-140)
> + nonconvergence
> run 1070, event 8, nw 0
> v={ 0.768798, 27.6792, -169.675, x=-59.1049, y=-10.7683, z=110.499 }
> small problem range, z=103.993 -> 104.102
> right in middle of large converge region
> initial derivative is perpendicular to minimum
> echo;root -l nw_conv.C Newt.PrintFlag=4 +o2 +z +plotd
> echo;root -l nw_conv.C +o2 NewtDer.dP=0.02 NewtDer.dTheta=0.002
> NewtDer.dPhi=0.01 NewtDer.dZ0=0.1
> fixed it!
> echo;root -l nw_conv.C +o2 NewtDer.dZ0=0.1
> also works
> echo;root -l nw_conv.C +o2 NewtDer.dZ0=0.1 +z
> another bad line
> 120.000: 4 54.75 [0.768818 29.0105 -170.307 -0.577733 0
> 1.49155]
> 122.000: 4 474108.51 [0.768798 29.1969 -170.309 -0.552348 0
> 20.0135]
> 124.000: 4 54.75 [0.768793 29.0102 -170.307 -0.577737 0
> 1.49055]
> echo;root -l nw_conv.C +o2 NewtDer.dZ0=0.5 +p +t +f +z
> converges: .22<p=.76<1.48, 12<t=29<50, 173.5<f=170<192.5, -30<z=110<186
> still problem w/phi
> NewtDer.dPhi=0.02
> didn't help
> todo: test stability of derivative (w/decreasing p,th,phi,z)
> - electron w/smaller phi
> converges: .22<p=.76<1.48, 12<t=29<50, 173.5<f=170<192.5, -30<z=110<186
> 0 theta 20 40 60 80 100 120 140
> p
> +---------+---------+---------+---------+---------+---------+---------+-----
> 0.16:
> ......^.......^.....^^.^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.^....^^^^^.^..^.:....
> 0.18:
> .....^.^.........^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^......^^..^^^.^.......
> 0.20:
> ..........^...^^.^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.^.........^...^.^^.^:....
> 0.22:
> ...^^^^.....^.^.^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^............^.......^.^..
> 0.24:
> ....^..^....^..^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^..........................:
> 0.26:
> ...^.^.^....^.^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.^^................^...^....:^.
> 0.28:
> ...^......^^..^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.......................^.....
> 0.30:
> .^..^^.^.^^..^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^..............................
> 0.32:
> .......^^^..^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...............................
> 0.34:
> .....^.^..^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^........................^.....:.
> 0.36:
> ...^...^^..^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.................................
> 0.38:
> ........^..^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...............................^..
> 0.40:
> ..^...^.....^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...............................:...
> 0.42:
> .....^....^^^^^^^^^^^^^^^^^^^^^^^^^^^^^....................................
> 0.44:
> ...^^.^^.^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...................................^.
> 0.46:
> .^......^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^......................................
> 0.48:
> ^......^.^^^^^^^^^^^^^^^^^^^^^^^^^^^^.......................................
> 0.50:
> .^^...^.^^^^^^^^^^^^^^^^^^^^^^^^^^^^........................................
> 0.52:
> ^^....^..^^^^^^^^^^^^^^^^^^^^^^^^^^.........................................
> 0.54:
> ......^.^^^^^^^^^^^^^^^^^^^^^^^^^^.........................................:
> 0.56:
> .....^..^^^^^^^^^^^^^^^^^^^^^^^^^.......................................^...
> 0.58:
> .....^..^^^^^^^^^^^^^^^^^^^^^^^^............................................
> 0.60:
> ........^^^^^^^^^^^^^^^^^^^^^.^.............................................
> 0.62:
> .^...^.^.^^^^^^^^^^^^^^^^^^^^^^.............................................
> 0.64:
> .....^.^^^^^^^^^^^^^^^^^^^^^^^..............................................
> 0.66:
> .^...^.^^^^^^^^^^^^^^^^^^^^^^...............................................
> 0.68:
> .....^.^^^^^^^^^^^^^^^^^^^^^................................................
> 0.70:
> .....^.^^^^^^^^^^^^^^^^^^^^^...............................................^
> 0.72:
> .....^^.^^^^^^^^^^^^^^^^^^^.................................................
> 0.74:
> .^...^^^^^^^^^^^^^^^^^^^^^.............................................^....
> 0.76:
> .^..^^^^^^^^^^^X^^^^^^^^^^..................................................
> 0.78:
> ^....^^^^^^^^^^^^^^^^^^^^................................................^..
> 0.80:
> ^....^^.^^^^^^^^^^^^^^^^^........................^..........................
> 0.82:
> ^.......^^^^^^^^^^^^^^^^....................................................
> 0.84:
> .^....^^^^^^^^^^^^^^^^^^....................................................
> 0.86:
> ....^.^^^^^^^^^^^^^^^^^....................................................^
> 0.88:
> ....^^^^^^^^^^^^^^^^^^^.....................................................
> 0.90:
> ......^^^^^^^^^^^^^^^^......................................................
> 0.92:
> ....^^^^^^^^^^^^^^^^^^......................................................
> 0.94:
> .^..^.^^^^^^^^^^^^^^^^......................................................
> 0.96:
> ^...^^^^^^^^^^^^^^^^^.......................................................
> 0.98:
> ^^..^^^^^^^^^^^^^^^^^.......................................................
>
>
> On Feb 27, 2006, at 21:21:39, Chi Zhang wrote:
>
>>
>> Hi Michael,
>>
>> This subject has been discussed in early 2003 when Chris painstakingly
>> convinced us (Tim, Tong, me and some others?) that the Newton method
>> locates the global minimum. It is also documented in Numerical Recipy that
>> "Newton method tends to pass right by the local minima". It s only a couple
>> of pages. I still remember that I first made the comment that maybe we are
>> looking at local minima and Tong got exited and called for emergency
>> software meetings where Chris drew a lotta stuff on the board. :)
>>
>> I think Chris is the best person to comment on this as the implementer of
>> Newton for BlastLib. But my understanding is that Newton is not a
>> minimization method on any chi^2, but a "root" finding method on chi
>> itself. Please see Numerical Recipy for a description of the algorithm.
>>
>> One extremely simplified example would be like this. Say if the track
>> parameters(p,theta,phi,z) are so wrong that the track impact all wire
>> planes on the upstream side of the hits. Compare to the other extreme that
>> all impact points are on the down stream side of the hits. These two cases
>> clearly defines chi=+(a big value) and chi=-(a big value) case. So if there
>> is only one paramter to fit and only one hit to fit from, Newton will find
>> the exact parameter s.t. chi=0. Higher dimension will be harder but to
>> sweep from +very_big to -very_big, Newton won't even pause around any local
>> minima unless its a root of the equation chi=0. if this thing has redundant
>> roots, then good luck finding any algorithm.
>>
>> I believe Chris took great care to treat the exceptional cases and the
>> version he implemented is in fact a Newton-Ralpson with Back Track.
>>
>> I do not believe the problem is in software, we get every clean and nice in
>> Monte Carlo yet everything breaks down in data. It amuses me that we
>> decided we can do what CLAS and BarBar did with 18 layers of wires while
>> those two have 36 and 52 layers in a much denser layout. The pain of not
>> having the extra grips to calibration and debugging just hurts.
>>
>> I do not know how to produce those plots. I believe Chris prepared chi2
>> graphs for us three years ago when we had not even start tagging anything
>> yet. I remember codes in Chris' Newton Fitter that dumps a great deal of
>> info for diagnose purpose. I can not remember, but I doubt we retained all
>> those codes when we moved to v3 for run time concern. We thought it was a
>> resolved issue anyway.
>>
>> Chi
>>
>> On Mon, 27 Feb 2006, Michael Kohl wrote:
>>
>>> Hi Chris, Chi,
>>>
>>> is it in principle possible that the applied method of the Newton fitter
>>> ends up in a local minimum of the chi2 function, i.e. the solution found
>>> for p may not be a valid root?
>>> Or, could it happen that multiple roots exist for p close to each other
>>> and the one usually found may not be the one one was looking for?
>>>
>>> It would be great if you could explain me the algorithm and its pitfalls
>>> that is used in the Blast library. It would be even better if we could
>>> talk about this in the analysis meeting on Wednesday.
>>>
>>> An important plot would be the graph of chi2 versus p for the given
>>> "solution" of the other variables and where p is being varied over some
>>> sufficiently large range, in order to see wether the found solution of p
>>> indeed minimizes chi2 globally but not locally. Can you provide such a
>>> plot for typical elastic events where the momenta are off by 30-50 MeV?
>>>
>>>
>>> Best regards
>>>
>>> Michael
>>>
>>>
>>>
>>> +-------------------------------------+--------------------------+
>>> | Office: | Home: |
>>> |-------------------------------------|--------------------------|
>>> | Dr. Michael Kohl | Michael Kohl |
>>> | Laboratory for Nuclear Science | 5 Ibbetson Street |
>>> | MIT-Bates Linear Accelerator Center | Somerville, MA 02143 |
>>> | Middleton, MA 01949 | U.S.A. |
>>> | U.S.A. | |
>>> | - - - - - - - - - - - - | - - - - - - - - -|
>>> | Email: kohlm@mit.edu | K.Michael.Kohl@gmx.de |
>>> | Work: +1-617-253-9207 | Home: +1-617-629-3147 |
>>> | Fax: +1-617-253-9599 | Mobile: +1-978-580-4190 |
>>> | http://blast.lns.mit.edu | |
>>> +-------------------------------------+--------------------------+
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>

+-------------------------------------+--------------------------+
| Office: | Home: |
|-------------------------------------|--------------------------|
| Dr. Michael Kohl | Michael Kohl |
| Laboratory for Nuclear Science | 5 Ibbetson Street |
| MIT-Bates Linear Accelerator Center | Somerville, MA 02143 |
| Middleton, MA 01949 | U.S.A. |
| U.S.A. | |
| - - - - - - - - - - - - | - - - - - - - - -|
| Email: kohlm@mit.edu | K.Michael.Kohl@gmx.de |
| Work: +1-617-253-9207 | Home: +1-617-629-3147 |
| Fax: +1-617-253-9599 | Mobile: +1-978-580-4190 |
| http://blast.lns.mit.edu | |
+-------------------------------------+--------------------------+



This archive was generated by hypermail 2.1.2 : Mon Feb 24 2014 - 14:07:33 EST