Print

Print


Author: [log in to unmask]
Date: Fri Jun 19 17:29:29 2015
New Revision: 3170

Log:
Add strip isolation variable to gbl output.

Modified:
    java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLFileIO.java
    java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLOutput.java
    java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLOutputDriver.java

Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLFileIO.java
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLFileIO.java	(original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLFileIO.java	Fri Jun 19 17:29:29 2015
@@ -250,6 +250,10 @@
         addLine(String.format("Strip 3D hit pos %.10f %.10f %.10f",pos.x(),pos.y(),pos.z()));
     }
 
+    public void printStripIso(double stripIsoMin) {
+        addLine(String.format("Strip iso %.10f", stripIsoMin));
+    }
+
 
 
 }

Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLOutput.java
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLOutput.java	(original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLOutput.java	Fri Jun 19 17:29:29 2015
@@ -29,6 +29,7 @@
 import org.hps.recon.tracking.TrackerHitUtils;
 import org.lcsim.constants.Constants;
 import org.lcsim.detector.IDetectorElement;
+import org.lcsim.detector.ITransform3D;
 import org.lcsim.detector.tracker.silicon.HpsSiSensor;
 import org.lcsim.event.MCParticle;
 import org.lcsim.event.RawTrackerHit;
@@ -41,6 +42,8 @@
 import org.lcsim.fit.helicaltrack.HelicalTrackStrip;
 import org.lcsim.fit.helicaltrack.HelixUtils;
 import org.lcsim.geometry.Detector;
+import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitStrip1D;
+import org.lcsim.recon.tracking.digitization.sisim.TrackerHitType;
 import org.lcsim.recon.tracking.seedtracker.ScatterAngle;
 import org.lcsim.recon.tracking.seedtracker.SeedCandidate;
 import org.lcsim.recon.tracking.seedtracker.SeedTrack;
@@ -119,7 +122,7 @@
 
 
     
-    void printGBL(Track trk, GBLTrackData gtd, List<GBLStripClusterData> stripClusterDataList, List<MCParticle> mcParticles, List<SimTrackerHit> simTrackerHits, boolean isMC) {
+    void printGBL(Track trk, List<SiTrackerHitStrip1D> stripHits, GBLTrackData gtd, List<GBLStripClusterData> stripClusterDataList, List<MCParticle> mcParticles, List<SimTrackerHit> simTrackerHits, boolean isMC) {
 
         SeedTrack st = (SeedTrack)trk;
         SeedCandidate seed = st.getSeedCandidate();
@@ -381,6 +384,45 @@
                 stripData.setTrackLambda(lambda);
                 
                 
+                List<RawTrackerHit> rawhits = strip.getStrip().rawhits();
+                for(RawTrackerHit rawhit : rawhits) {
+                    System.out.println("rawhit cellID " + rawhit.getCellID());
+                }
+                
+                
+                // calculate isolation to other strip clusters
+                double stripIsoMin = 9999.9;
+                for (SiTrackerHitStrip1D stripHit : stripHits) {
+                    if(stripHit.getRawHits().get(0).getDetectorElement().getName().equals(de.getName())) {
+                        // same sensor, calucalte min distance
+//                        boolean found = false;
+//                        for(RawTrackerHit rawhitloop : stripHit.getRawHits()) {
+//                            System.out.println("rawhitloop cellID " + rawhitloop.getCellID());
+//                            for(RawTrackerHit rawhit : rawhits) {
+//                                System.out.println("rawhit cellID " + rawhit.getCellID());
+//                            
+//                                if(rawhitloop.getCellID()==rawhit.getCellID()) {
+//                                    System.out.println("FOUND THE rawhit cellID " + rawhit.getCellID());
+//                                    found = true;
+//                                }
+//                            }
+//                        }
+                        SiTrackerHitStrip1D local = stripHit.getTransformedHit(TrackerHitType.CoordinateSystem.SENSOR);
+                        double d = Math.abs(strip.umeas() - local.getPosition()[0]);
+                        if (d<stripIsoMin && d>0) {
+                            stripIsoMin = d;
+                        }
+//                        if(found) {
+//                            System.out.println("found rawhits! d " + d + " umeas " + strip.umeas() + " local.getPosition()[0] " + local.getPosition()[0]);
+//                        }
+                    }
+                }
+                
+                if(_debug>0) System.out.printf("%s: stripIsoMin = %f \n", this.getClass().getSimpleName(), stripIsoMin);
+                
+                if(textFile != null) {
+                    textFile.printStripIso(stripIsoMin);
+                }
                 
                 
                 //Print residual in measurement system

Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLOutputDriver.java
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLOutputDriver.java	(original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/gbl/GBLOutputDriver.java	Fri Jun 19 17:29:29 2015
@@ -18,6 +18,7 @@
 import org.lcsim.event.Track;
 import org.lcsim.event.base.MyLCRelation;
 import org.lcsim.geometry.Detector;
+import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitStrip1D;
 import org.lcsim.util.Driver;
 import org.lcsim.util.aida.AIDA;
 
@@ -85,6 +86,10 @@
              }
         }
 
+        List<SiTrackerHitStrip1D> stripHits = event.get(SiTrackerHitStrip1D.class, "StripClusterer_SiTrackerHitStrip1D");
+        if(_debug>0) System.out.printf("%s: Got %d SiTrackerHitStrip1D in this event\n", stripHits.size());
+        
+       
 
         List<MCParticle> mcParticles = new ArrayList<MCParticle>();
         if(event.hasCollection(MCParticle.class,this.MCParticleCollectionName)) {
@@ -134,7 +139,7 @@
             
             //print to text file
             gbl.printTrackID(iTrack);
-            gbl.printGBL(trk,gblTrackData,gblStripDataList,mcParticles,simTrackerHits,this.isMC);
+            gbl.printGBL(trk, stripHits, gblTrackData,gblStripDataList,mcParticles,simTrackerHits,this.isMC);
             
             //GBLDATA
             //add relation to normal track object