Skip to content

Commit 974e237

Browse files
authored
Merge pull request #32 from JeffersonLab/iss31
Iss31
2 parents c0fc069 + 1e53cad commit 974e237

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

analysis/src/main/java/org/hps/analysis/tuple/TupleDriver.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ public abstract class TupleDriver extends Driver {
7575
private final double[] vzcBeamSize = {0.001, 100, 100};
7676
private final double[] topTrackCorrection = {0, 0, 0, 0, 0};
7777
private final double[] botTrackCorrection = {0, 0, 0, 0, 0};
78+
private final double[] topPos = {45.5,92.0,192.0};
79+
private final double[] botPos = {54.5,107.5,207.5};
7880
protected final BasicHep3Matrix beamAxisRotation = BasicHep3Matrix.identity();
7981
protected double ebeam = Double.NaN;
8082

@@ -291,6 +293,9 @@ protected void addParticleVariables(String prefix) {
291293
"PhiKink1/D", "PhiKink2/D", "PhiKink3/D",
292294
"IsoStereo/D", "IsoAxial/D",
293295
"MinPositiveIso/D", "MinNegativeIso/D",
296+
"TrkExtrpXL0/D", "TrkExtrpYL0/D",
297+
"TrkExtrpXL1/D", "TrkExtrpYL1/D",
298+
"TrkExtrpXL2/D", "TrkExtrpYL2/D",
294299
"RawMaxAmplL1/D", "RawT0L1/D", "RawChisqL1/D","RawTDiffL1/D",
295300
"RawMaxAmplL2/D", "RawT0L2/D", "RawChisqL2/D","RawTDiffL2/D",
296301
"RawMaxAmplL3/D", "RawT0L3/D", "RawChisqL3/D","RawTDiffL3/D",
@@ -604,6 +609,19 @@ protected TrackState fillParticleVariables(EventHeader event, ReconstructedParti
604609

605610
Track track = particle.getTracks().get(0);
606611
TrackState trackState = track.getTrackStates().get(0);
612+
Hep3Vector extrapTrackPosL0;
613+
Hep3Vector extrapTrackPosL1;
614+
Hep3Vector extrapTrackPosL2;
615+
if(trackState.getTanLambda() > 0){
616+
extrapTrackPosL0 = TrackUtils.extrapolateTrack(track,topPos[0]);
617+
extrapTrackPosL1 = TrackUtils.extrapolateTrack(track,topPos[1]);
618+
extrapTrackPosL2 = TrackUtils.extrapolateTrack(track,topPos[2]);
619+
}
620+
else{
621+
extrapTrackPosL0 = TrackUtils.extrapolateTrack(track,botPos[0]);
622+
extrapTrackPosL1 = TrackUtils.extrapolateTrack(track,botPos[1]);
623+
extrapTrackPosL2 = TrackUtils.extrapolateTrack(track,botPos[2]);
624+
}
607625
double[] param = new double[5];
608626
for (int i = 0; i < 5; i++) {
609627
param[i] = trackState.getParameters()[i] + ((trackState.getTanLambda() > 0) ? topTrackCorrection[i] : botTrackCorrection[i]);
@@ -802,6 +820,12 @@ protected TrackState fillParticleVariables(EventHeader event, ReconstructedParti
802820
tupleMap.put(prefix + "IsoAxial/D", isoAxial);
803821
tupleMap.put(prefix + "MinPositiveIso/D", minPositiveIso);
804822
tupleMap.put(prefix + "MinNegativeIso/D", minNegativeIso);
823+
tupleMap.put(prefix + "TrkExtrpXL0/D", extrapTrackPosL0.x());
824+
tupleMap.put(prefix + "TrkExtrpYL0/D", extrapTrackPosL0.y());
825+
tupleMap.put(prefix + "TrkExtrpXL1/D", extrapTrackPosL1.x());
826+
tupleMap.put(prefix + "TrkExtrpYL1/D", extrapTrackPosL1.y());
827+
tupleMap.put(prefix + "TrkExtrpXL2/D", extrapTrackPosL2.x());
828+
tupleMap.put(prefix + "TrkExtrpYL2/D", extrapTrackPosL2.y());
805829
tupleMap.put(prefix + "MatchChisq/D", particle.getGoodnessOfPID());
806830

807831
returnTrackState = tweakedTrackState;

0 commit comments

Comments
 (0)