[subexp-daq] Question on UCESB / UPEXPS

Håkan T Johansson f96hajo at chalmers.se
Fri Mar 22 18:06:13 CET 2024


On Fri, 22 Mar 2024, Weber, Guenter Dr. wrote:

> 
> Dear Håkan,
> 
> 
> thank you very much for the explanations.
> 
> 
> To be independent from Bastian's legacy code we have now our tailor made
> unpacker for some of the LMD data. If we found a way to feed it not only
> with files from hard disk but also the data stream provided by UCESB, we
> could also use it for online analysis. We could then adapt this unpacker to
> the specific structure of our experimental data.

One could use ucesb in some kind of pass-through mode to read data from a 
network source.  Roughly:

empty/empty --stream=HOST:PORT --output=- | ./other_unpacker_program

> However, as UCESB itself is (as I understand) an unpacker for LMD data,
> probably the better way would be to use UCESB for basic unpacking into LMD

UCESB is maily used to unpack _from_ LMD files.  (The LMD -> LMD 
gymnastics that it can do are more like additions that turned out to be 
useful.)

The UCESB empty/empty program is a compile of ucesb without any data 
mapping, so it only 'exposes' the LMD->LMD features.  In the above case, 
just reading data from LMD stream (or transport) servers, and delivering 
it on stdout.

> events/subevents and then as a second stage a dedicated mapper (which in an
> ideal world would result from the settings of the modules in main.cfg) to
> interpret the data words. This is (again: as I understand it) the approach
> taken by Bastian. This second stage could then curate/organize the data and
> give it to subsequent programs in a more user-friendly data format than
> plain LMD structures.

I think the more plain data structures that Bastii uses in e.g. nupeline 
(as referenced in ucesb_in.cfg) are from a UCESB-based unpacker, with the 
specifications (and mappings) in the upexps repository.

> However, I see little use to invest time into the existing NUPELINE package
> if Bastian was basicly the only person maintaining it. Is there maybe
> something else 'on the market'? Or am I mistaken and there is somebody out
> there, who is also continuing to use NUPELINE?
> 
> 
> (Sorry, if this e-mail is a bit repetitive. I just want to make sure that my
> understanding of the situation is correct.)
> 
> 
> 
> 
> Best greetings
> 
> Günter


Cheers,
Håkan



> 
> 
> 
> 
> 
> ____________________________________________________________________________
> Von: subexp-daq <subexp-daq-bounces at lists.chalmers.se> im Auftrag von Håkan
> T Johansson <f96hajo at chalmers.se>
> Gesendet: Freitag, 22. März 2024 13:06
> An: Discuss use of Nurdlib, TRLO II, drasi and UCESB.
> Betreff: Re: [subexp-daq] Question on UCESB / UPEXPS  
> 
> Dear Günter,
> 
> feel free to respond to issues separately, it was quite a bunch of
> questions :-)  (I like!)
> 
> On Fri, 22 Mar 2024, Weber, Guenter Dr. wrote:
> 
> >
> > Dear friends,
> >
> >
> > we have now checked the code for the SIS3316 module and will push a
> version
> > with some bug fixes soon.
> 
> That is excellent news!
> 
> > The next thing on our list is to understand how we can access and store
> the
> > data that we produce. Bastian told us the following command to write LMD
> > files to hard disk:
> >
> >
> > /LynxOS/mbsusr/mbsdaq/mbsrun/rio4/2021_mcalstruck/drasi/bin/lwrocctrl
> > localhost --file-open=auto=1Gi,${file}
> >
> > How does this LWROCCTRL work together with the Event Builder and UCESB
> which
> > are started by the following commands?
> >
> > ../drasi/bin/lwrocmerge \
> >     --label=MCAL_EB \
> >     --merge-mode=event \
> >     --server=trans,flush=1 \
> >     --server=stream,flush=1 \
> >     --buf=size=800Mi \
> >     --max-ev-size=10Mi \
> >     --eb-master=rio4-mcal-2 \
> >     --file-writer \
> >     --drasi=rio4-mcal-2
> >
> > ------------------------------------
> 
> lwrocctrl works by communicating with drasi instances.
> for the lwrocctrl --file... options, it should be an instance which has a
> --file-writer specified.
> 
> You can run the lwrocctrl also from another machine (e.g. your PC), but
> then instead of 'localhost' give the name (or IP) of the machine where the
> instance is running.
> 
> For the communication to work, both have to find a directory
> ~/.drasi_tokens/ with one or more common files which it will do a cheap
> hash of.  That is just some very minor protection against mistakes (users
> talking with the wrong machine.  It is not a security measure as such.
> 
> To see if an instance is willing to talk, you can try
> 
> PATH-TO-DRASI/bin/bin/lwrocctrl --file-status [node]
> 
> >
> > while :
> > do
> > ~/mbsrun/rio4/mcalstruck/ucesb/empty/empty \
> >     stream://localhost \
> >     --server=stream:8001,bufsize=10Mi,flush=1,dataport:7001
> > sleep 5
> > done    
> 
> That connects to the server above (lwrocmerge) started with
> --server=stream.
> 
> And its --server option means it will act as a kind of proxy server.  I.e.
> other users that want data can connect to that instead of directly to the
> DAQ process.
> 
> > Moreover, to read in the online data stream as well as the LMD files from
> > disk, to us it looks like Bastian used a programm called UCESB_IN which is
> > using a mapping that is defined within UPEXPS to interpret the content of
> > the LMD files. To us it looks like UCESB_IN is like a wrapper for UCESB to
> > do a mapping of the content of the LMD events and to send out a data
> stream
> > of some of this content. Attached please find the configuration file for
> > UCESB_IN.
> 
> The attached .cfg file looks like a setup for Bastii's nupeline, which I
> have very little clue about.
> 
> Indeed it sure looks like it in turn uses an UCESB unpacker.  With the
> source in upexps.  That (upexps) has maintenance issues.
> 
> Perhaps someone else reading this mailing list is also using unpackers
> from the upexps?  If so, now would be a good time to speak up, because I
> think we need to figure out how to have something backwards compatible and
> maintainable for you, without being 'encouraged' to do the maintenance
> work that other users at GSI (R3B) refuse to do...
> 
> > Here, we are not sure up to which point there is a common approach to read
> > experimental data and beyond that everybody is on his own.
> 
> ... while still sharing as much as possible with other users.
> 
> > Many thanks and best greetings from Jena
> > Günter
> 
> Cheers,
> Håkan
> 
>


More information about the subexp-daq mailing list