<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 14pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, "EmojiFont", "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<p>Dear friends,</p>
<p><br>
</p>
<p>were found some unexpected (at least to us) behaviour when looking at the JSON output from UCESB.</p>
<p><br>
</p>
<p>We are using the following command to generate the JSON outout:</p>
<p><br>
</p>
<div><span style="font-size:10pt">../../ucesb/jena_polarimeter/jena_polarimeter stream://localhost:8003 --ntuple=UNPACK,STRUCT,- | ../../ucesb/hbook/struct_writer - --dump=compact_json</span></div>
<br>
<p></p>
<p>In our DAQ, there are sitting CAEN V785 modules. The *.spec file for these modules looks like this:</p>
<p><br>
</p>
<p></p>
<div><span style="font-size:10pt">#define VME_CAEN_V792 VME_CAEN_V775</span><br>
<span style="font-size:10pt">#define VME_CAEN_V785 VME_CAEN_V775</span><br>
<br>
<span style="font-size:10pt">VME_CAEN_V775(geom,</span><br>
<span style="font-size:10pt">          crate)</span><br>
<span style="font-size:10pt">{</span><br>
<span style="font-size:10pt">  MEMBER(DATA12_OVERFLOW data[32] ZERO_SUPPRESS);</span><br>
<br>
<span style="font-size:10pt">  UINT32 header NOENCODE</span><br>
<span style="font-size:10pt">    {</span><br>
<span style="font-size:10pt">      // 0_7: undefined;</span><br>
<span style="font-size:10pt">      8_13:  count;</span><br>
<span style="font-size:10pt">      16_23: crate = MATCH(crate);</span><br>
<span style="font-size:10pt">      24_26: 0b010;</span><br>
<span style="font-size:10pt">      27_31: geom = MATCH(geom);</span><br>
<span style="font-size:10pt">    }</span><br>
<br>
<span style="font-size:10pt">  list(0<=index<header.count)</span><br>
<span style="font-size:10pt">    {</span><br>
<span style="font-size:10pt">      UINT32 ch_data NOENCODE</span><br>
<span style="font-size:10pt">    {</span><br>
<span style="font-size:10pt">      0_11:  value;</span><br>
<br>
<span style="font-size:10pt">      12:    overflow;</span><br>
<span style="font-size:10pt">      13:    underflow;</span><br>
<span style="font-size:10pt">      14:    valid;</span><br>
<br>
<span style="font-size:10pt">      // 15: undefined;</span><br>
<br>
<span style="font-size:10pt">      16_20: channel;</span><br>
<br>
<span style="font-size:10pt">      24_26: 0b000;</span><br>
<span style="font-size:10pt">      27_31: geom = CHECK(geom);</span><br>
<br>
<span style="font-size:10pt">      ENCODE(data[channel],(value=value,overflow=overflow));</span><br>
<span style="font-size:10pt">    }</span><br>
<span style="font-size:10pt">    }</span><br>
<br>
<span style="font-size:10pt">  UINT32 eob</span><br>
<span style="font-size:10pt">    {</span><br>
<span style="font-size:10pt">      0_23:  event_number;</span><br>
<span style="font-size:10pt">      24_26: 0b100;</span><br>
<span style="font-size:10pt">      27_31: geom = CHECK(geom);</span><br>
<span style="font-size:10pt">      // NOENCODE;</span><br>
<span style="font-size:10pt">    }</span><br>
<span style="font-size:10pt">}</span></div>
<br>
<p></p>
<p>Now comes the strange part: from time to time we get values greater than 2^12 in the arrays belonging to the 12-bit ADC data (the values are than usually in the 36xxx ballpark). We assume that these are the overflow events and for some reason they are translated
 to values of 2^15 + something in the JSON output data.</p>
<p><br>
</p>
<p>Is our interprtation correct and if yes, is this intended behaviour?</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p>Many thanks!</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p>Best greetings</p>
<p>Günter<br>
</p>
<p><br>
</p>
<p><br>
</p>
<br>
</div>
</body>
</html>