Commit in java/trunk/hps-java/src/main on MAIN
java/org/lcsim/hps/recon/tracking/gbl/GBLOutput.java+24144 -> 145
                                     /GBLOutputDriver.java+8-2144 -> 145
                                     /GBLStripClusterData.java+175-1144 -> 145
resources/org/lcsim/hps/steering/recon/GBLReco.lcsim+85added 145
+292-3
1 added + 3 modified, total 4 files
Update to gbl dst classes (work in progress) and new steering

java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
GBLOutput.java 144 -> 145
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutput.java	2014-01-31 02:07:09 UTC (rev 144)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutput.java	2014-02-03 02:19:47 UTC (rev 145)
@@ -297,6 +297,12 @@
                 file.printNonMeasDir(strip.v());
                 file.printNormalDir(strip.w());
 
+                //GBLDATA
+                stripData.setU(strip.u());
+                stripData.setV(strip.v());
+                stripData.setW(strip.w());
+                
+                
                 //Print track direction at intercept
                 Hep3Vector tDir = HelixUtils.Direction(htf, s);
                 double phi = htf.phi0() - s/htf.R();
@@ -304,6 +310,13 @@
                 file.printStripTrackDir(Math.sin(phi),Math.sin(lambda));
                 file.printStripTrackDirFull(tDir);
                 
+                //GBLDATA
+                stripData.setTrackDir(tDir);
+                stripData.setTrackPhi(phi);
+                
+                
+                
+                
                 //Print residual in measurement system
                 
                 // start by find the distance vector between the center and the track position
@@ -323,6 +336,10 @@
                 Hep3Vector res_err_meas = new BasicHep3Vector(strip.du(),(strip.vmax() - strip.vmin()) / Math.sqrt(12),10.0/Math.sqrt(12));
                 
                 file.printStripMeas(m_meas.x());
+
+                //GBLDATA
+                stripData.setMeas(strip.umeas());
+                stripData.setTrackPos(trkpos_meas);
                 
                 // residual in measurement frame
                 Hep3Vector res_meas = VecOp.sub(m_meas, trkpos_meas);
@@ -330,6 +347,11 @@
                 file.printStripMeasRes(res_meas.x(),res_err_meas.x());
                 file.printStripMeasResTruth(resTruth_meas.x(),res_err_meas.x());
 
+                //GBLDATA
+                stripData.setMeasErr(res_err_meas.x());
+                
+                
+                
                 if(_debug>0) System.out.printf("layer %d uRes %.10f\n",strip.layer(),res_meas.x());
                 
                 // sim hit residual
@@ -385,6 +407,8 @@
                 //print scatterer to file
                 file.printStripScat(scatAngle);
                 
+                //GBLDATA
+                stripData.setScatterAngle(scatAngle);
                 
                 ++istrip;
                 

java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
GBLOutputDriver.java 144 -> 145
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutputDriver.java	2014-01-31 02:07:09 UTC (rev 144)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutputDriver.java	2014-02-03 02:19:47 UTC (rev 145)
@@ -84,8 +84,6 @@
         truthRes = new TruthResiduals(bfield);
         truthRes.setDebug(_debug);
         truthRes.setHideFrame(hideFrame);
-        //FieldMap.printFieldMap();
-        
     }
     
     
@@ -134,6 +132,7 @@
         List<GBLStripClusterData> gblStripDataListAll  = new ArrayList<GBLStripClusterData>();
         List<GBLStripClusterData> gblStripDataList  = new ArrayList<GBLStripClusterData>();
         List<LCRelation> gblTrackToStripClusterRelationListAll = new ArrayList<LCRelation>();
+        List<LCRelation> trackToGBLTrackRelationListAll = new ArrayList<LCRelation>();
         
         gbl.printNewEvent(iEvent,gbl.get_B().z());
 
@@ -144,10 +143,14 @@
             //GBLDATA
             GBLTrackData gblTrackData = new GBLTrackData(iTrack);
             gblTrackDataList.add(gblTrackData);            
+            
+            //print to text file
             gbl.printTrackID(iTrack);
             gbl.printGBL(trk,gblTrackData,gblStripDataList,mcParticles,simTrackerHits,this.isMC);
             
             //GBLDATA
