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