Author: [log in to unmask]
Date: Tue May 26 16:42:40 2015
New Revision: 3027
Log:
Fix B-field sign
Modified:
java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackUtils.java
Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackUtils.java
=============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackUtils.java (original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackUtils.java Tue May 26 16:42:40 2015
@@ -465,6 +465,11 @@
return residuals;
}
+ public static Map<String, Double> calculateLocalTrackHitResiduals(Track track, HelicalTrackHit hth, HelicalTrackStrip strip, double bFieldInZ) {
+ HelicalTrackStripGbl stripGbl = new HelicalTrackStripGbl(strip, true);
+ return calculateLocalTrackHitResiduals(track, hth, stripGbl, bFieldInZ);
+ }
+
public static Map<String, Double> calculateLocalTrackHitResiduals(Track track, HelicalTrackHit hth, HelicalTrackStripGbl strip, double bFieldInZ) {
SeedTrack st = (SeedTrack) track;
@@ -476,19 +481,32 @@
return calculateLocalTrackHitResiduals(_trk, strip, msdrdphi, msdz, bFieldInZ);
}
+ public static Map<String, Double> calculateLocalTrackHitResiduals(HelicalTrackFit _trk, HelicalTrackStrip strip, double bFieldInZ) {
+ HelicalTrackStripGbl stripGbl = new HelicalTrackStripGbl(strip, true);
+ return calculateLocalTrackHitResiduals( _trk, stripGbl, 0.0, 0.0, bFieldInZ);
+ }
+
+
+
public static Map<String, Double> calculateLocalTrackHitResiduals(HelicalTrackFit _trk, HelicalTrackStripGbl strip, double msdrdphi, double msdz, double bFieldInZ) {
boolean debug = false;
boolean includeMS = true;
+ if (debug) {
+ System.out.printf("calculateLocalTrackHitResiduals: for strip on sensor %s \n",
+ ((RawTrackerHit)strip.getStrip().rawhits().get(0)).getDetectorElement().getName());
+ }
+
Hep3Vector u = strip.u();
Hep3Vector corigin = strip.origin();
// Find interception with plane that the strips belongs to
- Hep3Vector trkpos = TrackUtils.getHelixPlaneIntercept(_trk, strip, bFieldInZ);
+ Hep3Vector trkpos = TrackUtils.getHelixPlaneIntercept(_trk, strip, Math.abs(bFieldInZ));
if (debug) {
- System.out.printf("calculateLocalTrackHitResiduals: found interception point at %s \n", trkpos.toString());
+ System.out.printf("calculateLocalTrackHitResiduals: strip u %s origin %s \n", u.toString(),corigin.toString());
+ System.out.printf("calculateLocalTrackHitResiduals: found interception point with sensor at %s \n", trkpos.toString());
}
if (Double.isNaN(trkpos.x()) || Double.isNaN(trkpos.y()) || Double.isNaN(trkpos.z())) {
@@ -523,6 +541,12 @@
double wmeas = 0;
double wError = 10.0 / Math.sqrt(12); // 0.001;
+
+ if (debug) {
+ System.out.printf("calculateLocalTrackHitResiduals: vdiffTrk %s vdiff %s umc %f umeas %f du %f\n",
+ vdiffTrk.toString(),vdiff.toString(),umc, umeas, umeas-umc);
+ }
+
Map<String, Double> res = new HashMap<String, Double>();
res.put("ures", umeas - umc);
res.put("ureserr", includeMS ? Math.sqrt(uError * uError + msuError * msuError) : uError);
|