Yes, I know this can happen when track momentum is too low and I thought there was an exception thrown. In that case I think the curvature was too large and it never passed the sensor plane. I don't have time to look at this specific example but that could be something. Requiring tracks to have 100mev or so should remove this if I remember correctly. There is a bug report opened and assigned to me; norman, please add to that one if there is something new (or suggest the best way of dealing with this issue). /pelle Sent from my phone On Oct 15, 2014, at 8:06, "Graf, Norman A." <[log in to unmask]<mailto:[log in to unmask]>> wrote: I agree with Matt that this looks hinky. I'll look at the code and make sure we trap this Exception more gracefully. Norman ________________________________ From: [log in to unmask]<mailto:[log in to unmask]> <[log in to unmask]<mailto:[log in to unmask]>> on behalf of Graham, Mathew Thomas <[log in to unmask]<mailto:[log in to unmask]>> Sent: Tuesday, October 14, 2014 7:37 PM To: Sebouh Paul Cc: hps-software Subject: Re: no tracks found Yeah, this is an failure mode I think we’ve seen before…it tries to calculate the path length of the tracks to the next layer in order to get the MS error. The track parameters printed out here seem funny to me... track params: 0.33654476569411973, 0.3715470696473806, -0.017612227732148794, 0.5016171795755748, 1289.7084037010472, 313.646930637243, -48.658595699839786, I think these should be (in the lcsim tracking frame) (px, py, pz, ptot, x0, y0, z0)…if so these values for (x0,y0,z0) are crazy and this candidate should have been rejected before it gets here. You are using HPS-Full.lcsim as the tracking strategy, right? On Oct 14, 2014, at 6:25 PM, Sebouh Paul <[log in to unmask]<mailto:[log in to unmask]>> wrote: ---------- Forwarded message ---------- From: Sebouh Paul <[log in to unmask]<mailto:[log in to unmask]>> Date: Tue, Oct 14, 2014 at 8:54 PM Subject: Re: no tracks found To: "McCormick, Jeremy I." <[log in to unmask]<mailto:[log in to unmask]>> I typed: ifarm1101> java -Xmx1500m -jar ~/hps-distribution-3.0.3-20141007.165651-110-bin.jar ~/SimpleMCRecon.lcsim -i /work/hallb/hps/sebouh/trident_slic/radmuon_12.lcio.slcio -DoutputFile=/work/hallb/hps/sebouh/test -DrunNumber=100 1) I'm running montecarlo muon radiative and bethe-heitler trident events for 4.4 GeV beam energy, so that I can figure out how far out the threshold in z should be set for the muon vertexing 2) Stepan set me up to this. 3) I couldnt find existing events for this 4, 5) I have modified nothing: my command is /group/hps/hps_soft/slic/v00-02/slic/v03-01-04/build/bin/slic -P /group/hps/hps_soft/slic/v00-02/slic/v03-01-04/data/particle .tbl -g ~/detector-data/detectors/HPS-Proposal2014-v7-6pt6/HPS-Proposal2014-v7-6pt6.lcdd -i trident/radmuon_${N}.stdhep -o trident_slic/radmuon_${N}.lcio -r 10000 5) I set EventMarkerDriver eventInterval to 1, and found that it was event #1778 that gets the error: .... Event 1788 getPathLengthToPlaneApprox ERROR t is negative (-0.02849407469347215)! p 0.5016171795755748 rho 8.964778426857066E-4 a 4.4968868700000003E-4 A 3.226783361630766E-4 B 0.6932096975604128 C 394.38172820812906 track params: 0.33654476569411973, 0.3715470696473806, -0.017612227732148794, 0.5016171795755748, 1289.7084037010472, 313.646930637243, -48.658595699839786, xp [ 902.35, 77.493, -30.330] eta [ 0.99953, 0.030515, 0.0000] h [ 0.0000, 0.0000, 1.0000] java.lang.RuntimeException: Problem in calculating the approximate path length to the plane. at org.hps.recon.tracking.WTrack.getPathLengthToPlaneApprox(WTrack.java:163) at org.hps.recon.tracking.WTrack.getHelixAndPlaneIntercept(WTrack.java:288) at org.hps.recon.tracking.TrackUtils.getHelixPlaneIntercept(TrackUtils.java:141) at org.hps.recon.tracking.MultipleScattering.getHelixIntersection(MultipleScattering.java:288) at org.hps.recon.tracking.MultipleScattering.getHelixIntersection(MultipleScattering.java:157) at org.hps.recon.tracking.MultipleScattering.FindHPSScatterPoints(MultipleScattering.java:96) at org.hps.recon.tracking.MultipleScattering.FindHPSScatters(MultipleScattering.java:59) at org.hps.recon.tracking.MultipleScattering.FindScatters(MultipleScattering.java:44) at org.lcsim.recon.tracking.seedtracker.HelixFitter.FitCandidate(HelixFitter.java:110) at org.lcsim.recon.tracking.seedtracker.SeedTrackFinder.FindTracks(SeedTrackFinder.java:140) at org.lcsim.recon.tracking.seedtracker.SeedTracker.process(SeedTracker.java:111) at org.lcsim.util.Driver.doProcess(Driver.java:273) at org.lcsim.util.Driver.processChildren(Driver.java:284) at org.lcsim.util.Driver.process(Driver.java:198) at org.hps.recon.tracking.TrackerReconDriver.process(TrackerReconDriver.java:172) at org.lcsim.util.Driver.doProcess(Driver.java:273) at org.lcsim.util.Driver.processChildren(Driver.java:284) at org.lcsim.util.Driver.process(Driver.java:198) 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:151) at org.lcsim.job.JobControlManager.run(JobControlManager.java:418) at org.lcsim.job.JobControlManager.main(JobControlManager.java:180) On Tue, Oct 14, 2014 at 8:36 PM, McCormick, Jeremy I. <[log in to unmask]<mailto:[log in to unmask]>> wrote: Hi, there. Can we backup a minute here so I can get some info from you.... What are you trying to accomplish overall with this? Who requested you to do this task? Are there already existing simulated events at JLab that you can use for this? What detector model exactly are you using? Have you modified at all any of the detector description files? What version of SLIC are you using? I'm not sure about that error. I've actually never seen it before... Can you set "eventInterval" in EventMarkerDriver to "1" so that we can exactly which event is causing the problem? Thanks. --Jeremy -----Original Message----- From: Sebouh Paul [mailto:[log in to unmask]<mailto:[log in to unmask]>] Sent: Tuesday, October 14, 2014 5:32 PM To: McCormick, Jeremy I. Subject: Re: no tracks found actually, it has now reached the same type of error as before, but prints out other stuff before the error appears: GBLOutput: perPar covariance matrix [[ 0.045286, -0.00037628, -1.0901e-06, 0.0000, 0.0000] [ -0.00037628, 3.6293e-06, 1.1360e-08, 0.0000, 0.0000] [ -1.0901e-06, 1.1360e-08, 4.0390e-11, 0.0000, 0.0000] [ 0.0000, 0.0000, 0.0000, 0.0016188, -1.6808e-05] [ 0.0000, 0.0000, 0.0000, -1.6808e-05, 1.7911e-07] GBLOutput: truth perPar chi2 58110239054383830000000000000000000000000.000000 5 hits GBLOutput: layer 1 trkpos at intercept [88.7457316196 2.2479630992 1.5571328860] trkposTruth at intercept [ -1.0000e+06, -1.0000e+06, -1.0000e+06] layer 1 uRes -0.0002020983 GBLOutput: layer 2 trkpos at intercept [96.1937023167 2.5592111482 1.6849016328] trkposTruth at intercept [ -1.0000e+06, -1.0000e+06, -1.0000e+06] layer 2 uRes 0.0013486757 GBLOutput: layer 3 trkpos at intercept [188.6087034940 8.2624687543 3.2719860485] trkposTruth at intercept [ -1.0000e+06, -1.0000e+06, -1.0000e+06] layer 3 uRes 0.0266609766 GBLOutput: layer 4 trkpos at intercept [196.0476245141 8.8701410158 3.3999129666] trkposTruth at intercept [ -1.0000e+06, -1.0000e+06, -1.0000e+06] layer 4 uRes -0.0294352594 GBLOutput: layer 5 trkpos at intercept [288.3499734145 18.2633493836 4.9902245570] trkposTruth at intercept [ -1.0000e+06, -1.0000e+06, -1.0000e+06] layer 5 uRes 0.0195566949 GBLOutput: layer 6 trkpos at intercept [295.7797894214 19.1692584111 5.1185138278] trkposTruth at intercept [ -1.0000e+06, -1.0000e+06, -1.0000e+06] layer 6 uRes -0.0179816191 GBLOutput: layer 7 trkpos at intercept [487.9857199620 50.4835337402 8.4571671653] trkposTruth at intercept [ -1.0000e+06, -1.0000e+06, -1.0000e+06] layer 7 uRes -0.0938543443 GBLOutput: layer 8 trkpos at intercept [495.3950348020 51.9985052331 8.5867894143<tel:5867894143>] trkposTruth at intercept [ -1.0000e+06, -1.0000e+06, -1.0000e+06] layer 8 uRes 0.1020305513 GBLOutput: layer 9 trkpos at intercept [686.5898944397 99.2563507857 11.9633261476] trkposTruth at intercept [ -1.0000e+06, -1.0000e+06, -1.0000e+06] layer 9 uRes -0.2937698932 GBLOutput: layer 10 trkpos at intercept [693.9798596028 101.4051253157 12.0952351167] trkposTruth at intercept [ -1.0000e+06, -1.0000e+06, -1.0000e+06] layer 10 uRes 0.2852378959 getPathLengthToPlaneApprox ERROR t is negative (-0.02849407469347215)! p 0.5016171795755748 rho 8.964778426857066E-4 a 4.4968868700000003E-4 A 3.226783361630766E-4 B 0.6932096975604128 C 394.38172820812906 track params: 0.33654476569411973, 0.3715470696473806, -0.017612227732148794, 0.5016171795755748, 1289.7084037010472, 313.646930637243, -48.658595699839786, xp [ 902.35, 77.493, -30.330] eta [ 0.99953, 0.030515, 0.0000] h [ 0.0000, 0.0000, 1.0000] java.lang.RuntimeException: Problem in calculating the approximate path length to the plane. at org.hps.recon.tracking.WTrack.getPathLengthToPlaneApprox(WTrack.java:163) at org.hps.recon.tracking.WTrack.getHelixAndPlaneIntercept(WTrack.java:288) at org.hps.recon.tracking.TrackUtils.getHelixPlaneIntercept(TrackUtils.java:141) at org.hps.recon.tracking.MultipleScattering.getHelixIntersection(MultipleScattering.java:288) at org.hps.recon.tracking.MultipleScattering.getHelixIntersection(MultipleScattering.java:157) at org.hps.recon.tracking.MultipleScattering.FindHPSScatterPoints(MultipleScattering.java:96) at org.hps.recon.tracking.MultipleScattering.FindHPSScatters(MultipleScattering.java:59) at org.hps.recon.tracking.MultipleScattering.FindScatters(MultipleScattering.java:44) at org.lcsim.recon.tracking.seedtracker.HelixFitter.FitCandidate(HelixFitter.java:110) at org.lcsim.recon.tracking.seedtracker.SeedTrackFinder.FindTracks(SeedTrackFinder.java:140) at org.lcsim.recon.tracking.seedtracker.SeedTracker.process(SeedTracker.java:111) at org.lcsim.util.Driver.doProcess(Driver.java:273) at org.lcsim.util.Driver.processChildren(Driver.java:284) at org.lcsim.util.Driver.process(Driver.java:198) at org.hps.recon.tracking.TrackerReconDriver.process(TrackerReconDriver.java:172) at org.lcsim.util.Driver.doProcess(Driver.java:273) at org.lcsim.util.Driver.processChildren(Driver.java:284) at org.lcsim.util.Driver.process(Driver.java:198) 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:151) at org.lcsim.job.JobControlManager.run(JobControlManager.java:418) at org.lcsim.job.JobControlManager.main(JobControlManager.java:180) On Tue, Oct 14, 2014 at 8:25 PM, Sebouh Paul <[log in to unmask]<mailto:[log in to unmask]>> wrote: thanks! i am running SimpleMCRecon.lcsim and it looks like it is working. I will update you if I need any more help. On Tue, Oct 14, 2014 at 8:05 PM, McCormick, Jeremy I. <[log in to unmask]<mailto:[log in to unmask]>> wrote: Hi, It could be that the recon steering configuration you are running expects the events to be run through the readout simulation first to simulate properly the timing and pile-up. This information is not present when you try to reconstruct directly the SLIC simulation output. (At least I think this is what that particular steering file expects as input.) What is the result if instead you use the following steering file to reconstruct directly your single particle events? steering-files/src/main/resources/org/hps/steering/recon/SimpleMCRecon.lcsim If this file isn't present in your trunk then 'svn up' to get it, as I just added it. I believe this should treat each event separately, and it should not depend on running the readout simulation first, so you should see reconstructed tracks. This is essentially what I use in the "MCReconTest" in integration-tests to test reconstruction of SLIC output directly without running the trigger simulation first. Your other option is running the readout simulation, either with the "NoPileup" steering file to treat each event separately, or inserting empty events so that your physics events will be properly spaced to create triggered events. (This is all covered both on the Confluence and in a bunch of previous emails to this list.) But let's see if the simpler option I suggested works first before you try to run the readout simulation... --Jeremy -----Original Message----- From: [log in to unmask]<mailto:[log in to unmask]> [mailto:[log in to unmask]<mailto:[log in to unmask]>] On Behalf Of Sebouh Paul Sent: Tuesday, October 14, 2014 2:22 PM To: hps-software Subject: no tracks found hey, i'm trying to do reconstruction, but I am not getting any tracks. below is the command i am using, and the output (it is done going through the entire file after only a few seconds), as well as the steering file I am using. The input I am using is muon radiative trident events. ifarm1101> java -Xmx1500m -jar ifarm1101> ~/hps-distribution-3.0.3-20141007.165651-110-bin.jar ifarm1101> ~/HPS2014OfflineRecon.lcsim -i ifarm1101> /work/hallb/hps/sebouh/trident_slic/radmuon_1.slcio ifarm1101> -DoutputFile=/work/hallb/hps/sebouh/test -DrunNumber=100 No input files in XML file. Got ConditionsEvent with run: 0 Reading calibrations calibSVT/base for run: 0 Use this calibration from run -1: calibSVT/default.base Reading calibrations calibSVT/tp for run: 0 Use this calibration from run -1: calibSVT/default.tp<http://default.tp/> Loading the SVT bad channels for run 0 File daqmap/svt0.badchannels was not found! Continuing with only QA bad channels Loading SVT gains ... Loading SVT t0 shifts ... Loading fieldmap for run 0 reading ECal DAQ map reading ECal bad channels reading pedestals for ECal reading pedestals for ECal name "" >> Event 0 >> Event 1000 >> Event 2000 >> Event 3000 >> Event 4000 >> Event 5000 GBLOutputDriver: Total Number of Events = 5636 GBLOutputDriver: Total Number of Tracks = 0 GBLOutputDriver: Total Number of Tracks Processed = 0 End of file reached and the contents of the driver file are: ifarm1101> more ~/HPS2014OfflineRecon.lcsim <!-- Offline reconstruction for 2014 (electron run) data. @author Sho Uemura <[log in to unmask]<mailto:[log in to unmask]>> @version $Id: HPS2014OfflineRecon.lcsim,v 1.7 2013/10/30 16:23:32 phansson Exp $ --> <lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd"> <execute> <driver name="EventMarkerDriver"/> <driver name="CalibrationDriver"/> <driver name="RawTrackerHitSensorSetup"/> <driver name="RawTrackerHitFitterDriver" /> <driver name="TrackerHitDriver"/> <driver name="HelicalTrackHitDriver"/> <driver name="TrackerReconDriver"/> <driver name="EcalRawConverter" /> <driver name="EcalClusterer" /> <driver name="ReconParticle" /> <driver name="TrackDataDriver" /> <driver name="GBLDriver"/> <driver name="LCIOWriter"/> <driver name="CleanupDriver"/> </execute> <drivers> <driver name="CalibrationDriver" type="org.hps.conditions.deprecated.CalibrationDriver"> <!-- <runNumber>${runNumber}</runNumber>--> </driver> <driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver"> <eventInterval>1000</eventInterval> </driver> <driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup"/> <driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver"> <fitAlgorithm>Pileup</fitAlgorithm> <useTimestamps>true</useTimestamps> <correctT0Shift>false</correctT0Shift> <useTruthTime>false</useTruthTime> <subtractTOF>true</subtractTOF> <debug>false</debug> </driver> <driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver"> <neighborDeltaT>8.0</neighborDeltaT> </driver> <driver name="HelicalTrackHitDriver" type="org.hps.recon.tracking.HelicalTrackHitDriver"> <debug>false</debug> <clusterTimeCut>12.0</clusterTimeCut> <maxSeperation>20.0</maxSeperation> <tolerance>1.0</tolerance> </driver> <driver name="TrackerReconDriver" type="org.hps.recon.tracking.TrackerReconDriver"> <strategyResource>HPS-Full.xml</strategyResource> <debug>false</debug> </driver> <driver name="GBLDriver" type="org.hps.recon.tracking.gbl.GBLOutputDriver"> <debug>0</debug> <isMC>false</isMC> <gblFileName></gblFileName> </driver> <driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver"> <ecalCollectionName>EcalCalHits</ecalCollectionName> <use2014Gain>true</use2014Gain> <useTimestamps>true</useTimestamps> <useTruthTime>false</useTruthTime> </driver> <driver name="EcalClusterer" type="org.hps.recon.ecal.EcalClusterICBasic"> <ecalName>Ecal</ecalName> <ecalCollectionName>EcalCalHits</ecalCollectionName> <timeCut>true</timeCut> </driver> <driver name="ReconParticle" type="org.hps.recon.particle.HpsReconParticleDriver"> </driver> <driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver" /> <driver name="LCIOWriter" type="org.lcsim.util.loop.LCIODriver"> <outputFilePath>${outputFile}.slcio</outputFilePath> </driver> <driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/> </drivers> </lcsim> ________________________________ Use REPLY-ALL to reply to list To unsubscribe from the HPS-SOFTWARE list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the HPS-SOFTWARE list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1 ________________________________ Use REPLY-ALL to reply to list To unsubscribe from the HPS-SOFTWARE list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1 ________________________________ Use REPLY-ALL to reply to list To unsubscribe from the HPS-SOFTWARE list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1 ________________________________ Use REPLY-ALL to reply to list To unsubscribe from the HPS-SOFTWARE list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the HPS-SOFTWARE list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1