Back Midas Rome Roody Rootana
  Rome Analyzer Framework, Page 11 of 11  Not logged in ELOG logo
ID Date Authorup Topic Subject
  130   20 Feb 2007 Todd Bredeweg Duplicate header file
I just started using Rome v2.7 and Root v5.14.00. I have run into a rather
interesting issue trying to compile my analyzer. I tracked the problem to the
fact that both Root and Rome are loading their own version of a header file
called TArrayL64.h. The content of the two files are essentially identical. I
solved the problem by changing the conditional at the start of the file
$ROMESYS/include/TArrayL64.h from

#ifndef TArrayL64_H
#define TArrayL64_H

to

#ifndef ROOT_TArrayL64
#define ROOT_TArrayL64

The latter is what I found in the Root version of the file. Now it only gets
loaded once. I looked at the svn sources that I just updated and it also uses
TArrayL64_H.

Question, why are there two copies.

UPDATE 2-21-07:
It seems that Root was the cause of this. Rome has used this header for some
time, but earlier versions of Root did not include it.
  136   06 Jun 2008 Todd BredewegForumRome License
I was wondering what type of license, if any, applies to the Rome distribution.
Midas is using GPL and Root is using LGPL.
  164   23 Oct 2015 Wes GohnForumTGraph objects
Does anyone have an example of how to add TGraph objects in ROME? We often use these in our MIDAS analyzers to create plots of quantities vs. event number (i.e. bank size, number of triggers, etc). Thanks!
  193   04 Apr 2016 Wes GohnInfo ROME in online mode using an intermediary machine

Hi Ryu, here is the method we've followed. I tried to simplify things by connecting to the server directly, so we can skip the port tunnelling. On the server side, in the romeConfig.xml, I set

<SocketServer>
<Active>true</Active>
<PortNumber>9091</PortNumber>
</SocketServer>

I then started rome in batch mode

./midanalyzer.exe -i romeConfig.xml -b

It connects to a running experiment as expected, and is processing data.
On the client machine, I set in romeConfig.xml:


<SocketClient>
<Host>myhost</Host>
<Port>9091</Port>
</SocketClient>

I then start rome using the -R option:

./midanalyzer.exe -R myhost:9091
*****************************************
* *
* MIDAnalyzer *
* *
* generated by the ROME Environment *
* Version 3.2.6 *
* *
*****************************************


Remote session to myhost:9091
midanalyzer [0]


At which point it does establish the socket connection to the server side, but it just sits there (I can establish this because if I run commands at the prompt, I see some errors pop up on my server terminal). How do I open my Argus browser on the client side to see the plots?

Or is there something we're doing that is fundamentally wrong?

Thanks,
Wes
  87   26 Jun 2005 Yasuko HISAMATSUBug ReportNeed to include stdarg.h in file ROMEString.h
Hello,

It seems some compliers have a problem with making ROME, sending error message
saying,

 In file included from builder/src/ROMEBuilder.cpp:574:
