From 3228b0694ff3fc901d03e4883e97cecff9d054b1 Mon Sep 17 00:00:00 2001 From: Matthew Solt Date: Tue, 21 Feb 2017 11:46:06 -0800 Subject: [PATCH 1/2] adding track extrapolation variables to tuple --- .../org/hps/analysis/tuple/TupleDriver.java | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/analysis/src/main/java/org/hps/analysis/tuple/TupleDriver.java b/analysis/src/main/java/org/hps/analysis/tuple/TupleDriver.java index 8abf5ced87..cf135807aa 100644 --- a/analysis/src/main/java/org/hps/analysis/tuple/TupleDriver.java +++ b/analysis/src/main/java/org/hps/analysis/tuple/TupleDriver.java @@ -75,6 +75,8 @@ public abstract class TupleDriver extends Driver { private final double[] vzcBeamSize = {0.001, 100, 100}; private final double[] topTrackCorrection = {0, 0, 0, 0, 0}; private final double[] botTrackCorrection = {0, 0, 0, 0, 0}; + private final double[] topPos = {45.5,92.0,192.0}; + private final double[] botPos = {54.5,107.5,207.5}; protected final BasicHep3Matrix beamAxisRotation = BasicHep3Matrix.identity(); protected double ebeam = Double.NaN; @@ -291,6 +293,9 @@ protected void addParticleVariables(String prefix) { "PhiKink1/D", "PhiKink2/D", "PhiKink3/D", "IsoStereo/D", "IsoAxial/D", "MinPositiveIso/D", "MinNegativeIso/D", + "TrkExtrpXL0/D", "TrkExtrpYL0/D", + "TrkExtrpXL1/D", "TrkExtrpYL1/D", + "TrkExtrpXL2/D", "TrkExtrpYL2/D", "RawMaxAmplL1/D", "RawT0L1/D", "RawChisqL1/D","RawTDiffL1/D", "RawMaxAmplL2/D", "RawT0L2/D", "RawChisqL2/D","RawTDiffL2/D", "RawMaxAmplL3/D", "RawT0L3/D", "RawChisqL3/D","RawTDiffL3/D", @@ -604,6 +609,19 @@ protected TrackState fillParticleVariables(EventHeader event, ReconstructedParti Track track = particle.getTracks().get(0); TrackState trackState = track.getTrackStates().get(0); + Hep3Vector extrapTrackPosL0; + Hep3Vector extrapTrackPosL1; + Hep3Vector extrapTrackPosL2; + if(trackState.getTanLambda() > 0){ + extrapTrackPosL0 = TrackUtils.extrapolateTrack(track,topPos[0]); + extrapTrackPosL1 = TrackUtils.extrapolateTrack(track,topPos[1]); + extrapTrackPosL2 = TrackUtils.extrapolateTrack(track,topPos[2]); + } + else{ + extrapTrackPosL0 = TrackUtils.extrapolateTrack(track,botPos[0]); + extrapTrackPosL1 = TrackUtils.extrapolateTrack(track,botPos[1]); + extrapTrackPosL2 = TrackUtils.extrapolateTrack(track,botPos[2]); + } double[] param = new double[5]; for (int i = 0; i < 5; i++) { param[i] = trackState.getParameters()[i] + ((trackState.getTanLambda() > 0) ? topTrackCorrection[i] : botTrackCorrection[i]); @@ -666,10 +684,10 @@ protected TrackState fillParticleVariables(EventHeader event, ReconstructedParti } ////////////////////////////////////////////////////////////////////////// - double rawHitTime[] = new double[6]; - double rawHitTDiff[] = new double[6]; - double rawHitMaxAmpl[] = new double[6]; - double rawHitChisq[] = new double[6]; + double rawHitTime[] = new double[7]; + double rawHitTDiff[] = new double[7]; + double rawHitMaxAmpl[] = new double[7]; + double rawHitChisq[] = new double[7]; int nTrackHits = 0; List allTrackHits = track.getTrackerHits(); for (TrackerHit iTrackHit : allTrackHits){ @@ -802,6 +820,12 @@ protected TrackState fillParticleVariables(EventHeader event, ReconstructedParti tupleMap.put(prefix + "IsoAxial/D", isoAxial); tupleMap.put(prefix + "MinPositiveIso/D", minPositiveIso); tupleMap.put(prefix + "MinNegativeIso/D", minNegativeIso); + tupleMap.put(prefix + "TrkExtrpXL0/D", extrapTrackPosL0.x()); + tupleMap.put(prefix + "TrkExtrpYL0/D", extrapTrackPosL0.y()); + tupleMap.put(prefix + "TrkExtrpXL1/D", extrapTrackPosL1.x()); + tupleMap.put(prefix + "TrkExtrpYL1/D", extrapTrackPosL1.y()); + tupleMap.put(prefix + "TrkExtrpXL2/D", extrapTrackPosL2.x()); + tupleMap.put(prefix + "TrkExtrpYL2/D", extrapTrackPosL2.y()); tupleMap.put(prefix + "MatchChisq/D", particle.getGoodnessOfPID()); returnTrackState = tweakedTrackState; From 1e53cad4082b4875c441acdfb6d126e7c88ce04c Mon Sep 17 00:00:00 2001 From: Matthew Solt Date: Tue, 21 Feb 2017 12:33:27 -0800 Subject: [PATCH 2/2] adding track extrapolation to tuple maker --- .../src/main/java/org/hps/analysis/tuple/TupleDriver.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/analysis/src/main/java/org/hps/analysis/tuple/TupleDriver.java b/analysis/src/main/java/org/hps/analysis/tuple/TupleDriver.java index cf135807aa..5f47ccd306 100644 --- a/analysis/src/main/java/org/hps/analysis/tuple/TupleDriver.java +++ b/analysis/src/main/java/org/hps/analysis/tuple/TupleDriver.java @@ -684,10 +684,10 @@ protected TrackState fillParticleVariables(EventHeader event, ReconstructedParti } ////////////////////////////////////////////////////////////////////////// - double rawHitTime[] = new double[7]; - double rawHitTDiff[] = new double[7]; - double rawHitMaxAmpl[] = new double[7]; - double rawHitChisq[] = new double[7]; + double rawHitTime[] = new double[6]; + double rawHitTDiff[] = new double[6]; + double rawHitMaxAmpl[] = new double[6]; + double rawHitChisq[] = new double[6]; int nTrackHits = 0; List allTrackHits = track.getTrackerHits(); for (TrackerHit iTrackHit : allTrackHits){