ExRootAnalysis TTime unsigned long error

Asked by Matthew Gonderinger


I have gotten MG5 with Pythia and PGS to run successfully and generate events. I am trying to get ExRootAnalysis working to convert the PGS .lhco file to a .root file.

I have run tar -xvf on the ExRootAnalysis file downloaded from the MadGraph website. I have also done export ROOTSYS, export PATH, export LD_LIBRARY_PATH, and export DYLD_LIBRARY_PATH so I think those are all correct. When I run make in the ExRootAnalysis directory, I get a bunch of warnings (things like suggesting parantheses around && and || statements, or comparing unsigned integers to signed integers, etc.) but make finishes without any indication that it failed.

When I run ExRootLHCOlympicsConverter, I get the following error printed over and over again:
Error in <TTime::operator unsigned long()>: time truncated, use operator unsigned long long
However, the converter does output a .root file, but I'm not sure if it's "correct" or not.

If the ExRootAnalysis directory is inside the main MadGraph directory, then, after running make on ExRootAnalysis, I get that same error even when generating events in MG5 and running Pythia and PGS (though everything seems to complete successfully). If the ExRootAnalysis directory is outside the main MG directory, then MG et al. seem to be unaffected by this error.

Any thoughts what this error might be and how to fix it? Please let me know.

// Matt

Question information

English Edit question
MadGraph5_aMC@NLO Edit question
No assignee Edit question
Solved by:
Matthew Gonderinger
Last query:
Last reply:
Revision history for this message
Johan Alwall (johan-alwall) said :

Dear Matt,

ExRootAnalysis is an external package to the MadGraph package, so it
doesn't affect anything except its own output. Your error could be due
to some mismatch between compilers for the installed ROOT and
ExRootAnalysis packages, or a version problem between ROOT and

All the best,

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :

Hi Matt,

If you need help for ExRootAnalysis, you can contact Pavel Demin which is the main develloper of this tool.
This is it's web adress: <email address hidden>



Revision history for this message
David Yaylali (yaylali) said :

Hi Matt,

I experience the same string of errors when I run the converter. It was suggested to me that it may be a compiler problem, as Johan suggested above. I was never able to solve this issue but from what I have gathered the root file that is generated works properly.

The error messages slow down the converter considerably, though, so I simply send those error messages to /dev/null every time I run the converter. i.e..

../ExRootAnalysis/ExRootLHCOlympicsConverter filename1.lhco filename2.root 1>&/dev/null


Revision history for this message
Matthew Gonderinger (gonderinger) said :

Hello all,

Below is the response I received from Pavel Demin, the ExRootAnalysis developer, in regards to this problem. I followed his instructions and everything works perfectly now.

"Dear Matthew,

Thanks a lot for finding this problem!

It should not affect any results as the TTime functions are only used to update the progress bar. So, the resulting .root file is correct.

You can fix the problem by replacing ULong_t with ULong64_t in two source files:

1. in ExRootAnalysis/ExRootProgressBar.h


   Long64_t fEntries;
   Int_t fWidth;

   ULong64_t fTime; // <= here

2. in src/ExRootProgressBar.cc

void ExRootProgressBar::Update(Long64_t entry) {
   ULong64_t time = gSystem->Now(); // <= and here


Pavel Demin"