Difference between revisions of "Too Large Events"
Line 36: | Line 36: | ||
− | The gcard | + | The gcard is limited in what it records for HITS. |
<pre> | <pre> | ||
<option name="BANK_VERBOSITY" value="1"/> | <option name="BANK_VERBOSITY" value="1"/> | ||
Line 48: | Line 48: | ||
<option name="RECORD_PASSBY" value="1"/> | <option name="RECORD_PASSBY" value="1"/> | ||
</pre> | </pre> | ||
+ | |||
+ | |||
+ | 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. |
Revision as of 17:35, 11 January 2018
For some evio files, the events are too large. The errors are:
The lines below might hint at the cause of the crash. If they do not help you then please submit a bug report at 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 #10 0x000000000043c5aa in EvioFileReader::readEvent (this=this entry=0x7f6161d8f010, eventnum=eventnum entry=496) at src/reader/EvioFileReader.cc:114 #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.