+            //add relation to normal track object
+            trackToGBLTrackRelationListAll.add(new MyLCRelation(trk,gblTrackData));
             // add strip clusters to lists
             for(GBLStripClusterData gblStripClusterData : gblStripDataList) {
                 // add all strip clusters from this track to output list
@@ -167,7 +170,10 @@
         event.put("GBLTrackData", gblTrackDataList, GBLTrackData.class, 0);
         event.put("GBLStripClusterData", gblStripDataListAll, GBLStripClusterData.class, 0);
         event.put("GBLTrackToStripData", gblTrackToStripClusterRelationListAll, LCRelation.class, 0);
+        event.put("TrackToGBLTrack", trackToGBLTrackRelationListAll, LCRelation.class, 0);
         
+        
+        
         ++iEvent;
         
     }

java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
GBLStripClusterData.java 144 -> 145
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLStripClusterData.java	2014-01-31 02:07:09 UTC (rev 144)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLStripClusterData.java	2014-02-03 02:19:47 UTC (rev 145)
@@ -1,5 +1,8 @@
 package org.lcsim.hps.recon.tracking.gbl;
 
+import hep.physics.vec.BasicHep3Vector;
+import hep.physics.vec.Hep3Vector;
+
 import org.lcsim.event.GenericObject;
 import org.lcsim.hps.recon.tracking.gbl.GBLOutput.PerigeeParams;
 
@@ -17,7 +20,28 @@
 	private static class GBLDOUBLE {
 		public static final int PATH3D = 0;
 		public static final int PATH = 1;
-		public static final int BANK_DOUBLE_SIZE = 2;
+		public static final int UX = 2;
+		public static final int UY = 3;
+		public static final int UZ = 4;
+		public static final int VX = 5;
+		public static final int VY = 6;
+		public static final int VZ = 7;
+		public static final int WX = 8;
+		public static final int WY = 9;
+		public static final int WZ = 10;	
+		public static final int TDIRX = 11;	
+		public static final int TDIRY = 12;	
+		public static final int TDIRZ = 13;	
+		public static final int TPHI = 14;	
+		public static final int UMEAS = 15;	
+		public static final int TPOSU = 16;	
+		public static final int TPOSV = 17;	
+		public static final int TPOSW = 18;	
+		public static final int UMEASERR = 19;	
+		public static final int MSANGLE = 20;
+		
+		public static final int BANK_DOUBLE_SIZE = 21;
+		
 	}
 	// array holding the integer data
 	private int bank_int[] = new int[GBLINT.BANK_INT_SIZE];
@@ -75,11 +99,159 @@
 		return getDoubleVal(GBLDOUBLE.PATH3D);
 	}
 
+
+	/**
+	 *  Set and get u vector for this strip sensor
+	 */
+	public void setU(Hep3Vector u) {
+		bank_double[GBLDOUBLE.UX] = u.x();
+		bank_double[GBLDOUBLE.UY] = u.y();
+		bank_double[GBLDOUBLE.UZ] = u.z();		
+	}
+	public Hep3Vector getU() {
+		return new BasicHep3Vector(getUx(),getUy(),getUz());
+	}
+	public double getUx() {
+		return getDoubleVal(GBLDOUBLE.UX);
+	}
+	public double getUy() {
+		return getDoubleVal(GBLDOUBLE.UY);
+	}
+	public double getUz() {
+		return getDoubleVal(GBLDOUBLE.UZ);
+	}
 	
