Table Of Contents

This Page

tconcentric

setup

Concentric spheres 3m 4m 5m with default random radial torch, or +x laser polarized +y

097 tconcentric-testconfig()
098 {
099     local test_config=(
100                  mode=BoxInBox
101                  analytic=1
102
103                  shape=sphere
104                  boundary=StainlessSteel///Acrylic
105                  parameters=0,0,0,$(( 5000 + 5 ))
106
107                  shape=sphere
108                  boundary=Acrylic//RSOilSurface/MineralOil
109                  parameters=0,0,0,$(( 5000 - 5 ))
110
111
112                  shape=sphere
113                  boundary=MineralOil///Acrylic
114                  parameters=0,0,0,$(( 4000 + 5 ))
115
116                  shape=sphere
117                  boundary=Acrylic///LiquidScintillator
118                  parameters=0,0,0,$(( 4000 - 5 ))
119
120
121                  shape=sphere
122                  boundary=LiquidScintillator///Acrylic
123                  parameters=0,0,0,$(( 3000 + 5 ))
124
125                  shape=sphere
126                  boundary=Acrylic///GdDopedLS
127                  parameters=0,0,0,$(( 3000 - 5 ))
128
129                    )
130
131      echo "$(join _ ${test_config[@]})"
132 }

remnant pflags discrep ?

simon:geant4_opticks_integration blyth$ tconcentric.py --cmx 5
/Users/blyth/opticks/ana/tconcentric.py --cmx 5
[2016-11-07 15:17:15,045] p50074 {/Users/blyth/opticks/ana/tconcentric.py:208} INFO - tag 1 src torch det concentric c2max 2.0 ipython False
[2016-11-07 15:17:15,901] p50074 {/Users/blyth/opticks/ana/evt.py:410} WARNING - ignoring psel None
[2016-11-07 15:17:18,735] p50074 {/Users/blyth/opticks/ana/evt.py:410} WARNING - ignoring psel None
CF a concentric/torch/  1 :  20161107-1500 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161107-1500 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-07 15:17:20,743] p50074 {/Users/blyth/opticks/ana/seq.py:410} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       329.90/352 =  0.94  (pval:0.796 prob:0.204)
  12              8cc5ccd          5113         4868             6.01        1.050 +- 0.015        0.952 +- 0.014  [7 ] TO BT BT RE BT BT SA
  17              49ccccd          2312         2472             5.35        0.935 +- 0.019        1.069 +- 0.022  [7 ] TO BT BT BT BT DR AB
  43             89cccc6d           546          460             7.35        1.187 +- 0.051        0.842 +- 0.039  [8 ] TO SC BT BT BT BT DR SA
  50             8cc6cc5d           385          311             7.87        1.238 +- 0.063        0.808 +- 0.046  [8 ] TO RE BT BT SC BT BT SA
 122     89cccccccc9ccccd            53           89             9.13        0.596 +- 0.082        1.679 +- 0.178  [16] TO BT BT BT BT DR BT BT BT BT BT BT BT BT DR SA
 153         86cccccc6ccd            70           43             6.45        1.628 +- 0.195        0.614 +- 0.094  [12] TO BT BT SC BT BT BT BT BT BT SC SA
 207        8cccccc5cc55d            23           41             5.06        0.561 +- 0.117        1.783 +- 0.278  [13] TO RE RE BT BT RE BT BT BT BT BT BT SA
 284            8cc6cc65d            11           25             5.44        0.440 +- 0.133        2.273 +- 0.455  [9 ] TO RE SC BT BT SC BT BT SA
.                               1000000      1000000       329.90/352 =  0.94  (pval:0.796 prob:0.204)
[2016-11-07 15:17:20,865] p50074 {/Users/blyth/opticks/ana/seq.py:410} INFO - compare dbgseq 0 dbgmsk 0
.                pflags_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000        50.71/42 =  1.21  (pval:0.168 prob:0.832)
   4                 1890         38518        37832             6.16        1.018 +- 0.005        0.982 +- 0.005  [4 ] TO|BT|SA|RE
  19                 1910           482          410             5.81        1.176 +- 0.054        0.851 +- 0.042  [4 ] TO|BT|DR|RE
.                               1000000      1000000        50.71/42 =  1.21  (pval:0.168 prob:0.832)
[2016-11-07 15:17:20,895] p50074 {/Users/blyth/opticks/ana/seq.py:410} INFO - compare dbgseq 0 dbgmsk 0
.                seqmat_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       206.81/228 =  0.91  (pval:0.840 prob:0.160)
  12              4443231          3040         3272             8.53        0.929 +- 0.017        1.076 +- 0.019  [7 ] Gd Ac LS Ac MO MO MO
  67         344323132231           147          111             5.02        1.324 +- 0.109        0.755 +- 0.072  [12] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac
 104              2223111            79           52             5.56        1.519 +- 0.171        0.658 +- 0.091  [7 ] Gd Gd Gd Ac LS LS LS
 156     1132344323443231            34           16             6.48        2.125 +- 0.364        0.471 +- 0.118  [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Gd
.                               1000000      1000000       206.81/228 =  0.91  (pval:0.840 prob:0.160)
[2016-11-07 15:17:20,942] p50074 {/Users/blyth/opticks/ana/evt.py:684} WARNING - missing a_ana hflags_ana
[2016-11-07 15:17:20,942] p50074 {/Users/blyth/opticks/ana/tconcentric.py:213} INFO - early exit as non-interactive
simon:geant4_opticks_integration blyth$

Select pflags line 4, nothing smoking:

In [2]: cf.a.psel = cf.a.pflags == 0x1890
[2016-11-07 16:09:47,433] p50521 {/Users/blyth/opticks/ana/evt.py:424} INFO - _init_selection nsel 38518 len(psel) 1000000

In [3]: cf.b.psel = cf.b.pflags == 0x1890
[2016-11-07 16:10:24,814] p50521 {/Users/blyth/opticks/ana/evt.py:424} INFO - _init_selection nsel 37832 len(psel) 1000000

In [3]: cf.cf()
CF a concentric/torch/  1 :  20161107-1500 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161107-1500 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-07 16:31:39,722] p50699 {/Users/blyth/opticks/ana/seq.py:410} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana      noname       noname           c2           ab           ba
.                                 38518        37832        39.26/30 =  1.31  (pval:0.120 prob:0.880)
   0              8cccc5d         20239        19946             2.14        1.015 +- 0.007        0.986 +- 0.007  [7 ] TO RE BT BT BT BT SA
   1             8cccc55d          5970         5814             2.07        1.027 +- 0.013        0.974 +- 0.013  [8 ] TO RE RE BT BT BT BT SA
   2              8cc5ccd          5113         4868             6.01        1.050 +- 0.015        0.952 +- 0.014  [7 ] TO BT BT RE BT BT SA
   3            8cccc555d          1819         1762             0.91        1.032 +- 0.024        0.969 +- 0.023  [9 ] TO RE RE RE BT BT BT BT SA
   4             8cc55ccd          1268         1277             0.03        0.993 +- 0.028        1.007 +- 0.028  [8 ] TO BT BT RE RE BT BT SA
   5          8cccccc5ccd          1104         1199             3.92        0.921 +- 0.028        1.086 +- 0.031  [11] TO BT BT RE BT BT BT BT BT BT SA
   6           8cccc5555d           520          523             0.01        0.994 +- 0.044        1.006 +- 0.044  [10] TO RE RE RE RE BT BT BT BT SA
   7             8cc5cc5d           417          434             0.34        0.961 +- 0.047        1.041 +- 0.050  [8 ] TO RE BT BT RE BT BT SA
   8            8cc555ccd           340          325             0.34        1.046 +- 0.057        0.956 +- 0.053  [9 ] TO BT BT RE RE RE BT BT SA
   9         8cccccc55ccd           280          287             0.09        0.976 +- 0.058        1.025 +- 0.061  [12] TO BT BT RE RE BT BT BT BT BT BT SA
  10         8cccc5cc5ccd           167          168             0.00        0.994 +- 0.077        1.006 +- 0.078  [12] TO BT BT RE BT BT RE BT BT BT BT SA
  11          8cccc55555d           152          151             0.00        1.007 +- 0.082        0.993 +- 0.081  [11] TO RE RE RE RE RE BT BT BT BT SA
  12            8cc55cc5d           136          103             4.56        1.320 +- 0.113        0.757 +- 0.075  [9 ] TO RE BT BT RE RE BT BT SA
  13            8cc5cc55d           136          125             0.46        1.088 +- 0.093        0.919 +- 0.082  [9 ] TO RE RE BT BT RE BT BT SA
  14         8cccccc5cc5d            97           86             0.66        1.128 +- 0.115        0.887 +- 0.096  [12] TO RE BT BT RE BT BT BT BT BT BT SA
  15        8cccccc555ccd            80           70             0.67        1.143 +- 0.128        0.875 +- 0.105  [13] TO BT BT RE RE RE BT BT BT BT BT BT SA
  16           8cc5555ccd            77           64             1.20        1.203 +- 0.137        0.831 +- 0.104  [10] TO BT BT RE RE RE RE BT BT SA
  17           8cc5cc555d            33           52             4.25        0.635 +- 0.110        1.576 +- 0.219  [10] TO RE RE RE BT BT RE BT BT SA
  18        8cccc5cc55ccd            49           41             0.71        1.195 +- 0.171        0.837 +- 0.131  [13] TO BT BT RE RE BT BT RE BT BT BT BT SA
  19         8cccc555555d            43           37             0.45        1.162 +- 0.177        0.860 +- 0.141  [12] TO RE RE RE RE RE RE BT BT BT BT SA
.                                 38518        37832        39.26/30 =  1.31  (pval:0.120 prob:0.880)
Out[3]:

pflags line 19, again nothing smoking:

In [6]: cf.a.psel = cf.a.pflags == 0x1910
[2016-11-07 16:39:44,278] p50699 {/Users/blyth/opticks/ana/evt.py:424} INFO - _init_selection nsel 482 len(psel) 1000000

In [7]: cf.b.psel = cf.b.pflags == 0x1910
[2016-11-07 16:39:54,534] p50699 {/Users/blyth/opticks/ana/evt.py:424} INFO - _init_selection nsel 410 len(psel) 1000000

In [8]: cf.cf()
CF a concentric/torch/  1 :  20161107-1500 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161107-1500 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-07 16:40:15,615] p50699 {/Users/blyth/opticks/ana/seq.py:410} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana      noname       noname           c2           ab           ba
.                                   482          410         6.42/6 =  1.07  (pval:0.377 prob:0.623)
   0     cccc55cccc9ccccd            80           59             3.17        1.356 +- 0.152        0.738 +- 0.096  [16] TO BT BT BT BT DR BT BT BT BT RE RE BT BT BT BT
   1     cccccccc9cccc55d            47           53             0.36        0.887 +- 0.129        1.128 +- 0.155  [16] TO RE RE BT BT BT BT DR BT BT BT BT BT BT BT BT
   2     cc55cccccc9ccccd            24           20             0.36        1.200 +- 0.245        0.833 +- 0.186  [16] TO BT BT BT BT DR BT BT BT BT BT BT RE RE BT BT
   3     ccc5cccccc9ccccd            17           23             0.90        0.739 +- 0.179        1.353 +- 0.282  [16] TO BT BT BT BT DR BT BT BT BT BT BT RE BT BT BT
   4     ccc555cccc9ccccd            21           18             0.23        1.167 +- 0.255        0.857 +- 0.202  [16] TO BT BT BT BT DR BT BT BT BT RE RE RE BT BT BT
   5     ccccccc9cccc555d            19           13             1.12        1.462 +- 0.335        0.684 +- 0.190  [16] TO RE RE RE BT BT BT BT DR BT BT BT BT BT BT BT
   6     cccc5cccc9cccc5d            18           15             0.27        1.200 +- 0.283        0.833 +- 0.215  [16] TO RE BT BT BT BT DR BT BT BT BT RE BT BT BT BT
   7     cccccc55cc9ccccd            17           12             0.00        1.417 +- 0.344        0.706 +- 0.204  [16] TO BT BT BT BT DR BT BT RE RE BT BT BT BT BT BT
   8     ccccc9cccccc5ccd            16            6             0.00        2.667 +- 0.667        0.375 +- 0.153  [16] TO BT BT RE BT BT BT BT BT BT DR BT BT BT BT BT
   9     9cccc5cccc9ccccd            13            7             0.00        1.857 +- 0.515        0.538 +- 0.204  [16] TO BT BT BT BT DR BT BT BT BT RE BT BT BT BT DR
  10     cc5cc5cccc9ccccd            13           11             0.00        1.182 +- 0.328        0.846 +- 0.255  [16] TO BT BT BT BT DR BT BT BT BT RE BT BT RE BT BT
  11     cccccccc9cc55ccd             9            9             0.00        1.000 +- 0.333        1.000 +- 0.333  [16] TO BT BT RE RE BT BT DR BT BT BT BT BT BT BT BT
  12     cccc5cccc9cc5ccd             8            6             0.00        1.333 +- 0.471        0.750 +- 0.306  [16] TO BT BT RE BT BT DR BT BT BT BT RE BT BT BT BT
  13     ccccc555cc9ccccd             2            6             0.00        0.333 +- 0.236        3.000 +- 1.225  [16] TO BT BT BT BT DR BT BT RE RE RE BT BT BT BT BT
  14     cccc9cccccc5cc5d             6            4             0.00        1.500 +- 0.612        0.667 +- 0.333  [16] TO RE BT BT RE BT BT BT BT BT BT DR BT BT BT BT
  15     9cccccccc9cccc5d             4            6             0.00        0.667 +- 0.333        1.500 +- 0.612  [16] TO RE BT BT BT BT DR BT BT BT BT BT BT BT BT DR
  16     ccc55cccc9cccc5d             3            5             0.00        0.600 +- 0.346        1.667 +- 0.745  [16] TO RE BT BT BT BT DR BT BT BT BT RE RE BT BT BT
  17     cccccc5cc9cccc5d             5            2             0.00        2.500 +- 1.118        0.400 +- 0.283  [16] TO RE BT BT BT BT DR BT BT RE BT BT BT BT BT BT
  18     ccc5cccc9cccc55d             5            5             0.00        1.000 +- 0.447        1.000 +- 0.447  [16] TO RE RE BT BT BT BT DR BT BT BT BT RE BT BT BT
  19     c5cc55cccc9ccccd             4            5             0.00        0.800 +- 0.400        1.250 +- 0.559  [16] TO BT BT BT BT DR BT BT BT BT RE RE BT BT RE BT
.                                   482          410         6.42/6 =  1.07  (pval:0.377 prob:0.623)

RESOLVED seqmat truncation difference, c2 down to 0.91

Resolved by targetting the kludge to BT, not doing the swap for reflects or bulks that do not change material:

430     // about to write non-BREAKER into topslot : this means truncation
431     //if( bounce == bounce_max && ( s.flag == SURFACE_DETECT || s.flag == SURFACE_ABSORB ))
432     //if( bounce == bounce_max && command != BREAK )
433     //if( bounce == bounce_max && !( s.flag == SURFACE_DREFLECT || s.flag == BULK_SCATTER || s.flag == BULK_REEMIT || s.flag == SURFACE_SREFLECT  ))
434
435     if( bounce == bounce_max && s.flag == BOUNDARY_TRANSMIT )
436     {
437         s.index.x = s.index.y ;   // kludge putting m2->m1 for seqmat for the truncated
438     }
439
440
simon:geant4_opticks_integration blyth$ tconcentric.py --cmx 5
/Users/blyth/opticks/ana/tconcentric.py --cmx 5
[2016-11-07 15:17:15,045] p50074 {/Users/blyth/opticks/ana/tconcentric.py:208} INFO - tag 1 src torch det concentric c2max 2.0 ipython False
[2016-11-07 15:17:15,901] p50074 {/Users/blyth/opticks/ana/evt.py:410} WARNING - ignoring psel None
[2016-11-07 15:17:18,735] p50074 {/Users/blyth/opticks/ana/evt.py:410} WARNING - ignoring psel None
CF a concentric/torch/  1 :  20161107-1500 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161107-1500 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-07 15:17:20,743] p50074 {/Users/blyth/opticks/ana/seq.py:410} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       329.90/352 =  0.94  (pval:0.796 prob:0.204)
  12              8cc5ccd          5113         4868             6.01        1.050 +- 0.015        0.952 +- 0.014  [7 ] TO BT BT RE BT BT SA
  17              49ccccd          2312         2472             5.35        0.935 +- 0.019        1.069 +- 0.022  [7 ] TO BT BT BT BT DR AB
  43             89cccc6d           546          460             7.35        1.187 +- 0.051        0.842 +- 0.039  [8 ] TO SC BT BT BT BT DR SA
  50             8cc6cc5d           385          311             7.87        1.238 +- 0.063        0.808 +- 0.046  [8 ] TO RE BT BT SC BT BT SA
 122     89cccccccc9ccccd            53           89             9.13        0.596 +- 0.082        1.679 +- 0.178  [16] TO BT BT BT BT DR BT BT BT BT BT BT BT BT DR SA
 153         86cccccc6ccd            70           43             6.45        1.628 +- 0.195        0.614 +- 0.094  [12] TO BT BT SC BT BT BT BT BT BT SC SA
 207        8cccccc5cc55d            23           41             5.06        0.561 +- 0.117        1.783 +- 0.278  [13] TO RE RE BT BT RE BT BT BT BT BT BT SA
 284            8cc6cc65d            11           25             5.44        0.440 +- 0.133        2.273 +- 0.455  [9 ] TO RE SC BT BT SC BT BT SA
.                               1000000      1000000       329.90/352 =  0.94  (pval:0.796 prob:0.204)
[2016-11-07 15:17:20,865] p50074 {/Users/blyth/opticks/ana/seq.py:410} INFO - compare dbgseq 0 dbgmsk 0
.                pflags_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000        50.71/42 =  1.21  (pval:0.168 prob:0.832)
   4                 1890         38518        37832             6.16        1.018 +- 0.005        0.982 +- 0.005  [4 ] TO|BT|SA|RE
  19                 1910           482          410             5.81        1.176 +- 0.054        0.851 +- 0.042  [4 ] TO|BT|DR|RE
.                               1000000      1000000        50.71/42 =  1.21  (pval:0.168 prob:0.832)
[2016-11-07 15:17:20,895] p50074 {/Users/blyth/opticks/ana/seq.py:410} INFO - compare dbgseq 0 dbgmsk 0
.                seqmat_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       206.81/228 =  0.91  (pval:0.840 prob:0.160)
  12              4443231          3040         3272             8.53        0.929 +- 0.017        1.076 +- 0.019  [7 ] Gd Ac LS Ac MO MO MO
  67         344323132231           147          111             5.02        1.324 +- 0.109        0.755 +- 0.072  [12] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac
 104              2223111            79           52             5.56        1.519 +- 0.171        0.658 +- 0.091  [7 ] Gd Gd Gd Ac LS LS LS
 156     1132344323443231            34           16             6.48        2.125 +- 0.364        0.471 +- 0.118  [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Gd
.                               1000000      1000000       206.81/228 =  0.91  (pval:0.840 prob:0.160)
[2016-11-07 15:17:20,942] p50074 {/Users/blyth/opticks/ana/evt.py:684} WARNING - missing a_ana hflags_ana
[2016-11-07 15:17:20,942] p50074 {/Users/blyth/opticks/ana/tconcentric.py:213} INFO - early exit as non-interactive
simon:geant4_opticks_integration blyth$

seqmat still some truncation difference ?

simon:opticks blyth$ tconcentric.py --cmx 5
/Users/blyth/opticks/ana/tconcentric.py --cmx 5
[2016-11-07 13:41:25,182] p48341 {/Users/blyth/opticks/ana/tconcentric.py:208} INFO - tag 1 src torch det concentric c2max 2.0 ipython False
CF a concentric/torch/  1 :  20161107-1225 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161107-1225 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-07 13:41:30,865] p48341 {/Users/blyth/opticks/ana/seq.py:408} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       329.90/353 =  0.93  (pval:0.806 prob:0.194)
  12              8cc5ccd          5113         4868             6.01        1.050 +- 0.015        0.952 +- 0.014  [7 ] TO BT BT RE BT BT SA
  17              49ccccd          2312         2472             5.35        0.935 +- 0.019        1.069 +- 0.022  [7 ] TO BT BT BT BT DR AB
  43             89cccc6d           546          460             7.35        1.187 +- 0.051        0.842 +- 0.039  [8 ] TO SC BT BT BT BT DR SA
  50             8cc6cc5d           385          311             7.87        1.238 +- 0.063        0.808 +- 0.046  [8 ] TO RE BT BT SC BT BT SA
 122     89cccccccc9ccccd            53           89             9.13        0.596 +- 0.082        1.679 +- 0.178  [16] TO BT BT BT BT DR BT BT BT BT BT BT BT BT DR SA
 153         86cccccc6ccd            70           43             6.45        1.628 +- 0.195        0.614 +- 0.094  [12] TO BT BT SC BT BT BT BT BT BT SC SA
 207        8cccccc5cc55d            23           41             5.06        0.561 +- 0.117        1.783 +- 0.278  [13] TO RE RE BT BT RE BT BT BT BT BT BT SA
 284            8cc6cc65d            11           25             5.44        0.440 +- 0.133        2.273 +- 0.455  [9 ] TO RE SC BT BT SC BT BT SA
.                               1000000      1000000       329.90/353 =  0.93  (pval:0.806 prob:0.194)
[2016-11-07 13:41:30,988] p48341 {/Users/blyth/opticks/ana/seq.py:408} INFO - compare dbgseq 0 dbgmsk 0
.                pflags_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000        50.71/43 =  1.18  (pval:0.196 prob:0.804)
   4                 1890         38518        37832             6.16        1.018 +- 0.005        0.982 +- 0.005  [4 ] TO|BT|SA|RE
  19                 1910           482          410             5.81        1.176 +- 0.054        0.851 +- 0.042  [4 ] TO|BT|DR|RE
