Bug #2148

advancing events in event display

Added by Michael Baird over 9 years ago. Updated over 9 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
Occurs In:
SSI Package:


Issue 1: The Event Display will not let me type in a specific event number to advance to that event. It tells me "INVALID event: INVALID -- reloading current event."
Issue 2: When advancing in a file that has multiple subruns, the Event display always crashes when going from one subrun to the next with the following error message:

%MSG-s ArtException:  PostCloseFile 14-Nov-2011 12:39:25 EST PostEndRun
cet::exception caught in art
---- EventProcessorFailure BEGIN
  An exception occurred during current event processing
  ---- NullPointerError BEGIN
    Tried to obtain a NULL run.
  ---- NullPointerError END
  cet::exception caught in EventProcessor and rethrown
---- EventProcessorFailure END


I am running over an MC file processed under the 07.27.11 release.

Associated revisions

Revision cceb1ada (diff)
Added by Christopher Green over 9 years ago

Implement a secondary algorithm to find incompletely-specified events (no subrun) in the event the first one fails due to the composition of the events in the file (issue #2148, part 1).

Revision d77e970f (diff)
Added by Christopher Green over 9 years ago

Nested principals were not set in the case of random access reads (issue #2148, part 2).


#1 Updated by Christopher Green over 9 years ago

  • Category set to Navigation
  • Status changed from New to Assigned
  • Assignee set to Christopher Green

#2 Updated by Christopher Green over 9 years ago

Issue 1: Please give me an example of exactly what you entered into which window to get this response.

Issue 2: Can you verify whether this occurs with a file written with the current development? Regardless, please provide an example data file name and path that allows me to reproduce the problem.

#3 Updated by Christopher Green over 9 years ago

  • Status changed from Assigned to Feedback

Please note: send email direct to me at, since replying to the ticket emails is currently fail-silent. A request has been sent to the FNAL Redmine maintainer to security-vet this feature and enable it.
If you sent a reply to my previous update, I have not received it.

#4 Updated by Christopher Green over 9 years ago

  • Status changed from Feedback to Assigned

From Michael by email:

Sorry, I was in a hurry typing this and I knew after I sent it that I should have included more info. For both issues, I am using a filter MC file of events that is here on my local machine at IU. I have uploaded it to my account at FNAL and you will find it at:


I think that the main issue comes down to the fact that this file has been put together (through a filter module) from many different files and consequently has many different runs/subruns in it and has non-sequential event numbers.

For issue 1: The events start with event number #625 (the upper right most box.) If you try typing in a valid event number (such as 1727 which is the next event) then it spits out the error message saying invalid event number.

For issue 2: If you advance about 20 events to event number 9530 and then click on the next event button, the entire event display will crash with the error message in my original e-mail. There are defintely more events in the file because if you then open the file back up with the --nskip 20 option, it continues on its merry way until it has to advance to the next subrun number.

I do not know if any of these problems happen in the new development. I would need a giant MC file of beam data that has been filtered with my cuts in order to verify that and I'm not sure if any one has generated any files like that yet. Let me know if you need any more info.



#5 Updated by Christopher Green over 9 years ago

Issue 1 has been narrowed down to a deficiency in the algorithm that copes with the fact that you do not specify the subrun number. I am currently characterizing that deficiency with the intent of correcting said algorithm.

#6 Updated by Christopher Green over 9 years ago

  • Target version set to 1.00.06
  • % Done changed from 0 to 50

Upon further investigation, the chief problem behind issue 1 is not a deficiency in the algorithm per se, but a consequence of relying on the statement that event numbers are not reset with changing subrun to the extent of assuming that no subrun will contain an event with a lower number than an event from a previous subrun in the same run. That is manifestly not true in your file, because (eg) you go from (1,0,9530) to (1,1,396). After talking to Brian, I believe this is because NOvA is not ensuring currently that MC runs have unique run numbers. Most MC I believe is generated with run 1 and a different subrun per job in that run.

The long term solution is to start using real run numbers for MC, but in the meantime I have implemented a secondary algorithm which runs (with a warning) after the first one fails to find an incompletely-specified event. This will go through every subrun looking for the exact event number specified and find the first one that matches. This will not find the second event of a pair of events with the same run and event number but different subrun numbers, nor will it find the second-written event of a pair with identical run, subrun and event numbers. Unless NOvA wishes to add the ability to specify the subrun number to its event display interface, this is the best we can do.

I am attempting currently to understand issue 2.

#7 Updated by Christopher Green over 9 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 50 to 100

Issue 2 has been identified as a failure within ART to set nested principals (RunPrincipal within SubRunPrincipal, SubRunPrincipal within EventPrincipal) for RootInput in the presence of random access (eg Event Display).

Issue 2 was fixed with d77e970.

Issue 1 was fixed with cceb1ad.

#8 Updated by Christopher Green over 9 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF