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 :
COLLECTIONS SUMMARY
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(Printer.java:235)
at hep.lcio.util.Printer.printLCCollection(Printer.java:185)
at hep.lcio.util.Printer.printLCCollectionsDetailed(Printer.java:170)
at hep.lcio.util.Printer.printLCEvent(Printer.java:135)
at hep.lcio.util.Printer.print(Printer.java:104)
at hep.lcio.util.PrintCommandHandler.execute(PrintCommandHandler.java:89)
at hep.lcio.util.CommandLineTool.parse(CommandLineTool.java:219)
at hep.lcio.util.CommandLineTool.main(CommandLineTool.java:126)
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:
/u/group/hps/hps_soft/hps-dst/centos7-64/bin/dst_maker