+	/**
+	 *  Set and get v vector for this strip sensor
+	 */
+
+	public void setV(Hep3Vector v) {
+		bank_double[GBLDOUBLE.VX] = v.x();
+		bank_double[GBLDOUBLE.VY] = v.y();
+		bank_double[GBLDOUBLE.VZ] = v.z();		
+	}
+	public Hep3Vector getV() {
+		return new BasicHep3Vector(getVx(),getVy(),getVz());
+	}
+	public double getVx() {
+		return getDoubleVal(GBLDOUBLE.VX);
+	}
+	public double getVy() {
+		return getDoubleVal(GBLDOUBLE.VY);
+	}
+	public double getVz() {
+		return getDoubleVal(GBLDOUBLE.VZ);
+	}
+
+	/**
+	 *  Set and get w vector for this strip sensor
+	 */
+
+	public void setW(Hep3Vector v) {
+		bank_double[GBLDOUBLE.WX] = v.x();
+		bank_double[GBLDOUBLE.WY] = v.y();
+		bank_double[GBLDOUBLE.WZ] = v.z();		
+	}
+	public Hep3Vector getW() {
+		return new BasicHep3Vector(getWx(),getWy(),getWz());
+	}
+	public double getWx() {
+		return getDoubleVal(GBLDOUBLE.WX);
+	}
+	public double getWy() {
+		return getDoubleVal(GBLDOUBLE.WY);
+	}
+	public double getWz() {
+		return getDoubleVal(GBLDOUBLE.WZ);
+	}
+
+	/**
+	 * Set track direction at this cluster
+	 * 
+	 * @param tDir
+	 */
+	public void setTrackDir(Hep3Vector v) {
+		bank_double[GBLDOUBLE.TDIRX] = v.x();
+		bank_double[GBLDOUBLE.TDIRY] = v.y();
+		bank_double[GBLDOUBLE.TDIRZ] = v.z();		
+	}
+	public Hep3Vector getTrackDirection() {
+		return new BasicHep3Vector(getTx(),getTy(),getTz());
+	}
+	public double getTx() {
+		return getDoubleVal(GBLDOUBLE.TDIRX);
+	}
+	public double getTy() {
+		return getDoubleVal(GBLDOUBLE.TDIRY);
+	}
+	public double getTz() {
+		return getDoubleVal(GBLDOUBLE.TDIRY);
+	}
+
+	public void setTrackPhi(double phi) {
+		bank_double[GBLDOUBLE.TPHI] = phi;
+	}
 	
+	public double getTrackPhi() {
+		return getDoubleVal(GBLDOUBLE.TPHI);
+	}
+
+	public void setMeas(double umeas) {
+		bank_double[GBLDOUBLE.UMEAS] = umeas;
+	}
 	
+	public double getMeas() {
+		return getDoubleVal(GBLDOUBLE.UMEAS);
+	}
 	
+	public void setMeasErr(double x) {
+		bank_double[GBLDOUBLE.UMEASERR] = x;
+	}
 