.                               1000000      1000000        50.71/43 =  1.18  (pval:0.196 prob:0.804)
[2016-11-07 13:41:31,018] p48341 {/Users/blyth/opticks/ana/seq.py:408} INFO - compare dbgseq 0 dbgmsk 0
.                seqmat_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       287.12/227 =  1.26  (pval:0.004 prob:0.996)
  12              4443231          3040         3272             8.53        0.929 +- 0.017        1.076 +- 0.019  [7 ] Gd Ac LS Ac MO MO MO
  24     3432311323443231          1096          975             7.07        1.124 +- 0.034        0.890 +- 0.028  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO Ac
  67         344323132231           147          111             5.02        1.324 +- 0.109        0.755 +- 0.072  [12] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac
  79     4432311323443231            52          125            30.11        0.416 +- 0.058        2.404 +- 0.215  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO MO
 100     4432313234432311            30           85            26.30        0.353 +- 0.064        2.833 +- 0.307  [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO
 104              2223111            79           52             5.56        1.519 +- 0.171        0.658 +- 0.091  [7 ] Gd Gd Gd Ac LS LS LS
 108     3132344323132231            75           48             5.93        1.562 +- 0.180        0.640 +- 0.092  [16] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac LS Ac Gd Ac
 165     4432231323443231            13           30             6.72        0.433 +- 0.120        2.308 +- 0.421  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac MO MO
 194     1132344323132231             9           23             6.12        0.391 +- 0.130        2.556 +- 0.533  [16] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac LS Ac Gd Gd
.                               1000000      1000000       287.12/227 =  1.26  (pval:0.004 prob:0.996)

seqhis line 122, no surprises:

tconcentric-i

In [4]: cf.a.psel = cf.a.seqhis == 0x89cccccccc9ccccd
[2016-11-07 13:52:07,620] p48457 {/Users/blyth/opticks/ana/evt.py:417} INFO - _init_selection nsel 53 len(psel) 1000000

In [6]: cf.b.psel = cf.b.seqhis == 0x89cccccccc9ccccd
[2016-11-07 13:52:44,401] p48457 {/Users/blyth/opticks/ana/evt.py:417} INFO - _init_selection nsel 89 len(psel) 1000000

In [7]: cf.a.seqmat_ana.table
   0     3443231323443231        1.000             53         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO Ac

In [8]: cf.b.seqmat_ana.table
   0     3443231323443231        1.000             89         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO Ac

seqmat line 79, Opticks has suspicious lack of truncations with DR,SC in topslot:

In [9]: cf.a.psel = cf.a.seqmat == 0x4432311323443231
[2016-11-07 13:56:45,866] p48457 {/Users/blyth/opticks/ana/evt.py:417} INFO - _init_selection nsel 52 len(psel) 1000000

In [10]: cf.b.psel = cf.b.seqmat == 0x4432311323443231
[2016-11-07 13:57:04,488] p48457 {/Users/blyth/opticks/ana/evt.py:417} INFO - _init_selection nsel 125 len(psel) 1000000

In [11]: cf.a.seqhis_ana.table
Out[11]:
.                                noname
.                                    52         1.00
   0     4cccc6cccc9ccccd        0.577             30         [16] TO BT BT BT BT DR BT BT BT BT SC BT BT BT BT AB
   1     4cccc5cccc9ccccd        0.173              9         [16] TO BT BT BT BT DR BT BT BT BT RE BT BT BT BT AB
   2     4cccc5cccc6ccccd        0.135              7         [16] TO BT BT BT BT SC BT BT BT BT RE BT BT BT BT AB
   3     4cccc6cccc6ccccd        0.096              5         [16] TO BT BT BT BT SC BT BT BT BT SC BT BT BT BT AB
   4     4ccccbcccc6ccccd        0.019              1         [16] TO BT BT BT BT SC BT BT BT BT BR BT BT BT BT AB
.                                    52         1.00

In [12]: cf.b.seqhis_ana.table
Out[12]:
.                                noname
.                                   125         1.00
   0     4cccc6cccc9ccccd        0.240             30         [16] TO BT BT BT BT DR BT BT BT BT SC BT BT BT BT AB
   3     4cccc5cccc9ccccd        0.096             12         [16] TO BT BT BT BT DR BT BT BT BT RE BT BT BT BT AB
  10     4cccc5cccc6ccccd        0.024              3         [16] TO BT BT BT BT SC BT BT BT BT RE BT BT BT BT AB
   6     4cccc6cccc6ccccd        0.056              7         [16] TO BT BT BT BT SC BT BT BT BT SC BT BT BT BT AB

   1     9cccc6cccc9ccccd        0.192             24         [16] TO BT BT BT BT DR BT BT BT BT SC BT BT BT BT DR
   2     6cccc6cccc9ccccd        0.144             18         [16] TO BT BT BT BT DR BT BT BT BT SC BT BT BT BT SC
   4     9cccc6cccc6ccccd        0.056              7         [16] TO BT BT BT BT SC BT BT BT BT SC BT BT BT BT DR
   5     9cccc5cccc9ccccd        0.056              7         [16] TO BT BT BT BT DR BT BT BT BT RE BT BT BT BT DR
   7     6cccc5cccc9ccccd        0.048              6         [16] TO BT BT BT BT DR BT BT BT BT RE BT BT BT BT SC
   8     6cccc6cccc6ccccd        0.040              5         [16] TO BT BT BT BT SC BT BT BT BT SC BT BT BT BT SC
   9     9cccc5cccc6ccccd        0.024              3         [16] TO BT BT BT BT SC BT BT BT BT RE BT BT BT BT DR
  11     6cccc5cccc6ccccd        0.016              2         [16] TO BT BT BT BT SC BT BT BT BT RE BT BT BT BT SC
  12     9ccccbcccc9ccccd        0.008              1         [16] TO BT BT BT BT DR BT BT BT BT BR BT BT BT BT DR
.                                   125         1.00

seqmat line 100, again Opticks has suspicious lack of truncations with DR,SC in topslot:

In [13]: cf.a.psel = cf.a.seqmat == 0x4432313234432311
[2016-11-07 14:06:30,796] p48457 {/Users/blyth/opticks/ana/evt.py:417} INFO - _init_selection nsel 30 len(psel) 1000000

In [14]: cf.b.psel = cf.b.seqmat == 0x4432313234432311
[2016-11-07 14:06:42,627] p48457 {/Users/blyth/opticks/ana/evt.py:417} INFO - _init_selection nsel 85 len(psel) 1000000

In [15]: cf.a.seqhis_ana.table
Out[15]:
.                                noname
.                                    30         1.00
   0     4cccccccc9cccc6d        0.633             19         [16] TO SC BT BT BT BT DR BT BT BT BT BT BT BT BT AB
   1     4cccccccc6cccc6d        0.233              7         [16] TO SC BT BT BT BT SC BT BT BT BT BT BT BT BT AB
   2     4cccccccc9cccc5d        0.100              3         [16] TO RE BT BT BT BT DR BT BT BT BT BT BT BT BT AB
   3     4cccccccc6cccc5d        0.033              1         [16] TO RE BT BT BT BT SC BT BT BT BT BT BT BT BT AB
.                                    30         1.00

In [16]: cf.b.seqhis_ana.table
Out[16]:
.                                noname
.                                    85         1.00
   0     4cccccccc9cccc6d        0.247             21         [16] TO SC BT BT BT BT DR BT BT BT BT BT BT BT BT AB
   8     4cccccccc6cccc6d        0.035              3         [16] TO SC BT BT BT BT SC BT BT BT BT BT BT BT BT AB
   4     4cccccccc9cccc5d        0.094              8         [16] TO RE BT BT BT BT DR BT BT BT BT BT BT BT BT AB
  11     4cccccccc6cccc5d        0.012              1         [16] TO RE BT BT BT BT SC BT BT BT BT BT BT BT BT AB

   1     9cccccccc9cccc6d        0.200             17         [16] TO SC BT BT BT BT DR BT BT BT BT BT BT BT BT DR
   2     6cccccccc9cccc6d        0.094              8         [16] TO SC BT BT BT BT DR BT BT BT BT BT BT BT BT SC
   3     6cccccccc6cccc6d        0.094              8         [16] TO SC BT BT BT BT SC BT BT BT BT BT BT BT BT SC
   5     9cccccccc9cccc5d        0.071              6         [16] TO RE BT BT BT BT DR BT BT BT BT BT BT BT BT DR
   6     9cccccccc6cccc6d        0.059              5         [16] TO SC BT BT BT BT SC BT BT BT BT BT BT BT BT DR
   7     6cccccccc9cccc5d        0.047              4         [16] TO RE BT BT BT BT DR BT BT BT BT BT BT BT BT SC
   9     9cccccccc6cccc5d        0.024              2         [16] TO RE BT BT BT BT SC BT BT BT BT BT BT BT BT DR
  10     6cccccccc6cccc5d        0.024              2         [16] TO RE BT BT BT BT SC BT BT BT BT BT BT BT BT SC
.                                    85         1.00

Select the “TO SC BT BT BT BT DR BT BT BT BT BT BT BT BT DR” the DR intersect would be m1/m2 MO/Ac:

In [17]: cf.a.psel = cf.a.seqhis == 0x9cccc6cccc9ccccd
[2016-11-07 14:12:18,006] p48457 {/Users/blyth/opticks/ana/evt.py:417} INFO - _init_selection nsel 23 len(psel) 1000000

In [18]: cf.b.psel = cf.b.seqhis == 0x9cccc6cccc9ccccd
[2016-11-07 14:12:27,134] p48457 {/Users/blyth/opticks/ana/evt.py:417} INFO - _init_selection nsel 25 len(psel) 1000000

## hmm for SC it would be incorrect to do the m2->m1 kludge at truncation as material stays same
##
## TODO: dump CFG4 evt  material assignments at truncation with DR and SC in topslot
##

In [21]: cf.a.seqmat_ana.table       ## hmm the final Ac seems incorrect for DR ??? better to be the MO material are reflected back into
Out[21]:
.                                noname
.                                    23         1.00
   0     3432311323443231        1.000             23         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO Ac
.                                    23         1.00

In [22]: cf.b.seqmat_ana.table
Out[22]:
.                                noname
.                                    25         1.00
   0     4432311323443231        0.960             24         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO MO
   1     4432344323443231        0.040              1         [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac MO MO
.                                    25         1.00


In [30]: cf.b.dindex("TO SC BT BT BT BT DR BT BT BT BT BT BT BT BT DR",200)
Out[30]: '--dindex=95324,166006,178463,206278,266703,304171,372458,384384,436024,471027,492290,500284,503639,527858,569752,667682,875192'

All STS MAT_SWAP in topslot:

(14)  BT/BT     FrT                                            PRE_SAVE
[  14](Stp ;opticalphoton stepNum 527046336(tk ;opticalphoton tid 4172 pid 0 nm    430 mm  ori[    0.000   0.000   0.000]  pos[ 3683.940 470.791-3340.204]  )
  pre               sphere_phys         Acrylic  Transportation        GeomBoundary pos[   3176.114    45.040 -2422.870]  dir[    0.458   0.369  -0.809]  pol[    0.779   0.271   0.565]  ns 71.055 nm 430.000
 post               sphere_phys      MineralOil  Transportation        GeomBoundary pos[   3181.445    49.337 -2432.282]  dir[    0.449   0.376  -0.811]  pol[    0.782   0.273   0.560]  ns 71.115 nm 430.000
 )
(15)  BT/DR     LaR                                            PRE_SAVE
[  15](Stp ;opticalphoton stepNum 527046336(tk ;opticalphoton tid 4172 pid 0 nm    430 mm  ori[    0.000   0.000   0.000]  pos[ 3683.940 470.791-3340.204]  )
  pre               sphere_phys      MineralOil  Transportation        GeomBoundary pos[   3181.445    49.337 -2432.282]  dir[    0.449   0.376  -0.811]  pol[    0.782   0.273   0.560]  ns 71.115 nm 430.000
 post               sphere_phys         Acrylic  Transportation        GeomBoundary pos[   3683.940   470.791 -3340.204]  dir[    0.280  -0.038   0.959]  pol[   -0.858  -0.459   0.232]  ns 76.929 nm 430.000
 )
(16)  DR/NA     STS   PRE_SAVE PRE_DONE MAT_SWAP RECORD_TRUNCATE BOUNCE_TRUNCATE
[  16](Stp ;opticalphoton stepNum 527046336(tk ;opticalphoton tid 4172 pid 0 nm    430 mm  ori[    0.000   0.000   0.000]  pos[ 3683.940 470.791-3340.204]  )
  pre               sphere_phys         Acrylic  Transportation        GeomBoundary pos[   3683.940   470.791 -3340.204]  dir[    0.280  -0.038   0.959]  pol[   -0.858  -0.459   0.232]  ns 76.929 nm 430.000
 post               sphere_phys      MineralOil  Transportation        GeomBoundary pos[   3683.940   470.791 -3340.204]  dir[    0.280  -0.038   0.959]  pol[   -0.858  -0.459   0.232]  ns 76.929 nm 430.000
 )
00                d TO
 1               6d TO SC
 2              c6d TO SC BT
 3             cc6d TO SC BT BT
 4            ccc6d TO SC BT BT BT
 5           cccc6d TO SC BT BT BT BT
 6          9cccc6d TO SC BT BT BT BT DR
 7         c9cccc6d TO SC BT BT BT BT DR BT
 8        cc9cccc6d TO SC BT BT BT BT DR BT BT
 9       ccc9cccc6d TO SC BT BT BT BT DR BT BT BT
10      cccc9cccc6d TO SC BT BT BT BT DR BT BT BT BT
11     ccccc9cccc6d TO SC BT BT BT BT DR BT BT BT BT BT
12    cccccc9cccc6d TO SC BT BT BT BT DR BT BT BT BT BT BT
13   ccccccc9cccc6d TO SC BT BT BT BT DR BT BT BT BT BT BT BT
14  cccccccc9cccc6d TO SC BT BT BT BT DR BT BT BT BT BT BT BT BT
15 9cccccccc9cccc6d TO SC BT BT BT BT DR BT BT BT BT BT BT BT BT DR

 0                1 Gd - - - - - - - - - - - - - - -
 1               11 Gd Gd - - - - - - - - - - - - - -
 2              311 Gd Gd Ac - - - - - - - - - - - - -
 3             2311 Gd Gd Ac LS - - - - - - - - - - - -
 4            32311 Gd Gd Ac LS Ac - - - - - - - - - - -
 5           432311 Gd Gd Ac LS Ac MO - - - - - - - - - -
 6          4432311 Gd Gd Ac LS Ac MO MO - - - - - - - - -
 7         34432311 Gd Gd Ac LS Ac MO MO Ac - - - - - - - -
 8        234432311 Gd Gd Ac LS Ac MO MO Ac LS - - - - - - -
 9       3234432311 Gd Gd Ac LS Ac MO MO Ac LS Ac - - - - - -
10      13234432311 Gd Gd Ac LS Ac MO MO Ac LS Ac Gd - - - - -
11     313234432311 Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac - - - -
12    2313234432311 Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS - - -
13   32313234432311 Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac - -
14  432313234432311 Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO -
15 4432313234432311 Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO

For points on boundaries convention is to use the material into which are headed.

seqmat mismatch mostly resolved

simon:ana blyth$ tconcentric.py --cmx 5
/Users/blyth/opticks/ana/tconcentric.py --cmx 5
[2016-11-07 12:29:18,756] p48107 {/Users/blyth/opticks/ana/tconcentric.py:208} INFO - tag 1 src torch det concentric c2max 2.0 ipython False
[2016-11-07 12:29:19,609] p48107 {/Users/blyth/opticks/ana/evt.py:410} WARNING - ignoring psel None
[2016-11-07 12:29:22,455] p48107 {/Users/blyth/opticks/ana/evt.py:410} WARNING - ignoring psel None
CF a concentric/torch/  1 :  20161107-1225 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161107-1225 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-07 12:29:24,487] p48107 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       329.90/353 =  0.93
  12              8cc5ccd          5113         4868             6.01        1.050 +- 0.015        0.952 +- 0.014  [7 ] TO BT BT RE BT BT SA
  17              49ccccd          2312         2472             5.35        0.935 +- 0.019        1.069 +- 0.022  [7 ] TO BT BT BT BT DR AB
  43             89cccc6d           546          460             7.35        1.187 +- 0.051        0.842 +- 0.039  [8 ] TO SC BT BT BT BT DR SA
  50             8cc6cc5d           385          311             7.87        1.238 +- 0.063        0.808 +- 0.046  [8 ] TO RE BT BT SC BT BT SA
 122     89cccccccc9ccccd            53           89             9.13        0.596 +- 0.082        1.679 +- 0.178  [16] TO BT BT BT BT DR BT BT BT BT BT BT BT BT DR SA
 153         86cccccc6ccd            70           43             6.45        1.628 +- 0.195        0.614 +- 0.094  [12] TO BT BT SC BT BT BT BT BT BT SC SA
 207        8cccccc5cc55d            23           41             5.06        0.561 +- 0.117        1.783 +- 0.278  [13] TO RE RE BT BT RE BT BT BT BT BT BT SA
 284            8cc6cc65d            11           25             5.44        0.440 +- 0.133        2.273 +- 0.455  [9 ] TO RE SC BT BT SC BT BT SA
.                               1000000      1000000       329.90/353 =  0.93
[2016-11-07 12:29:24,609] p48107 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                pflags_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000        50.71/43 =  1.18
   4                 1890         38518        37832             6.16        1.018 +- 0.005        0.982 +- 0.005  [4 ] TO|BT|SA|RE
  19                 1910           482          410             5.81        1.176 +- 0.054        0.851 +- 0.042  [4 ] TO|BT|DR|RE
.                               1000000      1000000        50.71/43 =  1.18
[2016-11-07 12:29:24,638] p48107 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                seqmat_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       287.12/227 =  1.26
  12              4443231          3040         3272             8.53        0.929 +- 0.017        1.076 +- 0.019  [7 ] Gd Ac LS Ac MO MO MO
  24     3432311323443231          1096          975             7.07        1.124 +- 0.034        0.890 +- 0.028  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO Ac
  67         344323132231           147          111             5.02        1.324 +- 0.109        0.755 +- 0.072  [12] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac
  79     4432311323443231            52          125            30.11        0.416 +- 0.058        2.404 +- 0.215  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO MO
 100     4432313234432311            30           85            26.30        0.353 +- 0.064        2.833 +- 0.307  [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO
 104              2223111            79           52             5.56        1.519 +- 0.171        0.658 +- 0.091  [7 ] Gd Gd Gd Ac LS LS LS
 108     3132344323132231            75           48             5.93        1.562 +- 0.180        0.640 +- 0.092  [16] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac LS Ac Gd Ac
 165     4432231323443231            13           30             6.72        0.433 +- 0.120        2.308 +- 0.421  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac MO MO
 194     1132344323132231             9           23             6.12        0.391 +- 0.130        2.556 +- 0.533  [16] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac LS Ac Gd Gd
.                               1000000      1000000       287.12/227 =  1.26
[2016-11-07 12:29:24,685] p48107 {/Users/blyth/opticks/ana/evt.py:686} WARNING - missing a_ana hflags_ana
[2016-11-07 12:29:24,685] p48107 {/Users/blyth/opticks/ana/tconcentric.py:213} INFO - early exit as non-interactive

psel selection of truncated

In [6]: a.psel = ( a.seqhis & (0xf << 4*15 )) >> 4*15 == 0xc   ## topslot BT, ie truncated
[2016-11-07 12:09:49,904] p45648 {/Users/blyth/opticks/ana/evt.py:413} INFO - _init_selection nsel 2238 len(psel) 1000000

In [7]: a.seqhis_ana.table
Out[7]:
.                                noname
.                                  2238         1.00
   0     c9cccccccc9ccccd        0.064            144         [16] TO BT BT BT BT DR BT BT BT BT BT BT BT BT DR BT
   1     cccc55cccc9ccccd        0.036             80         [16] TO BT BT BT BT DR BT BT BT BT RE RE BT BT BT BT
   2     cccc6cccc9cccc6d        0.022             49         [16] TO SC BT BT BT BT DR BT BT BT BT SC BT BT BT BT
   3     cccccccc9cccc55d        0.021             47         [16] TO RE RE BT BT BT BT DR BT BT BT BT BT BT BT BT
   4     c6cccccccc9ccccd        0.020             44         [16] TO BT BT BT BT DR BT BT BT BT BT BT BT BT SC BT
   5     ccc6cccccc9ccccd        0.019             42         [16] TO BT BT BT BT DR BT BT BT BT BT BT SC BT BT BT
....

In [8]: a.seqmat_ana.table               ## all topslot BT have duplicated material in the last 2 slots
##   topslot SA doesnt have this
Out[8]:
.                                noname
.                                  2238         1.00
   0     4443231323443231        0.105            235         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO MO
   1     3323111323443231        0.081            181         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac Ac
   2     3323132344323111        0.056            126         [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac Ac
   3     3323113234432311        0.052            117         [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac Ac
   4     1132344323443231        0.033             74         [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Gd
   5     1132231323443231        0.033             73         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac Gd Gd
   6     1132344323132231        0.028             63         [16] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac LS Ac Gd Gd
   7     3322311323443231        0.027             60         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS LS Ac Ac
   8     3332332332332231        0.024             54         [16] Gd Ac LS LS Ac Ac LS Ac Ac LS Ac Ac LS Ac Ac Ac
   9     2231111323443231        0.020             45         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Gd Ac LS LS
  10     3322231323443231        0.020             44         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS LS Ac Ac


In [15]: b.psel = ( b.seqhis & ( 0xf << 4*15 )) >> 4*15 == 0xc
[2016-11-07 11:58:18,161] p45629 {/Users/blyth/opticks/ana/evt.py:367} INFO - _init_selection nsel 2166 len(psel) 1000000

In [16]: b.seqhis_ana.table
Out[16]:
.                                noname
.                                  2166         1.00
   0     c9cccccccc9ccccd        0.060            131         [16] TO BT BT BT BT DR BT BT BT BT BT BT BT BT DR BT
   1     cccc55cccc9ccccd        0.027             59         [16] TO BT BT BT BT DR BT BT BT BT RE RE BT BT BT BT
   2     cccccccc9cccc55d        0.024             53         [16] TO RE RE BT BT BT BT DR BT BT BT BT BT BT BT BT
   3     cccc6cccc9cccc6d        0.024             52         [16] TO SC BT BT BT BT DR BT BT BT BT SC BT BT BT BT
   4     c6cccccccc9ccccd        0.024             51         [16] TO BT BT BT BT DR BT BT BT BT BT BT BT BT SC BT
...

In [12]: b.seqmat_ana.table   ## none of the CFG4 have the duplicated material
Out[12]:
.                                noname
.                                  2166         1.00
   0     3443231323443231        0.113            244         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO Ac
   1     4323111323443231        0.068            147         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac MO
   2     4323132344323111        0.061            132         [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO
   3     4323113234432311        0.049            107         [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO
   4     3132344323443231        0.038             83         [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Ac
   5     3132231323443231        0.036             79         [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac Gd Ac
   6     2332332332332231        0.030             64         [16] Gd Ac LS LS Ac Ac LS Ac Ac LS Ac Ac LS Ac Ac LS
   7     4323113234443231        0.023             49         [16] Gd Ac LS Ac MO MO MO Ac LS Ac Gd Gd Ac LS Ac MO

opticks seqmat

110 #define RSAVE(seqhis, seqmat, p, s, slot, slot_offset)  \
111 {    \
112     unsigned int shift = slot*4 ; \
113     unsigned long long his = __ffs((s).flag) & 0xF ; \
114     unsigned long long mat = (s).index.x < 0xF ? (s).index.x : 0xF ; \
115     seqhis |= his << shift ; \
116     seqmat |= mat << shift ; \
117     rsave((p), (s), record_buffer, slot_offset*RNUMQUAD , center_extent, time_domain );  \
118 }   \
27 __device__ void fill_state( State& s, int boundary, uint4 identity, float wavelength )
28 {
29     // boundary : 1 based code, signed by cos_theta of photon direction to outward geometric normal
30     // >0 outward going photon
31     // <0 inward going photon
32     //
33     // NB the line is above the details of the payload (ie how many float4 per matsur)
34     //    it is just
35     //                boundaryIndex*4  + 0/1/2/3     for OMAT/OSUR/ISUR/IMAT
36     //
37
38     int line = boundary > 0 ? (boundary - 1)*BOUNDARY_NUM_MATSUR : (-boundary - 1)*BOUNDARY_NUM_MATSUR  ;
39
40     // pick relevant lines depening on boundary sign, ie photon direction relative to normal
41     //
42     int m1_line = boundary > 0 ? line + IMAT : line + OMAT ;
43     int m2_line = boundary > 0 ? line + OMAT : line + IMAT ;
44     int su_line = boundary > 0 ? line + ISUR : line + OSUR ;
45
46     //  consider photons arriving at PMT cathode surface
47     //  geometry normals are expected to be out of the PMT
48     //
49     //  boundary sign will be -ve : so line+3 outer-surface is the relevant one
50
51     s.material1 = boundary_lookup( wavelength, m1_line, 0);
52     s.material2 = boundary_lookup( wavelength, m2_line, 0);
53     s.surface   = boundary_lookup( wavelength, su_line, 0);
54
55     s.optical = optical_buffer[su_line] ;   // index/type/finish/value
56
57     s.index.x = optical_buffer[m1_line].x ; // m1 index
////// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
58     s.index.y = optical_buffer[m2_line].x ; // m2 index
59     s.index.z = optical_buffer[su_line].x ; // su index
60     s.index.w = identity.w   ;
61
62     s.identity = identity ;
63
64 }
delta:cu blyth$ grep s.index *.*
generate.cu://   including s.index.x/y/z  m1/m2/su indices
generate.cu:             s.index.x, \
generate.cu:             s.index.y, \
generate.cu:             slot == 0 ? optical_buffer[MaterialIndex].x : s.index.z, \
generate.cu://    p.flags.u.z = s.index.x ;   \
generate.cu:            s.index.x = 0 ;
generate.cu:            s.index.y = 0 ;
generate.cu:            s.index.z = 0 ;
generate.cu:            s.index.w = 0 ;
generate.cu:    // RSAVE lays down s.flag and s.index.x into the seqhis and seqmat
generate.cu:    // but there is inconsistency for BREAKers as s.index.x is only updated by fill_state
generate.cu:    //  kludged this with s.index.y -> s.index.x in propagate for SURFACE_ABSORB and SURFACE_DETECT
photon.h:    qaux.uchar_.x =  s.index.x ;    // m1
photon.h:    qaux.uchar_.y =  s.index.y ;    // m2
propagate.h:        s.index.x = s.index.y ;   // kludge to get m2 into seqmat for BREAKERs
propagate.h:        s.index.x = s.index.y ;   // kludge to get m2 into seqmat for BREAKERs
state.h:    s.index.x = optical_buffer[m1_line].x ; // m1 index
state.h:    s.index.y = optical_buffer[m2_line].x ; // m2 index
state.h:    s.index.z = optical_buffer[su_line].x ; // su index
state.h:    s.index.w = identity.w   ;
state.h:    rtPrintf(" dump_state:index           %10u %10u %10u %10i m1/m2/su/se \n", s.index.x  , s.index.y,   s.index.z,   s.index.w );
426
427     }   // bounce < max_bounce
428
429
430     FLAGS(p, s, prd);
431
432     // breakers and maxers saved here
433     psave(p, photon_buffer, photon_offset );
434
435
436     // RSAVE lays down s.flag and s.index.x into the seqhis and seqmat
437     // but there is inconsistency for BREAKers as s.index.x (m1) is only updated by fill_state
438     // but s.flag is updated after that by the propagate methods : so the last m1
439     // will usually be repeated in seqmat and the material on which the absorb or detect
440     // happened will be missed
441     //
442     //  kludged this with s.index.y -> s.index.x in propagate for SURFACE_ABSORB and SURFACE_DETECT
443     //
444
445 #ifdef WITH_RECORD
446     slot_offset =  slot < MAXREC  ? slot_min + slot : slot_max ;
447     RSAVE(seqhis, seqmat, p, s, slot, slot_offset ) ;
448
449     sequence_buffer[photon_id*2 + 0] = seqhis ;
450     sequence_buffer[photon_id*2 + 1] = seqmat ;
451 #endif
486 __device__ int
487 propagate_at_surface(Photon &p, State &s, curandState &rng)
488 {
489
490     float u = curand_uniform(&rng);
491
492     if( u < s.surface.y )   // absorb
493     {
494         s.flag = SURFACE_ABSORB ;
495         s.index.x = s.index.y ;   // kludge to get m2 into seqmat for BREAKERs
496         return BREAK ;
497     }
498     else if ( u < s.surface.y + s.surface.x )  // absorb + detect
499     {
500         s.flag = SURFACE_DETECT ;
501         s.index.x = s.index.y ;   // kludge to get m2 into seqmat for BREAKERs
502         return BREAK ;
503     }
504     else if (u  < s.surface.y + s.surface.x + s.surface.w )  // absorb + detect + reflect_diffuse
505     {
506         s.flag = SURFACE_DREFLECT ;
507         propagate_at_diffuse_reflector(p, s, rng);
508         return CONTINUE;
509     }
510     else
511     {
512         s.flag = SURFACE_SREFLECT ;
513         propagate_at_specular_reflector(p, s, rng );
514         return CONTINUE;
515     }
516 }

Truncation means that BREAK never happens...

ISSUE: seqmat mismatches, zeros

tconcentric-i --dbgseqmat 4443231

tconcentric.py --cmx 5

[2016-11-06 17:30:15,759] p43702 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                seqmat_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000      2325.00/233 =  9.98
  12              4443231          3040         3272             8.53        0.929 +- 0.017        1.076 +- 0.019  [7 ] Gd Ac LS Ac MO MO MO
  40     3443231323443231           194          483           123.37        0.402 +- 0.029        2.490 +- 0.113  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO Ac
  50     4443231323443231           299           57           164.51        5.246 +- 0.303        0.191 +- 0.025  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO MO

  62     3323111323443231           181            1           178.02      181.000 +- 13.454       0.006 +- 0.006  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac Ac
  68     4323111323443231             0          147           147.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac MO

  70         344323132231           147          111             5.02        1.324 +- 0.109        0.755 +- 0.072  [12] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac
  76     4323132344323111             0          132           132.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO
  79     3323132344323111           126            1           123.03      126.000 +- 11.225       0.008 +- 0.008  [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac Ac
  84     3323113234432311           118            0           118.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac Ac
  86     1132231323443231           114           32            46.05        3.562 +- 0.334        0.281 +- 0.050  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac Gd Gd
  91     1132344323443231           108           16            68.26        6.750 +- 0.650        0.148 +- 0.037  [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Gd
  93     4323113234432311             0          107           107.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO
 106     1132344323132231            84           23            34.78        3.652 +- 0.398        0.274 +- 0.057  [16] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac LS Ac Gd Gd
 107     3132344323443231             0           83            83.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Ac
 110              2223111            79           52             5.56        1.519 +- 0.171        0.658 +- 0.091  [7 ] Gd Gd Gd Ac LS LS LS
 111     3132231323443231             0           79            79.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac Gd Ac

 125     2332332332332231             0           64            64.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS LS Ac Ac LS Ac Ac LS Ac Ac LS Ac Ac LS
 129     3332332332332231            56            4            45.07       14.000 +- 1.871        0.071 +- 0.036  [16] Gd Ac LS LS Ac Ac LS Ac Ac LS Ac Ac LS Ac Ac Ac

 127     3322311323443231            60            0            60.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS LS Ac Ac
 135     2231111323443231            51            6            35.53        8.500 +- 1.190        0.118 +- 0.048  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Gd Ac LS LS
.                               1000000      1000000      2325.00/233 =  9.98



tconcentric.py --dbgzero    ## playing pelmanism

[2016-11-06 17:32:05,189] p43710 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                seqmat_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000      2325.00/233 =  9.98


  93     4323113234432311             0          107           107.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO
 168     4322311323443231             0           34            34.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS LS Ac MO
  68     4323111323443231             0          147           147.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac MO
  76     4323132344323111             0          132           132.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO
 107     3132344323443231             0           83            83.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Ac
 111     3132231323443231             0           79            79.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac Gd Ac
 125     2332332332332231             0           64            64.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS LS Ac Ac LS Ac Ac LS Ac Ac LS Ac Ac LS
 136     4323113234443231             0           49            49.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO MO Ac LS Ac Gd Gd Ac LS Ac MO
 137     3132344323132231             0           48            48.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac LS Ac Gd Ac
 144     4323113223443231             0           43            43.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS LS Ac Gd Gd Ac LS Ac MO
 161     3231111323443231             0           37            37.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Gd Ac LS Ac
 171     4322231323443231             0           32            32.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS LS Ac MO
 174     4323113234432231             0           31            31.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO


  84     3323113234432311           118            0           118.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac Ac
 127     3322311323443231            60            0            60.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS LS Ac Ac
 166     3323113234443231            34            0            34.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO MO Ac LS Ac Gd Gd Ac LS Ac Ac
 164     3323113223443231            35            0            35.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS LS Ac Gd Gd Ac LS Ac Ac
 156     3323113234432231            37            0            37.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac Ac
 176     3323132344432311            31            0            31.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO MO Ac LS Ac Gd Ac LS Ac Ac
 180     3323132223443231            30            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS LS LS Ac Gd Ac LS Ac Ac

 All truncated opticks seqmat duplicate the material in the last two slots... the m2 into m1 for BREAKERs kludge
 doesnt get a chance to run for truncated as BREAK never happens, can the kludge just be moved after the loop ?

.                               1000000      1000000      2325.00/233 =  9.98

Line 68: Looking for similar seqmat, by wildcarding the last topslot material suggests the CFG4 seqmat ending MO is somehow mismatched to Opticks seqmat ending Ac.:

delta:ana blyth$ tconcentric-;tconcentric-i --pfxseqmat .323111323443231

[2016-11-06 19:14:31,977] p44070 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                seqmat_ana      noname       noname           c2           ab           ba
.                                   182          152       325.02/2 = 162.51
   0     3323111323443231           181            1           178.02      181.000 +- 13.454       0.006 +- 0.006  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac Ac
   1     4323111323443231             0          147           147.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac MO
   2     3333333323443231             1            2             0.00        0.500 +- 0.500        2.000 +- 1.414  [16] Gd Ac LS Ac MO MO Ac LS Ac Ac Ac Ac Ac Ac Ac Ac
   3     3333333333443231             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac Ac Ac Ac Ac Ac Ac Ac Ac Ac
   4     3333331323443231             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac Ac Ac Ac Ac Ac
.                                   182          152       325.02/2 = 162.51

Line 76, same story CFG4 ending MO somehow ends Ac in Opticks.:

tconcentric-i --pfxseqmat .323132344323111

[2016-11-06 19:22:35,169] p44088 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                seqmat_ana      noname       noname           c2           ab           ba
.                                   126          133       255.03/2 = 127.52
   0     4323132344323111             0          132           132.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO
   1     3323132344323111           126            1           123.03      126.000 +- 11.225       0.008 +- 0.008  [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac Ac
.                                   126          133       255.03/2 = 127.52
A                seqhis_ana      noname
.                                   126         1.00
   0     cccccccc9cccc55d        0.373             47         [16] TO RE RE BT BT BT BT DR BT BT BT BT BT BT BT BT
   1     cccccccc9cccc66d        0.175             22         [16] TO SC SC BT BT BT BT DR BT BT BT BT BT BT BT BT
   2     cccccccc6cccc55d        0.151             19         [16] TO RE RE BT BT BT BT SC BT BT BT BT BT BT BT BT
   3     cccccccc9cccc56d        0.111             14         [16] TO SC RE BT BT BT BT DR BT BT BT BT BT BT BT BT
   4     cccccccc6cccc66d        0.095             12         [16] TO SC SC BT BT BT BT SC BT BT BT BT BT BT BT BT
   5     cccccccc9cccc65d        0.048              6         [16] TO RE SC BT BT BT BT DR BT BT BT BT BT BT BT BT
   6     cccccccc6cccc56d        0.032              4         [16] TO SC RE BT BT BT BT SC BT BT BT BT BT BT BT BT
   7     cccccccc6cccc65d        0.016              2         [16] TO RE SC BT BT BT BT SC BT BT BT BT BT BT BT BT
.                                   126         1.00
.                seqmat_ana      noname
.                                   126         1.00
   0     3323132344323111        1.000            126         [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac Ac

B                seqhis_ana      noname
.                                     1         1.00
   0     4ccccccc9cccc55d        1.000              1         [16] TO RE RE BT BT BT BT DR BT BT BT BT BT BT BT AB
.                                     1         1.00
.                seqmat_ana      noname
.                                     1         1.00
   0     3323132344323111        1.000              1         [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac Ac
.                                     1         1.00

Checking the seqhis after selecting by seqmat, for line 12 shows two possible seqhis. Then selecting by the 2 seqhis reveals that there is one-to-one between those and the seqmat. Also the discrep is not huge:

.  12              4443231          3040         3272             8.53        0.929 +- 0.017        1.076 +- 0.019  [7 ] Gd Ac LS Ac MO MO MO
  8 percent more from CFG4

In [1]: run seqmat.py
[2016-11-06 18:36:49,519] p43990 {/Users/blyth/opticks/ana/base.py:199} INFO - envvar OPTICKS_ANA_DEFAULTS -> defaults {'src': 'torch', 'tag': '1', 'det': 'concentric'}
seqmat.py

A
.                seqhis_ana      noname
.                                  3040         1.00
   0              49ccccd        0.761           2312         [7 ] TO BT BT BT BT DR AB
   1              46ccccd        0.239            728         [7 ] TO BT BT BT BT SC AB
                                                 3040
.                seqmat_ana      noname
.                                  3040         1.00
   0              4443231        1.000           3040         [7 ] Gd Ac LS Ac MO MO MO

B
.                seqhis_ana      noname
.                                  3272         1.00
   0              49ccccd        0.756           2472         [7 ] TO BT BT BT BT DR AB
   1              46ccccd        0.244            800         [7 ] TO BT BT BT BT SC AB
.                                  3272         1.00
.                seqmat_ana      noname
.                                  3272         1.00
   0              4443231        1.000           3272         [7 ] Gd Ac LS Ac MO MO MO
.                                  3272         1.00
17              49ccccd          2312         2472             5.35        0.935 +- 0.019        1.069 +- 0.022  [7 ] TO BT BT BT BT DR AB
38              46ccccd           728          800             3.39        0.910 +- 0.034        1.099 +- 0.039  [7 ] TO BT BT BT BT SC AB

how should truncation be handled ?

oxrap/generate.cu:

102 rtDeclareVariable(unsigned int,  bounce_max, , );
103 rtDeclareVariable(unsigned int,  record_max, , );
...
110 #define RSAVE(seqhis, seqmat, p, s, slot, slot_offset)  \
111 {    \
112     unsigned int shift = slot*4 ; \
113     unsigned long long his = __ffs((s).flag) & 0xF ; \
114     unsigned long long mat = (s).index.x < 0xF ? (s).index.x : 0xF ; \
115     seqhis |= his << shift ; \
116     seqmat |= mat << shift ; \
117     rsave((p), (s), record_buffer, slot_offset*RNUMQUAD , center_extent, time_domain );  \
118 }   \
...
273     State s ;
274     Photon p ;
/////////////  generate initial photon
...
329     int bounce = 0 ;
330     int command = START ;
331     int slot = 0 ;
...
334     unsigned long long seqhis(0) ;
335     unsigned long long seqmat(0) ;
336     unsigned int MAXREC = record_max ;
337     int slot_min = photon_id*MAXREC ;
338     int slot_max = slot_min + MAXREC - 1 ;
339     int slot_offset = 0 ;
...
356     while( bounce < bounce_max )
357     {
358         bounce++;   // increment at head, not tail, as CONTINUE skips the tail
359
///////////  trace to find intersection
...
394         slot_offset =  slot < MAXREC  ? slot_min + slot : slot_max ;
395         RSAVE(seqhis, seqmat, p, s, slot, slot_offset) ;        /// record initial photon, or SC,SR,DR,RE,BR,BT continuers
//////////
//////////   eg in loop RSAVEs for bounce_max = 15, record_max = 16
//////////
//////////         bounce: 1   slot: 0
//////////         bounce: 2   slot: 1
//////////                ..        ..
//////////         bounce:14   slot:13
//////////
...
405         slot++ ;
...
410         command = propagate_to_boundary( p, s, rng );
411         if(command == BREAK)    break ;           // BULK_ABSORB
412         if(command == CONTINUE) continue ;        // BULK_REEMIT/BULK_SCATTER
413         // PASS : survivors will go on to pick up one of the below flags,
414
415
416         if(s.optical.x > 0 )       // x/y/z/w:index/type/finish/value
417         {
418             command = propagate_at_surface(p, s, rng);
419             if(command == BREAK)    break ;       // SURFACE_DETECT/SURFACE_ABSORB
420             if(command == CONTINUE) continue ;    // SURFACE_DREFLECT/SURFACE_SREFLECT
421         }
422         else
423         {
425             propagate_at_boundary_geant4_style(p, s, rng);     // BOUNDARY_RELECT/BOUNDARY_TRANSMIT
426             // tacit CONTINUE
427         }
428
429     }   // bounce < max_bounce
430
431
432     FLAGS(p, s, prd);
433
434     // breakers and maxers saved here
435     psave(p, photon_buffer, photon_offset );
...
448     slot_offset =  slot < MAXREC  ? slot_min + slot : slot_max ;
449     RSAVE(seqhis, seqmat, p, s, slot, slot_offset ) ;
450
451     sequence_buffer[photon_id*2 + 0] = seqhis ;
452     sequence_buffer[photon_id*2 + 1] = seqmat ;

ISSUE : negative times on exceeding time domain

When using ``–timemax 30``csome big bouncers, can exceed time domain causing negative times.

1110     seq = "TO BT BT BT BT DR BT BT BT BT BT BT BT BT SA"
1111     #seq = "PFLAGS_DEBUG"
1112
1113     e1 = Evt(tag="-%s"%ok.utag, src=ok.src, det=ok.det, args=ok, seqs=[seq])
1114     e1.history_table(slice(0,20))


In [5]: pos = e1.rpost()

In [6]: pos[0]
Out[6]:
A()sliced
A([[    0.    ,     0.    ,     0.    ,     0.0998],
       [ 2995.0267,     0.    ,     0.    ,    15.4775],
       [ 3004.9551,     0.    ,     0.    ,    15.5296],
       [ 3995.0491,     0.    ,     0.    ,    20.6687],
       [ 4004.9776,     0.    ,     0.    ,    20.7199],
       [ 4995.0716,     0.    ,     0.    ,    25.8589],
       [ 3959.6123,  -549.8825,   242.712 ,   -30.0009],
       [ 3948.6146,  -555.5341,   245.3087,   -30.0009],
       [ 2704.6582, -1197.8274,   528.8037,   -30.0009],
       [ 2689.5364, -1205.6174,   532.1641,   -30.0009],
       [ -260.8887, -2729.5557,  1205.0064,   -30.0009],
       [ -276.0105, -2737.4984,  1208.5195,   -30.0009],
       [-1519.8141, -3379.9445,  1492.0145,   -30.0009],
       [-1530.8118, -3385.596 ,  1494.6112,   -30.0009],
       [-2580.3236, -3912.5668,  1727.242 ,   -30.0009]])

RESOLVED: bad REjoin onto scatter, 3 in 1M

Resolved by adopting hard truncation in CRecorder::RecordStepPoint which is closer to what Opticks does.

[2016-11-06 16:23:14,126] p42803 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       329.38/353 =  0.93
   0               8ccccd        669843       671254             1.48        0.998 +- 0.001        1.002 +- 0.001  [6 ] TO BT BT BT BT SA
   1                   4d         83950        83649             0.54        1.004 +- 0.003        0.996 +- 0.003  [2 ] TO AB
   2              8cccc6d         45490        45049             2.15        1.010 +- 0.005        0.990 +- 0.005  [7 ] TO SC BT BT BT BT SA
   3               4ccccd         28955        28649             1.63        1.011 +- 0.006        0.989 +- 0.006  [6 ] TO BT BT BT BT AB
   4                 4ccd         23187        23254             0.10        0.997 +- 0.007        1.003 +- 0.007  [4 ] TO BT BT AB
   5              8cccc5d         20239        19949             2.09        1.015 +- 0.007        0.986 +- 0.007  [7 ] TO RE BT BT BT BT SA
   6              86ccccd         10176        10397             2.37        0.979 +- 0.010        1.022 +- 0.010  [7 ] TO BT BT BT BT SC SA
   7              8cc6ccd         10214        10304             0.39        0.991 +- 0.010        1.009 +- 0.010  [7 ] TO BT BT SC BT BT SA
   8              89ccccd          7605         7695             0.53        0.988 +- 0.011        1.012 +- 0.012  [7 ] TO BT BT BT BT DR SA
   9             8cccc55d          5970         5814             2.07        1.027 +- 0.013        0.974 +- 0.013  [8 ] TO RE RE BT BT BT BT SA
  10                  45d          5780         5657             1.32        1.022 +- 0.013        0.979 +- 0.013  [3 ] TO RE AB
  11      8cccccccc9ccccd          5348         5367             0.03        0.996 +- 0.014        1.004 +- 0.014  [15] TO BT BT BT BT DR BT BT BT BT BT BT BT BT SA
  12              8cc5ccd          5113         4870             5.91        1.050 +- 0.015        0.952 +- 0.014  [7 ] TO BT BT RE BT BT SA
  13                  46d          4797         4815             0.03        0.996 +- 0.014        1.004 +- 0.014  [3 ] TO SC AB
  14          8cccc9ccccd          4525         4420             1.23        1.024 +- 0.015        0.977 +- 0.015  [11] TO BT BT BT BT DR BT BT BT BT SA
  15          8cccccc6ccd          3317         3334             0.04        0.995 +- 0.017        1.005 +- 0.017  [11] TO BT BT SC BT BT BT BT BT BT SA
  16             8cccc66d          2670         2734             0.76        0.977 +- 0.019        1.024 +- 0.020  [8 ] TO SC SC BT BT BT BT SA
  17              49ccccd          2312         2471             5.29        0.936 +- 0.019        1.069 +- 0.022  [7 ] TO BT BT BT BT DR AB
  18              4cccc6d          2043         2042             0.00        1.000 +- 0.022        1.000 +- 0.022  [7 ] TO SC BT BT BT BT AB
  19            8cccc555d          1819         1763             0.88        1.032 +- 0.024        0.969 +- 0.023  [9 ] TO RE RE RE BT BT BT BT SA
.                               1000000      1000000       329.38/353 =  0.93
[2016-11-06 16:23:14,271] p42803 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                pflags_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000        65.31/43 =  1.52
   0                 1880        669843       671254             1.48        0.998 +- 0.001        1.002 +- 0.001  [3 ] TO|BT|SA
   1                 1008         83950        83649             0.54        1.004 +- 0.003        0.996 +- 0.003  [2 ] TO|AB
   2                 18a0         79906        79769             0.12        1.002 +- 0.004        0.998 +- 0.004  [4 ] TO|BT|SA|SC
   3                 1808         54172        53852             0.95        1.006 +- 0.004        0.994 +- 0.004  [3 ] TO|BT|AB
   4                 1890         38518        37838             6.06        1.018 +- 0.005        0.982 +- 0.005  [4 ] TO|BT|SA|RE
   5                 1980         17803        17844             0.05        0.998 +- 0.007        1.002 +- 0.008  [4 ] TO|BT|DR|SA
   6                 1828          8788         9016             2.92        0.975 +- 0.010        1.026 +- 0.011  [4 ] TO|BT|SC|AB
   7                 1018          8204         8000             2.57        1.026 +- 0.011        0.975 +- 0.011  [3 ] TO|RE|AB
   8                 18b0          7901         7883             0.02        1.002 +- 0.011        0.998 +- 0.011  [5 ] TO|BT|SA|SC|RE
   9                 1818          6024         5941             0.58        1.014 +- 0.013        0.986 +- 0.013  [4 ] TO|BT|RE|AB
  10                 1908          5425         5465             0.15        0.993 +- 0.013        1.007 +- 0.014  [4 ] TO|BT|DR|AB
  11                 1028          5089         5153             0.40        0.988 +- 0.014        1.013 +- 0.014  [3 ] TO|SC|AB
  12                 19a0          4963         4928             0.12        1.007 +- 0.014        0.993 +- 0.014  [5 ] TO|BT|DR|SA|SC
  13                 1838          1540         1559             0.12        0.988 +- 0.025        1.012 +- 0.026  [5 ] TO|BT|SC|RE|AB
  14                 1990          1506         1541             0.40        0.977 +- 0.025        1.023 +- 0.026  [5 ] TO|BT|DR|SA|RE
  15                 1928          1048         1091             0.86        0.961 +- 0.030        1.041 +- 0.032  [5 ] TO|BT|DR|SC|AB
  16                 1038           770          776             0.02        0.992 +- 0.036        1.008 +- 0.036  [4 ] TO|SC|RE|AB
  17                 1920           775          759             0.17        1.021 +- 0.037        0.979 +- 0.036  [4 ] TO|BT|DR|SC
  18                 1918           619          624             0.02        0.992 +- 0.040        1.008 +- 0.040  [5 ] TO|BT|DR|RE|AB
  19                 1910           482          392             9.27        1.230 +- 0.056        0.813 +- 0.041  [4 ] TO|BT|DR|RE
.                               1000000      1000000        65.31/43 =  1.52

After allowing a single TOPSLOT_REWRITE get pflags c2 down to 1.19, then remove the incorrect decrementSlot denial down to 1.18:

[2016-11-06 16:53:33,665] p43246 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                pflags_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000        51.03/43 =  1.19
   0                 1880        669843       671254             1.48        0.998 +- 0.001        1.002 +- 0.001  [3 ] TO|BT|SA
   1                 1008         83950        83649             0.54        1.004 +- 0.003        0.996 +- 0.003  [2 ] TO|AB
   2                 18a0         79906        79769             0.12        1.002 +- 0.004        0.998 +- 0.004  [4 ] TO|BT|SA|SC
   3                 1808         54172        53852             0.95        1.006 +- 0.004        0.994 +- 0.004  [3 ] TO|BT|AB
   4                 1890         38518        37838             6.06        1.018 +- 0.005        0.982 +- 0.005  [4 ] TO|BT|SA|RE
   5                 1980         17803        17844             0.05        0.998 +- 0.007        1.002 +- 0.008  [4 ] TO|BT|DR|SA
   6                 1828          8788         9012             2.82        0.975 +- 0.010        1.025 +- 0.011  [4 ] TO|BT|SC|AB
   7                 1018          8204         8000             2.57        1.026 +- 0.011        0.975 +- 0.011  [3 ] TO|RE|AB
   8                 18b0          7901         7883             0.02        1.002 +- 0.011        0.998 +- 0.011  [5 ] TO|BT|SA|SC|RE
   9                 1818          6024         5940             0.59        1.014 +- 0.013        0.986 +- 0.013  [4 ] TO|BT|RE|AB
  10                 1908          5425         5462             0.13        0.993 +- 0.013        1.007 +- 0.014  [4 ] TO|BT|DR|AB
  11                 1028          5089         5153             0.40        0.988 +- 0.014        1.013 +- 0.014  [3 ] TO|SC|AB
  12                 19a0          4963         4928             0.12        1.007 +- 0.014        0.993 +- 0.014  [5 ] TO|BT|DR|SA|SC
  13                 1990          1506         1541             0.40        0.977 +- 0.025        1.023 +- 0.026  [5 ] TO|BT|DR|SA|RE
  14                 1838          1540         1534             0.01        1.004 +- 0.026        0.996 +- 0.025  [5 ] TO|BT|SC|RE|AB
  15                 1928          1048         1085             0.64        0.966 +- 0.030        1.035 +- 0.031  [5 ] TO|BT|DR|SC|AB
  16                 1038           770          776             0.02        0.992 +- 0.036        1.008 +- 0.036  [4 ] TO|SC|RE|AB
  17                 1920           775          759             0.17        1.021 +- 0.037        0.979 +- 0.036  [4 ] TO|BT|DR|SC
  18                 1918           619          609             0.08        1.016 +- 0.041        0.984 +- 0.040  [5 ] TO|BT|DR|RE|AB
  19                 1910           482          410             5.81        1.176 +- 0.054        0.851 +- 0.042  [4 ] TO|BT|DR|RE
.                               1000000      1000000        51.03/43 =  1.19

elaborated fix

655     unsigned long long prior_mat = ( m_seqmat & msk ) >> shift ;
656     unsigned long long prior_his = ( m_seqhis & msk ) >> shift ;
657     unsigned long long prior_flag = 0x1 << (prior_his - 1) ;
658
659     if(m_record_truncate && prior_his != 0 && prior_mat != 0 )  // try to overwrite top slot
660     {
661         m_topslot_rewrite += 1 ;
662         LOG(info)
663                   << ( m_topslot_rewrite > 1 ? HARD_TRUNCATE_ : TOPSLOT_REWRITE_ )
664                   << " topslot_rewrite " << m_topslot_rewrite
665                   << " prior_flag -> flag "
666                   <<   OpticksFlags::Abbrev(prior_flag)
667                   << " -> "
668                   <<   OpticksFlags::Abbrev(flag)
669                   << " prior_mat -> mat "
670                   <<   ( prior_mat == 0 ? "-" : m_material_bridge->getMaterialName(prior_mat-1, true)  )
671                   << " -> "
672                   <<   ( mat == 0       ? "-" : m_material_bridge->getMaterialName(mat-1, true)  )
673                   ;
674
675         // allowing a single AB->RE rewrite is closer to Opticks
676         if(m_topslot_rewrite == 1 && flag == BULK_REEMIT && prior_flag == BULK_ABSORB)
677         {
678             m_step_action |= TOPSLOT_REWRITE ;
679         }
680         else
681         {
682             m_step_action |= HARD_TRUNCATE ;
683             return true ;
684         }
685     }

initial fix

+    unsigned long long prior_mat = ( m_seqmat & msk ) >> shift ;
+    unsigned long long prior_his = ( m_seqhis & msk ) >> shift ;
+    unsigned long long prior_flag = 0x1 << (prior_his - 1) ;
+
+    if(m_record_truncate && prior_his != 0 && prior_mat != 0)   // overwriting top slot
+    {
+        LOG(info)
+              << " HARD TRUNCATE "
+              << " prior_flag -> flag "
+              <<   OpticksFlags::Abbrev(prior_flag)
+              << " -> "
+              <<   OpticksFlags::Abbrev(flag)
+              << " prior_mat -> mat "
+              <<   ( prior_mat == 0 ? "-" : m_material_bridge->getMaterialName(prior_mat-1, true)  )
+              << " -> "
+              <<   ( mat == 0       ? "-" : m_material_bridge->getMaterialName(mat-1, true)  )
+              ;
+
+        m_step_action |= HARD_TRUNCATE ;
+        return true ;
+    }

issue rare SC/AB at truncation

Those three are rejoins onto a scatter (which should not happen : bad rejoin?). In addition two of them are beyond bouncemax.

  • caused by very rare SC/AB step occuring on the truncation boundary such that “SC” gets recorded but “AB” gets truncated, following which a rejoin replaces the “SC” with a “RE” when it should have replaced the truncated “AB”

  • given the level of the issue, perhaps can just disallow decrementing slot (how rejoins are implemented) when at truncation ... that does not quite match Opticks (as the fake AB and scrubbing to make RE is entirely a CFG4 machinery thing, Opticks just directly does RE)

    This would slightly increase AB over RE at truncation for CFG4

pflags.py:

cu_pflags (masks from CRecorder)
TO|BT|DR|SC|RE
[[6448    3]]

cu_pflags2 (masks derived from seqhis)      ## 3 photons missing SC:BULK_SCATTER in seqhis relative to the mask
TO|BT|DR|RE
[[6416    3]]
--dindex=93373,173508,302431


  00               d TO
   1              cd TO BT
   2             ccd TO BT BT
   3            cccd TO BT BT BT
   4           ccccd TO BT BT BT BT
   5          9ccccd TO BT BT BT BT DR
   6         99ccccd TO BT BT BT BT DR DR
   7        c99ccccd TO BT BT BT BT DR DR BT
   8       cc99ccccd TO BT BT BT BT DR DR BT BT
   9      ccc99ccccd TO BT BT BT BT DR DR BT BT BT
  10     cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT
  11    4cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT AB
  12    5cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT RE
  13   45cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT RE AB
  14   55cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT RE RE
  15  455cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT RE RE AB
  16  555cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT RE RE RE
  17 4555cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT RE RE RE AB
  18 5555cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT RE RE RE RE
  1965555cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT RE RE RE RE SC
  2055555cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT RE RE RE RE RE
  2155555cccc99ccccd TO BT BT BT BT DR DR BT BT BT BT RE RE RE RE RE










  00               d TO
   1              cd TO BT
   2             ccd TO BT BT
   3            cccd TO BT BT BT
   4           ccccd TO BT BT BT BT
   5          9ccccd TO BT BT BT BT DR
   6         c9ccccd TO BT BT BT BT DR BT
   7        cc9ccccd TO BT BT BT BT DR BT BT
   8       ccc9ccccd TO BT BT BT BT DR BT BT BT
   9      cccc9ccccd TO BT BT BT BT DR BT BT BT BT
  10     ccccc9ccccd TO BT BT BT BT DR BT BT BT BT BT
  11    cccccc9ccccd TO BT BT BT BT DR BT BT BT BT BT BT
  12   4cccccc9ccccd TO BT BT BT BT DR BT BT BT BT BT BT AB
  13   5cccccc9ccccd TO BT BT BT BT DR BT BT BT BT BT BT RE
  14  45cccccc9ccccd TO BT BT BT BT DR BT BT BT BT BT BT RE AB
  15  55cccccc9ccccd TO BT BT BT BT DR BT BT BT BT BT BT RE RE
  16 455cccccc9ccccd TO BT BT BT BT DR BT BT BT BT BT BT RE RE AB
  17 555cccccc9ccccd TO BT BT BT BT DR BT BT BT BT BT BT RE RE RE
  186555cccccc9ccccd TO BT BT BT BT DR BT BT BT BT BT BT RE RE RE SC
  195555cccccc9ccccd TO BT BT BT BT DR BT BT BT BT BT BT RE RE RE RE

  00               d TO
   1              cd TO BT
   2             ccd TO BT BT
   3            cccd TO BT BT BT
   4           ccccd TO BT BT BT BT
   5          9ccccd TO BT BT BT BT DR
   6         c9ccccd TO BT BT BT BT DR BT
   7        cc9ccccd TO BT BT BT BT DR BT BT
   8       ccc9ccccd TO BT BT BT BT DR BT BT BT
   9      cccc9ccccd TO BT BT BT BT DR BT BT BT BT
  10     9cccc9ccccd TO BT BT BT BT DR BT BT BT BT DR
  11    c9cccc9ccccd TO BT BT BT BT DR BT BT BT BT DR BT
  12   cc9cccc9ccccd TO BT BT BT BT DR BT BT BT BT DR BT BT
  13  ccc9cccc9ccccd TO BT BT BT BT DR BT BT BT BT DR BT BT BT
  14 cccc9cccc9ccccd TO BT BT BT BT DR BT BT BT BT DR BT BT BT BT
  156cccc9cccc9ccccd TO BT BT BT BT DR BT BT BT BT DR BT BT BT BT SC
  165cccc9cccc9ccccd TO BT BT BT BT DR BT BT BT BT DR BT BT BT BT RE

All three have an SC/AB step within the truncation zone:

(11)  BT/BT     FrT                                            PRE_SAVE
[  11](Stp ;opticalphoton stepNum 350471680(tk ;opticalphoton tid 10633 pid 10632 nm 371.759 mm  ori[    0.000   0.000   0.000]  pos[ 2158.9001662.988 123.665]  )
  pre               sphere_phys         Acrylic  Transportation        GeomBoundary pos[   2906.266  -274.466   712.961]  dir[   -0.903   0.411   0.122]  pol[   -0.312  -0.826   0.469]  ns 43.486 nm 430.000
 post               sphere_phys       GdDopedLS  Transportation        GeomBoundary pos[   2896.021  -269.805   714.348]  dir[   -0.903   0.412   0.124]  pol[   -0.313  -0.826   0.469]  ns 43.544 nm 430.000
 )
(12)  BT/AB     FrT              PRE_SAVE POST_SAVE POST_DONE LAST_POST
[  12](Stp ;opticalphoton stepNum 350471680(tk ;opticalphoton tid 10633 pid 10632 nm 371.759 mm  ori[    0.000   0.000   0.000]  pos[ 2158.9001662.988 123.665]  )
  pre               sphere_phys       GdDopedLS  Transportation        GeomBoundary pos[   2896.021  -269.805   714.348]  dir[   -0.903   0.412   0.124]  pol[   -0.313  -0.826   0.469]  ns 43.544 nm 430.000
 post               sphere_phys       GdDopedLS    OpAbsorption    PostStepDoItProc pos[    795.643   690.003  1003.105]  dir[   -0.903   0.412   0.124]  pol[   -0.313  -0.826   0.469]  ns 55.625 nm 430.000
 )
(13)  RE/AB     FrT   PRE_SAVE POST_SAVE POST_DONE LAST_POST STEP_REJOIN
[   0](Stp ;opticalphoton stepNum 350472720(tk ;opticalphoton tid 10632 pid 10631 nm 386.059 mm  ori[    0.000   0.000   0.000]  pos[ 2158.6041663.922 121.826]  )
  pre               sphere_phys       GdDopedLS          noProc           Undefined pos[    795.643   690.003  1003.105]  dir[    0.830  -0.552  -0.080]  pol[   -0.159  -0.097  -0.982]  ns 55.625 nm 381.353
 post               sphere_phys       GdDopedLS    OpAbsorption    PostStepDoItProc pos[    803.720   684.631  1002.327]  dir[    0.830  -0.552  -0.080]  pol[   -0.159  -0.097  -0.982]  ns 55.677 nm 381.353
 )
(14)  RE/AB     FrT   PRE_SAVE POST_SAVE POST_DONE LAST_POST STEP_REJOIN
[   0](Stp ;opticalphoton stepNum 350471680(tk ;opticalphoton tid 10633 pid 10632 nm 371.759 mm  ori[    0.000   0.000   0.000]  pos[ 2158.9001662.988 123.665]  )
  pre               sphere_phys       GdDopedLS          noProc           Undefined pos[    803.720   684.631  1002.327]  dir[   -0.320  -0.821   0.472]  pol[    0.926  -0.377  -0.030]  ns 55.677 nm 360.954
 post               sphere_phys       GdDopedLS    OpAbsorption    PostStepDoItProc pos[    801.840   679.800  1005.106]  dir[   -0.320  -0.821   0.472]  pol[    0.926  -0.377  -0.030]  ns 55.709 nm 360.954
 )
(15)  RE/AB     FrT   PRE_SAVE POST_SAVE POST_DONE LAST_POST STEP_REJOIN
[   0](Stp ;opticalphoton stepNum 350472720(tk ;opticalphoton tid 10632 pid 10631 nm 386.059 mm  ori[    0.000   0.000   0.000]  pos[ 2158.6041663.922 121.826]  )
  pre               sphere_phys       GdDopedLS          noProc           Undefined pos[    801.840   679.800  1005.106]  dir[    0.661   0.700  -0.270]  pol[    0.750  -0.629   0.206]  ns 55.709 nm 422.151
 post               sphere_phys       GdDopedLS    OpAbsorption    PostStepDoItProc pos[   1721.967  1653.910   630.028]  dir[    0.661   0.700  -0.270]  pol[    0.750  -0.629   0.206]  ns 62.884 nm 422.151
 )
(16)  RE/SC     NAB                                PRE_SAVE STEP_REJOIN
[   0](Stp ;opticalphoton stepNum 350471680(tk ;opticalphoton tid 10633 pid 10632 nm 371.759 mm  ori[    0.000   0.000   0.000]  pos[ 2158.9001662.988 123.665]  )
  pre               sphere_phys       GdDopedLS          noProc           Undefined pos[   1721.967  1653.910   630.028]  dir[   -0.160   0.940  -0.303]  pol[   -0.490  -0.342  -0.802]  ns 62.884 nm 411.280
 post               sphere_phys       GdDopedLS      OpRayleigh    PostStepDoItProc pos[   1655.808  2041.915   505.023]  dir[    0.703  -0.487  -0.519]  pol[   -0.677  -0.233  -0.698]  ns 65.028 nm 411.280
 )
(17)  SC/AB     NAB   PRE_SAVE PRE_DONE LAST_POST STEP_RECOLL RECORD_TRUNCATE BOUNCE_TRUNCATE
[   1](Stp ;opticalphoton stepNum 350471680(tk ;opticalphoton tid 10633 pid 10632 nm 371.759 mm  ori[    0.000   0.000   0.000]  pos[ 2158.9001662.988 123.665]  )
  pre               sphere_phys       GdDopedLS      OpRayleigh    PostStepDoItProc pos[   1655.808  2041.915   505.023]  dir[    0.703  -0.487  -0.519]  pol[   -0.677  -0.233  -0.698]  ns 65.028 nm 411.280
 post               sphere_phys       GdDopedLS    OpAbsorption    PostStepDoItProc pos[   2224.549  1647.392    85.231]  dir[    0.703  -0.487  -0.519]  pol[   -0.677  -0.233  -0.698]  ns 69.229 nm 411.280
 )
(18)  RE/AB     NAB   PRE_SAVE PRE_DONE LAST_POST STEP_REJOIN RECORD_TRUNCATE BOUNCE_TRUNCATE
[   0](Stp ;opticalphoton stepNum 350472720(tk ;opticalphoton tid 10632 pid 10631 nm 386.059 mm  ori[    0.000   0.000   0.000]  pos[ 2158.6041663.922 121.826]  )
  pre               sphere_phys       GdDopedLS          noProc           Undefined pos[   2224.549  1647.392    85.231]  dir[   -0.854   0.214   0.474]  pol[   -0.475   0.049  -0.879]  ns 69.229 nm 386.059
 post               sphere_phys       GdDopedLS    OpAbsorption    PostStepDoItProc pos[   2158.604  1663.922   121.826]  dir[   -0.854   0.214   0.474]  pol[   -0.475   0.049  -0.879]  ns 69.642 nm 386.059
 )
(19)  RE/AB     NAB   PRE_SAVE PRE_DONE LAST_POST STEP_REJOIN RECORD_TRUNCATE BOUNCE_TRUNCATE
[   0](Stp ;opticalphoton stepNum 350471680(tk ;opticalphoton tid 10633 pid 10632 nm 371.759 mm  ori[    0.000   0.000   0.000]  pos[ 2158.9001662.988 123.665]  )
  pre               sphere_phys       GdDopedLS          noProc           Undefined pos[   2158.604  1663.922   121.826]  dir[    0.142  -0.448   0.883]  pol[   -0.795  -0.583  -0.168]  ns 69.642 nm 371.759
 post               sphere_phys       GdDopedLS    OpAbsorption    PostStepDoItProc pos[   2158.900  1662.988   123.665]  dir[    0.142  -0.448   0.883]  pol[   -0.795  -0.583  -0.168]  ns 69.654 nm 371.759
 )




(11)  BT/BT     FrT                                            PRE_SAVE
[  11](Stp ;opticalphoton stepNum 350543712(tk ;opticalphoton tid 10671 pid 10670 nm 384.165 mm  ori[    0.000   0.000   0.000]  pos[ -1399.5311445.5382287.614]  )
  pre               sphere_phys         Acrylic  Transportation        GeomBoundary pos[   -449.301  1285.404  2667.563]  dir[   -0.877   0.209   0.434]  pol[    0.209  -0.646   0.734]  ns 58.029 nm 430.000
 post               sphere_phys uidScintillator  Transportation        GeomBoundary pos[   -463.693  1288.834  2674.681]  dir[   -0.879   0.207   0.429]  pol[    0.207  -0.646   0.735]  ns 58.114 nm 430.000
 )
(12)  BT/AB     FrT              PRE_SAVE POST_SAVE POST_DONE LAST_POST
[  12](Stp ;opticalphoton stepNum 350543712(tk ;opticalphoton tid 10671 pid 10670 nm 384.165 mm  ori[    0.000   0.000   0.000]  pos[ -1399.5311445.5382287.614]  )
  pre               sphere_phys uidScintillator  Transportation        GeomBoundary pos[   -463.693  1288.834  2674.681]  dir[   -0.879   0.207   0.429]  pol[    0.207  -0.646   0.735]  ns 58.114 nm 430.000
 post               sphere_phys uidScintillator    OpAbsorption    PostStepDoItProc pos[   -699.526  1344.239  2789.661]  dir[   -0.879   0.207   0.429]  pol[    0.207  -0.646   0.735]  ns 59.506 nm 430.000
 )
(13)  RE/AB     FrT   PRE_SAVE POST_SAVE POST_DONE LAST_POST STEP_REJOIN
[   0](Stp ;opticalphoton stepNum 350541904(tk ;opticalphoton tid 10670 pid 10669 nm 401.508 mm  ori[    0.000   0.000   0.000]  pos[ -1402.4771435.3462279.505]  )
  pre               sphere_phys uidScintillator          noProc           Undefined pos[   -699.526  1344.239  2789.661]  dir[    0.685   0.241   0.688]  pol[    0.032  -0.953   0.302]  ns 59.506 nm 382.572
 post               sphere_phys uidScintillator    OpAbsorption    PostStepDoItProc pos[   -687.275  1348.545  2801.973]  dir[    0.685   0.241   0.688]  pol[    0.032  -0.953   0.302]  ns 59.602 nm 382.572
 )
(14)  RE/AB     FrT   PRE_SAVE POST_SAVE POST_DONE LAST_POST STEP_REJOIN
[   0](Stp ;opticalphoton stepNum 350543712(tk ;opticalphoton tid 10671 pid 10670 nm 384.165 mm  ori[    0.000   0.000   0.000]  pos[ -1399.5311445.5382287.614]  )
  pre               sphere_phys uidScintillator          noProc           Undefined pos[   -687.275  1348.545  2801.973]  dir[   -0.076   0.399  -0.914]  pol[   -0.751  -0.626  -0.211]  ns 59.602 nm 397.084
 post               sphere_phys uidScintillator    OpAbsorption    PostStepDoItProc pos[   -699.384  1411.971  2656.669]  dir[   -0.076   0.399  -0.914]  pol[   -0.751  -0.626  -0.211]  ns 60.443 nm 397.084
 )
(15)  RE/SC     NAB                                PRE_SAVE STEP_REJOIN
[   0](Stp ;opticalphoton stepNum 350541904(tk ;opticalphoton tid 10670 pid 10669 nm 401.508 mm  ori[    0.000   0.000   0.000]  pos[ -1402.4771435.3462279.505]  )
  pre               sphere_phys uidScintillator          noProc           Undefined pos[   -699.384  1411.971  2656.669]  dir[    0.928  -0.294   0.231]  pol[    0.065  -0.482  -0.874]  ns 60.443 nm 401.508
 post               sphere_phys uidScintillator      OpRayleigh    PostStepDoItProc pos[   -602.423  1381.225  2680.779]  dir[   -0.892   0.060  -0.448]  pol[    0.353  -0.525  -0.775]  ns 60.993 nm 401.508
 )
(16)  SC/AB     NAB   PRE_SAVE PRE_DONE LAST_POST STEP_RECOLL RECORD_TRUNCATE BOUNCE_TRUNCATE
[   1](Stp ;opticalphoton stepNum 350541904(tk ;opticalphoton tid 10670 pid 10669 nm 401.508 mm  ori[    0.000   0.000   0.000]  pos[ -1402.4771435.3462279.505]  )
  pre               sphere_phys uidScintillator      OpRayleigh    PostStepDoItProc pos[   -602.423  1381.225  2680.779]  dir[   -0.892   0.060  -0.448]  pol[    0.353  -0.525  -0.775]  ns 60.993 nm 401.508
 post               sphere_phys uidScintillator    OpAbsorption    PostStepDoItProc pos[  -1402.477  1435.346  2279.505]  dir[   -0.892   0.060  -0.448]  pol[    0.353  -0.525  -0.775]  ns 65.707 nm 401.508
 )
(17)  RE/AB     NAB   PRE_SAVE PRE_DONE LAST_POST STEP_REJOIN RECORD_TRUNCATE BOUNCE_TRUNCATE
[   0](Stp ;opticalphoton stepNum 350543712(tk ;opticalphoton tid 10671 pid 10670 nm 384.165 mm  ori[    0.000   0.000   0.000]  pos[ -1399.5311445.5382287.614]  )
  pre               sphere_phys uidScintillator          noProc           Undefined pos[  -1402.477  1435.346  2279.505]  dir[    0.221   0.763   0.607]  pol[    0.923  -0.364   0.122]  ns 65.707 nm 384.165
 post               sphere_phys uidScintillator    OpAbsorption    PostStepDoItProc pos[  -1399.531  1445.538  2287.614]  dir[    0.221   0.763   0.607]  pol[    0.923  -0.364   0.122]  ns 65.779 nm 384.165
 )





(16)  BT/SC     NAB                                            PRE_SAVE
[  16](Stp ;opticalphoton stepNum 349966608(tk ;opticalphoton tid 2432 pid 0 nm    430 mm  ori[    0.000   0.000   0.000]  pos[ -822.709-2083.337 173.565]  )
  pre               sphere_phys       GdDopedLS  Transportation        GeomBoundary pos[   -832.975 -2775.615   756.399]  dir[    0.211   0.875  -0.436]  pol[   -0.895   0.352   0.274]  ns 77.401 nm 430.000
 post               sphere_phys       GdDopedLS      OpRayleigh    PostStepDoItProc pos[   -613.290 -1862.728   301.282]  dir[   -0.635  -0.669  -0.387]  pol[   -0.771   0.517   0.372]  ns 82.818 nm 430.000
 )
(17)  SC/AB     NAB   PRE_SAVE PRE_DONE LAST_POST RECORD_TRUNCATE BOUNCE_TRUNCATE
[  17](Stp ;opticalphoton stepNum 349966608(tk ;opticalphoton tid 2432 pid 0 nm    430 mm  ori[    0.000   0.000   0.000]  pos[ -822.709-2083.337 173.565]  )
  pre               sphere_phys       GdDopedLS      OpRayleigh    PostStepDoItProc pos[   -613.290 -1862.728   301.282]  dir[   -0.635  -0.669  -0.387]  pol[   -0.771   0.517   0.372]  ns 82.818 nm 430.000
 post               sphere_phys       GdDopedLS    OpAbsorption    PostStepDoItProc pos[   -822.709 -2083.337   173.565]  dir[   -0.635  -0.669  -0.387]  pol[   -0.771   0.517   0.372]  ns 84.512 nm 430.000
 )
(18)  RE/RE     FrT   PRE_SAVE PRE_DONE STEP_REJOIN RECORD_TRUNCATE BOUNCE_TRUNCATE
[   0](Stp ;opticalphoton stepNum 349966112(tk ;opticalphoton tid 10659 pid 2432 nm 405.217 mm  ori[    0.000   0.000   0.000]  pos[ -1691.913-2455.968-275.091]  )
  pre               sphere_phys       GdDopedLS          noProc           Undefined pos[   -822.709 -2083.337   173.565]  dir[   -0.830  -0.356  -0.429]  pol[    0.249  -0.925   0.286]  ns 84.512 nm 405.217
 post               sphere_phys         Acrylic  Transportation        GeomBoundary pos[  -1691.913 -2455.968  -275.091]  dir[   -0.830  -0.359  -0.427]  pol[    0.252  -0.924   0.288]  ns 89.985 nm 405.217
 )

MOSTLY RESOLVED: pflags inconsistency : due to incomplete REjoins, AB not scrubbed and replaced with RE

See ana/pflags.py

  • running with the psel_dindex list of discepant masks (tconcentric-tt-pflags) reveals that all photons with inconsistency look to be incompletely REjoined, ie they are rejoined but somehow the AB scrubbing and replacement with RE failed to happen

Mostly Resolved

Investigating via improved dumping shows the problem is that rejoins were not recorded as they were preSkipped due to StepTooSmall from prior boundary status.

Modifying preSkip condition, gets down to 3 in 1M bad pflags, formerly was 130 in 1M:

557
558     bool preSkip = m_prior_boundary_status == StepTooSmall && m_stage != CStage::REJOIN  ;
559

pflags.py after preSkip fix:

In [47]: run pflags.py
[2016-11-05 15:58:49,609] p29196 {/Users/blyth/opticks/ana/base.py:199} INFO - envvar OPTICKS_ANA_DEFAULTS -> defaults {'src': 'torch', 'tag': '1', 'det': 'concentric'}
pflags.py
.                seqhis_ana      noname
.                                     3         1.00
   0     5cccc9cccc9ccccd        0.333              1         [16] TO BT BT BT BT DR BT BT BT BT DR BT BT BT BT RE
   1     5555cccccc9ccccd        0.333              1         [16] TO BT BT BT BT DR BT BT BT BT BT BT RE RE RE RE
   2     55555cccc99ccccd        0.333              1         [16] TO BT BT BT BT DR DR BT BT BT BT RE RE RE RE RE
.                                     3         1.00

cu_pflags (masks from CRecorder)
TO|BT|DR|SC|RE
[[6448    3]]

cu_pflags2 (masks derived from seqhis)      ## 3 photons missing SC:BULK_SCATTER in seqhis relative to the mask
TO|BT|DR|RE
[[6416    3]]
--dindex=93373,173508,302431

pflags.py prior to preSkip fix:

cu_pflags (masks from CRecorder)
## actual photon masks have the impossible SA|AB masks

TO|BT|SA|AB
TO|BT|SA|SC|AB
TO|BT|DR|SA|AB
TO|BT|DR|SC|RE        ## APART FROM THIS ONE, ALL THE REST HAVE AN EXTRA AB COMPARED TO pflags2 (ie compared to seqhis)
TO|BT|BR|DR|SA|RE|AB
TO|BT|BR|SA|SC|AB
TO|BT|BR|SA|RE|AB
TO|BT|BR|SC|AB

[[6280  112]
 [6312    8]
 [6536    5]
 [6448    3]
 [7576    1]
 [7336    1]
 [7320    1]
 [7208    1]]

cu_pflags2 (masks derived from seqhis)
## pflags2 masks are derived from seqhis : so no surprise there are no impossible masks here

TO|BT|SA
TO|BT|SA|SC
TO|BT|DR|SA
TO|BT|DR|RE
TO|BT|BR|DR|SA|RE
TO|BT|BR|SA|SC
TO|BT|BR|SA|RE
TO|BT|BR|SC

[[6272  112]
 [6304    8]
 [6528    5]
 [6416    3]
 [7568    1]
 [7328    1]
 [7312    1]
 [7200    1]]

Nov 4, 2016 : seqhis chi2 now less than 1

  • seqhis now in agreement following resolution of the scattering problem
  • pflags : impossible mask issue remains
  • seqmat truncation discrepancy issue remains
simon:ana blyth$ tconcentric.py --cmx 5
/Users/blyth/opticks/ana/tconcentric.py --cmx 5
[2016-11-04 15:32:39,964] p1606 {/Users/blyth/opticks/ana/tconcentric.py:191} INFO - tag 1 src torch det concentric c2max 2.0 ipython False
CF a concentric/torch/  1 :  20161104-1505 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161104-1505 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-04 15:32:45,548] p1606 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       335.36/353 =  0.95
  12              8cc5ccd          5113         4870             5.91        1.050 +- 0.015        0.952 +- 0.014  [7 ] TO BT BT RE BT BT SA
  17              49ccccd          2312         2471             5.29        0.936 +- 0.019        1.069 +- 0.022  [7 ] TO BT BT BT BT DR AB
  43             89cccc6d           546          460             7.35        1.187 +- 0.051        0.842 +- 0.039  [8 ] TO SC BT BT BT BT DR SA
  50             8cc6cc5d           385          310             8.09        1.242 +- 0.063        0.805 +- 0.046  [8 ] TO RE BT BT SC BT BT SA
 122     89cccccccc9ccccd            53           89             9.13        0.596 +- 0.082        1.679 +- 0.178  [16] TO BT BT BT BT DR BT BT BT BT BT BT BT BT DR SA
 153         86cccccc6ccd            70           43             6.45        1.628 +- 0.195        0.614 +- 0.094  [12] TO BT BT SC BT BT BT BT BT BT SC SA
 207        8cccccc5cc55d            23           41             5.06        0.561 +- 0.117        1.783 +- 0.278  [13] TO RE RE BT BT RE BT BT BT BT BT BT SA
 284            8cc6cc65d            11           25             5.44        0.440 +- 0.133        2.273 +- 0.455  [9 ] TO RE SC BT BT SC BT BT SA
.                               1000000      1000000       335.36/353 =  0.95
[2016-11-04 15:32:45,673] p1606 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                pflags_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       165.09/43 =  3.84
   4                 1890         38518        37726             8.23        1.021 +- 0.005        0.979 +- 0.005  [4 ] TO|BT|SA|RE
  19                 1910           482          410             5.81        1.176 +- 0.054        0.851 +- 0.042  [4 ] TO|BT|DR|RE
  28                 1888             0          112           112.00        0.000 +- 0.000        0.000 +- 0.000  [4 ] TO|BT|SA|AB
.                               1000000      1000000       165.09/43 =  3.84
[2016-11-04 15:32:45,704] p1606 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                seqmat_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000      2328.30/233 =  9.99
  12              4443231          3040         3271             8.46        0.929 +- 0.017        1.076 +- 0.019  [7 ] Gd Ac LS Ac MO MO MO
  40     3443231323443231           194          483           123.37        0.402 +- 0.029        2.490 +- 0.113  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO Ac
  50     4443231323443231           299           57           164.51        5.246 +- 0.303        0.191 +- 0.025  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO MO
  62     3323111323443231           181            1           178.02      181.000 +- 13.454        0.006 +- 0.006  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac Ac
  68     4323111323443231             0          147           147.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac MO
  70         344323132231           147          111             5.02        1.324 +- 0.109        0.755 +- 0.072  [12] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac
  76     4323132344323111             0          132           132.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO
  79     3323132344323111           126            1           123.03      126.000 +- 11.225        0.008 +- 0.008  [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac Ac
  84     3323113234432311           118            0           118.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac Ac
  86     1132231323443231           114           32            46.05        3.562 +- 0.334        0.281 +- 0.050  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac Gd Gd
  91     1132344323443231           108           16            68.26        6.750 +- 0.650        0.148 +- 0.037  [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Gd
  93     4323113234432311             0          107           107.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO
 106     1132344323132231            84           23            34.78        3.652 +- 0.398        0.274 +- 0.057  [16] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac LS Ac Gd Gd
 107     3132344323443231             0           83            83.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Ac
 110              2223111            79           51             6.03        1.549 +- 0.174        0.646 +- 0.090  [7 ] Gd Gd Gd Ac LS LS LS
 111     3132231323443231             0           79            79.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac Gd Ac
 125     2332332332332231             0           64            64.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS LS Ac Ac LS Ac Ac LS Ac Ac LS Ac Ac LS
 127     3322311323443231            60            0            60.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS LS Ac Ac
 129     3332332332332231            56            4            45.07       14.000 +- 1.871        0.071 +- 0.036  [16] Gd Ac LS LS Ac Ac LS Ac Ac LS Ac Ac LS Ac Ac Ac
 135     2231111323443231            51            6            35.53        8.500 +- 1.190        0.118 +- 0.048  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Gd Ac LS LS
.                               1000000      1000000      2328.30/233 =  9.99
[2016-11-04 15:32:45,756] p1606 {/Users/blyth/opticks/ana/evt.py:527} WARNING - missing a_ana hflags_ana
[2016-11-04 15:32:45,756] p1606 {/Users/blyth/opticks/ana/tconcentric.py:196} INFO - early exit as non-interactive

RESOLVED : scattered counts and distrib mismatch

Checking dir and pol distrib from the SC point to the next point using a wildcard selection “TO BT BT SC ..” (ie checking scatter distrib for all scatterers) yields the expected no selection scatter distrib for Opticks. But for CFG4 get very different distrib with a zero in y dir.

RESOLVED:

  • Opticks rayleigh.h implementation was ported based on standard G4OpRayleigh from recent G4 ~10.2 (ie with the Xin Qian rewrite)
  • BUT DsG4OpRayleigh which was using seems to be based on G4OpRayleigh prior to the rewrite which uses funny third power and no sampling to appropriately relate old and new polarizations

Before fix:

tconcentric-i --pfxseqhis .6ccd

[2016-11-04 12:26:16,529] p98174 {/Users/blyth/opticks/ana/tconcentric.py:146} INFO -  pfxseqhis [.6ccd] label [TO BT BT SC ..]
[2016-11-04 12:26:22,153] p98174 {/Users/blyth/opticks/ana/cf.py:96} INFO - spawned seqs ['TO BT BT SC ..'] psel A 18763 B 18827
CF a concentric/torch/  1 : TO BT BT SC .. 20161103-1914 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 : TO BT BT SC .. 20161103-1914 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-04 12:26:22,162] p98174 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana      noname       noname           c2           ab           ba
.                                 18763        18827       139.55/39 =  3.58
   0              8cc6ccd         10214        10919            23.52        0.935 +- 0.009        1.069 +- 0.010  [7 ] TO BT BT SC BT BT SA
   1          8cccccc6ccd          3317         2785            46.38        1.191 +- 0.021        0.840 +- 0.016  [11] TO BT BT SC BT BT BT BT BT BT SA
   2              4cc6ccd          1192         1045             9.66        1.141 +- 0.033        0.877 +- 0.027  [7 ] TO BT BT SC BT BT AB
   3                46ccd           622          689             3.42        0.903 +- 0.036        1.108 +- 0.042  [5 ] TO BT BT SC AB
   4         8cccc6cc6ccd           339          271             7.58        1.251 +- 0.068        0.799 +- 0.049  [12] TO BT BT SC BT BT SC BT BT BT BT SA
   5             8cc66ccd           295          337             2.79        0.875 +- 0.051        1.142 +- 0.062  [8 ] TO BT BT SC SC BT BT SA
   6             86cc6ccd           201          253             5.96        0.794 +- 0.056        1.259 +- 0.079  [8 ] TO BT BT SC BT BT SC SA
   7          4cccccc6ccd           164          136             2.61        1.206 +- 0.094        0.829 +- 0.071  [11] TO BT BT SC BT BT BT BT BT BT AB
   8            4cccc6ccd           154          158             0.05        0.975 +- 0.079        1.026 +- 0.082  [9 ] TO BT BT SC BT BT BT BT AB
   9             8cc56ccd           130          147             1.04        0.884 +- 0.078        1.131 +- 0.093  [8 ] TO BT BT SC RE BT BT SA
  10             89cc6ccd           113          134             1.79        0.843 +- 0.079        1.186 +- 0.102  [8 ] TO BT BT SC BT BT DR SA
  11         8cccc5cc6ccd           127           83             9.22        1.530 +- 0.136        0.654 +- 0.072  [12] TO BT BT SC BT BT RE BT BT BT BT SA
  12         8cccccc66ccd            91           74             1.75        1.230 +- 0.129        0.813 +- 0.095  [12] TO BT BT SC SC BT BT BT BT BT BT SA
  13     8cccccccc9cc6ccd            70           84             1.27        0.833 +- 0.100        1.200 +- 0.131  [16] TO BT BT SC BT BT DR BT BT BT BT BT BT BT BT SA
  14         8cccc9cc6ccd            74           68             0.25        1.088 +- 0.127        0.919 +- 0.111  [12] TO BT BT SC BT BT DR BT BT BT BT SA
  15         8cc6cccc6ccd            72           65             0.36        1.108 +- 0.131        0.903 +- 0.112  [12] TO BT BT SC BT BT BT BT SC BT BT SA
  16         86cccccc6ccd            70           63             0.37        1.111 +- 0.133        0.900 +- 0.113  [12] TO BT BT SC BT BT BT BT BT BT SC SA
  17           8cccbc6ccd            65           70             0.19        0.929 +- 0.115        1.077 +- 0.129  [10] TO BT BT SC BT BR BT BT BT SA
  18     cbccbccbccbc6ccd            35           54             4.06        0.648 +- 0.110        1.543 +- 0.210  [16] TO BT BT SC BT BR BT BT BR BT BT BR BT BT BR BT
  19             46cc6ccd            35           49             2.33        0.714 +- 0.121        1.400 +- 0.200  [8 ] TO BT BT SC BT BT SC AB
.                                 18763        18827       139.55/39 =  3.58

After fix, moving from DsG4OpRayleigh to OpRayleigh:

tconcentric-i --pfxseqhis .6ccd

[2016-11-04 17:49:43,774] p2627 {/Users/blyth/opticks/ana/tconcentric.py:222} INFO -  pfxseqhis [.6ccd] label [TO BT BT SC ..]
[2016-11-04 17:49:49,450] p2627 {/Users/blyth/opticks/ana/cf.py:96} INFO - spawned seqs ['TO BT BT SC ..'] psel A 18763 B 18957
CF a concentric/torch/  1 : TO BT BT SC .. 20161104-1715 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 : TO BT BT SC .. 20161104-1715 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-04 17:49:49,459] p2627 {/Users/blyth/opticks/ana/seq.py:404} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana      noname       noname           c2           ab           ba
.                                 18763        18957        28.20/39 =  0.72
   0              8cc6ccd         10214        10304             0.39        0.991 +- 0.010        1.009 +- 0.010  [7 ] TO BT BT SC BT BT SA
   1          8cccccc6ccd          3317         3336             0.05        0.994 +- 0.017        1.006 +- 0.017  [11] TO BT BT SC BT BT BT BT BT BT SA
   2              4cc6ccd          1192         1214             0.20        0.982 +- 0.028        1.018 +- 0.029  [7 ] TO BT BT SC BT BT AB
   3                46ccd           622          635             0.13        0.980 +- 0.039        1.021 +- 0.041  [5 ] TO BT BT SC AB
   4         8cccc6cc6ccd           339          337             0.01        1.006 +- 0.055        0.994 +- 0.054  [12] TO BT BT SC BT BT SC BT BT BT BT SA
   5             8cc66ccd           295          298             0.02        0.990 +- 0.058        1.010 +- 0.059  [8 ] TO BT BT SC SC BT BT SA
   6             86cc6ccd           201          223             1.14        0.901 +- 0.064        1.109 +- 0.074  [8 ] TO BT BT SC BT BT SC SA
   7          4cccccc6ccd           164          201             3.75        0.816 +- 0.064        1.226 +- 0.086  [11] TO BT BT SC BT BT BT BT BT BT AB
   8            4cccc6ccd           154          163             0.26        0.945 +- 0.076        1.058 +- 0.083  [9 ] TO BT BT SC BT BT BT BT AB
   9             89cc6ccd           113          131             1.33        0.863 +- 0.081        1.159 +- 0.101  [8 ] TO BT BT SC BT BT DR SA
  10             8cc56ccd           130          122             0.25        1.066 +- 0.093        0.938 +- 0.085  [8 ] TO BT BT SC RE BT BT SA
  11         8cccc5cc6ccd           127          118             0.33        1.076 +- 0.096        0.929 +- 0.086  [12] TO BT BT SC BT BT RE BT BT BT BT SA
  12         8cccccc66ccd            91           96             0.13        0.948 +- 0.099        1.055 +- 0.108  [12] TO BT BT SC SC BT BT BT BT BT BT SA
  13         8cccc9cc6ccd            74           53             3.47        1.396 +- 0.162        0.716 +- 0.098  [12] TO BT BT SC BT BT DR BT BT BT BT SA
  14         8cc6cccc6ccd            72           71             0.01        1.014 +- 0.120        0.986 +- 0.117  [12] TO BT BT SC BT BT BT BT SC BT BT SA
  15     8cccccccc9cc6ccd            70           71             0.01        0.986 +- 0.118        1.014 +- 0.120  [16] TO BT BT SC BT BT DR BT BT BT BT BT BT BT BT SA
  16         86cccccc6ccd            70           43             6.45        1.628 +- 0.195        0.614 +- 0.094  [12] TO BT BT SC BT BT BT BT BT BT SC SA
  17           8cccbc6ccd            65           63             0.03        1.032 +- 0.128        0.969 +- 0.122  [10] TO BT BT SC BT BR BT BT BT SA
  18               4c6ccd            49           46             0.09        1.065 +- 0.152        0.939 +- 0.138  [6 ] TO BT BT SC BT AB
  19         8cc5cccc6ccd            35           45             1.25        0.778 +- 0.131        1.286 +- 0.192  [12] TO BT BT SC BT BT BT BT RE BT BT SA
.                                 18763        18957        28.20/39 =  0.72

MATCH : no selection CFG4/OK rayleigh scattering in isolation

Generating rayleigh scattered photons in isolation within CFG4 and Opticks is yielding matched distributions for momentum direction and polarization.

vi cfg4/tests/OpRayleighTest.cc cfg4/tests/OpRayleighTest.py optixrap/cu/ORayleighTest.cu optixrap/tests/ORayleighTest.cc

RESOLVED : scatter discrep

Using tconcentric-vg4 when viewing from +X into the beam note distinct butterfly distrib with CFG4 that seems less distinct with Opticks.

But tis difficult in separate viewing sessions to get same conditions, so need to make some plots.

simon:ana blyth$ tconcentric.py  --cmx 10
/Users/blyth/opticks/ana/tconcentric.py --cmx 10
[2016-11-03 12:08:40,071] p77344 {/Users/blyth/opticks/ana/tconcentric.py:20} INFO - tag 1 src torch det concentric c2max 2.0
[2016-11-03 12:08:40,071] p77344 {/Users/blyth/opticks/ana/evt.py:84} INFO -  seqs []
[2016-11-03 12:08:40,886] p77344 {/Users/blyth/opticks/ana/evt.py:382} INFO - skip init_selection as no seqs
[2016-11-03 12:08:42,885] p77344 {/Users/blyth/opticks/ana/evt.py:84} INFO -  seqs []
[2016-11-03 12:08:43,682] p77344 {/Users/blyth/opticks/ana/evt.py:382} INFO - skip init_selection as no seqs
CF a concentric/torch/  1 :  20161102-1955 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161102-1955 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-03 12:08:45,691] p77344 {/Users/blyth/opticks/ana/seq.py:394} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       769.72/347 =  2.22
   6              8cc6ccd         10214        10919            23.52        0.935 +- 0.009        1.069 +- 0.010  [7 ] TO BT BT SC BT BT SA
   7              86ccccd         10176        10825            20.06        0.940 +- 0.009        1.064 +- 0.010  [7 ] TO BT BT BT BT SC SA

       ## 7% more CFG4 scattering in LS and MO ???

FIXED : wrong wavelength compression/decompression in CFG4

In [4]: a,b = scf.rw()

In [5]: a
Out[5]:
A()sliced
A([[ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       ...,
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686]], dtype=float32)

In [6]: b
Out[6]:
A()sliced
A([[ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       ...,
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686]], dtype=float32)

Before fix, CFG4 b wavelength was being compressed wrongly in CRecorder:

In [24]: scf.a.wl
A([ 430.,  430.,  430., ...,  430.,  430.,  430.], dtype=float32)

In [21]: scf.a.recwavelength(slice(0,7))
A([[ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       ...,
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686],
       [ 429.5686,  429.5686,  429.5686, ...,  429.5686,  429.5686,  429.5686]], dtype=float32)


In [23]: scf.b.wl
A([ 430.,  430.,  430., ...,  430.,  430.,  430.], dtype=float32)

In [22]: scf.b.recwavelength(slice(0,7))
A([[ 122.5882,  122.5882,  122.5882, ...,  122.5882,  122.5882,  122.5882],
       [ 122.5882,  122.5882,  122.5882, ...,  122.5882,  122.5882,  122.5882],
       [ 122.5882,  122.5882,  122.5882, ...,  122.5882,  122.5882,  122.5882],
       ...,
       [ 122.5882,  122.5882,  122.5882, ...,  122.5882,  122.5882,  122.5882],
       [ 122.5882,  122.5882,  122.5882, ...,  122.5882,  122.5882,  122.5882],
       [ 122.5882,  122.5882,  122.5882, ...,  122.5882,  122.5882,  122.5882]], dtype=float32)

ASIS : polarization de-normalizing

Possibly this is just due to the extreme char compression applied to polarization records

23     spawn = ["8cc6ccd"]
24
25     cf = CF(ok, spawn=spawn)
26
27     scf = cf.ss[0]
28
29     #a,b = scf.rpost()
30     a,b = scf.rpol()
In [12]: vnorm(a[10])
Out[12]:
A()sliced
A([ 1.    ,  1.    ,  1.    ,  1.0027,  1.0027,  1.0027,  1.0027], dtype=float32)

In [13]: vnorm(a[100])
Out[13]:
A()sliced
A([ 1.    ,  1.    ,  1.    ,  0.9963,  0.9963,  0.9963,  0.9963], dtype=float32)

In [14]: vnorm(a[1000])
Out[14]:
A()sliced
A([ 1.    ,  1.    ,  1.    ,  1.0019,  0.995 ,  0.9975,  0.9975], dtype=float32)

After some pol fixing, still note some de-normalizing:

In [2]: cf.a.rpol_(0)
Out[2]:
array([[ 0.,  1.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  1.,  0.],
       ...,
       [ 0.,  1.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  1.,  0.]])

In [3]: cf.b.rpol_(0)
Out[3]:
array([[ 0.,  1.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  1.,  0.],
       ...,
       [ 0.,  1.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  1.,  0.]])

In [4]: cf.b.rpol_(1)
Out[4]:
array([[ 0.    ,  1.    ,  0.    ],
       [ 0.    ,  1.    ,  0.    ],
       [ 0.    ,  1.    ,  0.    ],
       ...,
       [ 0.    ,  1.    ,  0.    ],
       [ 0.7244, -0.5748,  0.3858],
       [-0.8189, -0.5669,  0.0787]])

In [5]: cf.a.rpol_(1)
Out[5]:
array([[ 0.    ,  1.    ,  0.    ],
       [ 0.    ,  1.    ,  0.    ],
       [ 0.0551,  1.    ,  0.0315],
       ...,
       [ 0.    ,  1.    ,  0.    ],
       [ 0.    ,  1.    ,  0.    ],
       [ 0.    ,  1.    ,  0.    ]])

viz

2016-10-31 20:46:50.716 INFO  [460591] [CRunAction::BeginOfRunAction@19] CRunAction::BeginOfRunAction count 1
2016-10-31 20:46:50.716 INFO  [460591] [CTorchSource::GeneratePrimaryVertex@268] CTorchSource::GeneratePrimaryVertex typeName sphere modeString  position 0.0000,0.0000,0.0000 direction 0.0000,0.0000,1.0000 polarization 0.0000,0.0000,0.0000 radius 0 wavelength 430 time 0.1 polarization 0.0000,0.0000,0.0000 num 10000
  • Polarization viz looks different in g4 and ok.
  • Probably default G4 is random pol, and Opticks is some adhoc distrib... need to arrange these to match.

truncation control

409    char bouncemax[128];
410    snprintf(bouncemax,128,
411 "Maximum number of boundary bounces, 0:prevents any propagation leaving generated photons"
412 "Default %d ", m_bouncemax);
413    m_desc.add_options()
414        ("bouncemax,b",  boost::program_options::value<int>(&m_bouncemax), bouncemax );
415
416
417    // keeping bouncemax one less than recordmax is advantageous
418    // as bookeeping is then consistent between the photons and the records
419    // as this avoiding truncation of the records
420
421    char recordmax[128];
422    snprintf(recordmax,128,
423 "Maximum number of photon step records per photon, 1:to minimize without breaking machinery. Default %d ", m_recordmax);
424    m_desc.add_options()
425        ("recordmax,r",  boost::program_options::value<int>(&m_recordmax), recordmax );
426

FIXED Longstanding pflags issue

Rejoining in cfg4/CRecorder::RecordStepPoint was not scrubbing the AB in the mask on REjoining.

.              pflags_ana  1:concentric   -1:concentric           c2           ab           ba
                              1000000      1000000     97516.50/48 = 2031.59
 0                 1880        669935       670652             0.38        0.999 +- 0.001        1.001 +- 0.001  [3 ] TO|BT|SA
 1                 1008         83950        84177             0.31        0.997 +- 0.003        1.003 +- 0.003  [2 ] TO|AB
 2                 18a0         79964        80219             0.41        0.997 +- 0.004        1.003 +- 0.004  [4 ] TO|BT|SA|SC
 3                 1808         54175        54292             0.13        0.998 +- 0.004        1.002 +- 0.004  [3 ] TO|BT|AB
 4                 1890         38518            0         38518.00        0.000 +- 0.000        0.000 +- 0.000  [4 ] TO|BT|SA|RE
 5                 1898             0        37550         37550.00        0.000 +- 0.000        0.000 +- 0.000  [5 ] TO|BT|SA|RE|AB
 6                 1980         17805        17746             0.10        1.003 +- 0.008        0.997 +- 0.007  [4 ] TO|BT|DR|SA
 7                 1828          8738         8816             0.35        0.991 +- 0.011        1.009 +- 0.011  [4 ] TO|BT|SC|AB
 8                 1018          8204         7928             4.72        1.035 +- 0.011        0.966 +- 0.011  [3 ] TO|RE|AB
 9                 18b0          7928            0          7928.00        0.000 +- 0.000        0.000 +- 0.000  [5 ] TO|BT|SA|SC|RE
10                 18b8             0         7780          7780.00        0.000 +- 0.000        0.000 +- 0.000  [6 ] TO|BT|SA|SC|RE|AB
11                 1818          6024         6081             0.27        0.991 +- 0.013        1.009 +- 0.013  [4 ] TO|BT|RE|AB
12                 1908          5426         5491             0.39        0.988 +- 0.013        1.012 +- 0.014  [4 ] TO|BT|DR|AB
13                 1028          5063         5064             0.00        1.000 +- 0.014        1.000 +- 0.014  [3 ] TO|SC|AB
14                 19a0          4924         4960             0.13        0.993 +- 0.014        1.007 +- 0.014  [5 ] TO|BT|DR|SA|SC
15                 1838          1525         1706            10.14        0.894 +- 0.023        1.119 +- 0.027  [5 ] TO|BT|SC|RE|AB
16                 1990          1506            0          1506.00        0.000 +- 0.000        0.000 +- 0.000  [5 ] TO|BT|DR|SA|RE
17                 1998             0         1408          1408.00        0.000 +- 0.000        0.000 +- 0.000  [6 ] TO|BT|DR|SA|RE|AB
18                 1928          1062         1092             0.42        0.973 +- 0.030        1.028 +- 0.031  [5 ] TO|BT|DR|SC|AB
19                 1918           619         1057           114.47        0.586 +- 0.024        1.708 +- 0.053  [5 ] TO|BT|DR|RE|AB
                              1000000      1000000     97516.50/48 = 2031.59

After rejoin scrubbing AB fix, some issues remain:

.              pflags_ana  1:concentric   -1:concentric           c2           ab           ba
                              1000000      1000000       244.01/43 =  5.67
 0                 1880        669935       670652             0.38        0.999 +- 0.001        1.001 +- 0.001  [3 ] TO|BT|SA
 1                 1008         83950        84177             0.31        0.997 +- 0.003        1.003 +- 0.003  [2 ] TO|AB
 2                 18a0         79964        80219             0.41        0.997 +- 0.004        1.003 +- 0.004  [4 ] TO|BT|SA|SC
 3                 1808         54175        54292             0.13        0.998 +- 0.004        1.002 +- 0.004  [3 ] TO|BT|AB
 4                 1890         38518        37550            12.32        1.026 +- 0.005        0.975 +- 0.005  [4 ] TO|BT|SA|RE
 5                 1980         17805        17746             0.10        1.003 +- 0.008        0.997 +- 0.007  [4 ] TO|BT|DR|SA
 6                 1828          8738         8816             0.35        0.991 +- 0.011        1.009 +- 0.011  [4 ] TO|BT|SC|AB
 7                 1018          8204         7928             4.72        1.035 +- 0.011        0.966 +- 0.011  [3 ] TO|RE|AB
 8                 18b0          7928         7780             1.39        1.019 +- 0.011        0.981 +- 0.011  [5 ] TO|BT|SA|SC|RE
 9                 1818          6024         6059             0.10        0.994 +- 0.013        1.006 +- 0.013  [4 ] TO|BT|RE|AB
10                 1908          5426         5491             0.39        0.988 +- 0.013        1.012 +- 0.014  [4 ] TO|BT|DR|AB
11                 1028          5063         5064             0.00        1.000 +- 0.014        1.000 +- 0.014  [3 ] TO|SC|AB
12                 19a0          4924         4960             0.13        0.993 +- 0.014        1.007 +- 0.014  [5 ] TO|BT|DR|SA|SC
13                 1838          1525         1462             1.33        1.043 +- 0.027        0.959 +- 0.025  [5 ] TO|BT|SC|RE|AB
14                 1990          1506         1408             3.30        1.070 +- 0.028        0.935 +- 0.025  [5 ] TO|BT|DR|SA|RE
15                 1928          1062         1092             0.42        0.973 +- 0.030        1.028 +- 0.031  [5 ] TO|BT|DR|SC|AB
16                 1038           786          779             0.03        1.009 +- 0.036        0.991 +- 0.036  [4 ] TO|SC|RE|AB
17                 1920           775          759             0.17        1.021 +- 0.037        0.979 +- 0.036  [4 ] TO|BT|DR|SC
18                 1918           619          638             0.29        0.970 +- 0.039        1.031 +- 0.041  [5 ] TO|BT|DR|RE|AB
19                 1910           482          419             4.41        1.150 +- 0.052        0.869 +- 0.042  [4 ] TO|BT|DR|RE
20                 1930           455          412             2.13        1.104 +- 0.052        0.905 +- 0.045  [5 ] TO|BT|DR|SC|RE
21                 1830           365          245            23.61        1.490 +- 0.078        0.671 +- 0.043  [4 ] TO|BT|SC|RE
22                 19b0           301          300             0.00        1.003 +- 0.058        0.997 +- 0.058  [6 ] TO|BT|DR|SA|SC|RE
23                 1ca0           213          263             5.25        0.810 +- 0.055        1.235 +- 0.076  [5 ] TO|BT|BR|SA|SC
24                 1d80           204          166             3.90        1.229 +- 0.086        0.814 +- 0.063  [5 ] TO|BT|BR|DR|SA
25                 1900           192          183             0.22        1.049 +- 0.076        0.953 +- 0.070  [3 ] TO|BT|DR
26                 1820           170          136             3.78        1.250 +- 0.096        0.800 +- 0.069  [3 ] TO|BT|SC
27                 1938           131          148             1.04        0.885 +- 0.077        1.130 +- 0.093  [6 ] TO|BT|DR|SC|RE|AB
28                 1c20            95          119             2.69        0.798 +- 0.082        1.253 +- 0.115  [4 ] TO|BT|BR|SC
29                 1c28            53          101            14.96        0.525 +- 0.072        1.906 +- 0.190  [5 ] TO|BT|BR|SC|AB

30  ###            1888             0          100           100.00        0.000 +- 0.000        0.000 +- 0.000  [4 ] TO|BT|SA|AB
    ### BOTH SA and AB in same photon mask is impossible, as SA and AB both terminate ..
    ### some bug here

31                 1c90            66           82             1.73        0.805 +- 0.099        1.242 +- 0.137  [5 ] TO|BT|BR|SA|RE
32                 1cb0            48           55             0.48        0.873 +- 0.126        1.146 +- 0.155  [6 ] TO|BT|BR|SA|SC|RE
33                 1c10            39           52             1.86        0.750 +- 0.120        1.333 +- 0.185  [4 ] TO|BT|BR|RE
34  ###            1c80             0           48            48.00        0.000 +- 0.000        0.000 +- 0.000  [4 ] TO|BT|BR|SA
35                 1da0            42           46             0.18        0.913 +- 0.141        1.095 +- 0.161  [6 ] TO|BT|BR|DR|SA|SC
36                 1c18            35           31             0.24        1.129 +- 0.191        0.886 +- 0.159  [5 ] TO|BT|BR|RE|AB

Selecting just the seq that correspond to the funny mask, find no corresponding seq. Bug in mask ?

simon:opticks blyth$ tconcentric.py --dbgmskhis 0x1888 --lmx 1000
/Users/blyth/opticks/ana/tconcentric.py --dbgmskhis 0x1888 --lmx 1000
[2016-11-02 17:26:48,469] p69790 {/Users/blyth/opticks/ana/tconcentric.py:24} INFO - tag 1 src torch det concentric c2max 2.0
[2016-11-02 17:26:48,469] p69790 {/Users/blyth/opticks/ana/evt.py:87} INFO -  dbgseqhis 0 dbgmskhis 1888 dbgseqmat 0 dbgmskmat 0
[2016-11-02 17:26:51,110] p69790 {/Users/blyth/opticks/ana/evt.py:87} INFO -  dbgseqhis 0 dbgmskhis 1888 dbgseqmat 0 dbgmskmat 0
CF a concentric/torch/  1 :  20161102-1517 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161102-1517 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-02 17:26:53,710] p69790 {/Users/blyth/opticks/ana/seq.py:361} INFO - compare dbgseq 0 dbgmsk 1888
.                seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       706.24/348 =  2.03
.                               1000000      1000000       706.24/348 =  2.03
[2016-11-02 17:26:53,787] p69790 {/Users/blyth/opticks/ana/seq.py:361} INFO - compare dbgseq 1888 dbgmsk 0
.                pflags_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       244.01/43 =  5.67
  30                 1888             0          100           100.00        0.000 +- 0.000        0.000 +- 0.000  [4 ] TO|BT|SA|AB
  50                 18a8             0            5             0.00        0.000 +- 0.000        0.000 +- 0.000  [5 ] TO|BT|SA|SC|AB
  52                 1c98             0            3             0.00        0.000 +- 0.000        0.000 +- 0.000  [6 ] TO|BT|BR|SA|RE|AB
  53                 1988             0            2             0.00        0.000 +- 0.000        0.000 +- 0.000  [5 ] TO|BT|DR|SA|AB
  55                 19a8             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [6 ] TO|BT|DR|SA|SC|AB
  56                 1c88             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [5 ] TO|BT|BR|SA|AB
.                               1000000      1000000       244.01/43 =  5.67

FIXED : Opticks not doing “TO BT BT BT BR ..” by polz correction

  • no “internal” reflection in the acrylic just prior to MO in Opticks ?
  • was caused by unnormalized polz with laser source in Opticks
Gd/Ac/LS/Ac/MO

Dump only lines starting “TO BT BT BT BR”:

simon:optickscore blyth$ tconcentric.py --dbgseqhis bcccd
/Users/blyth/opticks/ana/tconcentric.py --dbgseqhis bcccd
[2016-11-02 13:47:51,381] p68110 {/Users/blyth/opticks/ana/tconcentric.py:24} INFO - tag 1 src torch det concentric c2max 2.0
CF a concentric/torch/  1 :  20161102-1256 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161102-1256 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
                 seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
                                1000000      1000000       706.24/348 =  2.03
 200        8cccccccbcccd             0           44            44.00        0.000 +- 0.000        0.000 +- 0.000  [13] TO BT BT BT BR BT BT BT BT BT BT BT SA
 466            4cccbcccd             0           11             0.00        0.000 +- 0.000        0.000 +- 0.000  [9 ] TO BT BT BT BR BT BT BT AB
 796       8cccc6cccbcccd             0            5             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO BT BT BT BR BT BT BT SC BT BT BT BT SA
1052           45cccbcccd             0            3             0.00        0.000 +- 0.000        0.000 +- 0.000  [10] TO BT BT BT BR BT BT BT RE AB
1176       8cccc5cccbcccd             0            3             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO BT BT BT BR BT BT BT RE BT BT BT BT SA
2198       89cccccccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO BT BT BT BR BT BT BT BT BT BT BT DR SA
2225         4cc6cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [12] TO BT BT BT BR BT BT BT SC BT BT AB
2474     ccc55cc5cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BR BT BT BT RE BT BT RE RE BT BT BT
2521          466cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [11] TO BT BT BT BR BT BT BT SC SC AB
2812           46cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [10] TO BT BT BT BR BT BT BT SC AB
2961      86cccc5cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BR BT BT BT RE BT BT BT BT SC SA
2995        4cccccccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [13] TO BT BT BT BR BT BT BT BT BT BT BT AB
3244      8cccc55cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BR BT BT BT RE RE BT BT BT BT SA
3330     cccc5555cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BR BT BT BT RE RE RE RE BT BT BT BT
3798     89cccccc55cbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BR BT RE RE BT BT BT BT BT BT DR SA
3954       8cccccc5cbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO BT BT BT BR BT RE BT BT BT BT BT BT SA
4056      8cc56cccccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BR BT BT BT BT BT SC RE BT BT SA
4165           8cc5cbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [10] TO BT BT BT BR BT RE BT BT SA
4178     8cccc555cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BR BT BT BT RE RE RE BT BT BT BT SA
4526          456cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [11] TO BT BT BT BR BT BT BT SC RE AB
                                1000000      1000000       706.24/348 =  2.03

After polarization “alignment” this issue if fixed:

simon:opticks blyth$ tconcentric.py --dbgseqhis bcccd
/Users/blyth/opticks/ana/tconcentric.py --dbgseqhis bcccd
[2016-11-03 11:54:11,979] p77243 {/Users/blyth/opticks/ana/tconcentric.py:20} INFO - tag 1 src torch det concentric c2max 2.0
[2016-11-03 11:54:11,979] p77243 {/Users/blyth/opticks/ana/evt.py:84} INFO -  seqs []
[2016-11-03 11:54:12,750] p77243 {/Users/blyth/opticks/ana/evt.py:382} INFO - skip init_selection as no seqs
[2016-11-03 11:54:14,720] p77243 {/Users/blyth/opticks/ana/evt.py:84} INFO -  seqs []
[2016-11-03 11:54:15,476] p77243 {/Users/blyth/opticks/ana/evt.py:382} INFO - skip init_selection as no seqs
CF a concentric/torch/  1 :  20161102-1955 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161102-1955 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-03 11:54:17,458] p77243 {/Users/blyth/opticks/ana/seq.py:394} INFO - compare dbgseq bcccd dbgmsk 0
.                seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       769.72/347 =  2.22
 190        8cccccccbcccd            46           44             0.04        1.045 +- 0.154        0.957 +- 0.144  [13] TO BT BT BT BR BT BT BT BT BT BT BT SA
 463            4cccbcccd             6           11             0.00        0.545 +- 0.223        1.833 +- 0.553  [9 ] TO BT BT BT BR BT BT BT AB
 637       8cccc6cccbcccd             7            5             0.00        1.400 +- 0.529        0.714 +- 0.319  [14] TO BT BT BT BR BT BT BT SC BT BT BT BT SA
 844              4cbcccd             4            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [7 ] TO BT BT BT BR BT AB
 903        4cccccccbcccd             4            1             0.00        4.000 +- 2.000        0.250 +- 0.250  [13] TO BT BT BT BR BT BT BT BT BT BT BT AB
1056           45cccbcccd             2            3             0.00        0.667 +- 0.471        1.500 +- 0.866  [10] TO BT BT BT BR BT BT BT RE AB
1178       8cccc5cccbcccd             3            3             0.00        1.000 +- 0.577        1.000 +- 0.577  [14] TO BT BT BT BR BT BT BT RE BT BT BT BT SA
1542      8cccc56cccbcccd             2            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BR BT BT BT SC RE BT BT BT BT SA
1584      8cccc55cccbcccd             2            1             0.00        2.000 +- 1.414        0.500 +- 0.500  [15] TO BT BT BT BR BT BT BT RE RE BT BT BT BT SA
2087     89cccccc55cbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BR BT RE RE BT BT BT BT BT BT DR SA
2156       4cc5cccccbcccd             1            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO BT BT BT BR BT BT BT BT BT RE BT BT AB
2218       89cccccccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO BT BT BT BR BT BT BT BT BT BT BT DR SA
2243         4cc6cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [12] TO BT BT BT BR BT BT BT SC BT BT AB
2486     ccc55cc5cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BR BT BT BT RE BT BT RE RE BT BT BT
2527       8cccccc6cbcccd             1            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO BT BT BT BR BT SC BT BT BT BT BT BT SA
2535          466cccbcccd             1            1             0.00        1.000 +- 1.000        1.000 +- 1.000  [11] TO BT BT BT BR BT BT BT SC SC AB
2660       86cccccccbcccd             1            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO BT BT BT BR BT BT BT BT BT BT BT SC SA
2816           46cccbcccd             1            1             0.00        1.000 +- 1.000        1.000 +- 1.000  [10] TO BT BT BT BR BT BT BT SC AB
2847      8cccccc55cbcccd             1            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BR BT RE RE BT BT BT BT BT BT SA
2970      86cccc5cccbcccd             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BR BT BT BT RE BT BT BT BT SC SA
.                               1000000      1000000       769.72/347 =  2.22

FIXED : chi2 large contribs from SC lines

simon:ana blyth$ tconcentric.py  --cmx 10
/Users/blyth/opticks/ana/tconcentric.py --cmx 10
[2016-11-03 12:08:40,071] p77344 {/Users/blyth/opticks/ana/tconcentric.py:20} INFO - tag 1 src torch det concentric c2max 2.0
[2016-11-03 12:08:40,071] p77344 {/Users/blyth/opticks/ana/evt.py:84} INFO -  seqs []
[2016-11-03 12:08:40,886] p77344 {/Users/blyth/opticks/ana/evt.py:382} INFO - skip init_selection as no seqs
[2016-11-03 12:08:42,885] p77344 {/Users/blyth/opticks/ana/evt.py:84} INFO -  seqs []
[2016-11-03 12:08:43,682] p77344 {/Users/blyth/opticks/ana/evt.py:382} INFO - skip init_selection as no seqs
CF a concentric/torch/  1 :  20161102-1955 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161102-1955 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-03 12:08:45,691] p77344 {/Users/blyth/opticks/ana/seq.py:394} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       769.72/347 =  2.22
   6              8cc6ccd         10214        10919            23.52        0.935 +- 0.009        1.069 +- 0.010  [7 ] TO BT BT SC BT BT SA
   7              86ccccd         10176        10825            20.06        0.940 +- 0.009        1.064 +- 0.010  [7 ] TO BT BT BT BT SC SA

       ## 7% more CFG4 scattering in LS and MO ???

  15          8cccccc6ccd          3317         2785            46.38        1.191 +- 0.021        0.840 +- 0.016  [11] TO BT BT SC BT BT BT BT BT BT SA
  20          8cccc6ccccd          1544         1805            20.34        0.855 +- 0.022        1.169 +- 0.028  [11] TO BT BT BT BT SC BT BT BT BT SA
  23      8cccccccc6ccccd          1616          998           146.11        1.619 +- 0.040        0.618 +- 0.020  [15] TO BT BT BT BT SC BT BT BT BT BT BT BT BT SA

      ## how did these find 8 boundaries to cross

  36              46ccccd           728          977            36.36        0.745 +- 0.028        1.342 +- 0.043  [7 ] TO BT BT BT BT SC AB
  49          4cccc6ccccd           407          308            13.71        1.321 +- 0.066        0.757 +- 0.043  [11] TO BT BT BT BT SC BT BT BT BT AB
  82     8cccc6cccc6ccccd           158           98            14.06        1.612 +- 0.128        0.620 +- 0.063  [16] TO BT BT BT BT SC BT BT BT BT SC BT BT BT BT SA
  96     8cccccccc6cccc6d           126           67            18.04        1.881 +- 0.168        0.532 +- 0.065  [16] TO SC BT BT BT BT SC BT BT BT BT BT BT BT BT SA
 147     8cccc5cccc6ccccd            72           36            12.00        2.000 +- 0.236        0.500 +- 0.083  [16] TO BT BT BT BT SC BT BT BT BT RE BT BT BT BT SA
.
.     THEY ALL HAVE "SC"
.
.
.                               1000000      1000000       769.72/347 =  2.22
[2016-11-03 12:08:45,810] p77344 {/Users/blyth/opticks/ana/seq.py:394} INFO - compare dbgseq 0 dbgmsk 0
.                pflags_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       184.12/44 =  4.18
   4                 1890         38518        37550            12.32        1.026 +- 0.005        0.975 +- 0.005  [4 ] TO|BT|SA|RE
  21                 1830           352          245            19.18        1.437 +- 0.077        0.696 +- 0.044  [4 ] TO|BT|SC|RE
  30                 1888             0          100           100.00        0.000 +- 0.000        0.000 +- 0.000  [4 ] TO|BT|SA|AB
.                               1000000      1000000       184.12/44 =  4.18
[2016-11-03 12:08:45,843] p77344 {/Users/blyth/opticks/ana/seq.py:394} INFO - compare dbgseq 0 dbgmsk 0
.                seqmat_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000      2381.92/236 = 10.09
   5              3443231         17781        18510            14.64        0.961 +- 0.007        1.041 +- 0.008  [7 ] Gd Ac LS Ac MO MO Ac
   9      343231323443231          6964         6287            34.59        1.108 +- 0.013        0.903 +- 0.011  [15] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO Ac
  11          34323132231          4422         3943            27.43        1.121 +- 0.017        0.892 +- 0.014  [11] Gd Ac LS LS Ac Gd Ac LS Ac MO Ac
  12              4443231          3040         3429            23.39        0.887 +- 0.016        1.128 +- 0.019  [7 ] Gd Ac LS Ac MO MO MO
  43     3443231323443231           194          394            68.03        0.492 +- 0.035        2.031 +- 0.102  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO Ac
  50     4443231323443231           299           73           137.30        4.096 +- 0.237        0.244 +- 0.029  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO MO MO
  61     3323111323443231           181            1           178.02      181.000 +- 13.454       0.006 +- 0.006  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac Ac
  67     4323111323443231             0          153           153.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac MO
  78     3323132344323111           126            1           123.03      126.000 +- 11.225       0.008 +- 0.008  [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac Ac
  83     3323113234432311           118            1           115.03      118.000 +- 10.863       0.008 +- 0.008  [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac Ac
  84     1132231323443231           114           18            69.82        6.333 +- 0.593        0.158 +- 0.037  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac Gd Gd
  88     4323113234432311             0          109           109.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO
  89     1132344323443231           108           32            41.26        3.375 +- 0.325        0.296 +- 0.052  [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Gd
 100     3132344323443231             0           96            96.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Ac
 102     4323132344323111             0           93            93.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO
 105     1132344323132231            84           12            54.00        7.000 +- 0.764        0.143 +- 0.041  [16] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac LS Ac Gd Gd
 113     3132231323443231             0           76            76.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac Gd Ac
 114     2332332332332231             0           75            75.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS LS Ac Ac LS Ac Ac LS Ac Ac LS Ac Ac LS
 126     3322311323443231            60            0            60.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS LS Ac Ac
 127     3332332332332231            56            1            53.07       56.000 +- 7.483        0.018 +- 0.018  [16] Gd Ac LS LS Ac Ac LS Ac Ac LS Ac Ac LS Ac Ac Ac
.                               1000000      1000000      2381.92/236 = 10.09
[2016-11-03 12:08:45,892] p77344 {/Users/blyth/opticks/ana/evt.py:502} WARNING - missing a_ana hflags_ana
simon:ana blyth$

dbgzero lines

seqmat truncation discrep, lots of zeros in tail

Need way to crossref from a seqmat to corresponding seqhis for debugging these..

tconcentric.py  --lmx 1000 --dbgzero

[2016-11-03 12:00:50,591] p77254 {/Users/blyth/opticks/ana/seq.py:394} INFO - compare dbgseq 0 dbgmsk 0
.                seqmat_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000      2381.92/236 = 10.09
  67     4323111323443231             0          153           153.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Ac LS Ac MO
  88     4323113234432311             0          109           109.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac MO
 100     3132344323443231             0           96            96.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac MO MO Ac LS Ac Gd Ac
 102     4323132344323111             0           93            93.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS Ac MO
 113     3132231323443231             0           76            76.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS Ac Gd Ac
 114     2332332332332231             0           75            75.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS LS Ac Ac LS Ac Ac LS Ac Ac LS Ac Ac LS
 126     3322311323443231            60            0            60.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS LS Ac Ac
 129     3132344323132231             0           56            56.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac LS Ac Gd Ac
 144     3322231323443231            45            0            45.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Ac LS LS LS Ac Ac
 146     4323113234443231             0           44            44.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO MO Ac LS Ac Gd Gd Ac LS Ac MO
 152     4322311323443231             0           40            40.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Ac LS LS Ac MO
 157     3231111323443231             0           38            38.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS Ac Gd Gd Gd Gd Ac LS Ac
 158     3323113234432231            37            0            37.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS LS Ac MO MO Ac LS Ac Gd Gd Ac LS Ac Ac
 165     3323113223443231            35            0            35.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS LS Ac Gd Gd Ac LS Ac Ac
 168     3323113234443231            34            0            34.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO MO Ac LS Ac Gd Gd Ac LS Ac Ac
 170     4323113223443231             0           34            34.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS LS Ac Gd Gd Ac LS Ac MO
 173     4323132344432311             0           33            33.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO MO Ac LS Ac Gd Ac LS Ac MO
 177     3323132344432311            31            0            31.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO MO Ac LS Ac Gd Ac LS Ac Ac
 178     3323132223443231            30            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS LS LS Ac Gd Ac LS Ac Ac
 188     4323132234432311             0           28             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO Ac LS LS Ac Gd Ac LS Ac MO
 192     3323132234432311            27            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS Ac MO MO Ac LS LS Ac Gd Ac LS Ac Ac
 207     3323443231322311            23            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Gd Ac LS LS Ac Gd Ac LS Ac MO MO Ac LS Ac Ac
 208     4323132344443231             0           23             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO MO MO Ac LS Ac Gd Ac LS Ac MO
 212     4323132223443231             0           23             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] Gd Ac LS Ac MO MO Ac LS LS LS Ac Gd Ac LS Ac MO

pflags

Known impossible pflags issue remains:

tconcentric.py  --lmx 1000 --dbgzero

[2016-11-03 12:00:50,558] p77254 {/Users/blyth/opticks/ana/seq.py:394} INFO - compare dbgseq 0 dbgmsk 0
.                pflags_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       184.12/44 =  4.18
  30                 1888             0          100           100.00        0.000 +- 0.000        0.000 +- 0.000  [4 ] TO|BT|SA|AB
  49                 18a8             0            5             0.00        0.000 +- 0.000        0.000 +- 0.000  [5 ] TO|BT|SA|SC|AB
  51                 1db0             4            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [7 ] TO|BT|BR|DR|SA|SC|RE
  52                 1c98             0            3             0.00        0.000 +- 0.000        0.000 +- 0.000  [6 ] TO|BT|BR|SA|RE|AB
  53                 1988             0            2             0.00        0.000 +- 0.000        0.000 +- 0.000  [5 ] TO|BT|DR|SA|AB
  54                 1408             0            2             0.00        0.000 +- 0.000        0.000 +- 0.000  [3 ] TO|BR|AB
  55                 1418             1            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [4 ] TO|BR|RE|AB
  56                 19a8             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [6 ] TO|BT|DR|SA|SC|AB
  57                 1c88             0            1             0.00        0.000 +- 0.000        0.000 +- 0.000  [5 ] TO|BT|BR|SA|AB
.                               1000000      1000000       184.12/44 =  4.18

FIXED seqhis

Following polz fix no more discrepant seqhis zeros:

simon:ana blyth$ tconcentric.py  --lmx 1000 --dbgzero
/Users/blyth/opticks/ana/tconcentric.py --lmx 1000 --dbgzero
[2016-11-03 12:00:44,838] p77254 {/Users/blyth/opticks/ana/tconcentric.py:20} INFO - tag 1 src torch det concentric c2max 2.0
[2016-11-03 12:00:44,838] p77254 {/Users/blyth/opticks/ana/evt.py:84} INFO -  seqs []
[2016-11-03 12:00:45,662] p77254 {/Users/blyth/opticks/ana/evt.py:382} INFO - skip init_selection as no seqs
[2016-11-03 12:00:47,620] p77254 {/Users/blyth/opticks/ana/evt.py:84} INFO -  seqs []
[2016-11-03 12:00:48,401] p77254 {/Users/blyth/opticks/ana/evt.py:382} INFO - skip init_selection as no seqs
CF a concentric/torch/  1 :  20161102-1955 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161102-1955 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-03 12:00:50,405] p77254 {/Users/blyth/opticks/ana/seq.py:394} INFO - compare dbgseq 0 dbgmsk 0
.                seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
.                               1000000      1000000       769.72/347 =  2.22
 612      8cccc5555cc5ccd             0            7             0.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT RE BT BT RE RE RE RE BT BT BT BT SA
 626        4cc55cc6ccccd             0            7             0.00        0.000 +- 0.000        0.000 +- 0.000  [13] TO BT BT BT BT SC BT BT RE RE BT BT AB
 630               45656d             7            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [6 ] TO SC RE SC RE AB
 665     cccc5cc6cc9ccccd             0            6             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR BT BT SC BT BT RE BT BT BT BT
 689       8cccc9cccc655d             6            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO RE RE SC BT BT BT BT DR BT BT BT BT SA
 699         8cc6cc55555d             0            6             0.00        0.000 +- 0.000        0.000 +- 0.000  [12] TO RE RE RE RE RE BT BT SC BT BT SA
 723           4cccc5556d             6            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [10] TO SC RE RE RE BT BT BT BT AB
 747       4555cccc6ccccd             5            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO BT BT BT BT SC BT BT BT BT RE RE RE AB
 764         4cccccc65ccd             0            5             0.00        0.000 +- 0.000        0.000 +- 0.000  [12] TO BT BT RE SC BT BT BT BT BT BT AB
 783     cccccc6cccc6cc6d             5            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO SC BT BT SC BT BT BT BT SC BT BT BT BT BT BT

Dump only lines with zero counts, a rich source of bugs:

simon:optickscore blyth$ tconcentric.py  --lmx 1000 --dbgzero
/Users/blyth/opticks/ana/tconcentric.py --lmx 1000 --dbgzero
[2016-11-02 13:41:46,821] p68095 {/Users/blyth/opticks/ana/tconcentric.py:24} INFO - tag 1 src torch det concentric c2max 2.0
CF a concentric/torch/  1 :  20161102-1256 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161102-1256 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
                 seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
                                1000000      1000000       706.24/348 =  2.03
 200        8cccccccbcccd             0           44            44.00        0.000 +- 0.000        0.000 +- 0.000  [13] TO BT BT BT BR BT BT BT BT BT BT BT SA
 466            4cccbcccd             0           11             0.00        0.000 +- 0.000        0.000 +- 0.000  [9 ] TO BT BT BT BR BT BT BT AB
 607      8cccc5555cc5ccd             0            7             0.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT RE BT BT RE RE RE RE BT BT BT BT SA
 642           4cccc5556d             7            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [10] TO SC RE RE RE BT BT BT BT AB
 660     cccc5cc6cc9ccccd             0            6             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR BT BT SC BT BT RE BT BT BT BT
 689       8cccc9cccc655d             6            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO RE RE SC BT BT BT BT DR BT BT BT BT SA
 697         8cc6cc55555d             0            6             0.00        0.000 +- 0.000        0.000 +- 0.000  [12] TO RE RE RE RE RE BT BT SC BT BT SA
 734     cc6cccccc96ccccd             5            0             0.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT SC DR BT BT BT BT BT BT SC BT BT
 757         4cccccc65ccd             0            5             0.00        0.000 +- 0.000        0.000 +- 0.000  [12] TO BT BT RE SC BT BT BT BT BT BT AB
 796       8cccc6cccbcccd             0            5             0.00        0.000 +- 0.000        0.000 +- 0.000  [14] TO BT BT BT BR BT BT BT SC BT BT BT BT SA
 800             4c555ccd             0            5             0.00        0.000 +- 0.000        0.000 +- 0.000  [8 ] TO BT BT RE RE RE BT AB

remaining discreps by cmx selection

23: truncation diff
200: opticks zero

simon:optickscore blyth$ tconcentric.py  --lmx 500 --cmx 5
/Users/blyth/opticks/ana/tconcentric.py --lmx 500 --cmx 5
[2016-11-02 13:57:06,819] p68134 {/Users/blyth/opticks/ana/tconcentric.py:24} INFO - tag 1 src torch det concentric c2max 2.0
CF a concentric/torch/  1 :  20161102-1256 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161102-1256 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
                 seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
                                1000000      1000000       706.24/348 =  2.03
   5              8cccc5d         20239        19674             8.00        1.029 +- 0.007        0.972 +- 0.007  [7 ] TO RE BT BT BT BT SA
   6              8cc6ccd         10397        10919            12.78        0.952 +- 0.009        1.050 +- 0.010  [7 ] TO BT BT SC BT BT SA
   7              86ccccd         10160        10825            21.07        0.939 +- 0.009        1.065 +- 0.010  [7 ] TO BT BT BT BT SC SA
  15          8cccccc6ccd          3190         2785            27.45        1.145 +- 0.020        0.873 +- 0.017  [11] TO BT BT SC BT BT BT BT BT BT SA
  20          8cccc6ccccd          1580         1805            14.96        0.875 +- 0.022        1.142 +- 0.027  [11] TO BT BT BT BT SC BT BT BT BT SA
  23      8cccccccc6ccccd          1577          998           130.19        1.580 +- 0.040        0.633 +- 0.020  [15] TO BT BT BT BT SC BT BT BT BT BT BT BT BT SA
  36              46ccccd           788          977            20.24        0.807 +- 0.029        1.240 +- 0.040  [7 ] TO BT BT BT BT SC AB
  51          4cccc6ccccd           384          308             8.35        1.247 +- 0.064        0.802 +- 0.046  [11] TO BT BT BT BT SC BT BT BT BT AB
  72             89cccc5d           234          183             6.24        1.279 +- 0.084        0.782 +- 0.058  [8 ] TO RE BT BT BT BT DR SA
  88     8cccc6cccc6ccccd           143           98             8.40        1.459 +- 0.122        0.685 +- 0.069  [16] TO BT BT BT BT SC BT BT BT BT SC BT BT BT BT SA
  90            8cc55cc5d           136          100             5.49        1.360 +- 0.117        0.735 +- 0.074  [9 ] TO RE BT BT RE RE BT BT SA
  98         8cccc5cc6ccd           122           83             7.42        1.470 +- 0.133        0.680 +- 0.075  [12] TO BT BT SC BT BT RE BT BT BT BT SA
 102            8cccc565d            84          119             6.03        0.706 +- 0.077        1.417 +- 0.130  [9 ] TO RE SC RE BT BT BT BT SA
 105     8cccccccc6cccc6d           116           67            13.12        1.731 +- 0.161        0.578 +- 0.071  [16] TO SC BT BT BT BT SC BT BT BT BT BT BT BT BT SA
 123              8c6cccd            89           60             5.64        1.483 +- 0.157        0.674 +- 0.087  [7 ] TO BT BT BT SC BT SA
 142        4cccccc6ccccd            75           46             6.95        1.630 +- 0.188        0.613 +- 0.090  [13] TO BT BT BT BT SC BT BT BT BT BT BT AB
 157     8cccc5cccc6ccccd            67           36             9.33        1.861 +- 0.227        0.537 +- 0.090  [16] TO BT BT BT BT SC BT BT BT BT RE BT BT BT BT SA
 159         8cccc66ccccd            35           66             9.51        0.530 +- 0.090        1.886 +- 0.232  [12] TO BT BT BT BT SC SC BT BT BT BT SA
 200        8cccccccbcccd             0           44            44.00        0.000 +- 0.000        0.000 +- 0.000  [13] TO BT BT BT BR BT BT BT BT BT BT BT SA
 225           8cccbc5ccd            17           36             6.81        0.472 +- 0.115        2.118 +- 0.353  [10] TO BT BT RE BT BR BT BT BT SA
 236            86cccc56d            17           33             5.12        0.515 +- 0.125        1.941 +- 0.338  [9 ] TO SC RE BT BT BT BT SC SA
 275           4cc6cc6ccd            27           12             5.77        2.250 +- 0.433        0.444 +- 0.128  [10] TO BT BT SC BT BT SC BT BT AB
                                1000000      1000000       706.24/348 =  2.03

truncation avoidance trick

Arranging maxbounce to be one less than maxrec avoids much of the truncation discrepancy

simon:optickscore blyth$ tconcentric.py  --lmx 500
/Users/blyth/opticks/ana/tconcentric.py --lmx 500
[2016-11-02 13:37:40,224] p68080 {/Users/blyth/opticks/ana/tconcentric.py:24} INFO - tag 1 src torch det concentric c2max 2.0
CF a concentric/torch/  1 :  20161102-1256 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
CF b concentric/torch/ -1 :  20161102-1256 maxbounce:15 maxrec:16 maxrng:3000000 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
                 seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
                                1000000      1000000       706.24/348 =  2.03
   0               8ccccd        669935       670752             0.50        0.999 +- 0.001        1.001 +- 0.001  [6 ] TO BT BT BT BT SA
   1                   4d         83950        84177             0.31        0.997 +- 0.003        1.003 +- 0.003  [2 ] TO AB
   2              8cccc6d         45599        45475             0.17        1.003 +- 0.005        0.997 +- 0.005  [7 ] TO SC BT BT BT BT SA
   3               4ccccd         28958        28871             0.13        1.003 +- 0.006        0.997 +- 0.006  [6 ] TO BT BT BT BT AB
   4                 4ccd         23187        23447             1.45        0.989 +- 0.006        1.011 +- 0.007  [4 ] TO BT BT AB
   5              8cccc5d         20239        19674             8.00        1.029 +- 0.007        0.972 +- 0.007  [7 ] TO RE BT BT BT BT SA
   6              8cc6ccd         10397        10919            12.78        0.952 +- 0.009        1.050 +- 0.010  [7 ] TO BT BT SC BT BT SA
   7              86ccccd         10160        10825            21.07        0.939 +- 0.009        1.065 +- 0.010  [7 ] TO BT BT BT BT SC SA
   8              89ccccd          7605         7685             0.42        0.990 +- 0.011        1.011 +- 0.012  [7 ] TO BT BT BT BT DR SA
   9             8cccc55d          5970         5911             0.29        1.010 +- 0.013        0.990 +- 0.013  [8 ] TO RE RE BT BT BT BT SA
  10                  45d          5780         5627             2.05        1.027 +- 0.014        0.974 +- 0.013  [3 ] TO RE AB
  11      8cccccccc9ccccd          5350         5289             0.35        1.012 +- 0.014        0.989 +- 0.014  [15] TO BT BT BT BT DR BT BT BT BT BT BT BT BT SA
  12              8cc5ccd          5113         4948             2.71        1.033 +- 0.014        0.968 +- 0.014  [7 ] TO BT BT RE BT BT SA
  13                  46d          4783         4808             0.07        0.995 +- 0.014        1.005 +- 0.014  [3 ] TO SC AB
  14          8cccc9ccccd          4525         4452             0.59        1.016 +- 0.015        0.984 +- 0.015  [11] TO BT BT BT BT DR BT BT BT BT SA
  15          8cccccc6ccd          3190         2785            27.45        1.145 +- 0.020        0.873 +- 0.017  [11] TO BT BT SC BT BT BT BT BT BT SA
  16             8cccc66d          2600         2642             0.34        0.984 +- 0.019        1.016 +- 0.020  [8 ] TO SC SC BT BT BT BT SA
  17              49ccccd          2313         2452             4.05        0.943 +- 0.020        1.060 +- 0.021  [7 ] TO BT BT BT BT DR AB
  18              4cccc6d          2027         2040             0.04        0.994 +- 0.022        1.006 +- 0.022  [7 ] TO SC BT BT BT BT AB
  19            8cccc555d          1819         1696             4.30        1.073 +- 0.025        0.932 +- 0.023  [9 ] TO RE RE RE BT BT BT BT SA
  20          8cccc6ccccd          1580         1805            14.96        0.875 +- 0.022        1.142 +- 0.027  [11] TO BT BT BT BT SC BT BT BT BT SA
  21                4cc6d          1733         1792             0.99        0.967 +- 0.023        1.034 +- 0.024  [5 ] TO SC BT BT AB
  22                 455d          1695         1619             1.74        1.047 +- 0.025        0.955 +- 0.024  [4 ] TO RE RE AB
  23      8cccccccc6ccccd          1577          998           130.19        1.580 +- 0.040        0.633 +- 0.020  [15] TO BT BT BT BT SC BT BT BT BT BT BT BT BT SA
  24          4cccc9ccccd          1310         1257             1.09        1.042 +- 0.029        0.960 +- 0.027  [11] TO BT BT BT BT DR BT BT BT BT AB
  25             8cc55ccd          1268         1262             0.01        1.005 +- 0.028        0.995 +- 0.028  [8 ] TO BT BT RE RE BT BT SA
  26             8cccc56d          1170         1104             1.92        1.060 +- 0.031        0.944 +- 0.028  [8 ] TO SC RE BT BT BT BT SA
  27                45ccd          1168         1090             2.69        1.072 +- 0.031        0.933 +- 0.028  [5 ] TO BT BT RE AB
  28          8cccccc5ccd          1104         1157             1.24        0.954 +- 0.029        1.048 +- 0.031  [11] TO BT BT RE BT BT BT BT BT BT SA
  29              4cc6ccd          1148         1045             4.84        1.099 +- 0.032        0.910 +- 0.028  [7 ] TO BT BT SC BT BT AB
  30             8cccc65d          1133         1066             2.04        1.063 +- 0.032        0.941 +- 0.029  [8 ] TO RE SC BT BT BT BT SA
  31                  4cd          1035         1056             0.21        0.980 +- 0.030        1.020 +- 0.031  [3 ] TO BT AB
  32            4cc9ccccd          1048         1048             0.00        1.000 +- 0.031        1.000 +- 0.031  [9 ] TO BT BT BT BT DR BT BT AB
  33                4cc5d          1036         1018             0.16        1.018 +- 0.032        0.983 +- 0.031  [5 ] TO RE BT BT AB
  34              4cccc5d           965         1023             1.69        0.943 +- 0.030        1.060 +- 0.033  [7 ] TO RE BT BT BT BT AB
  35                4cccd           995          918             3.10        1.084 +- 0.034        0.923 +- 0.030  [5 ] TO BT BT BT AB
  36              46ccccd           788          977            20.24        0.807 +- 0.029        1.240 +- 0.040  [7 ] TO BT BT BT BT SC AB
  37             869ccccd           915          893             0.27        1.025 +- 0.034        0.976 +- 0.033  [8 ] TO BT BT BT BT DR SC SA
  38             8cc6cc6d           803          809             0.02        0.993 +- 0.035        1.007 +- 0.035  [8 ] TO SC BT BT SC BT BT SA
  39             86cccc6d           725          764             1.02        0.949 +- 0.035        1.054 +- 0.038  [8 ] TO SC BT BT BT BT SC SA
  40                46ccd           635          689             2.20        0.922 +- 0.037        1.085 +- 0.041  [5 ] TO BT BT SC AB
  41              4cc5ccd           611          678             3.48        0.901 +- 0.036        1.110 +- 0.043  [7 ] TO BT BT RE BT BT AB
  42     8cccc6cccc9ccccd           571          575             0.01        0.993 +- 0.042        1.007 +- 0.042  [16] TO BT BT BT BT DR BT BT BT BT SC BT BT BT BT SA

zeros in long tail issue, from truncation ?

simon:ana blyth$ t tconcentric-tt
tconcentric-tt ()
{
    tconcentric-t --bouncemax 15 --recordmax 15 $*
}
simon:ana blyth$ tconcentric.py --lmx 300 --dbgzero
/Users/blyth/opticks/ana/tconcentric.py --lmx 300 --dbgzero
[2016-11-02 12:21:32,078] p63764 {/Users/blyth/opticks/ana/tconcentric.py:24} INFO - tag 1 src torch det concentric c2max 2.0
[2016-11-02 12:21:37,011] p63764 {/Users/blyth/opticks/ana/cf.py:39} INFO - CF a concentric/torch/  1 :  20161101-2009 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
[2016-11-02 12:21:37,011] p63764 {/Users/blyth/opticks/ana/cf.py:40} INFO - CF b concentric/torch/ -1 :  20161101-2009 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
          seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
  42      8ccc6cccc9ccccd             0          575           575.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT DR BT BT BT BT SC BT BT BT SA
  43     8cccc6cccc9ccccd           571            0           571.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR BT BT BT BT SC BT BT BT BT SA
  50      8ccccccc9cccc6d             0          398           398.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO SC BT BT BT BT DR BT BT BT BT BT BT BT SA
  53     8cccccccc9cccc6d           369            0           369.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO SC BT BT BT BT DR BT BT BT BT BT BT BT BT SA
  73     8cccc5cccc9ccccd           236            0           236.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR BT BT BT BT RE BT BT BT BT SA
  76      8ccc5cccc9ccccd             0          204           204.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT DR BT BT BT BT RE BT BT BT SA
  80      ccccccccc9ccccd             0          172           172.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT DR BT BT BT BT BT BT BT BT BT
  90      8ccccccc9cccc5d             0          144           144.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO RE BT BT BT BT DR BT BT BT BT BT BT BT SA
  91     c9cccccccc9ccccd           144            0           144.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR BT BT BT BT BT BT BT BT DR BT
  92     8cccc6cccc6ccccd           143            0           143.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT SC BT BT BT BT SC BT BT BT BT SA
  96     8cccccccc9cccc5d           135            0           135.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO RE BT BT BT BT DR BT BT BT BT BT BT BT BT SA
 105      8c6cccccc9ccccd             0          120           120.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT DR BT BT BT BT BT BT SC BT SA
 110     8cccccccc6cccc6d           116            0           116.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO SC BT BT BT BT SC BT BT BT BT BT BT BT BT SA
 112      8ccccc6cc9ccccd             0          114           114.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT DR BT BT SC BT BT BT BT BT SA
 116     8cccccc6cc9ccccd           107            0           107.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR BT BT SC BT BT BT BT BT BT SA
 120     8cc6cccccc9ccccd           103            0           103.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR BT BT BT BT BT BT SC BT BT SA
 121     86cccccccc9ccccd           102            0           102.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR BT BT BT BT BT BT BT BT SC SA
 124      8ccc6cccc6ccccd             0           98            98.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT SC BT BT BT BT SC BT BT BT SA
 125      8ccccccc69ccccd             0           98            98.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT DR SC BT BT BT BT BT BT BT SA
 133      ccc55cccc9ccccd             0           88            88.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT DR BT BT BT BT RE RE BT BT BT
 136      8ccccccc96ccccd             0           85            85.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT SC DR BT BT BT BT BT BT BT SA
 137      8ccccccc9cc6ccd             0           84            84.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT SC BT BT DR BT BT BT BT BT BT BT SA
 139     8cccccccc69ccccd            83            0            83.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR SC BT BT BT BT BT BT BT BT SA
 144     cccc55cccc9ccccd            80            0            80.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR BT BT BT BT RE RE BT BT BT BT
 146     8cccccccc9cc6ccd            80            0            80.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT SC BT BT DR BT BT BT BT BT BT BT BT SA
 167      8c5cccccc9ccccd             0           68            68.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT DR BT BT BT BT BT BT RE BT SA
 168     8cccc5cccc6ccccd            67            0            67.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT SC BT BT BT BT RE BT BT BT BT SA
simon:ana blyth$ tconcentric.py --lmx 300
/Users/blyth/opticks/ana/tconcentric.py --lmx 300
[2016-11-02 11:45:54,982] p63687 {/Users/blyth/opticks/ana/tconcentric.py:24} INFO - tag 1 src torch det concentric c2max 2.0
[2016-11-02 11:45:59,898] p63687 {/Users/blyth/opticks/ana/cf.py:38} INFO - CF a concentric/torch/  1 :  20161101-2009 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
[2016-11-02 11:45:59,898] p63687 {/Users/blyth/opticks/ana/cf.py:39} INFO - CF b concentric/torch/ -1 :  20161101-2009 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
          seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
   0               8ccccd        669935       670752             0.50        0.999 +- 0.001        1.001 +- 0.001  [6 ] TO BT BT BT BT SA
   1                   4d         83950        84177             0.31        0.997 +- 0.003        1.003 +- 0.003  [2 ] TO AB
   2              8cccc6d         45599        45475             0.17        1.003 +- 0.005        0.997 +- 0.005  [7 ] TO SC BT BT BT BT SA
   3               4ccccd         28958        28871             0.13        1.003 +- 0.006        0.997 +- 0.006  [6 ] TO BT BT BT BT AB
   4                 4ccd         23187        23447             1.45        0.989 +- 0.006        1.011 +- 0.007  [4 ] TO BT BT AB
   5              8cccc5d         20239        19674             8.00        1.029 +- 0.007        0.972 +- 0.007  [7 ] TO RE BT BT BT BT SA
   6              8cc6ccd         10397        10919            12.78        0.952 +- 0.009        1.050 +- 0.010  [7 ] TO BT BT SC BT BT SA
   7              86ccccd         10160        10825            21.07        0.939 +- 0.009        1.065 +- 0.010  [7 ] TO BT BT BT BT SC SA
   8              89ccccd          7605         7685             0.42        0.990 +- 0.011        1.011 +- 0.012  [7 ] TO BT BT BT BT DR SA

  ...  selecting the big c2 contributors, are being killed by zeros in tail ... possibly truncation related
 # Opticks reporting extra BT ??? Or CFG4 missing a BT (prior to SA, or after DR???)

  42      8ccc6cccc9ccccd             0          575           575.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT DR BT BT BT BT SC BT BT BT SA
  43     8cccc6cccc9ccccd           571            0           571.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR BT BT BT BT SC BT BT BT BT SA

  50      8ccccccc9cccc6d             0          398           398.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO SC BT BT BT BT DR BT BT BT BT BT BT BT SA
  53     8cccccccc9cccc6d           369            0           369.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO SC BT BT BT BT DR BT BT BT BT BT BT BT BT SA

  76      8ccc5cccc9ccccd             0          204           204.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT DR BT BT BT BT RE BT BT BT SA
  73     8cccc5cccc9ccccd           236            0           236.00        0.000 +- 0.000        0.000 +- 0.000  [16] TO BT BT BT BT DR BT BT BT BT RE BT BT BT BT SA


  80      ccccccccc9ccccd             0          172           172.00        0.000 +- 0.000        0.000 +- 0.000  [15] TO BT BT BT BT DR BT BT BT BT BT BT BT BT BT
    # trunc without counterpart ??


                         1000000      1000000      6683.62/355 = 18.83

with flags fixed

Perhaps an SC discrep ?

[2016-11-01 21:09:04,278] p62207 {/Users/blyth/opticks/ana/cf.py:36} INFO - CF a concentric/torch/  1 :  20161101-2009 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
[2016-11-01 21:09:04,278] p62207 {/Users/blyth/opticks/ana/cf.py:37} INFO - CF b concentric/torch/ -1 :  20161101-2009 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
[2016-11-01 21:09:04,288] p62207 {/Users/blyth/opticks/ana/seq.py:279} INFO - SeqTable.compare forming cf ad.code len(u) 5099
[2016-11-01 21:09:04,353] p62207 {/Users/blyth/opticks/ana/seq.py:284} INFO - SeqTable.compare forming cf af.code DONE
          seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
              8ccccd        669935       670752             0.50         1.00 +- 0.00         1.00 +- 0.00  [6 ] TO BT BT BT BT SA
                  4d         83950        84177             0.31         1.00 +- 0.00         1.00 +- 0.00  [2 ] TO AB
             8cccc6d         45599        45475             0.17         1.00 +- 0.00         1.00 +- 0.00  [7 ] TO SC BT BT BT BT SA
              4ccccd         28958        28871             0.13         1.00 +- 0.01         1.00 +- 0.01  [6 ] TO BT BT BT BT AB
                4ccd         23187        23447             1.45         0.99 +- 0.01         1.01 +- 0.01  [4 ] TO BT BT AB
             8cccc5d         20239        19674             8.00         1.03 +- 0.01         0.97 +- 0.01  [7 ] TO RE BT BT BT BT SA
     ##      8cc6ccd         10397        10919            12.78         0.95 +- 0.01         1.05 +- 0.01  [7 ] TO BT BT SC BT BT SA
     ##      86ccccd         10160        10825            21.07         0.94 +- 0.01         1.07 +- 0.01  [7 ] TO BT BT BT BT SC SA
             89ccccd          7605         7685             0.42         0.99 +- 0.01         1.01 +- 0.01  [7 ] TO BT BT BT BT DR SA
            8cccc55d          5970         5911             0.29         1.01 +- 0.01         0.99 +- 0.01  [8 ] TO RE RE BT BT BT BT SA
                 45d          5780         5627             2.05         1.03 +- 0.01         0.97 +- 0.01  [3 ] TO RE AB
     8cccccccc9ccccd          5350         5451             0.94         0.98 +- 0.01         1.02 +- 0.01  [15] TO BT BT BT BT DR BT BT BT BT BT BT BT BT SA
             8cc5ccd          5113         4948             2.71         1.03 +- 0.01         0.97 +- 0.01  [7 ] TO BT BT RE BT BT SA
                 46d          4783         4808             0.07         0.99 +- 0.01         1.01 +- 0.01  [3 ] TO SC AB
         8cccc9ccccd          4525         4452             0.59         1.02 +- 0.02         0.98 +- 0.01  [11] TO BT BT BT BT DR BT BT BT BT SA
     ##  8cccccc6ccd          3190         2785            27.45         1.15 +- 0.02         0.87 +- 0.02  [11] TO BT BT SC BT BT BT BT BT BT SA
            8cccc66d          2600         2642             0.34         0.98 +- 0.02         1.02 +- 0.02  [8 ] TO SC SC BT BT BT BT SA
             49ccccd          2313         2452             4.05         0.94 +- 0.02         1.06 +- 0.02  [7 ] TO BT BT BT BT DR AB
             4cccc6d          2027         2040             0.04         0.99 +- 0.02         1.01 +- 0.02  [7 ] TO SC BT BT BT BT AB
           8cccc555d          1819         1696             4.30         1.07 +- 0.03         0.93 +- 0.02  [9 ] TO RE RE RE BT BT BT BT SA
                         1000000      1000000        18.83

FIXED : funny badflag 00

Using “–bouncemax 15 –recordmax 16” is causing some badflag zeros at python level only

  • could be bumping into signbit somewhere
  • nope count_unique was going via float and loosing precision with large uint64 see ana/nbase.py:test_count_unique

avoiding truncation by pushing bouncemax and recordmax

tconcentric-tt ()
{
    tconcentric-t --bouncemax 15 --recordmax 16 $*
}
.    seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
          8ccccd        669935       670752             0.50         1.00 +- 0.00         1.00 +- 0.00  [6 ] TO BT BT BT BT SA
              4d         83950        84177             0.31         1.00 +- 0.00         1.00 +- 0.00  [2 ] TO AB
         8cccc6d         45599        45475             0.17         1.00 +- 0.00         1.00 +- 0.00  [7 ] TO SC BT BT BT BT SA
          4ccccd         28958        28871             0.13         1.00 +- 0.01         1.00 +- 0.01  [6 ] TO BT BT BT BT AB
            4ccd         23187        23447             1.45         0.99 +- 0.01         1.01 +- 0.01  [4 ] TO BT BT AB
         8cccc5d         20239        19674             8.00         1.03 +- 0.01         0.97 +- 0.01  [7 ] TO RE BT BT BT BT SA
         8cc6ccd         10397        10919            12.78         0.95 +- 0.01         1.05 +- 0.01  [7 ] TO BT BT SC BT BT SA   ##
         86ccccd         10160        10825            21.07         0.94 +- 0.01         1.07 +- 0.01  [7 ] TO BT BT BT BT SC SA   ##
         89ccccd          7605         7685             0.42         0.99 +- 0.01         1.01 +- 0.01  [7 ] TO BT BT BT BT DR SA
        8cccc55d          5970         5911             0.29         1.01 +- 0.01         0.99 +- 0.01  [8 ] TO RE RE BT BT BT BT SA
             45d          5780         5627             2.05         1.03 +- 0.01         0.97 +- 0.01  [3 ] TO RE AB
 8cccccccc9ccd00          5350         5289             0.35         1.01 +- 0.01         0.99 +- 0.01  [15] ?0? ?0? TO BT BT DR BT BT BT BT BT BT BT BT SA
         8cc5ccd          5113         4948             2.71         1.03 +- 0.01         0.97 +- 0.01  [7 ] TO BT BT RE BT BT SA
             46d          4783         4808             0.07         0.99 +- 0.01         1.01 +- 0.01  [3 ] TO SC AB
     8cccc9ccccd          4525         4452             0.59         1.02 +- 0.02         0.98 +- 0.01  [11] TO BT BT BT BT DR BT BT BT BT SA
     8cccccc6ccd          3190         2785            27.45         1.15 +- 0.02         0.87 +- 0.02  [11] TO BT BT SC BT BT BT BT BT BT SA   ##
        8cccc66d          2600         2642             0.34         0.98 +- 0.02         1.02 +- 0.02  [8 ] TO SC SC BT BT BT BT SA
         49ccccd          2313         2452             4.05         0.94 +- 0.02         1.06 +- 0.02  [7 ] TO BT BT BT BT DR AB
         4cccc6d          2027         2040             0.04         0.99 +- 0.02         1.01 +- 0.02  [7 ] TO SC BT BT BT BT AB
       8cccc555d          1819         1696             4.30         1.07 +- 0.03         0.93 +- 0.02  [9 ] TO RE RE RE BT BT BT BT SA
                      999037       999146         2.02

switch to unified model fixes incorrectly specular DR

  • push stats to 1M, biggest discreps from trunc, possible from SC also
[2016-11-01 19:01:44,889] p60660 {/Users/blyth/opticks/ana/cf.py:36} INFO - CF a concentric/torch/  1 :  20161101-1901 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
[2016-11-01 19:01:44,889] p60660 {/Users/blyth/opticks/ana/cf.py:37} INFO - CF b concentric/torch/ -1 :  20161101-1901 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
          seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
              8ccccd        669935       671359             1.51         1.00 +- 0.00         1.00 +- 0.00  [6 ] TO BT BT BT BT SA
                  4d         83950        84265             0.59         1.00 +- 0.00         1.00 +- 0.00  [2 ] TO AB
             8cccc6d         45599        45244             1.39         1.01 +- 0.00         0.99 +- 0.00  [7 ] TO SC BT BT BT BT SA
              4ccccd         28958        28822             0.32         1.00 +- 0.01         1.00 +- 0.01  [6 ] TO BT BT BT BT AB
                4ccd         23187        23366             0.69         0.99 +- 0.01         1.01 +- 0.01  [4 ] TO BT BT AB
             8cccc5d         20239        19818             4.42         1.02 +- 0.01         0.98 +- 0.01  [7 ] TO RE BT BT BT BT SA
          cccc9ccccd         14235        13343            28.85         1.07 +- 0.01         0.94 +- 0.01  [10] TO BT BT BT BT DR BT BT BT BT   ###  trunc
             8cc6ccd         10397        10930            13.32         0.95 +- 0.01         1.05 +- 0.01  [7 ] TO BT BT SC BT BT SA            ##  SC
             86ccccd         10160        10725            15.28         0.95 +- 0.01         1.06 +- 0.01  [7 ] TO BT BT BT BT SC SA            ##  SC
             89ccccd          7605         7600             0.00         1.00 +- 0.01         1.00 +- 0.01  [7 ] TO BT BT BT BT DR SA
            8cccc55d          5970         5847             1.28         1.02 +- 0.01         0.98 +- 0.01  [8 ] TO RE RE BT BT BT BT SA
                 45d          5780         5616             2.36         1.03 +- 0.01         0.97 +- 0.01  [3 ] TO RE AB
             8cc5ccd          5113         4972             1.97         1.03 +- 0.01         0.97 +- 0.01  [7 ] TO BT BT RE BT BT SA
                 46d          4783         4847             0.43         0.99 +- 0.01         1.01 +- 0.01  [3 ] TO SC AB
          cccc6ccccd          4404         3549            91.92         1.24 +- 0.02         0.81 +- 0.01  [10] TO BT BT BT BT SC BT BT BT BT   ### trunc
          cccccc6ccd          3588         3158            27.41         1.14 +- 0.02         0.88 +- 0.02  [10] TO BT BT SC BT BT BT BT BT BT   ### trunc
            8cccc66d          2600         2641             0.32         0.98 +- 0.02         1.02 +- 0.02  [8 ] TO SC SC BT BT BT BT SA
             49ccccd          2313         2425             2.65         0.95 +- 0.02         1.05 +- 0.02  [7 ] TO BT BT BT BT DR AB
             4cccc6d          2027         2054             0.18         0.99 +- 0.02         1.01 +- 0.02  [7 ] TO SC BT BT BT BT AB
           8cccc555d          1819         1684             5.20         1.08 +- 0.03         0.93 +- 0.02  [9 ] TO RE RE RE BT BT BT BT SA
                         1000000      1000000         4.22
  • remaining low level discrep from scattering in MO ?
[2016-11-01 18:54:04,720] p60414 {/Users/blyth/opticks/ana/cf.py:36} INFO - CF a concentric/torch/  1 :  20161101-1853 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
[2016-11-01 18:54:04,720] p60414 {/Users/blyth/opticks/ana/cf.py:37} INFO - CF b concentric/torch/ -1 :  20161101-1853 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
          seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
              8ccccd         67144        67082             0.03         1.00 +- 0.00         1.00 +- 0.00  [6 ] TO BT BT BT BT SA
                  4d          8398         8355             0.11         1.01 +- 0.01         0.99 +- 0.01  [2 ] TO AB
             8cccc6d          4567         4564             0.00         1.00 +- 0.01         1.00 +- 0.01  [7 ] TO SC BT BT BT BT SA
              4ccccd          2912         2935             0.09         0.99 +- 0.02         1.01 +- 0.02  [6 ] TO BT BT BT BT AB
                4ccd          2264         2369             2.38         0.96 +- 0.02         1.05 +- 0.02  [4 ] TO BT BT AB
             8cccc5d          2056         1994             0.95         1.03 +- 0.02         0.97 +- 0.02  [7 ] TO RE BT BT BT BT SA
          cccc9ccccd          1402         1311             3.05         1.07 +- 0.03         0.94 +- 0.03  [10] TO BT BT BT BT DR BT BT BT BT
             86ccccd           961         1109            10.58         0.87 +- 0.03         1.15 +- 0.03  [7 ] TO BT BT BT BT SC SA             ## SC in MO ??? more in cfg4
             8cc6ccd          1035         1091             1.48         0.95 +- 0.03         1.05 +- 0.03  [7 ] TO BT BT SC BT BT SA
             89ccccd           711          783             3.47         0.91 +- 0.03         1.10 +- 0.04  [7 ] TO BT BT BT BT DR SA
            8cccc55d           601          616             0.18         0.98 +- 0.04         1.02 +- 0.04  [8 ] TO RE RE BT BT BT BT SA
                 45d           554          537             0.26         1.03 +- 0.04         0.97 +- 0.04  [3 ] TO RE AB
                 46d           539          484             2.96         1.11 +- 0.05         0.90 +- 0.04  [3 ] TO SC AB
             8cc5ccd           485          478             0.05         1.01 +- 0.05         0.99 +- 0.05  [7 ] TO BT BT RE BT BT SA
          cccc6ccccd           461          357            13.22         1.29 +- 0.06         0.77 +- 0.04  [10] TO BT BT BT BT SC BT BT BT BT    ##  SC in MO ??? less in cfg4
          cccccc6ccd           346          350             0.02         0.99 +- 0.05         1.01 +- 0.05  [10] TO BT BT SC BT BT BT BT BT BT
            8cccc66d           280          254             1.27         1.10 +- 0.07         0.91 +- 0.06  [8 ] TO SC SC BT BT BT BT SA
             49ccccd           207          234             1.65         0.88 +- 0.06         1.13 +- 0.07  [7 ] TO BT BT BT BT DR AB
             4cccc6d           218          200             0.78         1.09 +- 0.07         0.92 +- 0.06  [7 ] TO SC BT BT BT BT AB
               4cc6d           194          181             0.45         1.07 +- 0.08         0.93 +- 0.07  [5 ] TO SC BT BT AB
                          100000       100000         1.98

post DR discrep

tconcentric-v and selecting 89ccccd “TO BT BT BT BT DR SA” shows some extreme DR kinks for Opticks.

Checking in tconcentric_distrib.py for related category 49ccccd “TO BT BT BT BT DR AB” shows that cfg4 DR is happening specularly, with all the AB being along the incoming line. So for cfg4 DR behaves like BR.

tconcentric.py --dbgseqhis 9ccccd

      seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
      cccc9ccccd          1396         2267           207.11         0.62 +- 0.02         1.62 +- 0.03  [10] TO BT BT BT BT DR BT BT BT BT
         89ccccd           725            0           725.00         0.00 +- 0.00         0.00 +- 0.00  [7 ] TO BT BT BT BT DR SA
         49ccccd           221          115            33.44         1.92 +- 0.13         0.52 +- 0.05  [7 ] TO BT BT BT BT DR AB
      5ccc9ccccd             0          201           201.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT BT RE
       4cc9ccccd            83           79             0.10         1.05 +- 0.12         0.95 +- 0.11  [9 ] TO BT BT BT BT DR BT BT AB
        869ccccd            77           36            14.88         2.14 +- 0.24         0.47 +- 0.08  [8 ] TO BT BT BT BT DR SC SA
      c6cc9ccccd            75           45             7.50         1.67 +- 0.19         0.60 +- 0.09  [10] TO BT BT BT BT DR BT BT SC BT
      c5cc9ccccd            34           21             3.07         1.62 +- 0.28         0.62 +- 0.13  [10] TO BT BT BT BT DR BT BT RE BT
      ccc69ccccd            32           19             3.31         1.68 +- 0.30         0.59 +- 0.14  [10] TO BT BT BT BT DR SC BT BT BT
      ccc99ccccd            19            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR DR BT BT BT
      55cc9ccccd            12            8             0.00         1.50 +- 0.43         0.67 +- 0.24  [10] TO BT BT BT BT DR BT BT RE RE
        899ccccd            10            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [8 ] TO BT BT BT BT DR DR SA
        469ccccd             5           10             0.00         0.50 +- 0.22         2.00 +- 0.63  [8 ] TO BT BT BT BT DR SC AB
      bccc9ccccd             9            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT BT BR
      45cc9ccccd             8            2             0.00         4.00 +- 1.41         0.25 +- 0.18  [10] TO BT BT BT BT DR BT BT RE AB
        4c9ccccd             8            4             0.00         2.00 +- 0.71         0.50 +- 0.25  [8 ] TO BT BT BT BT DR BT AB
        8b9ccccd             7            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [8 ] TO BT BT BT BT DR BR SA
      46cc9ccccd             6            3             0.00         2.00 +- 0.82         0.50 +- 0.29  [10] TO BT BT BT BT DR BT BT SC AB
      4ccc9ccccd             6            2             0.00         3.00 +- 1.22         0.33 +- 0.24  [10] TO BT BT BT BT DR BT BT BT AB
        499ccccd             5            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [8 ] TO BT BT BT BT DR DR AB
                      100000       100000        17.81

seqhis after optical surfaces hookup with test geometry

With single direction source (like tlaser) behavior very similar, as geometry is symmetrical. But this is easier for some distrib angle comparisons

[2016-11-01 17:54:40,804] p58713 {/Users/blyth/opticks/ana/cf.py:36} INFO - CF a concentric/torch/  1 :  20161101-1754 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
[2016-11-01 17:54:40,804] p58713 {/Users/blyth/opticks/ana/cf.py:37} INFO - CF b concentric/torch/ -1 :  20161101-1754 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
          seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
              8ccccd         67144        67106             0.01         1.00 +- 0.00         1.00 +- 0.00  [6 ] TO BT BT BT BT SA
                  4d          8398         8316             0.40         1.01 +- 0.01         0.99 +- 0.01  [2 ] TO AB
             8cccc6d          4567         4612             0.22         0.99 +- 0.01         1.01 +- 0.01  [7 ] TO SC BT BT BT BT SA
              4ccccd          2912         2879             0.19         1.01 +- 0.02         0.99 +- 0.02  [6 ] TO BT BT BT BT AB
                4ccd          2264         2285             0.10         0.99 +- 0.02         1.01 +- 0.02  [4 ] TO BT BT AB
          cccc9ccccd          1402         2278           208.53         0.62 +- 0.02         1.62 +- 0.03  [10] TO BT BT BT BT DR BT BT BT BT
             8cccc5d          2056         2050             0.01         1.00 +- 0.02         1.00 +- 0.02  [7 ] TO RE BT BT BT BT SA
             86ccccd           961         1105            10.04         0.87 +- 0.03         1.15 +- 0.03  [7 ] TO BT BT BT BT SC SA
             8cc6ccd          1035         1036             0.00         1.00 +- 0.03         1.00 +- 0.03  [7 ] TO BT BT SC BT BT SA
             89ccccd           711            0           711.00         0.00 +- 0.00         0.00 +- 0.00  [7 ] TO BT BT BT BT DR SA
            8cccc55d           601          641             1.29         0.94 +- 0.04         1.07 +- 0.04  [8 ] TO RE RE BT BT BT BT SA
                 45d           554          554             0.00         1.00 +- 0.04         1.00 +- 0.04  [3 ] TO RE AB
                 46d           539          435            11.10         1.24 +- 0.05         0.81 +- 0.04  [3 ] TO SC AB
             8cc5ccd           485          468             0.30         1.04 +- 0.05         0.96 +- 0.04  [7 ] TO BT BT RE BT BT SA
          cccc6ccccd           461          333            20.63         1.38 +- 0.06         0.72 +- 0.04  [10] TO BT BT BT BT SC BT BT BT BT
          cccccc6ccd           346          339             0.07         1.02 +- 0.05         0.98 +- 0.05  [10] TO BT BT SC BT BT BT BT BT BT
            8cccc66d           280          267             0.31         1.05 +- 0.06         0.95 +- 0.06  [8 ] TO SC SC BT BT BT BT SA
             4cccc6d           218          176             4.48         1.24 +- 0.08         0.81 +- 0.06  [7 ] TO SC BT BT BT BT AB
          5ccc9ccccd             0          207           207.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT BT RE
             49ccccd           207          117            25.00         1.77 +- 0.12         0.57 +- 0.05  [7 ] TO BT BT BT BT DR AB
                          100000       100000        16.91

After hookup of Optical Surfaces with test geometry, the top line 4% is fixed. This is with random direction source:

[2016-11-01 17:22:57,862] p57567 {/Users/blyth/opticks/ana/cf.py:36} INFO - CF a concentric/torch/  1 :  20161101-1722 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
[2016-11-01 17:22:57,862] p57567 {/Users/blyth/opticks/ana/cf.py:37} INFO - CF b concentric/torch/ -1 :  20161101-1722 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
          seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
              8ccccd         67138        67065             0.04         1.00 +- 0.00         1.00 +- 0.00  [6 ] TO BT BT BT BT SA
                  4d          8398         8284             0.78         1.01 +- 0.01         0.99 +- 0.01  [2 ] TO AB
             8cccc6d          4574         4630             0.34         0.99 +- 0.01         1.01 +- 0.01  [7 ] TO SC BT BT BT BT SA
              4ccccd          2912         2916             0.00         1.00 +- 0.02         1.00 +- 0.02  [6 ] TO BT BT BT BT AB
                4ccd          2264         2374             2.61         0.95 +- 0.02         1.05 +- 0.02  [4 ] TO BT BT AB
          cccc9ccccd          1396         2267           207.11         0.62 +- 0.02         1.62 +- 0.03  [10] TO BT BT BT BT DR BT BT BT BT         ## truncation handling ???
             8cccc5d          2030         2048             0.08         0.99 +- 0.02         1.01 +- 0.02  [7 ] TO RE BT BT BT BT SA
             86ccccd           983         1086             5.13         0.91 +- 0.03         1.10 +- 0.03  [7 ] TO BT BT BT BT SC SA
             8cc6ccd          1013         1058             0.98         0.96 +- 0.03         1.04 +- 0.03  [7 ] TO BT BT SC BT BT SA
             89ccccd           725            0           725.00         0.00 +- 0.00         0.00 +- 0.00  [7 ] TO BT BT BT BT DR SA                   ## post DR very different, ouch zero
            8cccc55d           612          635             0.42         0.96 +- 0.04         1.04 +- 0.04  [8 ] TO RE RE BT BT BT BT SA
                 45d           553          552             0.00         1.00 +- 0.04         1.00 +- 0.04  [3 ] TO RE AB
             8cc5ccd           510          520             0.10         0.98 +- 0.04         1.02 +- 0.04  [7 ] TO BT BT RE BT BT SA
                 46d           511          445             4.56         1.15 +- 0.05         0.87 +- 0.04  [3 ] TO SC AB
          cccc6ccccd           472          348            18.75         1.36 +- 0.06         0.74 +- 0.04  [10] TO BT BT BT BT SC BT BT BT BT
          cccccc6ccd           355          333             0.70         1.07 +- 0.06         0.94 +- 0.05  [10] TO BT BT SC BT BT BT BT BT BT
            8cccc66d           278          254             1.08         1.09 +- 0.07         0.91 +- 0.06  [8 ] TO SC SC BT BT BT BT SA
             49ccccd           221          115            33.44         1.92 +- 0.13         0.52 +- 0.05  [7 ] TO BT BT BT BT DR AB                  ## post DR very different
           8cccc555d           180          205             1.62         0.88 +- 0.07         1.14 +- 0.08  [9 ] TO RE RE RE BT BT BT BT SA
             4cccc6d           200          202             0.01         0.99 +- 0.07         1.01 +- 0.07  [7 ] TO SC BT BT BT BT AB
                         100000       100000        17.81

Two issues to investigate

  • post DR very different
  • truncation handling difference

seqhis

tconcentric.py

[2016-10-31 18:47:36,561] p24396 {/Users/blyth/opticks/ana/cf.py:36} INFO - CF a concentric/torch/  1 :  20161031-1837 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
[2016-10-31 18:47:36,562] p24396 {/Users/blyth/opticks/ana/cf.py:37} INFO - CF b concentric/torch/ -1 :  20161031-1837 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
          seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
              8ccccd         67105        69977            60.17         0.96 +- 0.00         1.04 +- 0.00  [6 ] TO BT BT BT BT SA
                  4d          8398         8346             0.16         1.01 +- 0.01         0.99 +- 0.01  [2 ] TO AB
             8cccc6d          4573         4732             2.72         0.97 +- 0.01         1.03 +- 0.02  [7 ] TO SC BT BT BT BT SA
              4ccccd          2935         2876             0.60         1.02 +- 0.02         0.98 +- 0.02  [6 ] TO BT BT BT BT AB
                4ccd          2264         2348             1.53         0.96 +- 0.02         1.04 +- 0.02  [4 ] TO BT BT AB
             8cccc5d          2029         2102             1.29         0.97 +- 0.02         1.04 +- 0.02  [7 ] TO RE BT BT BT BT SA
     ##   cccc9ccccd          1389            0          1389.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT BT BT
             8cc6ccd          1012         1137             7.27         0.89 +- 0.03         1.12 +- 0.03  [7 ] TO BT BT SC BT BT SA
             86ccccd           992         1084             4.08         0.92 +- 0.03         1.09 +- 0.03  [7 ] TO BT BT BT BT SC SA
     ##      89ccccd           725            0           725.00         0.00 +- 0.00         0.00 +- 0.00  [7 ] TO BT BT BT BT DR SA
            8cccc55d           612          602             0.08         1.02 +- 0.04         0.98 +- 0.04  [8 ] TO RE RE BT BT BT BT SA
                 45d           553          555             0.00         1.00 +- 0.04         1.00 +- 0.04  [3 ] TO RE AB
                 46d           511          494             0.29         1.03 +- 0.05         0.97 +- 0.04  [3 ] TO SC AB
             8cc5ccd           510          482             0.79         1.06 +- 0.05         0.95 +- 0.04  [7 ] TO BT BT RE BT BT SA
          cccc6ccccd           474          372            12.30         1.27 +- 0.06         0.78 +- 0.04  [10] TO BT BT BT BT SC BT BT BT BT
          cccccc6ccd           355          308             3.33         1.15 +- 0.06         0.87 +- 0.05  [10] TO BT BT SC BT BT BT BT BT BT
            8cccc66d           278          238             3.10         1.17 +- 0.07         0.86 +- 0.06  [8 ] TO SC SC BT BT BT BT SA
             49ccccd           222            0           222.00         0.00 +- 0.00         0.00 +- 0.00  [7 ] TO BT BT BT BT DR AB
             4cccc6d           201          210             0.20         0.96 +- 0.07         1.04 +- 0.07  [7 ] TO SC BT BT BT BT AB
               4cc6d           196          195             0.00         1.01 +- 0.07         0.99 +- 0.07  [5 ] TO SC BT BT AB
                          100000       100000        40.19

lack DR due to lack of complete Optical Surface ? with test geometry

2016-10-31 20:46:48.434 INFO  [460591] [CMaterialTable::init@28] CMaterialTable::init  numOfMaterials 4 prefix /dd/Materials/
2016-10-31 20:46:48.434 INFO  [460591] [CSkinSurfaceTable::init@25] CSkinSurfaceTable::init nsurf 36
    0               NearPoolCoverSurface               NearPoolCoverSurface lv NULL
    1      lvPmtHemiCathodeSensorSurface      lvPmtHemiCathodeSensorSurface lv NULL
    2    lvHeadonPmtCathodeSensorSurface    lvHeadonPmtCathodeSensorSurface lv NULL
    3                       RSOilSurface                       RSOilSurface lv NULL
    4                 AdCableTraySurface                 AdCableTraySurface lv NULL
    5                PmtMtTopRingSurface                PmtMtTopRingSurface lv NULL
    6               PmtMtBaseRingSurface               PmtMtBaseRingSurface lv NULL
    7                   PmtMtRib1Surface                   PmtMtRib1Surface lv NULL
    8                   PmtMtRib2Surface                   PmtMtRib2Surface lv NULL
    9                   PmtMtRib3Surface                   PmtMtRib3Surface lv NULL
   10                 LegInIWSTubSurface                 LegInIWSTubSurface lv NULL
   11                  TablePanelSurface                  TablePanelSurface lv NULL
   12                 SupportRib1Surface                 SupportRib1Surface lv NULL
   13                 SupportRib5Surface                 SupportRib5Surface lv NULL
   14                   SlopeRib1Surface                   SlopeRib1Surface lv NULL
   15                   SlopeRib5Surface                   SlopeRib5Surface lv NULL
   16            ADVertiCableTraySurface            ADVertiCableTraySurface lv NULL
   17           ShortParCableTraySurface           ShortParCableTraySurface lv NULL
   18              NearInnInPiperSurface              NearInnInPiperSurface lv NULL
   19             NearInnOutPiperSurface             NearInnOutPiperSurface lv NULL
   20                 LegInOWSTubSurface                 LegInOWSTubSurface lv NULL
   21                UnistrutRib6Surface                UnistrutRib6Surface lv NULL
   22                UnistrutRib7Surface                UnistrutRib7Surface lv NULL
   23                UnistrutRib3Surface                UnistrutRib3Surface lv NULL
   24                UnistrutRib5Surface                UnistrutRib5Surface lv NULL
   25                UnistrutRib4Surface                UnistrutRib4Surface lv NULL
   26                UnistrutRib1Surface                UnistrutRib1Surface lv NULL
   27                UnistrutRib2Surface                UnistrutRib2Surface lv NULL
   28                UnistrutRib8Surface                UnistrutRib8Surface lv NULL
   29                UnistrutRib9Surface                UnistrutRib9Surface lv NULL
   30           TopShortCableTraySurface           TopShortCableTraySurface lv NULL
   31          TopCornerCableTraySurface          TopCornerCableTraySurface lv NULL
   32              VertiCableTraySurface              VertiCableTraySurface lv NULL
   33              NearOutInPiperSurface              NearOutInPiperSurface lv NULL
   34             NearOutOutPiperSurface             NearOutOutPiperSurface lv NULL
   35                LegInDeadTubSurface                LegInDeadTubSurface lv NULL
2016-10-31 20:46:48.435 INFO  [460591] [CBorderSurfaceTable::init@23] CBorderSurfaceTable::init nsurf 11
    0               NearDeadLinerSurface               NearDeadLinerSurface pv1 NULL  pv2 NULL
    1                NearOWSLinerSurface                NearOWSLinerSurface pv1 NULL  pv2 NULL
    2              NearIWSCurtainSurface              NearIWSCurtainSurface pv1 NULL  pv2 NULL
    3               SSTWaterSurfaceNear1               SSTWaterSurfaceNear1 pv1 NULL  pv2 NULL
    4                      SSTOilSurface                      SSTOilSurface pv1 NULL  pv2 NULL

topline 8ccccd 4% Opticks deficit

Complement check shows whole line of cfg4 zeros

CFG4 modelling/recording mismatch,

  • it is just not doing... 9ccccd “TO BT BT BT BT DR xx”
tconcentric.py --dbgseqhis 9ccccd

[2016-10-31 19:00:08,913] p24442 {/Users/blyth/opticks/ana/cf.py:36} INFO - CF a concentric/torch/  1 :  20161031-1837 /tmp/blyth/opticks/evt/concentric/torch/1/fdom.npy
[2016-10-31 19:00:08,913] p24442 {/Users/blyth/opticks/ana/cf.py:37} INFO - CF b concentric/torch/ -1 :  20161031-1837 /tmp/blyth/opticks/evt/concentric/torch/-1/fdom.npy
          seqhis_ana  1:concentric   -1:concentric           c2           ab           ba
          cccc9ccccd          1389            0          1389.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT BT BT
             89ccccd           725            0           725.00         0.00 +- 0.00         0.00 +- 0.00  [7 ] TO BT BT BT BT DR SA
             49ccccd           222            0           222.00         0.00 +- 0.00         0.00 +- 0.00  [7 ] TO BT BT BT BT DR AB
           4cc9ccccd            82            0            82.00         0.00 +- 0.00         0.00 +- 0.00  [9 ] TO BT BT BT BT DR BT BT AB
            869ccccd            78            0            78.00         0.00 +- 0.00         0.00 +- 0.00  [8 ] TO BT BT BT BT DR SC SA
          c6cc9ccccd            75            0            75.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT SC BT
          c5cc9ccccd            34            0            34.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT RE BT
          ccc69ccccd            33            0            33.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR SC BT BT BT
          ccc99ccccd            19            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR DR BT BT BT
          55cc9ccccd            12            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT RE RE
          bccc9ccccd            12            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT BT BR
            899ccccd            11            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [8 ] TO BT BT BT BT DR DR SA
          45cc9ccccd             8            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT RE AB
            4c9ccccd             8            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [8 ] TO BT BT BT BT DR BT AB
            8b9ccccd             7            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [8 ] TO BT BT BT BT DR BR SA
          46cc9ccccd             6            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT SC AB
            469ccccd             5            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [8 ] TO BT BT BT BT DR SC AB
            499ccccd             5            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [8 ] TO BT BT BT BT DR DR AB
          4ccc9ccccd             5            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR BT BT BT AB
          4cc69ccccd             3            0             0.00         0.00 +- 0.00         0.00 +- 0.00  [10] TO BT BT BT BT DR SC BT BT AB
158 #ifdef USE_CUSTOM_BOUNDARY
159 unsigned int OpBoundaryFlag(const DsG4OpBoundaryProcessStatus status)
160 #else
161 unsigned int OpBoundaryFlag(const G4OpBoundaryProcessStatus status)
162 #endif
163 {
164     unsigned flag = 0 ;
165     switch(status)
166     {
167         case FresnelRefraction:
168         case SameMaterial:
169                                flag=BOUNDARY_TRANSMIT;
170                                break;
171         case TotalInternalReflection:
172         case       FresnelReflection:
173                                flag=BOUNDARY_REFLECT;
174                                break;
175         case StepTooSmall:
176                                flag=NAN_ABORT;
177                                break;
178         case Absorption:
179                                flag=SURFACE_ABSORB ;
180                                break;
181         case Detection:
182                                flag=SURFACE_DETECT ;
183                                break;
184         case SpikeReflection:
185                                flag=SURFACE_SREFLECT ;
186                                break;
187         case LobeReflection:
188         case LambertianReflection:
189                                flag=SURFACE_DREFLECT ;
190                                break;
191         case Undefined:
192         case BackScattering:
193         case NotAtBoundary:
194         case NoRINDEX:
195

Using dielectric_dielectric/groundfrontpainted for RSOilSurface would avoid DielectricMetal complications...

565         else if (type == dielectric_dielectric)
566         {
567             if ( theFinish == polishedfrontpainted || theFinish == groundfrontpainted )
568             {
569                 if( !G4BooleanRand(theReflectivity) )
570                 {
571                     DoAbsorption();
572                 }
573                 else
574                 {
575                     if ( theFinish == groundfrontpainted ) theStatus = LambertianReflection;
576                     DoReflection();
577                 }
578             }
579             else
580             {
581                 DielectricDielectric();
582             }
583         }
simon:opticks blyth$ op --surf 8
=== op-cmdline-binary-match : finds 1st argument with associated binary : --surf
224 -rwxr-xr-x  1 blyth  staff  112772 Oct 31 17:29 /usr/local/opticks/lib/GSurfaceLibTest
proceeding : /usr/local/opticks/lib/GSurfaceLibTest 8
2016-10-31 19:12:46.462 INFO  [424703] [GSurfaceLib::Summary@137] GSurfaceLib::dump NumSurfaces 48 NumFloat4 2
2016-10-31 19:12:46.462 INFO  [424703] [GSurfaceLib::dump@654]  (index,type,finish,value)
2016-10-31 19:12:46.462 WARN  [424703] [GSurfaceLib::dump@661]                NearPoolCoverSurface (  0,  0,  3,100)  (  0)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.462 WARN  [424703] [GSurfaceLib::dump@661]                NearDeadLinerSurface (  1,  0,  3, 20)  (  1)               dielectric_metal                        ground value 20
2016-10-31 19:12:46.462 WARN  [424703] [GSurfaceLib::dump@661]                 NearOWSLinerSurface (  2,  0,  3, 20)  (  2)               dielectric_metal                        ground value 20
2016-10-31 19:12:46.462 WARN  [424703] [GSurfaceLib::dump@661]               NearIWSCurtainSurface (  3,  0,  3, 20)  (  3)               dielectric_metal                        ground value 20
2016-10-31 19:12:46.462 WARN  [424703] [GSurfaceLib::dump@661]                SSTWaterSurfaceNear1 (  4,  0,  3,100)  (  4)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.462 WARN  [424703] [GSurfaceLib::dump@661]                       SSTOilSurface (  5,  0,  3,100)  (  5)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.462 WARN  [424703] [GSurfaceLib::dump@661]       lvPmtHemiCathodeSensorSurface (  6,  0,  3,100)  (  6)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]     lvHeadonPmtCathodeSensorSurface (  7,  0,  3,100)  (  7)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                        RSOilSurface (  8,  0,  3,100)  (  8)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                    ESRAirSurfaceTop (  9,  0,  0,  0)  (  9)               dielectric_metal                      polished value 0
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                    ESRAirSurfaceBot ( 10,  0,  0,  0)  ( 10)               dielectric_metal                      polished value 0
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                  AdCableTraySurface ( 11,  0,  3,100)  ( 11)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                SSTWaterSurfaceNear2 ( 12,  0,  3,100)  ( 12)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                 PmtMtTopRingSurface ( 13,  0,  3,100)  ( 13)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                PmtMtBaseRingSurface ( 14,  0,  3,100)  ( 14)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                    PmtMtRib1Surface ( 15,  0,  3,100)  ( 15)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                    PmtMtRib2Surface ( 16,  0,  3,100)  ( 16)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                    PmtMtRib3Surface ( 17,  0,  3,100)  ( 17)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                  LegInIWSTubSurface ( 18,  0,  3,100)  ( 18)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                   TablePanelSurface ( 19,  0,  3,100)  ( 19)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                  SupportRib1Surface ( 20,  0,  3,100)  ( 20)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                  SupportRib5Surface ( 21,  0,  3,100)  ( 21)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                    SlopeRib1Surface ( 22,  0,  3,100)  ( 22)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]                    SlopeRib5Surface ( 23,  0,  3,100)  ( 23)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]             ADVertiCableTraySurface ( 24,  0,  3,100)  ( 24)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]            ShortParCableTraySurface ( 25,  0,  3,100)  ( 25)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.463 WARN  [424703] [GSurfaceLib::dump@661]               NearInnInPiperSurface ( 26,  0,  3,100)  ( 26)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]              NearInnOutPiperSurface ( 27,  0,  3,100)  ( 27)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                  LegInOWSTubSurface ( 28,  0,  3,100)  ( 28)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                 UnistrutRib6Surface ( 29,  0,  3,100)  ( 29)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                 UnistrutRib7Surface ( 30,  0,  3,100)  ( 30)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                 UnistrutRib3Surface ( 31,  0,  3,100)  ( 31)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                 UnistrutRib5Surface ( 32,  0,  3,100)  ( 32)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                 UnistrutRib4Surface ( 33,  0,  3,100)  ( 33)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                 UnistrutRib1Surface ( 34,  0,  3,100)  ( 34)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                 UnistrutRib2Surface ( 35,  0,  3,100)  ( 35)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                 UnistrutRib8Surface ( 36,  0,  3,100)  ( 36)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                 UnistrutRib9Surface ( 37,  0,  3,100)  ( 37)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]            TopShortCableTraySurface ( 38,  0,  3,100)  ( 38)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]           TopCornerCableTraySurface ( 39,  0,  3,100)  ( 39)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]               VertiCableTraySurface ( 40,  0,  3,100)  ( 40)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]               NearOutInPiperSurface ( 41,  0,  3,100)  ( 41)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]              NearOutOutPiperSurface ( 42,  0,  3,100)  ( 42)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                 LegInDeadTubSurface ( 43,  0,  3,100)  ( 43)               dielectric_metal                        ground value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                perfectDetectSurface ( 44,  1,  1,100)  ( 44)          dielectric_dielectric          polishedfrontpainted value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]                perfectAbsorbSurface ( 45,  1,  1,100)  ( 45)          dielectric_dielectric          polishedfrontpainted value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]              perfectSpecularSurface ( 46,  1,  1,100)  ( 46)          dielectric_dielectric          polishedfrontpainted value 100
2016-10-31 19:12:46.464 WARN  [424703] [GSurfaceLib::dump@661]               perfectDiffuseSurface ( 47,  1,  1,100)  ( 47)          dielectric_dielectric          polishedfrontpainted value 100

