ID |
Date |
Author |
Topic |
Subject |
Draft
|
22 Oct 2019 |
Lukas Gerritzen | Bug Report | |
|
10
|
16 Jul 2019 |
Hassan | Bug Report | Cannot 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 Olchanski | Bug Report | Cannot 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 Lindner | Bug Report | Cannot 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 |
Hassan | Bug Report | Cannot 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! |
23
|
12 Jul 2020 |
Thomas Lindner | Bug Report | Compiling rootana on Macos 10.15.4 |
I had some trouble building rootana on my new laptop, running MacOS 10.15.4 (Xcode 11.5).
Most of rootana compiled fine, but the steps with rootcint fail. For instance:
rootcint -f obj/TMainDisplayWindowDict.cxx -DHAVE_ROOT -DOS_LINUX -DOS_DARWIN -I./include
include/TMainDisplayWindow.hxx include/TMainDisplayWindow_LinkDef.h
In file included from input_line_12:12:
In file included from ./include/TMainDisplayWindow.hxx:4:
In file included from /Applications/root_v6.18.99/include/TGClient.h:27:
In file included from /Applications/root_v6.18.99/include/TString.h:26:
In file included from /Applications/root_v6.18.99/include/TMathBase.h:32:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:317:9: error: no member named
'signbit' in the global namespace
using ::signbit;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:318:9: error: no member named
'fpclassify' in the global namespace
using ::fpclassify;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:319:9: error: no member named
'isfinite' in the global namespace
using ::isfinite;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:320:9: error: no member named 'isinf'
in the global namespace
using ::isinf;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:321:9: error: no member named 'isnan'
in the global namespace
This is probably a problem with my Xcode installation. But I found a work-around, which was explicitly
defining CPATH before the rootcint command in the Makefile:
obj/TMainDisplayWindowDict.cxx obj/TRootanaDisplayDict.cxx obj/TFancyHistogramCanvasDict.cxx:
obj/%Dict.cxx:
CPATH=/usr/local/include rootcint -f $@ $(CXXFLAGS_ROOTCINT) -I./include include/$*.hxx
include/$*_LinkDef.h
obj/TNetDirectoryDict.cxx: obj/%Dict.cxx:
CPATH=/usr/local/include rootcint -f $@ $(CXXFLAGS_ROOTCINT) -I./include include/$*.h
include/$*_LinkDef.h
As I say, this is probably a problem with my installation; but I include the work-around in case it is helpful.
In the medium term we will try to remove the dependence on the old, ugly rootcint, since it often has
problems. |
38
|
22 Mar 2021 |
Isaac Labrie Boulay | Forum | Manalyzer - Preventing BeginRun() from getting called when I stop the run. |
Hi all,
I am running an analyzer using an manalyzer templates and the analysis seems to
lag behind the events getting stored in the buffer by my frontend. This is because
the live histogram (-g) is very slow to update and draw. The slight delay causes a
run object to be created after I 'stop' the acquisition. I'm guessing that this is
because there are still MIDAS events in the ring buffer. This causes the
BeginRun() methods of all my modules to get called again.
What is the best way to prevent this? From what I understand, PreEndRun() methods
should only be used to clear buffered flow events. Is there maybe a way to speed
up the histogram drawing so that I don't get this lag in the analysis?
Any help will be greatly appreciated.
Thanks so much for your time.
Isaac |
1
|
10 Mar 2016 |
Thomas Lindner | Info | New 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 |
3
|
16 Sep 2016 |
Konstantin Olchanski | Info | ROOT 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 Olchanski | Info | ROOT 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. |
26
|
10 Dec 2020 |
Isaac Labrie Boulay | Forum | ROOTANA MidasWiki |
Hi folks,
I'm currently looking at the ROOTANA wiki. I will be building an online MIDAS
analyzer and I'm wondering if the wiki still contains useful information if I want
to use the more recent 'manalyzer' template.
Thanks!
Isaac |
29
|
16 Dec 2020 |
Konstantin Olchanski | Forum | ROOTANA MidasWiki |
> I'm currently looking at the ROOTANA wiki. I will be building an online MIDAS
> analyzer and I'm wondering if the wiki still contains useful information if I want
> to use the more recent 'manalyzer' template.
All the documentation for manalyzer is in it's README.md file. I am not sure if the ROOTANA wiki makes
correct reference to this.
The big idea is to make manalyzer part of midas, as replacement to the old mana.c analyzer.
For now, I plan to make manalyzer into a git submodule in midas and rootana (same as mjson, mvodb and
midasio).
K.O. |
14
|
24 Jul 2019 |
Paolo Baesso | Bug Report | ROOTANA 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 Manton | Bug Report | ROOTANA 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 Lindner | Bug Report | ROOTANA 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 Olchanski | Bug Report | ROOTANA 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. |
45
|
25 Apr 2022 |
Marius Koeppel | Suggestion | Support for THttpServer Options |
Dear all,
I would like to have the possibility to add different options when I create a THttpServer. At the moment the manalyzer.cxx only adds the port:
2840: sprintf(str, "http:127.0.0.1:%d?cors", httpPort);
But there are more options which one can use https://github.com/root-project/jsroot/blob/master/docs/HttpServer.md.
Best regards,
Marius |
46
|
27 Apr 2022 |
Konstantin Olchanski | Suggestion | Support for THttpServer Options |
> I would like to have the possibility to add different options when I create a THttpServer.
I would like to know your "use case". What different options do you want to use in addition to what's already there?
I must ask because some options are insecure (i.e. exposing the webserver to external connections) and
while I have no problem with others shooting themselves in the foot, I think they should be warned
before they do it and I do not want to read it in the news that they did it using a gun I built.
TLDR follows:
> At the moment the manalyzer.cxx only adds the port:
> 2840: sprintf(str, "http:127.0.0.1:%d?cors", httpPort);
this is by design. it is only safe to bind thttpserver to localhost, exposing to external connections is not safe. (until somebody
can review the security situation with the version of civetweb, an antique clone of mongoose, inside ROOT).
same situation with mhttpd, it is not safe to expose it to external connections, it should always live
behind a password protected https proxy.
> But there are more options which one can use https://github.com/root-project/jsroot/blob/master/docs/HttpServer.md.
yes, I see there is more options now that there used to be before.
which ones do you want to use? and which ones you think are generally useful in what we do?
- threads - I am not sure what the latest thread-safe situation is on ROOT. is it useful to increase number of threads beyond 10?
- top=name - yes, useful, but I think jsroot overrides that.
- auth_file, auth_domain - digest authentication .htdigest file stores passwords effectively as plain text, if you steal the .htdigest file, you
can login into the web server (as opposed to stealing /etc/passwd, you cannot login anywhere with it, not until you crack the hashes).
- loopback - this is what I want to enforce
- debug - could be useful, but is it?
- websocket - does this do anything useful for us?
- cors=domain - same as in midas mhttpd, I think we respond with CORS "*", is some other reponse useful?
- readonly - (is the default?)
- readwrite - I think should be *our* default
- global - (is the default, I agree)
- noglobal - any use case where we may want this?
- anything else?
For general use, I want maximum security configuration: bind to localhost, cors enabled, user can specify tcp port number, plus anything else from
the list above?
For maximum flexibility we should probably have "--insecure-thttpd" to specify
the complete THttpServer() constructor argument. But it would be silly to force everybody
to use that just to set the "debug" option.
K.O. |
25
|
07 Dec 2020 |
Isaac Labrie Boulay | Forum | The FIXED format. |
Hi folks,
I am thinking of using the FIXED format event to avoid the overhead of the bank
structure. The Wiki says under "FIXED Format Event" that the standard MIDAS
analyzer cannot work with this format. What exactly is meant by this? Is it saying
that the specific ROOTANA analyzer template will not work with the event format?
Thanks for helping me out!
Isaac |
28
|
16 Dec 2020 |
Konstantin Olchanski | Forum | The FIXED format. |
> I am thinking of using the FIXED format event to avoid the overhead of the bank
> structure. The Wiki says under "FIXED Format Event" that the standard MIDAS
> analyzer cannot work with this format. What exactly is meant by this? Is it saying
> that the specific ROOTANA analyzer template will not work with the event format?
I am not sure if current code can deal with anything other than MIDAS data that uses
the bank format. (even bk_init32a() support is incomplete in ROOTANA!).
I am curious why you have a problem with the bank format.
For bank overhead, there are several solutions:
a) if you have 1000 banks, 1 data word in each bank, you can create 1 MIDAS bank, store
your data inside using your own optimized data format. (MIDAS overhead reduces from
4000 words to 4 words, overhead from your custom data format goes from 0 to ???, so you
may not gain much).
b) if you have 1000 data events, 1 data word in each event. Overhead is crazy: many
words of event header, many words of bank header, etc. I would solve this storing
all your events inside one single midas event (say, 1000 data events per 1 midas
event). Each data event can be stored in a midas bank (it is okey to have 1000 banks
named "AAAA"), or you use solution (a). The m-analyzer is especially suitable for
working with such "super events". In the unpacking module, AnalyzeEvent() would unpack
each data event into a FlowEvent, in all the other modules, your FlowEvent-encapsulated
data events will show up in the AnalyzeFlowEvent() method.
Next time I work on the midasio library and the TMEvent class I should check that it
works with and that is usable with non-midas-bank data.
K.O. |