Fork me on GitHub

Opened 11 years ago

Closed 11 years ago

#226 closed Bug (fixed)

Problem running on large HepMC files

Reported by: Mike Saelim Owned by:
Priority: major Milestone:
Component: Delphes code Version: Delphes 3
Keywords: Cc:

Description

Hi guys,

I've been trying to run DelphesHepMC, producing ROOT files as output. I'm using Delphes 3.0.10 on macosx64.

  • On a sample of 10K hadronized gluino pair-production events (3.3GB), Delphes will finish very quickly and skip the progress bar entirely, going straight from "Reading RPCgluinos.hepmc" to "Exiting..." The ROOT file that gets produced is only 20KB and can't be opened in ROOT, as far as I know how. This happens for both my special Delphes card and delphes_card_CMS.tcl in the Delphes/examples folder.
  • If I run on a smaller sample of only 50 of those events (18MB), everything runs properly. The progress bar appears, and the ROOT output opens fine.
  • If I run on the sample STDHEP file z_ee.hep referenced in the Delphes README (165MB), everything runs properly.

I feel like this might be related to Ticket 163. I am on macosx64, after all. But the fixes that were suggested in comment 10 of that ticket seem to have been implemented in this version of Delphes (3.0.10).

Thanks very much in advance. After a week or two playing around with Delphes, the new module system is pretty cool.

Change History (4)

comment:1 by Mike Saelim, 11 years ago

Ah, wait, the problem might not be on your end. It seems that at the top of /doc/Makefile.arch, the call to $(shell $(RC) --arch) return "macosx", even though I explicitly configured and installed ROOT for macosx64. Do you know why it might be giving me something different?

Version 0, edited 11 years ago by Mike Saelim (next)

comment:2 by Pavel Demin, 11 years ago

Normally, DelphesHepMC is supposed to read large files on both 32- and 64-bit systems.

I've just tested it with a 3.3GB HepMC file on a 32-bit Linux machine.

If it goes straight to "Exiting...", I'd say that there is something wrong with the 'length' variable on lines 140-148 in the readers/DelphesHepMC.cpp file.

Could you, please try to print the value of the 'length' variable just after 'length = ftello(inputFile);' and then check what happens with the 'if(length <= 0)' condition on line 143?

As a workaround, you can also try to pipe the HepMC file to the DelphesHepMC's standard input:

cat input.hepmc | ./DelphesHepMC examples/delphes_card_CMS.tcl output.root 

comment:3 by Mike Saelim, 11 years ago

Actually, I was able to get it to work by deleting root-config and doing a fresh install of ROOT. Now Delphes reads the correct architecture from ROOT and everything works.

Thank you anyway!

comment:4 by Pavel Demin, 11 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.