/home/pekochan/rome/20050626/rome/include/ROMEString.h:41: type spec ifier
   omitted for parameter `va_list'
 ...etc


This problem can be fixed in file "ROMEString.h" by adding the following 
either line;

#include <stdarg.h>

or 

#include <Varargs.h>
  208   29 Nov 2017 Yusuke UchiyamaInfoCompiler warning
Dear all,

Under the environment with GCC4.8.5 and ROOT6.08.04,
we get the following warning messages when compiling XXXAnalyzer3, XXXAnalyzer4, 
XXXConfig, XXXConfig2,3,4, XXXDBAccess, and XXXConfigToForm.


In file included from /usr/include/stdlib.h:24:0,
                 from /meg/data1/shared/mc/benchmark_test/rome3-root6.08.04-
gcc485/include/ROMEAnalyzer.h:10,
                 from include/generated/MEGPrecompile.h:23,
                 from <command-line>:0:
/usr/include/features.h:330:4: warning: #warning _FORTIFY_SOURCE requires compiling 
with optimization (-O) [-Wcpp]
 #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
    ^
[345/369] compiling obj/MEGAnalyzer4.o
In file included from /usr/include/stdlib.h:24:0,
                 from /meg/data1/shared/mc/benchmark_test/rome3-root6.08.04-
gcc485/include/ROMEAnalyzer.h:10,
                 from include/generated/MEGPrecompile.h:23,
                 from <command-line>:0:
/usr/include/features.h:330:4: warning: #warning _FORTIFY_SOURCE requires compiling 
with optimization (-O) [-Wcpp]
 #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
    ^

It seems due to 'NOOPT' flag added to those objects in the Makefile.
Is the 'NOOPT' flag necessary? If not, how can we remove it?

Regards,
Yusuke
  210   29 Nov 2017 Yusuke UchiyamaInfoCompiler warning
Hi Ryu,

Thank you.
You are right. We add -D_FORTIFY_SOURCE=2 in CFLAGS and CXXFLAGS in our project Makefile.
If we remove it, the warnings go away.

I tried your suggestion but I got the following warning: 

[346/369] compiling obj/MEGAnalyzer3.o
<command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by default]
<command-line>:0:0: note: this is the location of the previous definition

However, if I add 
'-U_FORTIFY_SOURCE' instead the warning above disappears.

Do you think it is OK for all?

Regards,
Yusuke

> Hi Yusuke
> 
> NOOPT is added for potentially large source files to reduce the compile time and memory usage.
> 
> I guess -D_FORTIFY_SOURCE option is added in your project Makefile or in your environment variable, instead of by 
> ROME.
> However, we could modify ROME to explicitly disable it by adding -D_FORTIFY_SOURCE=0 to NOOPT.
> That can be done by modifying builder/src/ROMEBuildMakeFile.cpp line 1348.
> 
> Could you try to do it ?
> 
> Ryu
> 
> 
> > Dear all,
> > 
> > Under the environment with GCC4.8.5 and ROOT6.08.04,
> > we get the following warning messages when compiling XXXAnalyzer3, XXXAnalyzer4, 
> > XXXConfig, XXXConfig2,3,4, XXXDBAccess, and XXXConfigToForm.
> > 
> > 
> > In file included from /usr/include/stdlib.h:24:0,
> >                  from /meg/data1/shared/mc/benchmark_test/rome3-root6.08.04-
> > gcc485/include/ROMEAnalyzer.h:10,
> >                  from include/generated/MEGPrecompile.h:23,
> >                  from <command-line>:0:
> > /usr/include/features.h:330:4: warning: #warning _FORTIFY_SOURCE requires compiling 
> > with optimization (-O) [-Wcpp]
> >  #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
> >     ^
> > [345/369] compiling obj/MEGAnalyzer4.o
> > In file included from /usr/include/stdlib.h:24:0,
> >                  from /meg/data1/shared/mc/benchmark_test/rome3-root6.08.04-
> > gcc485/include/ROMEAnalyzer.h:10,
> >                  from include/generated/MEGPrecompile.h:23,
> >                  from <command-line>:0:
> > /usr/include/features.h:330:4: warning: #warning _FORTIFY_SOURCE requires compiling 
> > with optimization (-O) [-Wcpp]
> >  #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
> >     ^
> > 
> > It seems due to 'NOOPT' flag added to those objects in the Makefile.
> > Is the 'NOOPT' flag necessary? If not, how can we remove it?
> > 
> > Regards,
> > Yusuke
  213   23 Jul 2019 Yusuke UchiyamaForumChange of MIDAS library path
Dear all,

From the recent release of MIDAS, "midas-2019-06", the MIDAS library path is changed:
it was $MIDASSYS/linux/lib, but now $MIDASSYS/lib.
See https://midas.triumf.ca/elog/Midas/1564 for the detail.

Due to this change, ROME analyzers cannot be built with -midas option.

The solution seems easy: change the path in 
$ROMESYS/buildersrc/ROMEBuilderMakeFile.cpp AddDAQLibraries().
However, directly changing the code will loose backward compatibility.
Do you have any suggestions?

Regards,
Yusuke
  5   13 Oct 2004 ryuSuggestionTBranch compression
It seems that branchs in TTree which is created by ROME is not compressed. 

So I changed src/framework/XXEventLoop.cpp like

.
.
.
 tree = new TTree("Trigger","Trigger");
 tree->Branch("Info","ROMETreeInfo",&fTreeInfo,32000,99);
 tree->GetBranch("Info")->SetCompressionLevel(1);
 tree->Branch("LPADCData","TClonesArray",gAnalyzer->GetLPADCDataObjectsAddress(),32000,99);
 tree->GetBranch("LPADCData")->SetCompressionLevel(1);
.
.
.

After this change, file size which was 739MB became 235MB.
  6   13 Oct 2004 ryuSuggestionTTree filling in online mode.
In my case, in online mode, I don't need to wirte TTree.
But I want to fill it, because we use it to see data with using TSocket connection.

How do you think about filling TTree even if write flag is not toggled ?
  7   13 Oct 2004 ryuBug Reportserial number and event ID
In "ROMEEventLoop.cpp"
in function "ReadEvent(Int_t event)"
after "if (gROME->isOnline()&&gROME->isMidas()) {"

gROME should get serial_number and event ID from event header. 
There should be following 2 lines

  gROME->SetCurrentEventNumber(((EVENT_HEADER*)mEvent)->serial_number);
  gROME->SetEventID(((EVENT_HEADER*)mEvent)->event_id);
ELOG V3.1.4-2e1708b5