5 function extract_geo_tracks(tree, opt, call_back) {
8 console.log(
'CALL extract_geo_tracks');
10 var selector =
new JSROOT.TSelector();
12 selector.AddBranch(
"ESDfriend.fTracks.fPoints",
"pnts");
14 var lst = JSROOT.Create(
"TList"), numentry = 0, numtracks = 0;
16 selector.Process =
function() {
19 var pnts = this.tgtobj.pnts;
24 for (var p=0;p<pnts.length;++p) {
27 if (!arr.fNPoints)
continue;
28 var track = JSROOT.Create(
"TGeoTrack");
29 track.fNpoints = arr.fNPoints;
30 track.fPoints =
new Float32Array(track.fNpoints*3);
31 for (var k=0;k<track.fNpoints;++k) {
32 track.fPoints[k*3] = arr.fX[k];
33 track.fPoints[k*3+1] = arr.fY[k];
34 track.fPoints[k*3+2] = arr.fZ[k];
39 if (numtracks>100)
return this.Abort();
43 selector.Terminate =
function(res) {
45 console.log(
'Read done num entries', numentry,
'tracks', numtracks);
46 JSROOT.CallBack(call_back, lst);
49 tree.Process(selector);
52 console.log(
'LOAD alice_esd.js JSROOT', JSROOT.version);