# Too Large Events

For some evio files, the events are too large. The errors are:

The lines below might hint at the cause of the crash.
http://root.cern.ch/bugs. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#5  std::_Rb_tree<unsigned int, std::pair<unsigned int const, bankIndex_t>, std::_Select1st<std::pair<unsigned int const, bankIndex_t> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, bankIndex_t> > >::_M_erase (this=this
entry=0x7f6162e57e40, __x=0xc038b9e9502d69cf) at /usr/include/c++/4.8/bits/stl_tree.h:1125
#6  0x00000000004426e5 in clear (this=0x7f6162e57e40) at /usr/include/c++/4.8/bits/stl_tree.h:860
#7  clear (this=0x7f6162e57e40) at /usr/include/c++/4.8/bits/stl_map.h:789
#8  EvioBankIndex::initBankIndex (this=0x7f6162e57e40, buffer=0x7f6161f15a40) at src/reader/EvioBankIndex.cc:24
#9  0x000000000043cdc3 in EvioDataEvent::init (this=this
entry=0x7f6161f15a40, ptr=<optimized out>, len=<optimized out>) at src/reader/EvioDataEvent.cc:136
entry=0x7f6161d8f010, eventnum=eventnum
#11 0x0000000000409787 in main (argc=<optimized out>, argv=<optimized out>) at src/convertor/evio2root.cc:851
===========================================================


Running an eviodump on the file we find

*********************** EVENT # 497  ***********************

+------------------------------------------------+------------+------------+
|                                            bank|       nrows|       ncols|
+------------------------------------------------+------------+------------+
|                                        DC::dgtz|        5568|          11|
|                                        DC::true|        5568|          24|
|                                   GenPart::true|           2|           7|
+------------------------------------------------+------------+------------+


The gcard is limited in what it records for HITS.

 <option name="BANK_VERBOSITY" value="1"/>
<option name="HIT_VERBOSITY" value="1"/>
<option name="LOG_VERBOSITY" value="2"/>
<option name="G4TRACK_VERBOSITY" value="2"/>
<option name="G4P_VERBOSITY" value="2"/>
<option name="GEN_VERBOSITY" value="2"/>
<option name="SAVE_ALL_MOTHERS" value="2"/>
<option name="ENERGY_CUT" value="-1"/>
<option name="RECORD_PASSBY" value="1"/>


The variable in the evio2root files for such events are unsigned integer (uint32_t) of values 0 to 4294967295. Each value is stored in binary bits, i.e. 2^0=1, 2^1=2 -> 3 decimal = 0011. Since it is unsigned this limits the value stored to only be positive values.

The value above has the hex value of entry=0x7f6162e57e40 76f6162e57e40 hex=2092788898692672 dec

2092788898692672-4294967295=2092784603725377 which is over the size of the 32bit variable. We could edit the entire evio read program structure for a 64bit variable or ignore just that specific Theta-Momentum pair. The output of the Shield in may have more DC interactions, but the effect of the shield still blocks electrons regardless if it is on or off. The plots shown earlier and the paper show there isn't much difference. Simulations will be done with the FT OFF.

For Shield IN/OFF -1xTorus Field we still get a too large event.

The lines below might hint at the cause of the crash.
http://root.cern.ch/bugs. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#5  std::_Rb_tree<unsigned int, std::pair<unsigned int const, bankIndex_t>, std::_Select1st<std::pair<unsigned int const, bankIndex_t> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, bankIndex_t> > >::_M_erase (this=this
entry=0x7fc8a4ecae40, __x=0x40b0c0168b89c126) at /usr/include/c++/4.8/bits/stl_tree.h:1125
#6  0x0000000000442725 in clear (this=0x7fc8a4ecae40) at /usr/include/c++/4.8/bits/stl_tree.h:860
#7  clear (this=0x7fc8a4ecae40) at /usr/include/c++/4.8/bits/stl_map.h:789
#8  EvioBankIndex::initBankIndex (this=0x7fc8a4ecae40, buffer=0x7fc8a3f88a40) at src/reader/EvioBankIndex.cc:24
#9  0x000000000043ce03 in EvioDataEvent::init (this=this
entry=0x7fc8a3f88a40, ptr=<optimized out>, len=<optimized out>) at src/reader/EvioDataEvent.cc:136
entry=0x7fc8a3e02010, eventnum=eventnum
#11 0x0000000000409797 in main (argc=<optimized out>, argv=<optimized out>) at src/convertor/evio2root.cc:851
===========================================================


