You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When retrieving the hit queues (see SVTReadoutDriver::process), the index used maps directly to the channel ID of a hit. For the thin sensors, this is no longer valid because of the channel offset and leads to the following error
java.lang.ArrayIndexOutOfBoundsException: Index 510 out of bounds for length 510
at org.hps.readout.svt.SVTReadoutDriver.process(SVTReadoutDriver.java:274)
at org.lcsim.util.Driver.doProcess(Driver.java:261)
at org.lcsim.util.Driver.processChildren(Driver.java:271)
at org.lcsim.util.Driver.process(Driver.java:187)
at org.lcsim.util.DriverAdapter.recordSupplied(DriverAdapter.java:74)
at org.freehep.record.loop.DefaultRecordLoop.consumeRecord(DefaultRecordLoop.java:832)
at org.freehep.record.loop.DefaultRecordLoop.loop(DefaultRecordLoop.java:668)
at org.freehep.record.loop.DefaultRecordLoop.execute(DefaultRecordLoop.java:566)
at org.lcsim.util.loop.LCSimLoop.loop(LCSimLoop.java:152)
at org.lcsim.job.JobControlManager.run(JobControlManager.java:949)
at org.hps.job.JobManager.main(JobManager.java:33)
org.lcsim.job:SEVERE A fatal error occurred when running the job.
java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: Index 510 out of bounds for length 510
at org.lcsim.util.loop.LCSimLoop.handleClientError(LCSimLoop.java:194)
at org.freehep.record.loop.DefaultRecordLoop.consumeRecord(DefaultRecordLoop.java:834)
at org.freehep.record.loop.DefaultRecordLoop.loop(DefaultRecordLoop.java:668)
at org.freehep.record.loop.DefaultRecordLoop.execute(DefaultRecordLoop.java:566)
at org.lcsim.util.loop.LCSimLoop.loop(LCSimLoop.java:152)
at org.lcsim.job.JobControlManager.run(JobControlManager.java:949)
at org.hps.job.JobManager.main(JobManager.java:33)
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 510 out of bounds for length 510
at org.hps.readout.svt.SVTReadoutDriver.process(SVTReadoutDriver.java:274)
at org.lcsim.util.Driver.doProcess(Driver.java:261)
at org.lcsim.util.Driver.processChildren(Driver.java:271)
at org.lcsim.util.Driver.process(Driver.java:187)
at org.lcsim.util.DriverAdapter.recordSupplied(DriverAdapter.java:74)
at org.freehep.record.loop.DefaultRecordLoop.consumeRecord(DefaultRecordLoop.java:832)
... 5 more
Another issue related to this occurs when processing the hit queues after a trigger signal is received (see SVTReadoutDriver::getOnTriggerData). Currently, the hit queues are retrieved by index where the max is equal to the total number of channels in a sensor. The same index is used to retrieve the pedestals and noise from the conditions database and also used to create the channel ID. For thin sensors, using the index will lead to the retrieval of the wrong condition because of the channel offset. The channel ID will also be wrong because of this.
Solution
Apply a channel offset when hits from a L0/L1 sensor are being processed.
The text was updated successfully, but these errors were encountered:
Issues
Solution
Apply a channel offset when hits from a L0/L1 sensor are being processed.
The text was updated successfully, but these errors were encountered: