Commit in hps-java/src/main/java/org/lcsim/hps on MAIN | |||
monitoring/svt/TrackingReconstructionPlots.java | +2 | -2 | 1.16 -> 1.17 |
recon/particle/ReconParticleDriver.java | +6 | -4 | 1.7 -> 1.8 |
recon/tracking/DataTrackerFakeHitDriver.java | -3 | 1.10 -> 1.11 | |
/EcalTrackMatch.java | +2 | -2 | 1.6 -> 1.7 |
/TrackUtils.java | +62 | -37 | 1.28 -> 1.29 |
/SvtTrackExtrapolator.java | -82 | 1.11 removed | |
recon/tracking/gbl/TruthResiduals.java | +2 | -3 | 1.7 -> 1.8 |
recon/vertexing/TwoTrackVertexer.java | +3 | -14 | 1.6 -> 1.7 |
users/mgraham/TrackExtrapolationAnalysis.java | +4 | -8 | 1.6 -> 1.7 |
users/omoreno/ReconstructedParticleChecker.java | +5 | -3 | 1.2 -> 1.3 |
/SvtHitEfficiency.java | +3 | -4 | 1.5 -> 1.6 |
/SvtPerformance.java | +1 | -12 | 1.6 -> 1.7 |
/SvtTrackAnalysis.java | +6 | -4 | 1.4 -> 1.5 |
/SvtTrackRecoEfficiency.java | +1 | -2 | 1.10 -> 1.11 |
/TestRunTrackReconEfficiency.java | +4 | -3 | 1.4 -> 1.5 |
users/phansson/CmpGenToFittedTracksDriver.java | -1 | 1.1 -> 1.2 | |
/ECalGainDriver.java | +8 | -4 | 1.13 -> 1.14 |
/MultScatAnalysis.java | +8 | -6 | 1.9 -> 1.10 |
/ParticleHelixProducer.java | +2 | -4 | 1.10 -> 1.11 |
/TwoTrackAnlysis.java | +4 | -4 | 1.23 -> 1.24 |
+123 | -202 |
Moving extrapolation to TrackUtil class.
diff -u -r1.16 -r1.17 --- TrackingReconstructionPlots.java 14 Oct 2013 22:03:09 -0000 1.16 +++ TrackingReconstructionPlots.java 14 Oct 2013 22:58:03 -0000 1.17 @@ -728,7 +728,7 @@
HelixConverter converter = new HelixConverter(0); StraightLineTrack slt = converter.Convert(ht);
- Hep3Vector posAtEcal = SvtTrackExtrapolator.getTrackPositionAtEcal(trk);
+ Hep3Vector posAtEcal = TrackUtils.getTrackPositionAtEcal(trk);
aida.histogram1D("X (mm) @ Z=-60cm").fill(slt.getYZAtX(BeamlineConstants.HARP_POSITION)[0]); //this is y in the tracker frame aida.histogram1D("Y (mm) @ Z=-60cm").fill(slt.getYZAtX(BeamlineConstants.HARP_POSITION)[1]); //this is z in the tracker frame
@@ -868,7 +868,7 @@
// if (clust != null) { if (clust != null) {
- posAtEcal = SvtTrackExtrapolator.extrapolateTrack(trk,clust.getPosition()[2]);//.positionAtEcal();
+ posAtEcal = TrackUtils.extrapolateTrack(trk,clust.getPosition()[2]);//.positionAtEcal();
aida.histogram2D("Energy Vs Momentum").fill(clust.getEnergy(), trk.getPX() * 1000.0); aida.histogram1D("Energy Over Momentum").fill(clust.getEnergy() / (trk.getPX() * 1000.0));
diff -u -r1.7 -r1.8 --- ReconParticleDriver.java 14 Oct 2013 22:03:09 -0000 1.7 +++ ReconParticleDriver.java 14 Oct 2013 22:58:03 -0000 1.8 @@ -4,11 +4,13 @@
import java.util.ArrayList; import java.util.List;
+
//--- hep ---// import hep.physics.vec.BasicHep3Vector; import hep.physics.vec.Hep3Vector; import hep.physics.vec.VecOp;
+
//--- lcsim ---// import org.lcsim.event.EventHeader; import org.lcsim.event.ReconstructedParticle;
@@ -19,7 +21,7 @@
//--- hps-java ---// import org.lcsim.hps.recon.ecal.HPSEcalCluster;
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
+import org.lcsim.hps.recon.tracking.TrackUtils;
/** * Driver that matches SVT Tracks and Ecal Clusters and creates
@@ -27,7 +29,7 @@
* * @author Mathew Graham <[log in to unmask]> * @author Omar Moreno <[log in to unmask]>
- * @version $Id: ReconParticleDriver.java,v 1.7 2013/10/14 22:03:09 phansson Exp $
+ * @version $Id: ReconParticleDriver.java,v 1.8 2013/10/14 22:58:03 phansson Exp $
*/ public abstract class ReconParticleDriver extends Driver {
@@ -191,7 +193,7 @@
// Extrapolate the track to the Ecal cluster shower max
- Hep3Vector trkPosAtShowerMax = SvtTrackExtrapolator.extrapolateTrack(track,clusterPos.z());
+ Hep3Vector trkPosAtShowerMax = TrackUtils.extrapolateTrack(track,clusterPos.z());
// Check if any of the extrapolated values are invalid. // TODO: There are some track whose extrapolated coordinates // are NaN. The problem seems to be that the y-coordinate
@@ -238,7 +240,7 @@
this.printDebug("Ecal cluster position: " + ecalClusterPos.toString()); // Get the position of the track at the Ecal cluster shower max
- Hep3Vector trkPosAtShowerMax = SvtTrackExtrapolator.extrapolateTrack(matchedTrack,ecalClusterPos.z());
+ Hep3Vector trkPosAtShowerMax = TrackUtils.extrapolateTrack(matchedTrack,ecalClusterPos.z());
this.printDebug("Track position at shower max: " + trkPosAtShowerMax.toString()); // Get the distance between the track and the cluster position
diff -u -r1.10 -r1.11 --- DataTrackerFakeHitDriver.java 12 Jul 2013 22:53:18 -0000 1.10 +++ DataTrackerFakeHitDriver.java 14 Oct 2013 22:58:03 -0000 1.11 @@ -43,10 +43,8 @@
public class DataTrackerFakeHitDriver extends Driver { private boolean debug = false;
- TrackUtils trackUtils = new TrackUtils();
TrackerHitUtils trackerhitutils = new TrackerHitUtils(); Hep3Matrix detToTrk;
- SvtTrackExtrapolator extrapolator = new SvtTrackExtrapolator();
Hep3Vector _bfield; TrackerHitType trackerType = new TrackerHitType(TrackerHitType.CoordinateSystem.GLOBAL, TrackerHitType.MeasurementType.STRIP_1D); CoordinateSystem coordinate_system = trackerType.getCoordinateSystem();
@@ -229,7 +227,6 @@
}
- extrapolator.setTrack(helix.parameters());
int n_hits_top = 0; int n_hits_bot = 0;
diff -u -r1.6 -r1.7 --- EcalTrackMatch.java 14 Oct 2013 22:03:09 -0000 1.6 +++ EcalTrackMatch.java 14 Oct 2013 22:58:03 -0000 1.7 @@ -52,7 +52,7 @@
} public double dist(Track track, int dir) {
- Hep3Vector trk_pos = SvtTrackExtrapolator.getTrackPositionAtEcal(track);
+ Hep3Vector trk_pos = TrackUtils.getTrackPositionAtEcal(track);
double dx; if (dir == 0) { dx = cluster.getPosition()[0] - trk_pos.x();
@@ -66,7 +66,7 @@
} public double dR(Track track) {
- Hep3Vector trk_pos = SvtTrackExtrapolator.getTrackPositionAtEcal(track);
+ Hep3Vector trk_pos = TrackUtils.getTrackPositionAtEcal(track);
double dx = dX(track); double dy = dY(track); double dr = Math.sqrt(dx * dx + dy * dy);
diff -u -r1.28 -r1.29 --- TrackUtils.java 14 Oct 2013 22:03:09 -0000 1.28 +++ TrackUtils.java 14 Oct 2013 22:58:03 -0000 1.29 @@ -36,51 +36,22 @@
import org.lcsim.recon.tracking.seedtracker.SeedTrack; /**
+ * Assorted helper functions for the track and helix objects in lcsim. + * Re-use as much of HelixUtils as possible.
* * @author Omar Moreno <[log in to unmask]>
- * @version $Id: TrackUtils.java,v 1.28 2013/10/14 22:03:09 phansson Exp $ - * TODO: Switch to JLab coordinates
+ * @version $Id: TrackUtils.java,v 1.29 2013/10/14 22:58:03 phansson Exp $ + * TODO: Switch to tracking/LCsim coordinates for the extrapolation output!
*/ public class TrackUtils {
- protected boolean _debug = false; - protected boolean isTrackSet = false; - protected double[] trackParameters = null; - -
/**
- * - */ - public TrackUtils(){ - isTrackSet = false; - } - - /** - * - */ - public void setDebug(boolean debug){ - this._debug = debug; - } - - /** - *
+ * Private constructor to make class static only
*/
- public void setTrack(double[] pars){ - trackParameters = pars; - isTrackSet = true;
+ private TrackUtils(){
}
- /** - * - */ - public void setTrack(Track track){ - this.setTrack(track.getTrackParameters()); - } - - - -
public static Hep3Vector extrapolateHelixToXPlane(Track track, double x){ return extrapolateHelixToXPlane(getHTF(track),x); }
@@ -168,7 +139,58 @@
- /**
+ public static Hep3Vector getTrackPositionAtHarp(Track track){ + return extrapolateTrack(track, BeamlineConstants.HARP_POSITION); + } + + public static Hep3Vector getTrackPositionAtEcal(Track track){ + return extrapolateTrack(track, BeamlineConstants.ECAL_FACE); + } + + public static Hep3Vector extrapolateTrack(Track track, double z){ + + Hep3Vector trackPosition = null; + double dz = 0; + if(z >= BeamlineConstants.DIPOLE_EDGE){ + trackPosition = extrapolateHelixToXPlane(track, BeamlineConstants.DIPOLE_EDGE); + dz = z - BeamlineConstants.DIPOLE_EDGE; + } else if(z <= BeamlineConstants.DIPOLE_EDGELOW){ + trackPosition = extrapolateHelixToXPlane(track, BeamlineConstants.DIPOLE_EDGELOW); + dz = z - trackPosition.x(); + } else { + Hep3Vector detVecTracking = extrapolateHelixToXPlane(track,z); + //System.out.printf("detVec %s\n", detVecTracking.toString()); + return new BasicHep3Vector(detVecTracking.y(),detVecTracking.z(),detVecTracking.x()); + } + + // Get the track azimuthal angle + double phi = getPhi(track, trackPosition); + + // Find the distance to the point of interest + double r = dz/(getSinTheta(track)*Math.cos(phi)); + double dx = r*getSinTheta(track)*Math.sin(phi); + double dy = r*getCosTheta(track); + + // Find the track position at the point of interest + double x = trackPosition.y() + dx; + double y = trackPosition.z() + dy; + + return new BasicHep3Vector(x, y, z); + } + + public static Hep3Vector extrapolateTrack(HelicalTrackFit helix, double z){ + SeedTrack trk = new SeedTrack(); + //bfield = Math.abs((detector.getFieldMap().getField(new BasicHep3Vector(0, 0, 0)).y())); + double bfield = 0.; + // Here we aren't really using anything related to momentum so B-field is not important + trk.setTrackParameters(helix.parameters(), bfield); // Sets first TrackState. + trk.setCovarianceMatrix(helix.covariance()); // Modifies first TrackState. + trk.setChisq(helix.chisqtot()); + trk.setNDF(helix.ndf()[0]+helix.ndf()[1]); + return TrackUtils.extrapolateTrack(trk,z); + } + + /**
* @param helix input helix object * @param origin of the plane to intercept * @param normal of the plane to intercept
@@ -229,6 +251,10 @@
double z = z0 + s_at_x * slope; BasicHep3Vector pos = new BasicHep3Vector(x,y,z); //System.out.printf("pos %s xc %f phi_at_x %f dphi_at_x %f s_at_x %f\n", pos.toString(),xc,phi_at_x,dphi_at_x,s_at_x);
+ Hep3Vector posXCheck =TrackUtils.extrapolateHelixToXPlane(helix, x); + if(VecOp.sub(pos,posXCheck).magnitude()>0.0000001) { + throw new RuntimeException(String.format("ERROR the helix propagation equations do not agree? (%f,%f,%f) vs (%f,%f,%f) in HelixUtils",pos.x(),pos.y(),pos.z(),posXCheck.x(),posXCheck.y(),posXCheck.z())); + }
return pos; }
@@ -337,7 +363,6 @@
//System.out.printf("x %f s %f smap %f\n",hth.x(),s,s_wrong); if(Double.isNaN(s)) { double xc=track.xc();
- double yc=track.yc();
double RC = track.R(); System.out.printf("calculateTrackHitResidual: s is NaN. p=%.3f RC=%.3f, x=%.3f, xc=%.3f\n",track.p(-0.491),RC,hth.x(),xc); }
diff -N SvtTrackExtrapolator.java --- SvtTrackExtrapolator.java 14 Oct 2013 22:03:09 -0000 1.11 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,82 +0,0 @@
-package org.lcsim.hps.recon.tracking; - -//--- org.lcsim ---// -import hep.physics.vec.BasicHep3Vector; -import hep.physics.vec.Hep3Vector; - -import org.lcsim.event.Track; -import org.lcsim.fit.helicaltrack.HelicalTrackFit; -import org.lcsim.hps.event.BeamlineConstants; -import org.lcsim.recon.tracking.seedtracker.SeedTrack; - -public class SvtTrackExtrapolator extends TrackUtils { - - /** - * - */ - public SvtTrackExtrapolator(){ - } - - /** - * - */ - public SvtTrackExtrapolator(double[] pars){ - setTrack(pars); - } - - - /** - * - */ - public static Hep3Vector getTrackPositionAtEcal(Track track){ - return extrapolateTrack(track, BeamlineConstants.ECAL_FACE); - } - - public static Hep3Vector getTrackPositionAtHarp(Track track){ - return extrapolateTrack(track, BeamlineConstants.HARP_POSITION); - } - - - public static Hep3Vector extrapolateTrack(HelicalTrackFit helix, double z){ - SeedTrack trk = new SeedTrack(); - //bfield = Math.abs((detector.getFieldMap().getField(new BasicHep3Vector(0, 0, 0)).y())); - double bfield = 0.; - // Here we aren't really using anything related to momentum so B-field is not important - trk.setTrackParameters(helix.parameters(), bfield); // Sets first TrackState. - trk.setCovarianceMatrix(helix.covariance()); // Modifies first TrackState. - trk.setChisq(helix.chisqtot()); - trk.setNDF(helix.ndf()[0]+helix.ndf()[1]); - return extrapolateTrack(trk,z); - } - - public static Hep3Vector extrapolateTrack(Track track, double z){ - - Hep3Vector trackPosition = null; - double dz = 0; - if(z >= BeamlineConstants.DIPOLE_EDGE){ - trackPosition = extrapolateHelixToXPlane(track, BeamlineConstants.DIPOLE_EDGE); - dz = z - BeamlineConstants.DIPOLE_EDGE; - } else if(z <= BeamlineConstants.DIPOLE_EDGELOW){ - trackPosition = extrapolateHelixToXPlane(track, BeamlineConstants.DIPOLE_EDGELOW); - dz = z - trackPosition.x(); - } else { - Hep3Vector detVecTracking = extrapolateHelixToXPlane(track,z); - //System.out.printf("detVec %s\n", detVecTracking.toString()); - return new BasicHep3Vector(detVecTracking.y(),detVecTracking.z(),detVecTracking.x()); - } - - // Get the track azimuthal angle - double phi = getPhi(track, trackPosition); - - // Find the distance to the point of interest - double r = dz/(getSinTheta(track)*Math.cos(phi)); - double dx = r*getSinTheta(track)*Math.sin(phi); - double dy = r*getCosTheta(track); - - // Find the track position at the point of interest - double x = trackPosition.y() + dx; - double y = trackPosition.z() + dy; - - return new BasicHep3Vector(x, y, z); - } -}
diff -u -r1.7 -r1.8 --- TruthResiduals.java 14 Oct 2013 22:03:09 -0000 1.7 +++ TruthResiduals.java 14 Oct 2013 22:58:03 -0000 1.8 @@ -22,7 +22,6 @@
import org.lcsim.event.SimTrackerHit; import org.lcsim.fit.helicaltrack.HelicalTrackFit; import org.lcsim.hps.event.HPSTransformations;
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
import org.lcsim.hps.recon.tracking.TrackUtils; import org.lcsim.util.aida.AIDA;
@@ -137,7 +136,7 @@
//HelicalTrackFit htfTruth = TrackUtils.getHTF(mcp, -1*this._B.z()); HelicalTrackFit htfTruth = TrackUtils.getHTF(mcp, -1*this._B.z());
- Hep3Vector trkposExtraPolator = SvtTrackExtrapolator.extrapolateTrack(htfTruth,simHitPosTracking.x());
+ Hep3Vector trkposExtraPolator = TrackUtils.extrapolateTrack(htfTruth,simHitPosTracking.x());
//System.out.printf("trkposextrapol (det) %s\n",trkposExtraPolator.toString()); trkposExtraPolator = this._hpstrans.transformVectorToTracking(trkposExtraPolator);
@@ -176,7 +175,7 @@
double xpos = mcp.getOriginZ(); while(xpos< 100.) { xpos += dx;
- trkposExtraPolator = this._hpstrans.transformVectorToTracking(SvtTrackExtrapolator.extrapolateTrack(htfTruth,xpos));
+ trkposExtraPolator = this._hpstrans.transformVectorToTracking(TrackUtils.extrapolateTrack(htfTruth,xpos));
double ypos = trkposExtraPolator.y(); trkpos_y_vs_x.fill(xpos,ypos); }
diff -u -r1.6 -r1.7 --- TwoTrackVertexer.java 14 Oct 2013 22:03:09 -0000 1.6 +++ TwoTrackVertexer.java 14 Oct 2013 22:58:03 -0000 1.7 @@ -7,7 +7,6 @@
import hep.physics.matrix.SymmetricMatrix; import hep.physics.vec.BasicHep3Vector; import hep.physics.vec.Hep3Vector;
-import hep.physics.vec.SpacePoint;
import hep.physics.vec.VecOp; import org.lcsim.event.Track;
@@ -16,23 +15,17 @@
import org.lcsim.fit.helicaltrack.HelicalTrackFit; import org.lcsim.fit.helicaltrack.HelixUtils; import org.lcsim.hps.event.BeamlineConstants;
-import org.lcsim.hps.event.HPSTransformations;
import org.lcsim.hps.recon.tracking.HPSTrack;
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator; -import org.lcsim.recon.tracking.seedtracker.SeedCandidate;
+import org.lcsim.hps.recon.tracking.TrackUtils;
import org.lcsim.recon.tracking.seedtracker.SeedTrack;
-import org.lcsim.spacegeom.SpaceVector;
import org.lcsim.util.swim.Helix;
-import org.lcsim.util.swim.Trajectory;
/** * * @author phansson */ public class TwoTrackVertexer extends TwoLineVertexer {
- private SvtTrackExtrapolator trackExtraPolator = new SvtTrackExtrapolator();
private HelixConverter converter = new HelixConverter(0.);
- private HPSTransformations detToTrk = new HPSTransformations();
private Track trk1=null; private Track trk2=null;
@@ -48,17 +41,13 @@
if(this.trk1==null || this.trk2==null) return false; else return true; }
- - public SvtTrackExtrapolator extrapolator() { - return trackExtraPolator; - } -
+
public HelixConverter converter() { return this.converter; } private Hep3Vector getPosition(Track trk, double zposition) {
- return SvtTrackExtrapolator.extrapolateTrack(trk, zposition);
+ return TrackUtils.extrapolateTrack(trk, zposition);
} @Override
diff -u -r1.6 -r1.7 --- TrackExtrapolationAnalysis.java 14 Oct 2013 22:03:09 -0000 1.6 +++ TrackExtrapolationAnalysis.java 14 Oct 2013 22:58:03 -0000 1.7 @@ -19,7 +19,7 @@
import org.lcsim.hps.monitoring.AIDAFrame; import org.lcsim.hps.recon.ecal.HPSEcalCluster; import org.lcsim.hps.recon.tracking.HPSTrack;
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
+import org.lcsim.hps.recon.tracking.TrackUtils;
import org.lcsim.hps.recon.vertexing.HelixConverter; import org.lcsim.hps.recon.vertexing.StraightLineTrack; import org.lcsim.recon.tracking.seedtracker.SeedCandidate;
@@ -89,12 +89,8 @@
HelixConverter converter = new HelixConverter(0); StraightLineTrack slt = converter.Convert(ht);
- //ExtendTrack extend = new ExtendTrack(); - SvtTrackExtrapolator extend = new SvtTrackExtrapolator(); - extend.setTrack(stEle); - //Hep3Vector posAtEcal = extend.positionAtEcal(); - Hep3Vector posAtEcal = SvtTrackExtrapolator.getTrackPositionAtEcal(trk); - Hep3Vector extendAtConverter = SvtTrackExtrapolator.extrapolateTrack(trk,BeamlineConstants.HARP_POSITION);
+ Hep3Vector posAtEcal = TrackUtils.getTrackPositionAtEcal(trk); + Hep3Vector extendAtConverter = TrackUtils.extrapolateTrack(trk,BeamlineConstants.HARP_POSITION);
int isTop = -1;
@@ -151,7 +147,7 @@
double zCluster=clust.getPosition()[2]; // double zCluster=1450.0; Hep3Vector posAtEcalHPS = hpstrk.getPositionAtZMap(750,zCluster, 5.0)[0];
- Hep3Vector posAtEcalExtend= SvtTrackExtrapolator.extrapolateTrack(trk,zCluster);
+ Hep3Vector posAtEcalExtend= TrackUtils.extrapolateTrack(trk,zCluster);
aida.histogram2D("ECal Extrapolation X : HPS vs Extend").fill( posAtEcalExtend.y(),posAtEcalHPS.x()-posAtEcalExtend.y()); aida.histogram2D("ECal Extrapolation Y : HPS vs Extend").fill( posAtEcalExtend.z(),posAtEcalHPS.y()-posAtEcalExtend.z()); double dX = posAtEcalHPS.x() - clust.getPosition()[0];
diff -u -r1.2 -r1.3 --- ReconstructedParticleChecker.java 14 Oct 2013 22:03:10 -0000 1.2 +++ ReconstructedParticleChecker.java 14 Oct 2013 22:58:03 -0000 1.3 @@ -4,6 +4,7 @@
import java.util.ArrayList; import java.util.List;
+
//--- hep ---// import hep.aida.IHistogram1D; import hep.aida.IPlotter;
@@ -11,6 +12,7 @@
import hep.physics.vec.Hep3Vector; import hep.physics.vec.VecOp;
+
//--- lcsim ---// import org.lcsim.event.EventHeader; import org.lcsim.event.ReconstructedParticle;
@@ -21,12 +23,12 @@
import org.lcsim.geometry.Detector; //--- hps-java ---//
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
+import org.lcsim.hps.recon.tracking.TrackUtils;
/** * * @author Omar Moreno <[log in to unmask]>
- * @version $Id: ReconstructedParticleChecker.java,v 1.2 2013/10/14 22:03:10 phansson Exp $
+ * @version $Id: ReconstructedParticleChecker.java,v 1.3 2013/10/14 22:58:03 phansson Exp $
* */ public class ReconstructedParticleChecker extends Driver {
@@ -105,7 +107,7 @@
} Hep3Vector ecalPosition = new BasicHep3Vector(ecalClusters.get(0).getPosition());
- Hep3Vector trackPositionAtEcal = SvtTrackExtrapolator.extrapolateTrack(tracks.get(0),ecalPosition.z());
+ Hep3Vector trackPositionAtEcal = TrackUtils.extrapolateTrack(tracks.get(0),ecalPosition.z());
xPositionResidual.fill(trackPositionAtEcal.x() - ecalPosition.x()); yPositionResidual.fill(trackPositionAtEcal.y() - ecalPosition.y()); zPositionResidual.fill(trackPositionAtEcal.z() - ecalPosition.z());
diff -u -r1.5 -r1.6 --- SvtHitEfficiency.java 14 Oct 2013 22:03:10 -0000 1.5 +++ SvtHitEfficiency.java 14 Oct 2013 22:58:03 -0000 1.6 @@ -16,6 +16,7 @@
import java.util.List; import java.util.Map;
+
//--- lcsim ---// import org.lcsim.util.Driver; import org.lcsim.util.aida.AIDA;
@@ -31,12 +32,10 @@
import org.lcsim.fit.helicaltrack.HelicalTrackHit; import org.lcsim.geometry.Detector; import org.lcsim.detector.tracker.silicon.ChargeCarrier;
-
import org.lcsim.hps.recon.tracking.HPSSVTCalibrationConstants; //--- hps-java ---// import org.lcsim.hps.recon.tracking.SvtUtils; import org.lcsim.hps.recon.tracking.TrackUtils;
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
import org.lcsim.hps.recon.tracking.TrackerHitUtils; import org.lcsim.hps.monitoring.AIDAFrame; import org.lcsim.hps.recon.ecal.HPSEcalCluster;
@@ -397,8 +396,8 @@
Hep3Vector frontSensorPos = sensors.get(0).getGeometry().getPosition(); Hep3Vector rearSensorPos = sensors.get(1).getGeometry().getPosition();
- this.frontTrackPos = SvtTrackExtrapolator.extrapolateTrack(track,frontSensorPos.z()); - this.rearTrackPos = SvtTrackExtrapolator.extrapolateTrack(track,rearSensorPos.z());
+ this.frontTrackPos = TrackUtils.extrapolateTrack(track,frontSensorPos.z()); + this.rearTrackPos = TrackUtils.extrapolateTrack(track,rearSensorPos.z());
if(this.sensorContainsTrack(frontTrackPos, sensors.get(0)) && this.sensorContainsTrack(rearTrackPos, sensors.get(1))){ // if(this.sensorContainsTrack(trackPos, sensor))
diff -u -r1.6 -r1.7 --- SvtPerformance.java 24 May 2013 01:54:16 -0000 1.6 +++ SvtPerformance.java 14 Oct 2013 22:58:03 -0000 1.7 @@ -3,12 +3,9 @@
import hep.aida.IHistogram1D; import hep.aida.IHistogram2D; import hep.aida.IPlotter;
-import hep.physics.vec.Hep3Vector;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Set; import org.lcsim.detector.tracker.silicon.SiSensor;
@@ -17,20 +14,14 @@
import org.lcsim.event.Track; import org.lcsim.event.TrackerHit; import org.lcsim.fit.helicaltrack.HelicalTrackCross;
-import org.lcsim.fit.helicaltrack.HelicalTrackHit;
import org.lcsim.fit.helicaltrack.HelicalTrackStrip; import org.lcsim.geometry.Detector;
-import org.lcsim.hps.monitoring.AIDAFrame; -import org.lcsim.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.hps.recon.tracking.HPSSVTCalibrationConstants; import org.lcsim.hps.recon.tracking.HPSSVTCalibrationConstants.ChannelConstants; import org.lcsim.hps.recon.tracking.HPSShapeFitParameters; import org.lcsim.hps.recon.tracking.HPSShaperAnalyticFitAlgorithm;
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
import org.lcsim.hps.recon.tracking.SvtUtils; import org.lcsim.hps.recon.tracking.TrackUtils;
-import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitStrip1D; -import org.lcsim.recon.tracking.seedtracker.SeedTrack;
import org.lcsim.util.Driver; import org.lcsim.util.aida.AIDA;
@@ -38,14 +29,12 @@
* Svt Performance Plots * * @author Omar Moreno <[log in to unmask]>
- * @version $Id: SvtPerformance.java,v 1.6 2013/05/24 01:54:16 omoreno Exp $
+ * @version $Id: SvtPerformance.java,v 1.7 2013/10/14 22:58:03 phansson Exp $
*/ public class SvtPerformance extends Driver { private AIDA aida; private List<IPlotter> plotters = new ArrayList<IPlotter>();
- TrackUtils trkUtil = new TrackUtils(); - SvtTrackExtrapolator extrapolator = new SvtTrackExtrapolator();
HPSShaperAnalyticFitAlgorithm shaperFitter = new HPSShaperAnalyticFitAlgorithm(); String sensorName = null;
diff -u -r1.4 -r1.5 --- SvtTrackAnalysis.java 14 Oct 2013 22:03:10 -0000 1.4 +++ SvtTrackAnalysis.java 14 Oct 2013 22:58:03 -0000 1.5 @@ -7,6 +7,7 @@
import java.util.Map;
+
//--- org.lcsim ---// import org.lcsim.event.EventHeader; import org.lcsim.event.RawTrackerHit;
@@ -18,23 +19,24 @@
import org.lcsim.util.aida.AIDA;
+
//--- hep ---// import hep.aida.IPlotter; import hep.physics.vec.Hep3Vector;
+
//--- hps-java ---// import org.lcsim.hps.monitoring.AIDAFrame; import org.lcsim.hps.monitoring.Resettable; import org.lcsim.hps.recon.ecal.HPSEcalCluster; import org.lcsim.hps.recon.tracking.HPSFittedRawTrackerHit;
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
import org.lcsim.hps.recon.tracking.TrackUtils; /** * * @author Omar Moreno
- * @version $Id: SvtTrackAnalysis.java,v 1.4 2013/10/14 22:03:10 phansson Exp $
+ * @version $Id: SvtTrackAnalysis.java,v 1.5 2013/10/14 22:58:03 phansson Exp $
* */
@@ -315,9 +317,9 @@
for(SeedTrack track : tracks){ ntracks++;
- Hep3Vector positionEcal = SvtTrackExtrapolator.getTrackPositionAtEcal(track);
+ Hep3Vector positionEcal = TrackUtils.getTrackPositionAtEcal(track);
System.out.println("Position at Ecal: " + positionEcal);
- Hep3Vector positionConverter = SvtTrackExtrapolator.extrapolateTrack(track,-700);
+ Hep3Vector positionConverter = TrackUtils.extrapolateTrack(track,-700);
aida.histogram2D("Track Position at Ecal").fill(positionEcal.y(), positionEcal.z()); aida.histogram2D("Track Position at Harp").fill(positionConverter.y(), positionConverter.z());
diff -u -r1.10 -r1.11 --- SvtTrackRecoEfficiency.java 6 Feb 2013 21:10:38 -0000 1.10 +++ SvtTrackRecoEfficiency.java 14 Oct 2013 22:58:03 -0000 1.11 @@ -52,7 +52,7 @@
/** * * @author Omar Moreno <[log in to unmask]>
- * @version $Id: SvtTrackRecoEfficiency.java,v 1.10 2013/02/06 21:10:38 omoreno Exp $
+ * @version $Id: SvtTrackRecoEfficiency.java,v 1.11 2013/10/14 22:58:03 phansson Exp $
*/ public class SvtTrackRecoEfficiency extends Driver {
@@ -63,7 +63,6 @@
private Map<Integer, List<SimTrackerHit>> topSimTrackerHitsList = new HashMap<Integer, List<SimTrackerHit>>(); private Map<Integer, List<SimTrackerHit>> bottomSimTrackerHitsList = new HashMap<Integer, List<SimTrackerHit>>();
- TrackUtils trkUtils = new TrackUtils();
FindableTrack findable = null; TrackAnalysis trkAnalysis = null; RelationalTable<SimTrackerHit, MCParticle> simHitToMcParticle;
diff -u -r1.4 -r1.5 --- TestRunTrackReconEfficiency.java 14 Oct 2013 22:03:10 -0000 1.4 +++ TestRunTrackReconEfficiency.java 14 Oct 2013 22:58:04 -0000 1.5 @@ -4,6 +4,7 @@
import java.util.ArrayList; import java.util.List;
+
//--- hep ---// import hep.aida.IHistogram1D; import hep.aida.IPlotter;
@@ -11,6 +12,7 @@
import hep.physics.vec.Hep3Vector; import hep.physics.vec.VecOp;
+
//--- lcsim ---// import org.lcsim.util.Driver; import org.lcsim.util.aida.AIDA;
@@ -20,7 +22,6 @@
import org.lcsim.event.GenericObject; //--- hps-java ---//
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
import org.lcsim.hps.recon.tracking.TrackUtils; import org.lcsim.hps.recon.ecal.HPSEcalCluster;
@@ -29,7 +30,7 @@
* method. * * @author Omar Moreno <[log in to unmask]>
- * @version $Id: TestRunTrackReconEfficiency.java,v 1.4 2013/10/14 22:03:10 phansson Exp $
+ * @version $Id: TestRunTrackReconEfficiency.java,v 1.5 2013/10/14 22:58:04 phansson Exp $
*/ public class TestRunTrackReconEfficiency extends Driver {
@@ -340,7 +341,7 @@
Track matchedTrack = null; for(Track track : tracks){
- Hep3Vector trkPosAtShowerMax = SvtTrackExtrapolator.extrapolateTrack(track,clusterPos.z());
+ Hep3Vector trkPosAtShowerMax = TrackUtils.extrapolateTrack(track,clusterPos.z());
if(Double.isNaN(trkPosAtShowerMax.x()) || Double.isNaN(trkPosAtShowerMax.y())){ this.printDebug("Invalid track position"); return false;
diff -u -r1.1 -r1.2 --- CmpGenToFittedTracksDriver.java 17 Oct 2012 22:52:29 -0000 1.1 +++ CmpGenToFittedTracksDriver.java 14 Oct 2013 22:58:04 -0000 1.2 @@ -34,7 +34,6 @@
private String outputPlotFileName=""; private boolean hideFrame = false; private boolean _debug = false;
- private TrackUtils _trackUtils = new TrackUtils();
private AIDAFrame plotterFrame; ICloud1D _h_chi2;
diff -u -r1.13 -r1.14 --- ECalGainDriver.java 14 Oct 2013 22:03:10 -0000 1.13 +++ ECalGainDriver.java 14 Oct 2013 22:58:04 -0000 1.14 @@ -1,17 +1,21 @@
package org.lcsim.hps.users.phansson; import org.lcsim.hps.recon.ecal.*;
+
import hep.aida.*; import hep.aida.ref.plotter.PlotterRegion;
+
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger;
+
import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JLabel;
+
import org.lcsim.event.CalorimeterHit; import org.lcsim.event.EventHeader; import org.lcsim.event.Track;
@@ -22,7 +26,7 @@
import org.lcsim.hps.monitoring.Resettable; import org.lcsim.hps.recon.ecal.HPSEcalCluster; import org.lcsim.hps.recon.tracking.EcalTrackMatch;
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
+import org.lcsim.hps.recon.tracking.TrackUtils;
import org.lcsim.util.Driver; import org.lcsim.util.aida.AIDA;
@@ -272,7 +276,7 @@
BaseTrack trk = (BaseTrack) track; trk.setTrackParameters(trk.getTrackStates().get(0).getParameters(), -0.491); if (debug) {
- if (SvtTrackExtrapolator.getTrackPositionAtEcal(trk).y() > 0) {
+ if (TrackUtils.getTrackPositionAtEcal(trk).y() > 0) {
trTop++; } else { trBot++;
@@ -295,7 +299,7 @@
System.out.println(tracks.size() + " tracks in this event"); for (Track track : tracks) {
- System.out.println(SvtTrackExtrapolator.getTrackPositionAtEcal(track));
+ System.out.println(TrackUtils.getTrackPositionAtEcal(track));
} }
@@ -329,7 +333,7 @@
if (debug) { int[] pos = getCrystalPair(bestCl); System.out.format("Matched cluster: [%f\t%f\t%f], ix = %d, iy = %d\n", bestCl.getPosition()[2], bestCl.getPosition()[0], bestCl.getPosition()[1], pos[0], pos[1]);
- System.out.println("Matched track: " + SvtTrackExtrapolator.getTrackPositionAtEcal(bestTrk));
+ System.out.println("Matched track: " + TrackUtils.getTrackPositionAtEcal(bestTrk));
System.out.println("Distance: " + minDist); } processMatchedPair(event, bestCl, bestTrk);
diff -u -r1.9 -r1.10 --- MultScatAnalysis.java 14 Oct 2013 22:03:10 -0000 1.9 +++ MultScatAnalysis.java 14 Oct 2013 22:58:04 -0000 1.10 @@ -5,6 +5,7 @@
import hep.physics.vec.BasicHepLorentzVector; import hep.physics.vec.Hep3Vector; import hep.physics.vec.HepLorentzVector;
+
import java.io.IOException; import java.util.ArrayList; import java.util.HashSet;
@@ -12,6 +13,7 @@
import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger;
+
import org.lcsim.detector.identifier.*; import org.lcsim.event.CalorimeterHit; import org.lcsim.event.Cluster;
@@ -25,7 +27,7 @@
import org.lcsim.hps.recon.ecal.HPSEcalCluster; import org.lcsim.hps.recon.ecal.EcalConditions; import org.lcsim.hps.recon.tracking.EcalTrackMatch;
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
+import org.lcsim.hps.recon.tracking.TrackUtils;
import org.lcsim.util.Driver; import org.lcsim.util.aida.AIDA; import org.lcsim.recon.cluster.util.BasicCluster;
@@ -1453,7 +1455,7 @@
if(side==0) aida.histogram1D("Top track Chi2").fill(trk.getChi2()); else aida.histogram1D("Bottom track Chi2").fill(trk.getChi2());
- Hep3Vector posAtEcal = SvtTrackExtrapolator.getTrackPositionAtEcal(trk);
+ Hep3Vector posAtEcal = TrackUtils.getTrackPositionAtEcal(trk);
aida.histogram2D("Track Pz vs X").fill(posAtEcal.y(),trk.getPX()*1000);
@@ -1472,7 +1474,7 @@
}
- Hep3Vector posAtTarget = SvtTrackExtrapolator.extrapolateTrack(trk,-670.);
+ Hep3Vector posAtTarget = TrackUtils.extrapolateTrack(trk,-670.);
for(int imom=0;imom!=2;++imom) {
@@ -1483,10 +1485,10 @@
aida.histogram1D("Track " + str + "X @ -67cm").fill(posAtTarget.y()); aida.histogram1D("Track " + str + "Y @ -67cm").fill(posAtTarget.z());
- Hep3Vector extPosEntr = SvtTrackExtrapolator.extrapolateTrack(trk,-0.0001);
+ Hep3Vector extPosEntr = TrackUtils.extrapolateTrack(trk,-0.0001);
aida.histogram1D("Track " + str + "X @ 0cm").fill(extPosEntr.y()); aida.histogram1D("Track " + str + "Y @ 0cm").fill(extPosEntr.z());
- Hep3Vector extPosColl = SvtTrackExtrapolator.extrapolateTrack(trk,-1500.0);
+ Hep3Vector extPosColl = TrackUtils.extrapolateTrack(trk,-1500.0);
aida.histogram1D("Track " + str + "X @ -150cm").fill(extPosColl.y()); aida.histogram1D("Track " + str + "Y @ -150cm").fill(extPosColl.z()); //
@@ -1919,7 +1921,7 @@
- Hep3Vector posAtTarget = SvtTrackExtrapolator.extrapolateTrack(trkMatchTool.getMatchedTrack(),-670);
+ Hep3Vector posAtTarget = TrackUtils.extrapolateTrack(trkMatchTool.getMatchedTrack(),-670);
diff -u -r1.10 -r1.11 --- ParticleHelixProducer.java 3 May 2013 23:18:56 -0000 1.10 +++ ParticleHelixProducer.java 14 Oct 2013 22:58:04 -0000 1.11 @@ -7,9 +7,11 @@
import hep.physics.vec.Hep3Matrix; import hep.physics.vec.Hep3Vector; import hep.physics.vec.VecOp;
+
import java.util.ArrayList; import java.util.HashMap; import java.util.List;
+
import org.lcsim.constants.Constants; import org.lcsim.event.EventHeader; import org.lcsim.event.MCParticle;
@@ -20,8 +22,6 @@
import org.lcsim.geometry.Detector; import org.lcsim.hps.analysis.ecal.HPSMCParticlePlotsDriver; import org.lcsim.hps.recon.tracking.HPSTrack;
-import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator; -import org.lcsim.hps.recon.tracking.TrackUtils;
import org.lcsim.hps.recon.tracking.TrackerHitUtils; import org.lcsim.recon.tracking.digitization.sisim.TrackerHitType; import org.lcsim.recon.tracking.digitization.sisim.TrackerHitType.CoordinateSystem;
@@ -42,10 +42,8 @@
private boolean noTopTracks = true; private boolean noBottomTracks = false; private int _totalTracks = 0;
- TrackUtils trackUtils = new TrackUtils();
TrackerHitUtils trackerhitutils = new TrackerHitUtils(); Hep3Matrix detToTrk;
- SvtTrackExtrapolator extrapolator = new SvtTrackExtrapolator();
Hep3Vector _bfield; TrackerHitType trackerType = new TrackerHitType(TrackerHitType.CoordinateSystem.GLOBAL, TrackerHitType.MeasurementType.STRIP_1D); CoordinateSystem coordinate_system = trackerType.getCoordinateSystem();
diff -u -r1.23 -r1.24 --- TwoTrackAnlysis.java 14 Oct 2013 22:03:10 -0000 1.23 +++ TwoTrackAnlysis.java 14 Oct 2013 22:58:04 -0000 1.24 @@ -547,7 +547,7 @@
} //Track at converter
- Hep3Vector posAtConverter = SvtTrackExtrapolator.extrapolateTrack(trk1,BeamlineConstants.HARP_POSITION);
+ Hep3Vector posAtConverter = TrackUtils.extrapolateTrack(trk1,BeamlineConstants.HARP_POSITION);
if(posAtConverter!=null) printWriter.format("%5.5f %5.5f ", posAtConverter.x(),posAtConverter.y()); //note rotation from JLab->tracking else printWriter.format("%5.5f %5.5f ", -9999999.9,-9999999.9); HPSTrack hpstrk1 = new HPSTrack(helix1);
@@ -555,14 +555,14 @@
if (posAtConverterFringe1!=null) printWriter.format("%5.5f %5.5f %5.5f ", posAtConverterFringe1.z(),posAtConverterFringe1.x(),posAtConverterFringe1.y()); //note rotation from JLab->tracking else printWriter.format("%5.5f %5.5f %5.5f ", -9999999.9,-9999999.9,-9999999.9);
- Hep3Vector posAtNomTarget1 = SvtTrackExtrapolator.extrapolateTrack(trk1,0);
+ Hep3Vector posAtNomTarget1 = TrackUtils.extrapolateTrack(trk1,0);
if(posAtNomTarget1!=null) printWriter.format("%5.5f %5.5f ", posAtNomTarget1.x(),posAtNomTarget1.y()); //note rotation from JLab->tracking else printWriter.format("%5.5f %5.5f ", -9999999.9,-9999999.9); Hep3Vector posAtNomTargetFringe1 = hpstrk1.getPositionAtZMap(100., 0.0, 5.0)[0]; if (posAtNomTargetFringe1!=null) printWriter.format("%5.5f %5.5f %5.5f ", posAtNomTargetFringe1.z(),posAtNomTargetFringe1.x(),posAtNomTargetFringe1.y()); //note rotation from JLab->tracking else printWriter.format("%5.5f %5.5f %5.5f ", -9999999.9,-9999999.9,-9999999.9);
- Hep3Vector posAtECal = SvtTrackExtrapolator.extrapolateTrack(trk1,BeamlineConstants.ECAL_FACE);
+ Hep3Vector posAtECal = TrackUtils.extrapolateTrack(trk1,BeamlineConstants.ECAL_FACE);
if(posAtECal!=null && !Double.isNaN(posAtECal.x()) && !Double.isNaN(posAtECal.y())) { printWriter.format("%5.5f %5.5f ",posAtECal.x(),posAtECal.y()); //note rotation from JLab->tracking }
@@ -1011,7 +1011,7 @@
if(useFringe) { pos1 = hpstrk1.getPositionAtZMap(100.0, zVal, 5.0)[0]; } else {
- pos1 = SvtTrackExtrapolator.extrapolateTrack(trk1,zVal);
+ pos1 = TrackUtils.extrapolateTrack(trk1,zVal);
} //System.out.printf("%s: Position1 at edge of fringe %s\n",this.getClass().getSimpleName(),pos1.toString()); Helix traj = (Helix)hpstrk1.getTrajectory();
Use REPLY-ALL to reply to list
To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1