We know the file

OPENED FILE : LH2_0Sol_-1Tor_11GeV_IsotropicPhi_ShieldIn_081/LH2_0Sol_-1Tor_11GeV_IsotropicPhi_ShieldIn_081.evio


and the event number+1

eventnum=eventnum entry=272 (count starts at 0)


which causes the error. Since the random number sequence is set in the gcard, we can edit the LUND file and insert new values for the Moller electron (all 0).

272event #*3lines per event-2 lines off from 1=814 line number


The random number sequence hopefully continues without more too large DC hit numbers. Making a test directory with a LUND file of 5 copies of a zero momentum moller electron with the same conditions as LH2_0Sol_-1Tor_11GeV_IsotropicPhi_ShieldIn_081/LH2_0Sol_-1Tor_11GeV_IsotropicPhi_ShieldIn_081.evio event #272(start at line 814)

Before

       2       1       1       1       1       1       16.291110947826 -3515.474338375954176   -20624.345660442169901  0.000834480408767       -10994.256220661920452
1       -1      1       11      0       0       -0.001421646561293      0.000807607649314       10.997383476373649      10.997383609788516      0.000511        0       0       0
2       -1      1       11      0       0       0.00    0.000   0.00    0.00    0.000511        0       0       0


After

2       1       1       1       1       1       16.291110947826 -3515.474338375954176   -20624.345660442169901  0.000834480408767       -10994.256220661920452
1       -1      1       11      0       0       -0.001421646561293      0.000807607649314       10.997383476373649      10.997383609788516      0.000511        0       0       0
2       -1      1       11      0       0       0.00    0.000   0.00    0.00    0.000511        0       0       0


The momentum of the Moller particle is set at zero. No DC hits should occur. Testing the output of the evio with evio-dump

Press Enter for Next Event or Bank Name:
*********************** EVENT # 2  ***********************

+------------------------------------------------+------------+------------+
|                                            bank|       nrows|       ncols|
+------------------------------------------------+------------+------------+
|                                   GenPart::true|           2|           7|
+------------------------------------------------+------------+------------+

Press Enter for Next Event or Bank Name:
*********************** EVENT # 3  ***********************

+------------------------------------------------+------------+------------+
|                                            bank|       nrows|       ncols|
+------------------------------------------------+------------+------------+
|                                   GenPart::true|           2|           7|
+------------------------------------------------+------------+------------+

Press Enter for Next Event or Bank Name:
*********************** EVENT # 4  ***********************

+------------------------------------------------+------------+------------+
|                                            bank|       nrows|       ncols|
+------------------------------------------------+------------+------------+
|                                   GenPart::true|           2|           7|
+------------------------------------------------+------------+------------+

Press Enter for Next Event or Bank Name:
*********************** EVENT # 5  ***********************

+------------------------------------------------+------------+------------+
|                                            bank|       nrows|       ncols|
+------------------------------------------------+------------+------------+
|                                   GenPart::true|           2|           7|
+------------------------------------------------+------------+------------+

Press Enter for Next Event or Bank Name:
*********************** EVENT # 6  ***********************

+------------------------------------------------+------------+------------+
|                                            bank|       nrows|       ncols|
+------------------------------------------------+------------+------------+
|                                   GenPart::true|           2|           7|
+------------------------------------------------+------------+------------+


This method works in allowing a root file to be created. However, since each hit is weighted information about that specific angle theta-momentum differential cross section is lost.

Comparing Shield IN FT On/Off 1st hits to see if they can be swapped use evioAnalysis_Compare.C

For Field IN OFF, event 272 in the file LH2_0Sol_-1Tor_11GeV_IsotropicPhi_ShieldIn_081.evio when coverted to a root that contains all the 316050 lines of the total LUND file, or 105350 Moller events

81files*1000events per file=81,000events+272event=81,272 event number+1 event (since event 0)

   EVENT # 81272
