Print

Print


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] <[log in to unmask]> on behalf of Graham, Mathew Thomas <[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