|
Back
Midas
Rome
Roody
Rootana
|
Midas DAQ System |
Not logged in |
|
|
01 Mar 2021, Marius Koeppel, Forum, Using JSROOT.openFile with Midas
|
03 Mar 2021, Konstantin Olchanski, Forum, Using JSROOT.openFile with Midas
|
04 Mar 2021, Marius Koeppel, Forum, Using JSROOT.openFile with Midas
|
04 Mar 2021, Konstantin Olchanski, Forum, Using JSROOT.openFile with Midas
|
04 Mar 2021, Stefan Ritt, Forum, Using JSROOT.openFile with Midas
|
04 Mar 2021, Marius Koeppel, Forum, Using JSROOT.openFile with Midas
|
|
Message ID: 2120
Entry time: 04 Mar 2021
In reply to: 2118
Reply to this: 2121
|
Author: |
Marius Koeppel |
Topic: |
Forum |
Subject: |
Using JSROOT.openFile with Midas |
|
|
Thank you for the answer :)
> At some point I would like to provide a function to "get" TAFlowEvent objects so you can do things
> like event displays in javascript. But I need a c++ to json serializer and standard c++ does not have it.
> So I will have to use the clang serializer (also used by ROOT) and it will take me a few days
> to figure it out.
That sounds exactly what I was searching for. Because I wanted to create an interface between rootana and
an event display build in javascript. Since all I tried did not really worked with the current rootana
I have now a "solution". I use the MIDAS python client, read directly events from the MIDAS buffer and provided
the events in a JSON format with the python flask API. Since the rendering of the event display is the bottleneck
and I only need a view events to display this solution worked really well for me. Maybe having such a JSON API of
the event buffer in MIDAS directly would also work for most of the event display applications or other simple javescript
applications (my opinion).
> If you figure out the missing bits that need to be added to our code,
> please post them here or submit them as a pull request or a bug report in bitbucket.
One of the problems I had was the CORS domain of the THttpServer. In manalyzer:1894 you do
sprintf(str, "http:127.0.0.1:%d", httpPort); but there are additional options for the THttpServer (like "?cors=DOMAIN").
So maybe a flag while starting manalyzer passing such options would be nice. I will create a pull request passing them later.
> Also it would be good if you can provide a code example of "openFile" working elsewhere
> but not with manalyzer, if I can run it, maybe I can figure out what's missing. But lacking
> some example code, there is nothing for me to hack at.
The problem is that it was not even running on simple THttpServer using interactive root:
serv = new THttpServer("http:8088?cors=*");
TFile *_file0 = TFile::Open("example_root.root")
serv->Register("File", _file0);
So I tried just saving the file in the $MIDAS_DIR and tried to use mserver with JSROOT.openFile. I attached the html file and
a test root file.
Cheers,
Marius |
|
|