------------------------------------------------------------------------------------------------------------------------------------------------------
Gen part 0     pid  = 11       px  = -1.42165  py  = 0.807608  pz  = 10997.4   vx  = 0         vy  = 0         vz  = 0         theta  = 0.0085184      phi  = 150.4
Gen part 1     pid  = 11       px  = 1.42165   py  = -0.807608         pz  = 2.61651   vx  = 0         vy  = 0         vz  = 0         theta  = 32.0008        phi  = 29.6
DChit 0        dpid  = 11      mpid  = 0       mtid  = 0       otid  = 2       X  = 1200.23    Y  = -630.334   Z  = 1982.91    procID  = 999   sector  = 1     layer  = 2      wire  = 86      Theta   = 34.3597        Phi = -27.7075
------------------------------------------------------------------------------------------------------------------------------------------------------
EVENT # 81273
------------------------------------------------------------------------------------------------------------------------------------------------------
Gen part 0     pid  = 11       px  = -1.42446  py  = 0.80264   pz  = 10997.4   vx  = 0         vy  = 0         vz  = 0         theta  = 0.0085184      phi  = 150.6
Gen part 1     pid  = 11       px  = 1.42446   py  = -0.80264  pz  = 2.61651   vx  = 0         vy  = 0         vz  = 0         theta  = 32.0008        phi  = 29.4
------------------------------------------------------------------------------------------------------------------------------------------------------
EVENT # 81274
------------------------------------------------------------------------------------------------------------------------------------------------------
Gen part 0     pid  = 11       px  = -1.42725  py  = 0.797663  pz  = 10997.4   vx  = 0         vy  = 0         vz  = 0         theta  = 0.0085184      phi  = 150.8
Gen part 1     pid  = 11       px  = 1.42725   py  = -0.797663         pz  = 2.61651   vx  = 0         vy  = 0         vz  = 0         theta  = 32.0008        phi  = 29.2
DChit 0        dpid  = 11      mpid  = 0       mtid  = 0       otid  = 2       X  = 1412.36    Y  = -580.061   Z  = 1870.21    procID  = 999   sector  = 1     layer  = 1      wire  = 103     Theta   = 39.2281        Phi = -22.3281


Similarly, for Field IN FT ON, event 272 + 1(since event 0)

    EVENT # 272
------------------------------------------------------------------------------------------------------------------------------------------------------
Gen part 0     pid  = 11       px  = -1.42165  py  = 0.807608  pz  = 10997.4   vx  = 0         vy  = 0         vz  = 0         theta  = 0.0085184      phi  = 150.4
Gen part 1     pid  = 11       px  = 1.42165   py  = -0.807608         pz  = 2.61651   vx  = 0         vy  = 0         vz  = 0         theta  = 32.0008        phi  = 29.6
DChit 0        dpid  = 11      mpid  = 0       mtid  = 0       otid  = 2       X  = 1113.15    Y  = -529.25    Z  = 2074.43    procID  = 999   sector  = 1     layer  = 6      wire  = 77      Theta   = 30.7175        Phi = -25.429
------------------------------------------------------------------------------------------------------------------------------------------------------
EVENT # 273
------------------------------------------------------------------------------------------------------------------------------------------------------
Gen part 0     pid  = 11       px  = -1.42446  py  = 0.80264   pz  = 10997.4   vx  = 0         vy  = 0         vz  = 0         theta  = 0.0085184      phi  = 150.6
Gen part 1     pid  = 11       px  = 1.42446   py  = -0.80264  pz  = 2.61651   vx  = 0         vy  = 0         vz  = 0         theta  = 32.0008        phi  = 29.4
DChit 0        dpid  = 11      mpid  = 0       mtid  = 0       otid  = 2       X  = 1097.51    Y  = -567.684   Z  = 2015.87    procID  = 999   sector  = 1     layer  = 1      wire  = 77      Theta   = 31.5063        Phi = -27.3502
------------------------------------------------------------------------------------------------------------------------------------------------------
EVENT # 274
------------------------------------------------------------------------------------------------------------------------------------------------------
Gen part 0     pid  = 11       px  = -1.42725  py  = 0.797663  pz  = 10997.4   vx  = 0         vy  = 0         vz  = 0         theta  = 0.0085184      phi  = 150.8
Gen part 1     pid  = 11       px  = 1.42725   py  = -0.797663         pz  = 2.61651   vx  = 0         vy  = 0         vz  = 0         theta  = 32.0008        phi  = 29.2


Both simulations are using the same random number sequence for both events, but the FT adds a difference in the hit locations.