+	public double getMeasErr() {
+		return getDoubleVal(GBLDOUBLE.UMEASERR);
+	}
+
+	
+	/**
+	 * Set track position in local frame
+	 * @param trkpos_meas
+	 */
+	public void setTrackPos(Hep3Vector trkpos_meas) {
+		bank_double[GBLDOUBLE.TPOSU] = trkpos_meas.x();
+		bank_double[GBLDOUBLE.TPOSV] = trkpos_meas.y();
+		bank_double[GBLDOUBLE.TPOSW] = trkpos_meas.z();
+	}
+
+	public Hep3Vector getTrackPos() {
+		return new BasicHep3Vector(getTrackPosU(),getTrackPosV(),getTrackPosW());
+	}
+	
+	public double getTrackPosU() {
+		return getDoubleVal(GBLDOUBLE.TPOSU);
+	}
+
+	public double getTrackPosV() {
+		return getDoubleVal(GBLDOUBLE.TPOSV);
+	}
+
+	public double getTrackPosW() {
+		return getDoubleVal(GBLDOUBLE.TPOSW);
+	}
+
+	public void setScatterAngle(double scatAngle) {
+		bank_double[GBLDOUBLE.MSANGLE] = scatAngle;
+	}
+	
+	public double getScatterAngle() {
+		return getDoubleVal(GBLDOUBLE.MSANGLE);
+	}
+	
+
+	
+
+
+
 	/*
 	 * The functions below are all overide from 
 	 * @see org.lcsim.event.GenericObject#getNInt()
@@ -113,5 +285,7 @@
 		return false;
 	}
 
+	
 
+
 }

java/trunk/hps-java/src/main/resources/org/lcsim/hps/steering/recon
GBLReco.lcsim added at 145
--- java/trunk/hps-java/src/main/resources/org/lcsim/hps/steering/recon/GBLReco.lcsim	                        (rev 0)
+++ java/trunk/hps-java/src/main/resources/org/lcsim/hps/steering/recon/GBLReco.lcsim	2014-02-03 02:19:47 UTC (rev 145)
@@ -0,0 +1,85 @@
+<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" 
+       xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
+    <inputFiles>
+    </inputFiles>
+    <control>
+        <numberOfEvents>10000</numberOfEvents>
+        <printInputFiles>true</printInputFiles>
+        <printDriversDetailed>true</printDriversDetailed>
+    </control>    
+    <execute>
+        <driver name="EventMarkerDriver"/>
+        <driver name="CalibrationDriver"/>
+        <driver name="RawTrackerHitSensorSetup"/> 
+        <driver name="BadChannelFilter" />
+        <driver name="RawTrackerHitFitterDriver" />
+        <driver name="TrackerHitDriver"/>
+        <driver name="HelicalTrackHitDriver"/>
+        <driver name="TrackerReconDriver"/>
+        <driver name="EcalRawConverter" />
+        <driver name="EcalClusterer" />
+	    <driver name="GBLDriver"/> 
+		<!--<driver name="LCIOWriter"/>-->
+    </execute>    
+
+    <drivers>
+        <driver name="GBLDriver"
+                type="org.lcsim.hps.recon.tracking.gbl.GBLOutputDriver">
+                <debug>0</debug>
+                <hideFrame>true</hideFrame>
+                <isMC>${isMC}</isMC>
+                <gblFileName>gblinput.txt</gblFileName>
+	</driver>
+
+
+<!-- Reconstruction drivers below -->
+
+
+
+        <driver name="CalibrationDriver" type="org.lcsim.hps.conditions.CalibrationDriver">
+                <runNumber>1351</runNumber>
+        </driver>
+        <driver name="EventMarkerDriver"
+                type="org.lcsim.job.EventMarkerDriver">
+            <eventInterval>100</eventInterval>
+        </driver>        
+        <driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup"/>
+        <driver name="BadChannelFilter" type="org.lcsim.hps.recon.tracking.SVTBadChannelFilterDriver" /> 
+        <driver name="RawTrackerHitFitterDriver" type="org.lcsim.hps.recon.tracking.HPSRawTrackerHitFitterDriver">
+            <fitAlgorithm>Analytic</fitAlgorithm>
+            <correctT0Shift>false</correctT0Shift>
+        </driver>
+        <driver name="TrackerHitDriver" type="org.lcsim.hps.recon.tracking.DataTrackerHitDriver" />     
+        <driver name="HelicalTrackHitDriver"
+                type="org.lcsim.hps.recon.tracking.HelicalTrackHitDriver">
+            <debug>false</debug>
+            <maxSeperation>20.0</maxSeperation>
+            <tolerance>1.0</tolerance>
+        </driver>
+        <driver name="TrackerReconDriver"
+                type="org.lcsim.hps.recon.tracking.TrackerReconDriver">
+            <debug>false</debug>
+            <strategyResource>/org/lcsim/hps/recon/tracking/strategies/HPS-TestRun-357.xml</strategyResource>
+            <!-- <strategyResource>/org/lcsim/hps/recon/tracking/strategies/${strategy}.xml</strategyResource>-->
+        </driver>        
+        <driver name="EcalRawConverter" type="org.lcsim.hps.recon.ecal.EcalRawConverterDriver">
+            <ecalCollectionName>EcalCalHits</ecalCollectionName>
+        </driver>
+        <driver name="EcalClusterer" type="org.lcsim.hps.recon.ecal.EcalClusterer">
+            <ecalName>Ecal</ecalName>
+            <ecalCollectionName>EcalCalHits</ecalCollectionName>
+        </driver>
+<!--        
+        <driver name="LCIOWriter"
+             type="org.lcsim.util.loop.LCIODriver">
+                 <outputFilePath>${outputFile}.slcio</outputFilePath>
+        </driver>
+-->
+
+
+ 
+       
+
+
+    </drivers>   
+</lcsim>
\ No newline at end of file
SVNspam 0.1