<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Aptos;
panose-1:2 11 0 4 2 2 2 2 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:12.0pt;
font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="en-SE" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Dear Günter,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">That looks fine if I understand what you want to do. This will only fire trigger 1 if any module sends a trigger, which is fine, but you asked about different readout for different triggers
so I’m supposing at some point there will be another trigger configured :)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Hans<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div id="mail-editor-reference-message-container">
<div>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="color:black">From:
</span></b><span style="color:black">subexp-daq <subexp-daq-bounces@lists.chalmers.se> on behalf of Weber, Guenter Dr. <g.weber@hi-jena.gsi.de><br>
<b>Date: </b>Friday, 11 April 2025 at 17:06<br>
<b>To: </b>Discuss use of Nurdlib, TRLO II, drasi and UCESB. <subexp-daq@lists.chalmers.se><br>
<b>Subject: </b>Re: [subexp-daq] dropping of data to analysis that cannot keep up<o:p></o:p></span></p>
</div>
<div id="divtagdefaultwrapper">
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">Dear Hans,<o:p></o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">thank you for the explanation. Just to sure, as every thing starts with the VULOM4B, the following lines in vulom.trlo should set the VULOM in a state, where it accepts 5 types of
triggers on the input channels 1 to 5, right?<o:p></o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">SECTION(module_trigger)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">{<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">all_or_mask(1) <= ECL_IN(1) | ECL_IN(2) | ECL_IN(3) | ECL_IN(4) | ECL_IN(5);<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">TRIG_LMU_AUX(1) <= ALL_OR(1);<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">TRIG_LMU_OUT(1) <= TRIG_LMU_AUX(1);<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">}<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">If this is fine, then after Easter time I will start to see if/how I can use this information during readout of the modules.<o:p></o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">Best greetings<o:p></o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">Günter<o:p></o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="0" width="59%" align="center">
</div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">Von:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black"> subexp-daq <subexp-daq-bounces@lists.chalmers.se> im Auftrag von
Hans Törnqvist <hans.tornqvist@chalmers.se><br>
<b>Gesendet:</b> Mittwoch, 9. April 2025 14:47:26<br>
<b>An:</b> Discuss use of Nurdlib, TRLO II, drasi and UCESB.<br>
<b>Betreff:</b> Re: [subexp-daq] dropping of data to analysis that cannot keep up</span>
<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">Dear Günter,</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Let’s see if I can remember how this is done with tags…</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Modules can have several tags, and each tag can have its soft counter increased. Nurdlib keeps track of the relation between tags and module event counters to make sure they’re all in sync (to be precise, there’s a counter
per existing combo of tags, not per tag).</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">For example, in main.cfg:</span></p>
<p class="MsoNormal"><span lang="EN-US">TAGS(“1”)</span></p>
<p class="MsoNormal"><span lang="EN-US">STRUCK_SIS3316(…) {…}</span></p>
<p class="MsoNormal"><span lang="EN-US">TAGS(“1”, “2”)</span></p>
<p class="MsoNormal"><span lang="EN-US">STRUCK_SIS3316(…) {…}</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Both modules have tag “1”, only the 2nd module has tag “2”.</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Both r3bfuser and the minimal nurdlib fuser bind the tag names “1”..”15” to the trigger number (around lines 250 and 308 in my latest nurdlib version). So, if trigger 2 has fired, the fuser will tell nurdlib to increment
the nurdlib-internal soft counter for tag “2”, and the event counters of all modules with tag “2” are expected to have incremented.</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Note that this does not affect the readout logic. Counters and payloads of all modules are still read on every readout, and what’s supposed to be unchanged or empty must remain so.</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">It’s not a commonly requested feature and I have not tested it for some time, I’m crossing my fingers that it works for you (:</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Cheers,</span></p>
<p class="MsoNormal"><span lang="EN-US">Hans</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<div id="mail-editor-reference-message-container">
<div>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="color:black">From:
</span></b><span style="color:black">subexp-daq <subexp-daq-bounces@lists.chalmers.se> on behalf of Weber, Guenter Dr. <g.weber@hi-jena.gsi.de><br>
<b>Date: </b>Tuesday, 8 April 2025 at 11:44<br>
<b>To: </b>Discuss use of Nurdlib, TRLO II, drasi and UCESB. <subexp-daq@lists.chalmers.se><br>
<b>Subject: </b>Re: [subexp-daq] dropping of data to analysis that cannot keep up</span></p>
</div>
<div>
<div id="x_divtagdefaultwrapper">
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">Dear Håkan,</span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"> </span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">thank you for the quick reply.</span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"> </span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">The SIS3316 modules are digitizers which we not only want to use for recording pulses from the detector (trigger type 1), but also for monitoring the baseline behaviour of the signal (trigger
type 2). For type 1 we look into the metadata of each SIS3316 channel and only read out the 2^14 samples of the detector signal trace if there is a pulse (indicated by the flag in the metadata). For type 2 we would like to avoid this selection and readout
all the traces.</span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"> </span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"> </span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">Best greetings</span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black">Günter</span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"> </span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"> </span></p>
<p><span style="font-size:14.0pt;font-family:"Calibri",sans-serif;color:black"> </span></p>
<div id="x_Signature">
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif;color:black">----------------<br>
<br>
Günter Weber<br>
<br>
Helmholtz-Institut Jena<br>
Fröbelstieg 3<br>
07743 Jena<br>
Germany<br>
Phone: +49-3641-947605<br>
</span><a href="http://www.hi-jena.de"><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif">www.hi-jena.de</span></a><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif;color:black"><br>
<br>
GSI Helmholtzzentrum für Schwerionenforschung<br>
Planckstrasse 1<br>
64291 Darmstadt<br>
Germany<br>
</span><a href="http://www.gsi.de"><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif">www.gsi.de</span></a></p>
</div>
</div>
</div>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="0" width="46%" align="center">
</div>
<div id="x_divRplyFwdMsg">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">Von:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black"> subexp-daq <subexp-daq-bounces@lists.chalmers.se> im Auftrag von
Håkan T Johansson <f96hajo@chalmers.se><br>
<b>Gesendet:</b> Dienstag, 8. April 2025 11:23:07<br>
<b>An:</b> Discuss use of Nurdlib, TRLO II, drasi and UCESB.<br>
<b>Betreff:</b> Re: [subexp-daq] dropping of data to analysis that cannot keep up</span>
</p>
<div>
<p class="MsoNormal"> </p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt"><br>
Dear Günter,<br>
<br>
nice to hear from you!<br>
<br>
The f_user function would get the trigger, so you should see it at least <br>
there.<br>
<br>
How to get that into nurdlib I think is a question for Hans...<br>
<br>
Curiosity: in what way do you want to do a different readout depending on <br>
the trigger that happened?<br>
<br>
<br>
I also think the SIS3316 code modifications you had have been merged.<br>
<br>
Could you please try the current version and see if that works?<br>
<br>
Best regards,<br>
Håkan<br>
<br>
<br>
<br>
<br>
<br>
On Tue, 8 Apr 2025, Weber, Guenter Dr. wrote:<br>
<br>
> <br>
> Dear friends,<br>
> <br>
> <br>
> sorry for coming up with a very basic question: How can I define different<br>
> trigger types and make the readout procedure of a specific module dependent<br>
> on the type of trigger?<br>
> <br>
> <br>
> Example:<br>
> <br>
> I have two different trigger types, 1 and 2. To let the DAQ know, which type<br>
> of trigger I have, they are plugged to the input channels 1 and 2 of our<br>
> VOLUM4B. Now I would like to know in the readout of the SIS3316 module,<br>
> which type triggered the current event. How do I do this?<br>
> <br>
> <br>
> <br>
> Thank you very much!<br>
> <br>
> <br>
> <br>
> <br>
> Best greetings from Jena<br>
> <br>
> Günter<br>
> <br>
> <br>
> <br>
> P.S. As I got distracted by some hardware issues in the lab, we did not have<br>
> a proper hand-over of our modifications of the SIS3316 code in Nurdlib. Did<br>
> you in the meantime took over these modifications into the main branch or<br>
> how is the situation?<br>
> <br>
> <br>
> <br>
> ____________________________________________________________________________<br>
> Von: subexp-daq <subexp-daq-bounces@lists.chalmers.se> im Auftrag von Håkan<br>
> T Johansson <f96hajo@chalmers.se><br>
> Gesendet: Sonntag, 16. Februar 2025 11:33:35<br>
> An: Bajzek, Martin<br>
> Cc: Hubbard, Nicolas James Dr.; subexp-daq@lists.chalmers.se<br>
> Betreff: [subexp-daq] dropping of data to analysis that cannot keep up <br>
> <br>
> Hi,<br>
> <br>
> when the point of DAQ being faster than online is reached, we face the<br>
> issue of somehow dropping old data.<br>
> <br>
> Left with default settings, ucesb is not really helpful. Old data will<br>
> pile up in the '--server' until that is full, and only then dropped. If<br>
> the server is configured with a large amount of memory for buffers<br>
> ('--server' option 'size='), this can be significant. This leads to<br>
> online analysis lagging reality, loosing the 'online' feeling and useful<br>
> rapid feedback of changing conditions...<br>
> <br>
> There is a 'dropold=N' (seconds) option which will not serve buffers to<br>
> the client older than the specified time. It may be reasonable to set<br>
> this to at most two times the spill length, if the beam has a pulse<br>
> structure. Otherwise a few seconds ought to be enough.<br>
> <br>
> <br>
> A dry-run demo (3 instances), using the 'mbuffer' program to limit rates:<br>
> <br>
> ---<br>
> <br>
> # Generate data (at 10 MB/s):<br>
> <br>
> file_input/empty_file --lmd \<br>
> | mbuffer -r 10M -q \<br>
> | empty/empty --file=- --server=trans,size=1G<br>
> <br>
> # Serve the data, with dropold (can be removed):<br>
> <br>
> empty/empty --trans=localhost --server=trans:8000,size=1G,dropold=10s<br>
> <br>
> # 'Analysis' (at 1 MB/s).<br>
> # Look at the data (buffer times)<br>
> # Note: dd is used here to strip the 16-byte transport protocol startup<br>
> # message.<br>
> <br>
> nc localhost 8000 \<br>
> | mbuffer -r 1M -q \<br>
> | dd bs=16 skip=1 \<br>
> | empty/empty --file=- --print-buffer<br>
> <br>
> ---<br>
> <br>
> Note: the buffer times only relates to the middle server, not the original<br>
> data generation. But in this case is good enough to show the difference.<br>
> If 'dropold' is not used in the middle instance, then the last instance<br>
> (doing --print-buffer) will be seen to lag further and further.<br>
> <br>
> <br>
> Cheers,<br>
> Håkan<br>
> <br>
></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>