Commit in hps-java/src/main/java/org/lcsim/hps on MAIN | |||
event/BeamlineConstants.java | +12 | added 1.1 | |
recon/tracking/SvtTrackExtrapolator.java | +16 | -26 | 1.9 -> 1.10 |
/TrackUtils.java | +8 | -8 | 1.26 -> 1.27 |
recon/tracking/gbl/GBLOutput.java | +2 | -2 | 1.13 -> 1.14 |
recon/vertexing/TwoTrackVertexer.java | +10 | -8 | 1.4 -> 1.5 |
users/phansson/TwoTrackAnlysis.java | +7 | -5 | 1.21 -> 1.22 |
+55 | -49 |
Adding separate beamline constants, extending trackutils for extrapolations
diff -N BeamlineConstants.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ BeamlineConstants.java 11 Oct 2013 23:14:28 -0000 1.1 @@ -0,0 +1,12 @@
+package org.lcsim.hps.event; + +public final class BeamlineConstants { + + private BeamlineConstants() {} + + public static final double ECAL_FACE = 1524; // mm + public static final double DIPOLE_EDGE = 457.2 + 457.2; // 452.2 + 462.2; //914; // mm + public static final double DIPOLE_EDGELOW = 0.; //452.2 - 462.2; // mm + public static final double HARP_POSITION = -674.062; // mm + +}
diff -u -r1.9 -r1.10 --- SvtTrackExtrapolator.java 11 Oct 2013 22:18:52 -0000 1.9 +++ SvtTrackExtrapolator.java 11 Oct 2013 23:14:28 -0000 1.10 @@ -5,18 +5,10 @@
import hep.physics.vec.Hep3Vector; import org.lcsim.event.Track;
-import org.lcsim.fit.helicaltrack.HelicalTrackFit;
+import org.lcsim.hps.event.BeamlineConstants;
-public class SvtTrackExtrapolator {
+public class SvtTrackExtrapolator extends TrackUtils {
- boolean isTrackSet = false; - private TrackUtils trackUtils = new TrackUtils(); - - public static final double ECAL_FACE = 1524; // mm - public static final double DIPOLE_EDGE = 457.2 + 457.2; // 452.2 + 462.2; //914; // mm - public static final double DIPOLE_EDGELOW = 0.; //452.2 - 462.2; // mm - public static final double HARP_POSITION = -674.062; // mm -
/** * */
@@ -34,7 +26,7 @@
* */ public void setTrack(Track track){
- trackUtils.setTrack(track);
+ setTrack(track);
isTrackSet = true; }
@@ -42,7 +34,7 @@
* */ public void setTrack(double[] pars){
- trackUtils.setTrack(pars);
+ setTrack(pars);
isTrackSet = true; }
@@ -51,11 +43,11 @@
* */ public Hep3Vector getTrackPositionAtEcal(){
- return this.extrapolateTrack(ECAL_FACE);
+ return this.extrapolateTrack(BeamlineConstants.ECAL_FACE);
} public Hep3Vector getTrackPositionAtHarp(){
- return this.extrapolateTrack(HARP_POSITION);
+ return this.extrapolateTrack(BeamlineConstants.HARP_POSITION);
}
@@ -68,27 +60,25 @@
Hep3Vector trackPosition = null; double dz = 0;
- if(z >= DIPOLE_EDGE){ - trackPosition = trackUtils.extrapolateHelixToXPlane(DIPOLE_EDGE); - dz = z - DIPOLE_EDGE; - } else if(z <= DIPOLE_EDGELOW){ - trackPosition = trackUtils.extrapolateHelixToXPlane(DIPOLE_EDGELOW);
+ if(z >= BeamlineConstants.DIPOLE_EDGE){ + trackPosition = extrapolateHelixToXPlane(BeamlineConstants.DIPOLE_EDGE); + dz = z - BeamlineConstants.DIPOLE_EDGE; + } else if(z <= BeamlineConstants.DIPOLE_EDGELOW){ + trackPosition = extrapolateHelixToXPlane(BeamlineConstants.DIPOLE_EDGELOW);
dz = z - trackPosition.x(); } else {
- Hep3Vector detVecTracking = trackUtils.extrapolateHelixToXPlane(z);
+ Hep3Vector detVecTracking = extrapolateHelixToXPlane(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 = trackUtils.getPhi(trackPosition);
+ double phi = getPhi(trackPosition);
// Find the distance to the point of interest
- double sinTheta = trackUtils.getSinTheta(); - double cosTheta = trackUtils.getCosTheta(); - double r = dz/(sinTheta*Math.cos(phi)); - double dx = r*sinTheta*Math.sin(phi); - double dy = r*cosTheta;
+ double r = dz/(getSinTheta()*Math.cos(phi)); + double dx = r*getSinTheta()*Math.sin(phi); + double dy = r*getCosTheta();
// Find the track position at the point of interest double x = trackPosition.y() + dx;
diff -u -r1.26 -r1.27 --- TrackUtils.java 11 Oct 2013 02:28:20 -0000 1.26 +++ TrackUtils.java 11 Oct 2013 23:14:28 -0000 1.27 @@ -24,6 +24,7 @@
import org.lcsim.event.Track; import org.lcsim.event.TrackerHit; import org.lcsim.fit.helicaltrack.*;
+import org.lcsim.hps.event.BeamlineConstants;
import org.lcsim.hps.event.HPSTransformations; import org.lcsim.hps.users.phansson.WTrack; import org.lcsim.recon.tracking.seedtracker.SeedCandidate;
@@ -32,15 +33,15 @@
/** * * @author Omar Moreno <[log in to unmask]>
- * @version $Id: TrackUtils.java,v 1.26 2013/10/11 02:28:20 phansson Exp $
+ * @version $Id: TrackUtils.java,v 1.27 2013/10/11 23:14:28 phansson Exp $
* TODO: Switch to JLab coordinates */ public class TrackUtils {
- private boolean _debug = false; - private boolean isTrackSet = false; - private double[] trackParameters;
+ protected boolean _debug = false; + protected boolean isTrackSet = false; + protected double[] trackParameters;
/**
@@ -55,7 +56,7 @@
*/ public void setDebug(boolean debug){ this._debug = debug;
- }
+ }
/** *
@@ -63,7 +64,7 @@
public void setTrack(double[] pars){ trackParameters = new double[9]; this.setTrackParameters(pars);
- isTrackSet = true;
+ isTrackSet = true;
} /**
@@ -767,7 +768,7 @@
Hep3Vector org = hpstrans.transformVectorToTracking(mcp.getOrigin()); Hep3Vector p = hpstrans.transformVectorToTracking(mcp.getMomentum()); // Move to x=0 if needed
- double targetX = SvtTrackExtrapolator.DIPOLE_EDGELOW;
+ double targetX = BeamlineConstants.DIPOLE_EDGELOW;
if(org.x() < targetX) { double dydx = p.y()/p.x(); double dzdx = p.z()/p.x();
@@ -776,7 +777,6 @@
double z = delta_x * dzdx + org.z(); double x = org.x() + delta_x; if( Math.abs(x-targetX) > 1e-8) throw new RuntimeException("Error: origin is not zero!");
- Hep3Vector old = org;
org = new BasicHep3Vector(x,y,z); //System.out.printf("org %s p %s -> org %s\n", old.toString(),p.toString(),org.toString()); }
diff -u -r1.13 -r1.14 --- GBLOutput.java 11 Oct 2013 22:18:52 -0000 1.13 +++ GBLOutput.java 11 Oct 2013 23:14:28 -0000 1.14 @@ -128,7 +128,7 @@
System.exit(1); return; } else {
- System.out.printf("%s: truth particle (pdgif %d ) found in event!\n",this.getClass().getSimpleName(),mcp.getPDGID());
+ if(_debug>0) System.out.printf("%s: truth particle (pdgif %d ) found in event!\n",this.getClass().getSimpleName(),mcp.getPDGID());
} if(AprimeEvent ) {
@@ -407,7 +407,7 @@
MCParticle getMatchedTruthParticle(Track track) {
- boolean debug = true;
+ boolean debug = false;
Map<MCParticle,Integer> particlesOnTrack = new HashMap<MCParticle,Integer>();
diff -u -r1.4 -r1.5 --- TwoTrackVertexer.java 12 Jun 2013 22:56:07 -0000 1.4 +++ TwoTrackVertexer.java 11 Oct 2013 23:14:28 -0000 1.5 @@ -9,11 +9,13 @@
import hep.physics.vec.Hep3Vector; import hep.physics.vec.SpacePoint; import hep.physics.vec.VecOp;
+
import org.lcsim.event.Track; import org.lcsim.event.Vertex; import org.lcsim.event.base.BaseVertex; 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;
@@ -64,9 +66,9 @@
public Hep3Vector getVertex() { assert isValid(); Hep3Vector A1 = this.getPosition(trk1, 0);
- Hep3Vector A2 = this.getPosition(trk1, SvtTrackExtrapolator.HARP_POSITION);
+ Hep3Vector A2 = this.getPosition(trk1, BeamlineConstants.HARP_POSITION);
Hep3Vector B1 = this.getPosition(trk2, 0);
- Hep3Vector B2 = this.getPosition(trk2, SvtTrackExtrapolator.HARP_POSITION);
+ Hep3Vector B2 = this.getPosition(trk2, BeamlineConstants.HARP_POSITION);
return getVertexPosition(VecOp.mult(_detToTrk.getMatrix(), A1), VecOp.mult(_detToTrk.getMatrix(), A2), VecOp.mult(_detToTrk.getMatrix(), B1), VecOp.mult(_detToTrk.getMatrix(), B2)); }
@@ -80,8 +82,8 @@
HPSTrack hpstrk2 = new HPSTrack(htf2); boolean debug = false;
- Hep3Vector posAtConv1 = hpstrk1.getPositionAtZMap(100.0, SvtTrackExtrapolator.HARP_POSITION, 5.0)[0]; - Hep3Vector posAtConv2 = hpstrk2.getPositionAtZMap(100.0, SvtTrackExtrapolator.HARP_POSITION, 5.0)[0];
+ Hep3Vector posAtConv1 = hpstrk1.getPositionAtZMap(100.0, BeamlineConstants.HARP_POSITION, 5.0)[0]; + Hep3Vector posAtConv2 = hpstrk2.getPositionAtZMap(100.0, BeamlineConstants.HARP_POSITION, 5.0)[0];
StraightLineTrack slt1_conv = converter.Convert((Helix)hpstrk1.getTrajectory()); StraightLineTrack slt2_conv = converter.Convert((Helix)hpstrk2.getTrajectory());
@@ -89,11 +91,11 @@
Hep3Vector A1 = new BasicHep3Vector(slt1_conv.x0(),slt1_conv.y0(),slt1_conv.z0()); Hep3Vector B1 = new BasicHep3Vector(slt2_conv.x0(),slt2_conv.y0(),slt2_conv.z0());
- double YZAtConv1[] = slt1_conv.getYZAtX(SvtTrackExtrapolator.HARP_POSITION); - double YZAtConv2[] = slt2_conv.getYZAtX(SvtTrackExtrapolator.HARP_POSITION);
+ double YZAtConv1[] = slt1_conv.getYZAtX(BeamlineConstants.HARP_POSITION); + double YZAtConv2[] = slt2_conv.getYZAtX(BeamlineConstants.HARP_POSITION);
- Hep3Vector A2 = new BasicHep3Vector(SvtTrackExtrapolator.HARP_POSITION,YZAtConv1[0],YZAtConv1[1]); - Hep3Vector B2 = new BasicHep3Vector(SvtTrackExtrapolator.HARP_POSITION,YZAtConv2[0],YZAtConv2[1]);
+ Hep3Vector A2 = new BasicHep3Vector(BeamlineConstants.HARP_POSITION,YZAtConv1[0],YZAtConv1[1]); + Hep3Vector B2 = new BasicHep3Vector(BeamlineConstants.HARP_POSITION,YZAtConv2[0],YZAtConv2[1]);
diff -u -r1.21 -r1.22 --- TwoTrackAnlysis.java 11 Oct 2013 22:18:52 -0000 1.21 +++ TwoTrackAnlysis.java 11 Oct 2013 23:14:28 -0000 1.22 @@ -7,6 +7,7 @@
import hep.physics.vec.BasicHep3Vector; import hep.physics.vec.Hep3Vector; import hep.physics.vec.SpacePoint;
+
import java.io.File; import java.io.FileWriter; import java.io.IOException;
@@ -14,6 +15,7 @@
import java.util.*; import java.util.logging.Level; import java.util.logging.Logger;
+
import org.lcsim.detector.IDetectorElement; import org.lcsim.detector.tracker.silicon.DopedSilicon; import org.lcsim.detector.tracker.silicon.SiSensor;
@@ -22,6 +24,7 @@
import org.lcsim.fit.helicaltrack.*; import org.lcsim.geometry.Detector; import org.lcsim.hps.analysis.ecal.HPSMCParticlePlotsDriver;
+import org.lcsim.hps.event.BeamlineConstants;
import org.lcsim.hps.evio.TriggerData; import org.lcsim.hps.recon.ecal.HPSEcalCluster; import org.lcsim.hps.recon.tracking.*;
@@ -57,8 +60,7 @@
private String triggerDecisionCollectionName = "TriggerBank"; private String MCParticleCollectionName = "MCParticle"; private String _stripClusterCollectionName = "StripClusterer_SiTrackerHitStrip1D";
- private String _fittedRawTrackerHitCollectionName = "SVTFittedRawTrackerHits"; - private double targetPosition = SvtTrackExtrapolator.HARP_POSITION;
+ private double targetPosition = BeamlineConstants.HARP_POSITION;
private boolean _debug; private HitIdentifier _ID = new HitIdentifier(); private TwoTrackVertexer vertexer = new TwoTrackVertexer();
@@ -546,11 +548,11 @@
//Track at converter this.vertexer.extrapolator().setTrack(trk1);
- Hep3Vector posAtConverter = this.vertexer.extrapolator().extrapolateTrack(SvtTrackExtrapolator.HARP_POSITION);
+ Hep3Vector posAtConverter = this.vertexer.extrapolator().extrapolateTrack(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);
- Hep3Vector posAtConverterFringe1 = hpstrk1.getPositionAtZMap(100., SvtTrackExtrapolator.HARP_POSITION, 5.0)[0];
+ Hep3Vector posAtConverterFringe1 = hpstrk1.getPositionAtZMap(100., BeamlineConstants.HARP_POSITION, 5.0)[0];
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);
@@ -561,7 +563,7 @@
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 = this.vertexer.extrapolator().extrapolateTrack(SvtTrackExtrapolator.ECAL_FACE);
+ Hep3Vector posAtECal = this.vertexer.extrapolator().extrapolateTrack(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 }
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