I can read older existing readout/recon events with LCIO, but when reprocessing older existing SLIC files with the standard readout steering file (old jar), that output causes the same error.

From: [log in to unmask] <[log in to unmask]> on behalf of Yale, Bradley T <[log in to unmask]>
Sent: Wednesday, August 15, 2018 4:03:31 PM
To: [log in to unmask]
Subject: LCIO/DST/tuple errors
A follow-up on some issues hinted at in the software meeting.

First, when producing readout and recon events, I am no longer able to read the events with LCIO.
It can print the header summary for all of the events, but when trying to read the actual collections, it crashes on the first event with:

java -jar /u/group/hps/hps_soft/lcio/collection_type_fix/trunk/target/lcio-2.4.4-SNAPSHOT-bin.jar print /work/hallb/hps/byale/hps-sim_test/old_mixing/wab-beam-tri_slic_readout_2018Aug15.slcio
 Run : 7984
 Event : 279
 Detector : HPS-PhysicsRun2016-v5-3-fieldmap_globalAlign
 Time Stamp : 560
 Weight : 1.0

 Event parameters :


 Collection Name                Collection Type      Size
 SVTTrueHitRelations            LCRelation           97
 EcalReadoutHits                TrackerRawData       17
 TriggerBank                    LCGenericObject      1
 TrackerHits                    SimTrackerHit        0
 FPGAData                       LCGenericObject      0
 EcalHits                       SimCalorimeterHit    0
 ReadoutTimestamps              LCGenericObject      4
 TrackerHitsECal                SimTrackerHit        0
 MCParticle                     MCParticle           7
 SVTRawTrackerHits              TrackerRawData       96

 Collection Name : SVTTrueHitRelations
 Collection Type : LCRelation
 Number of Elements : 97
 Flag Word: 0x0
 Collection Parameters :

 fromType :
 toType :
 [from_id]  |  [to_id]   | weight
Exception in thread "main" java.lang.NullPointerException
    at hep.lcio.util.Printer$LCRelationPrinter.print(
    at hep.lcio.util.Printer.printLCCollection(
    at hep.lcio.util.Printer.printLCCollectionsDetailed(
    at hep.lcio.util.Printer.printLCEvent(
    at hep.lcio.util.Printer.print(
    at hep.lcio.util.PrintCommandHandler.execute(
    at hep.lcio.util.CommandLineTool.parse(
    at hep.lcio.util.CommandLineTool.main(

Readout and recon can both still process the events, and fill the output collections without crashing.

However, when making DSTs or tuples from these recon events, the DST maker processes them (instantly), and all of the collections in the output DST are empty. Same with the tuple maker.

This is with recon made using an older, stable, well-tested jar (location: /u/group/hps/hps_soft/git/hps-java_current/hps-java_2017Dec28/distribution/target/hps-distribution-4.1-SNAPSHOT-bin.jar).

I never had a problem reading events made with it before, or making DSTs, so I thought it might be related to LCIO suddenly crashing. Using a jar updated today, I get the same issue with reading the events with LCIO, but the DST maker no longer even works at all, instead giving this error:

[ DST MAKER ]: Setting DST file name to wab-beam-tri_slic_recon_2018Aug15_singles1.root
 A runtime error has occured : [ SvtDataWriter ]: Track does not have a track state at the Ecal.

Can anyone reproduce this, or have any insight?

Readout command:

java -DdisableSvtAlignmentConstants -XX:+UseSerialGC -Xmx500m -jar ${hps-java} -r /org/hps/steering/readout/PhysicsRun2016TrigSingles1.lcsim -i {slic}.slcio -DoutputFile={out} -d HPS-PhysicsRun2016-v5-3-fieldmap_globalAlign -R 7984

DST maker location:


Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link:

Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link: