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
|