> 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. |