Bug #23401

TStreamer Error While converting old data product to new

Added by Jaydip Singh over 1 year ago. Updated over 1 year ago.

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


Estimated time:
Occurs In:


cet::exception caught in art
---- OtherArt BEGIN
  ---- EventProcessorFailure BEGIN
    EventProcessor: an exception occurred during current event processing
    ---- EventProcessorFailure BEGIN
      EndPathExecutor: an exception occurred during current event processing
      ---- ScheduleExecutionFailure BEGIN
        Path: ProcessingStopped.
        ---- FatalRootError BEGIN
          Fatal Root Error: @SUB=TStreamerInfo::BuildOld
          Cannot convert recob::Trajectory::fPositions from type: vector<ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<double>,ROOT::Math::DefaultCoordinateSystemTag> > to type: vector<ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<Double32_t>,ROOT::Math::GlobalCoordinateSystemTag> >, skip element
          cet::exception going through module trackAna/trackAna run: 20000031 subRun: 1 event: 1
        ---- FatalRootError END
        Exception going through path end_path
      ---- ScheduleExecutionFailure END
    ---- EventProcessorFailure END
  ---- EventProcessorFailure END
---- OtherArt END
Art has completed and will exit with status 1.


#1 Updated by Jaydip Singh over 1 year ago

Copy of response to original email query:

Hi Kyle, Tom, Jaydip,
I would refer you to the art stakeholders meeting slides describing the resolution to the problem described in issue 23013. Unfortunately, based on the error message you relate below, you are not having trouble specifically with the double -> Double32_t aspect of the schema evolution here. The data product you're having trouble with had two relevant changes: a nested object changed from vector<ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<double>,ROOT::Math::DefaultCoordinateSystemTag> > to vector<ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<double>,ROOT::Math::GlobalCoordinateSystemTag> >, and then subsequently to vector<ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<Double32_t>,ROOT::Math::GlobalCoordinateSystemTag> > (changes in red / bold). The latter change is the one that has been resolved in the current LArSoft by updating to a recent ROOT and removing the related I/O rule entirely; unfortunately your data file is sufficiently old that the former change must also be accounted for, and that is an aspect of the ROOT issue that has not been addressed to date.

I have CC'd the ROOT developer currently working on the problem. Please enter a Redmine issue with the full specifics of the problem, and I will add a reference to it in the upstream ROOT issue.

We are sorry that you are experiencing this, but the TL;DR is that you will be unable to read these older files with ROOT >= 6.16/00 until the underlying ROOT issue is fixed. While understood as urgent by the ROOT developers, there is not currently a timeline for resolving this.



#2 Updated by Christopher Green over 1 year ago

  • Status changed from New to Accepted
  • Description updated (diff)

#3 Updated by Christopher Green over 1 year ago

  • Assignee deleted (Kyle Knoepfel)

We will escalate this with the ROOT team. Philippe was notified upon receipt of the original email last week, and now there is a ticket in the Redmine system it will be added to the JIRA ticket.

Also available in: Atom PDF