Back Midas Rome Roody Rootana
  Root Analyzer Framework, Page 1 of 4  Not logged in ELOG logo
ID Dateup Author Topic Subject
  1   10 Mar 2016 Thomas LindnerInfoNew forum for rootana MIDAS analyzer
This is a new forum for discussing the rootana MIDAS analyzer.  

Code is on bitbucket:

https://bitbucket.org/tmidas/rootana

There is also an associated wiki for rootana documentation

https://midas.triumf.ca/MidasWiki/index.php/ROOTANA
  2   10 Mar 2016 Thomas LindnerInfoweb display of MIDAS data using rootana+THttpServer
I have finished a test implementation of a web display for MIDAS online
monitoring.  I have a test version of this display running here:

https://midastestdaq.triumf.ca/CS/webdisplay

(username/pwd: testdaq/testdaq)

The main features of this way of display MIDAS data are:

- An online rootana program that produces ROOT TH1 and TH2 histogram.
- A web server provided by ROOT (THttpServer) which serves up the histogram
information in JSON format.
- A bunch of crude html/javascript that grabs the JSON and plots it using a
couple of third-party javascript plotting packages.

I have written a more detailed description of this procedure (including some
known deficiencies) which is available here

https://midas.triumf.ca/MidasWiki/index.php/Rootana_javascript_displays

The html/javascript for plotting is available in rootana/examples/html.  It
should be noted that this procedure is only weakly coupled to rootana; you could
pretty easily take any program that makes ROOT histograms, add this THttpServer
and re-work my html/javascript to plot it.  Most of the hard-work is already
provided by THttpServer (which incidentally is available in newer versions of
both ROOT5 and ROOT6).

I am imagining the following scenario for using these web tools:

- we use this web-based display of online MIDAS data for a sub-set of key plots
for shift-takers and for remote experts to provide quick feed-back (when you are
on the bus, at the bar, on the ski hill).
- we continue to use some rootana GUI that provides a complete set of all the
online MIDAS plots, as well as the ability to play-back data in MIDAS files.

I can imagine a situation where we might only use the web tools, though I
haven't yet thought seriously about how to allow a play-back of MIDAS files
through web display.

Hopefully people find these tools useful.  I'm interested in all feed-back.
  3   16 Sep 2016 Konstantin OlchanskiInfoROOT v6 status
ROOT v6 has been around for a while now, finally got around to test it with ROOTANA.

a) using root-v6-06-08
b) everything compiles and links
c) the example applications - i.e. display_example.exe - seem to run correctly
d) user applications linked against librootana.a show a problem loading the ROOTANA rdict.pcm files.

Failure to load the rdict.pcm files seems to prevent some functions, at least in the GUIs.

I do not fully understand how ROOT is supposed to find these files and I am asking for help on the ROOT forum.

In the mean time, there is a work around:
- symlink all rdict.pcm files into same place as the executable: ln -sv $ROOTANASYS/*/*.pcm .
- symlink all (many) .h files into the same place (this is a bit extreme): ln -sv $ROOTANASYS/include/* .

K.O.
  4   30 Sep 2016 Konstantin OlchanskiInfoROOT v6 status
> ROOT v6 has been around for a while now, finally got around to test it with ROOTANA.

The problems with loading rdict.pcm files and c++ .h header files is resolved, ROOTANA should be fully usable with ROOTv6:

Put this in your login file:

export ROOTANASYS=$HOME/packages/rootana
export ROOT_INCLUDE_PATH=$ROOTANASYS/include
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTANASYS/obj

Explanation:
- LD_LIBRARY_PATH is used to search for rdict.pcm files.
- ROOT_INCLUDE_PATH is used to find the c++ .h header files.

K.O.
  5   25 Jan 2017 Thomas LindnerInfoweb display of MIDAS data using rootana+THttpServer
I have added some additional features to the example webdisplay that we have for
ROOTANA data (where we are displaying rootana data through ROOT THttpServer).  

The main improvement to the display is that I added the ability to plot the data
using the JSROOT package [1].  Previously I had used different packages (dygraphs
and plot-ly) for plotting.  The JSROOT plots are not obviously superior, though they
do present data in a more familiar way (at least for me).  The rootana webdisplay
currently  allows you to switch between the two different styles.

You can see a working example of the webdisplay here:

https://midastestdaq.triumf.ca/CS/webdisplay
(username/pwd: testdaq/testdaq)

All details on setting up that example are here:

https://midas.triumf.ca/MidasWiki/index.php/Rootana_javascript_displays#Custom_web_display

I'm interested in any feedback on which plotting style people prefer (or any other
aspects of the rootana webdisplay).

[1] https://root.cern/js/
  6   26 Jan 2017 Pierre GorelInfoweb display of MIDAS data using rootana+THttpServer
> I'm interested in any feedback on which plotting style people prefer (or any other
> aspects of the rootana webdisplay).

I personally prefer the ROOT style. It seems that they are equivalent, but it is possible to
change to log scale in X, Y (and Z for 2D) by simple click right on the plot. I cannot find
this feature in plot-ly. Unfortunately, it comes back to linear at the next refresh it seems...
Also, I prefer the 1D histograms as colums, not a segments.
  7   03 May 2017 Alberto RemotoInfoweb display of MIDAS data using rootana+THttpServer
Hi Thomas,

> All details on setting up that example are here:
> 
> https://midas.triumf.ca/MidasWiki/index.php/Rootana_javascript_displays#Custom_web_display

I am trying to test the webdisplay but I am not sure which would be the path:

I start the  THttpServer with:

$ ana.exe -r9091

But on the url:

http://localhost:9091/

I find just the default browser provided by JSROOT, while nothing is found on:

http://localhost:9091/CS/webdisplay

Where am I supposed to find the custom webdisplay provided by you?

Thank you, Alberto.
  8   03 May 2017 Thomas LindnerInfoweb display of MIDAS data using rootana+THttpServer
> 
> Hi Thomas,
> 
> > All details on setting up that example are here:
> > 
> > https://midas.triumf.ca/MidasWiki/index.php/Rootana_javascript_displays#Custom_web_display
> 
> I am trying to test the webdisplay but I am not sure which would be the path:
> 
> I start the  THttpServer with:
> 
> $ ana.exe -r9091
> 
> But on the url:
> 
> http://localhost:9091/
> 
> I find just the default browser provided by JSROOT, while nothing is found on:
> 
> http://localhost:9091/CS/webdisplay
> 
> Where am I supposed to find the custom webdisplay provided by you?

Hi Alberto,

I have added some additional details to the MediaWiki page that you referenced above.  The main point is as follows:

1) You need to setup a custom MIDAS webpage to point towards the example code in 
rootana/examples/html/generic_webdisplay.html
This means you need to add new entries to the ODB directory /Custom

2) The 'same-origin policy' means that you need to setup some sort of proxying so that the custom web page can access the 
ROOT webpage.  So, let's suppose in your case that you had the following ports for web servers:

ROOT webserver: localhost:9091
MIDAS webserver: localhost:8081

so in that case you would want to setup an APACHE proxy so that

localhost -> localhost:8081 (for the MIDAS server)
localhost/rootana -> localhost:9091 (for the ROOT server)

then the custom page would be available at

localhost/CS/webdisplay

Please read my updated documentation and see if this makes any more sense.

[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
  9   09 May 2017 Konstantin OlchanskiInfoweb display of MIDAS data using rootana+THttpServer
> 
> 2) The 'same-origin policy' means that you need to setup some sort of proxying so that the custom web page can access the 
> ROOT webpage.  So, let's suppose in your case that you had the following ports for web servers:
> [1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
>

The MIDAS web server mhttpd already implements CORS, so you can access mhttpd AJAX and JSON-RPC from external web pages, no need to proxy.

Does the ROOT web server NOT implement CORS? We should file a bug report with ROOT if it does not.

K.O.
  10   16 Jul 2019 HassanBug ReportCannot find dictionary modules
Hello,

We've been attempting to make and run the executables in the
/packages/rootana/examples directory and have come across the same/similar
errors for each of them regarding missing dictionary modules:

[lm17773@it038146 examples]$ ./ana.exe 
Error in <TCling::RegisterModule>: cannot find dictionary module
TFancyHistogramCanvasDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TRootanaDisplayDict_rdict.pcm
Using THttpServer in read/write mode
================================================================================
[lm17773@it038146 examples]$ ./anaDisplay.exe 
Error in <TCling::RegisterModule>: cannot find dictionary module
TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TRootanaDisplayDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TFancyHistogramCanvasDict_rdict.pcm
TDT724Waveform done init...... 
Create Histos
Create Histos
Adding new canvas in tab named 'V1720 Waveforms'
Adding new canvas in tab named 'V1720 Correlations'
Adding new canvas in tab named 'DT724 Waveforms'
Adding new canvas in tab named 'TRB3 Histograms'
Adding new canvas in tab named 'TRB3 Fine Histograms'
Adding new canvas in tab named 'TRB3 Diff Histograms'
===============================================================================
[lm17773@it038146 examples]$ ./midas2root.exe 
Error in <TCling::RegisterModule>: cannot find dictionary module
TFancyHistogramCanvasDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TRootanaDisplayDict_rdict.pcm
Create main window!
==============================================================================
[lm17773@it038146 examples]$ ./root_server.exe 
Error in <TCling::RegisterModule>: cannot find dictionary module
TFancyHistogramCanvasDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module
TRootanaDisplayDict_rdict.pcm
Using THttpServer in read/write mode

Please can you help us locate these modules?

Thanks!
  11   16 Jul 2019 Konstantin OlchanskiBug ReportCannot find dictionary modules
> [lm17773@it038146 examples]$ ./ana.exe 
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TFancyHistogramCanvasDict_rdict.pcm

It is a problem inside ROOT. The pcm files replaced the dict.h files during the switch from CINT in 
ROOTv5 to LLVM in ROOTv6. But they have a mistake and use the wrong path for finding these files. 
I.e. search for "cannot find dictionary module" on the ROOT forum https://root-forum.cern.ch

K.O.
  12   16 Jul 2019 Thomas LindnerBug ReportCannot find dictionary modules
Hi,

I just wanted to be certain about how serious this problem is.  These error message always happens for me when I 
run on macos machine as well.  But the errors don't seem to have any real effect; my programs still run fine.

Is that the case for you too?  You get the error messages, but everything still works?

If so, then I agree that it would be nice to fix, but it is less critical; I will try to get to it.

Cheers,
Thomas

> Hello,
> 
> We've been attempting to make and run the executables in the
> /packages/rootana/examples directory and have come across the same/similar
> errors for each of them regarding missing dictionary modules:
> 
> [lm17773@it038146 examples]$ ./ana.exe 
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TFancyHistogramCanvasDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TMainDisplayWindowDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TRootanaDisplayDict_rdict.pcm
> Using THttpServer in read/write mode
> ================================================================================
> [lm17773@it038146 examples]$ ./anaDisplay.exe 
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TMainDisplayWindowDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TRootanaDisplayDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TFancyHistogramCanvasDict_rdict.pcm
> TDT724Waveform done init...... 
> Create Histos
> Create Histos
> Adding new canvas in tab named 'V1720 Waveforms'
> Adding new canvas in tab named 'V1720 Correlations'
> Adding new canvas in tab named 'DT724 Waveforms'
> Adding new canvas in tab named 'TRB3 Histograms'
> Adding new canvas in tab named 'TRB3 Fine Histograms'
> Adding new canvas in tab named 'TRB3 Diff Histograms'
> ===============================================================================
> [lm17773@it038146 examples]$ ./midas2root.exe 
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TFancyHistogramCanvasDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TMainDisplayWindowDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TRootanaDisplayDict_rdict.pcm
> Create main window!
> ==============================================================================
> [lm17773@it038146 examples]$ ./root_server.exe 
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TFancyHistogramCanvasDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TMainDisplayWindowDict_rdict.pcm
> Error in <TCling::RegisterModule>: cannot find dictionary module
> TRootanaDisplayDict_rdict.pcm
> Using THttpServer in read/write mode
> 
> Please can you help us locate these modules?
> 
> Thanks!
  13   18 Jul 2019 HassanBug ReportCannot find dictionary modules
Hi,
We are getting these warning of dictionary modules missing and nothing happens. I would have expected some graphical
interface to load up. I have tried copying these .pcm files from the packages/rootana/obj folder to
packages/rootana/examples, now the missing dictionary module complaint goes away but no graphical interface loads up.
Could you please assist with this?

Kind regards,
Hassan

> Hi,
> 
> I just wanted to be certain about how serious this problem is.  These error message always happens for me when I 
> run on macos machine as well.  But the errors don't seem to have any real effect; my programs still run fine.
> 
> Is that the case for you too?  You get the error messages, but everything still works?
> 
> If so, then I agree that it would be nice to fix, but it is less critical; I will try to get to it.
> 
> Cheers,
> Thomas
> 
> > Hello,
> > 
> > We've been attempting to make and run the executables in the
> > /packages/rootana/examples directory and have come across the same/similar
> > errors for each of them regarding missing dictionary modules:
> > 
> > [lm17773@it038146 examples]$ ./ana.exe 
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TFancyHistogramCanvasDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TMainDisplayWindowDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TRootanaDisplayDict_rdict.pcm
> > Using THttpServer in read/write mode
> > ================================================================================
> > [lm17773@it038146 examples]$ ./anaDisplay.exe 
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TMainDisplayWindowDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TRootanaDisplayDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TFancyHistogramCanvasDict_rdict.pcm
> > TDT724Waveform done init...... 
> > Create Histos
> > Create Histos
> > Adding new canvas in tab named 'V1720 Waveforms'
> > Adding new canvas in tab named 'V1720 Correlations'
> > Adding new canvas in tab named 'DT724 Waveforms'
> > Adding new canvas in tab named 'TRB3 Histograms'
> > Adding new canvas in tab named 'TRB3 Fine Histograms'
> > Adding new canvas in tab named 'TRB3 Diff Histograms'
> > ===============================================================================
> > [lm17773@it038146 examples]$ ./midas2root.exe 
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TFancyHistogramCanvasDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TMainDisplayWindowDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TRootanaDisplayDict_rdict.pcm
> > Create main window!
> > ==============================================================================
> > [lm17773@it038146 examples]$ ./root_server.exe 
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TFancyHistogramCanvasDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TMainDisplayWindowDict_rdict.pcm
> > Error in <TCling::RegisterModule>: cannot find dictionary module
> > TRootanaDisplayDict_rdict.pcm
> > Using THttpServer in read/write mode
> > 
> > Please can you help us locate these modules?
> > 
> > Thanks!
  14   24 Jul 2019 Paolo BaessoBug ReportROOTANA installation fails (ss_suspend_set_dispatch_ipc(NULL); not declared)

Good afternoon, I am following the instructions provided here to install ROOTANA (and MIDAS, more in general). When I try to make I get the following error

libMidasInterface/TMidasOnline.cxx: In member function ‘bool TMidasOnline::sleep(int)’: libMidasInterface/TMidasOnline.cxx:194:3: error: ‘ss_suspend_set_dispatch_ipc’ was not declared in this scope
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
libMidasInterface/TMidasOnline.cxx:194:3: note: suggested alternative: ‘ss_suspend_set_rpc_thread’
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
ss_suspend_set_rpc_thread
Makefile:339: recipe for target 'obj/TMidasOnline.o' failed make: *** [obj/TMidasOnline.o] Error 1

 

And the compilation stops. Is this a known issue?
My system is Ubuntu 18 and I am running ROOT 6.18.00

  15   08 Aug 2019 Lauren MantonBug ReportROOTANA installation fails (ss_suspend_set_dispatch_ipc(NULL); not declared)

Hi,

Thank you, commenting out the line worked and we can now compile the code. However, when we try to run ana.exe or anaDisplay.exe, we get the following errors:

Error in <TCling::RegisterModule>: cannot find dictionary module TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module TRootanaDisplayDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module TFancyHistogramCanvasDict_rdict.pcm

 

We see that the files are in /rootana/obj but we cannot find a way to point the compiler to them.

Could you please advise how to proceed,

Many thanks

Paolo Baesso wrote:

Good afternoon, I am following the instructions provided here to install ROOTANA (and MIDAS, more in general). When I try to make I get the following error

libMidasInterface/TMidasOnline.cxx: In member function ‘bool TMidasOnline::sleep(int)’: libMidasInterface/TMidasOnline.cxx:194:3: error: ‘ss_suspend_set_dispatch_ipc’ was not declared in this scope
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
libMidasInterface/TMidasOnline.cxx:194:3: note: suggested alternative: ‘ss_suspend_set_rpc_thread’
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
ss_suspend_set_rpc_thread
Makefile:339: recipe for target 'obj/TMidasOnline.o' failed make: *** [obj/TMidasOnline.o] Error 1

 

And the compilation stops. Is this a known issue?
My system is Ubuntu 18 and I am running ROOT 6.18.00

 

  16   08 Aug 2019 Thomas LindnerBug ReportROOTANA installation fails (ss_suspend_set_dispatch_ipc(NULL); not declared)

Hi Lauren,

Do you see an actual problem that results from those error messages?  As I mentioned before [1] I get that error message, but it doesn't seem to actually cause a problem.  

Thomas

[1] https://midas.triumf.ca/elog/Rootana/12

Lauren Manton wrote:

Hi,

Thank you, commenting out the line worked and we can now compile the code. However, when we try to run ana.exe or anaDisplay.exe, we get the following errors:

Error in <TCling::RegisterModule>: cannot find dictionary module TMainDisplayWindowDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module TRootanaDisplayDict_rdict.pcm
Error in <TCling::RegisterModule>: cannot find dictionary module TFancyHistogramCanvasDict_rdict.pcm

 

We see that the files are in /rootana/obj but we cannot find a way to point the compiler to them.

Could you please advise how to proceed,

Many thanks

Paolo Baesso wrote:

Good afternoon, I am following the instructions provided here to install ROOTANA (and MIDAS, more in general). When I try to make I get the following error

libMidasInterface/TMidasOnline.cxx: In member function ‘bool TMidasOnline::sleep(int)’: libMidasInterface/TMidasOnline.cxx:194:3: error: ‘ss_suspend_set_dispatch_ipc’ was not declared in this scope
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
libMidasInterface/TMidasOnline.cxx:194:3: note: suggested alternative: ‘ss_suspend_set_rpc_thread’
ss_suspend_set_dispatch_ipc(NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
ss_suspend_set_rpc_thread
Makefile:339: recipe for target 'obj/TMidasOnline.o' failed make: *** [obj/TMidasOnline.o] Error 1

 

And the compilation stops. Is this a known issue?
My system is Ubuntu 18 and I am running ROOT 6.18.00

 

 

  17   14 Aug 2019 Konstantin OlchanskiBug ReportROOTANA installation fails (ss_suspend_set_dispatch_ipc(NULL); not declared)
(please send elog messages in "plain text" mode, otherwise I cannot quote your text)

The problem with missing ss_suspend_set_dispatch_ipc() is now fixed, rootana commit 
https://bitbucket.org/tmidas/rootana/commits/52fdedb5745fa9b6739a16a6faab8b9d40108045

If you run rootana online in graphical mode (or call TMidasOnline::sleep() yourself), you may re-encounter
the problem of recursive calls to the event handler, depending on which version of MIDAS you use. The
probability of this problem happening is probably reduced to zero in all 2019 MIDAS releases and it is
definitely fixed in the most recent commits to MIDAS (this will be the midas-2019-09 release, most likely).

Read more here:
https://midas.triumf.ca/elog/Midas/1663

K.O.
  18   14 Aug 2019 Konstantin OlchanskiBug Reportcannot find dictionary module TMainDisplayWindowDict_rdict.pcm
> cannot find dictionary module TMainDisplayWindowDict_rdict.pcm

this problem is not unique to ROOTANA and ROODY, take a search for this problem (and solutions) on the ROOT forum...

K.O.
  Draft   22 Oct 2019 Lukas GerritzenBug Report 
  20   10 Mar 2020 Konstantin OlchanskiInfoweb display of MIDAS data using rootana+THttpServer
> > 
> > 2) The 'same-origin policy' means ...
> > https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
> >
> 
> The MIDAS web server mhttpd already implements CORS, so you can access mhttpd AJAX and JSON-RPC from external web pages, no need to proxy.
> Does the ROOT web server NOT implement CORS? We should file a bug report with ROOT if it does not.

For the record, the web server in ROOT 6.20 does implement CORS via the "cors=" option, see
https://github.com/root-project/jsroot/blob/master/docs/HttpServer.md

K.O.
ELOG V3.1.4-2e1708b5