2016-10-31 19:12:46.464 INFO  [424703] [GSurfaceLib::dump@720]  (  8,  0,  3,100) GPropertyMap<T>::  8        surface s: GOpticalSurface  type 0 model 1 finish 3 value     1                  RSOilSurface k:detect absorb reflect_specular reflect_diffuse extra_x extra_y extra_z extra_w RSOilSurface
              domain              detect              absorb    reflect_specular     reflect_diffuse             extra_x
                  60                   0               0.827                   0               0.173                  -1
                  80                   0            0.827015                   0            0.172985                  -1
                 100                   0             0.85649                   0             0.14351                  -1
                 120                   0            0.885965                   0            0.114035                  -1
                 140                   0            0.897743                   0            0.102257                  -1
                 160                   0            0.909501                   0           0.0904994                  -1
                 180                   0            0.921258                   0           0.0787423                  -1
                 200                   0            0.933007                   0           0.0669933                  -1
                 220                   0            0.938282                   0           0.0617179                  -1
                 240                   0            0.943557                   0           0.0564426                  -1
                 260                   0            0.947648                   0           0.0523518                  -1
                 280                   0             0.95055                   0           0.0494499                  -1
                 300                   0            0.953451                   0           0.0465491                  -1
                 320                   0            0.954789                   0           0.0452105                  -1
                 340                   0            0.956128                   0            0.043872                  -1
                 360                   0            0.957098                   0           0.0429022                  -1
                 380                   0            0.957696                   0           0.0423041                  -1
                 400                   0            0.958294                   0           0.0417061                  -1
                 420                   0            0.958841                   0            0.041159                  -1
                 440                   0            0.959313                   0           0.0406869                  -1
                 460                   0             0.95969                   0           0.0403102                  -1
                 480                   0             0.95997                   0           0.0400297                  -1
                 500                   0             0.96025                   0           0.0397498                  -1
                 520                   0             0.96032                   0           0.0396799                  -1
                 540                   0             0.96039                   0             0.03961                  -1
                 560                   0             0.96046                   0           0.0395402                  -1
                 580                   0             0.96053                   0           0.0394703                  -1
                 600                   0              0.9606                   0           0.0394004                  -1
                 620                   0             0.96062                   0           0.0393801                  -1
                 640                   0             0.96064                   0           0.0393601                  -1
                 660                   0             0.96066                   0           0.0393401                  -1
                 680                   0             0.96068                   0           0.0393201                  -1
                 700                   0              0.9607                   0           0.0393001                  -1
                 720                   0              0.9607                   0              0.0393                  -1
                 740                   0              0.9607                   0              0.0393                  -1
                 760                   0              0.9607                   0              0.0393                  -1
                 780                   0              0.9607                   0              0.0393                  -1
                 800                   0              0.9607                   0              0.0393                  -1
                 820                   0              0.9607                   0              0.0393                  -1