SlicDiagnostics/src/org/lcsim/slic/diagnostics
diff -N TrackerHitPlots.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ TrackerHitPlots.java 20 Aug 2005 20:38:46 -0000 1.1
@@ -0,0 +1,76 @@
+/*
+ * CalorimeterHitPlots.java
+ *
+ * Created on July 27, 2005, 11:56 AM
+ */
+package org.lcsim.slic.diagnostics;
+
+import java.util.List;
+
+import hep.aida.ICloud1D;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.EventHeader.LCMetaData;
+import org.lcsim.event.SimTrackerHit;
+import org.lcsim.event.MCParticle;
+import org.lcsim.geometry.segmentation.SegmentationBase;
+import org.lcsim.geometry.segmentation.ProjectiveCylinder;
+import org.lcsim.geometry.segmentation.ProjectiveZPlane;
+import org.lcsim.geometry.segmentation.NonprojectiveCylinder;
+import org.lcsim.geometry.IDDecoder;
+
+/**
+ *
+ * @author jeremym
+ */
+public class TrackerHitPlots extends PlotsBase
+{
+ List<SimTrackerHit> hits;
+
+ String collName;
+
+ ICloud1D mcpMissing;
+
+ public TrackerHitPlots(LCMetaData meta)
+ {
+ super(meta.getName());
+ definePlots();
+ }
+
+ public void setSimTrackerHitList(List<SimTrackerHit> hits)
+ {
+ this.hits = hits;
+ }
+
+ protected void definePlots()
+ {
+ super.definePlots();
+
+ mcpMissing = aida.cloud1D(makePlotName("Missing MCParticle Contribution"));
+ }
+
+ public void fill()
+ {
+ super.fill();
+ if ( this.hits != null )
+ {
+ fill(this.hits);
+ }
+ }
+
+ private void fill(List<SimTrackerHit> hits)
+ {
+ int mcpMissingCount = 0;
+ if ( hits.size() > 0 )
+ {
+ for ( SimTrackerHit hit : hits )
+ {
+ if ( hit.getMCParticle() == null )
+ {
+ mcpMissingCount += 1;
+ }
+ }
+
+ mcpMissing.fill(mcpMissingCount);
+ }
+ }
+}
\ No newline at end of file
SlicDiagnostics/src/org/lcsim/slic/diagnostics
diff -N TrackerHitPlotsDriver.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ TrackerHitPlotsDriver.java 20 Aug 2005 20:38:47 -0000 1.1
@@ -0,0 +1,44 @@
+package org.lcsim.slic.diagnostics;
+
+import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.lcsim.util.Driver;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.EventHeader.LCMetaData;
+import org.lcsim.event.SimTrackerHit;
+
+/**
+ *
+ * @author jeremym
+ */
+public class TrackerHitPlotsDriver extends Driver
+{
+ Map<String, TrackerHitPlots> TrackerHitPlots = new HashMap<String,TrackerHitPlots>();
+
+ protected void process(EventHeader event)
+ {
+ super.process(event);
+
+ List<List<SimTrackerHit>> SimTrackerHitCollections = event.get(SimTrackerHit.class);
+ for ( List<SimTrackerHit> SimTrackerHits : SimTrackerHitCollections)
+ {
+ LCMetaData meta = event.getMetaData(SimTrackerHits);
+ TrackerHitPlots trkPlots = getTrackerHitPlots(meta);
+ trkPlots.setEventHeader(event);
+ trkPlots.setSimTrackerHitList(SimTrackerHits);
+ trkPlots.fill();
+ }
+ }
+
+ private TrackerHitPlots getTrackerHitPlots(LCMetaData meta)
+ {
+ String name = meta.getName();
+ if ( TrackerHitPlots.get(name) == null )
+ {
+ TrackerHitPlots.put(name, new TrackerHitPlots(meta) );
+ }
+ return TrackerHitPlots.get(name);
+ }
+}
\ No newline at end of file
SlicDiagnostics/src/org/lcsim/slic/diagnostics
diff -u -r1.8 -r1.9
--- SlicDiagnosticsDriver.java 18 Aug 2005 00:50:01 -0000 1.8
+++ SlicDiagnosticsDriver.java 20 Aug 2005 20:38:46 -0000 1.9
@@ -44,6 +44,7 @@
add(new GenericHitPlotsDriver() );
add(new MCParticlePlotsDriver() );
add(new CalorimeterHitPlotsDriver() );
+ add(new TrackerHitPlotsDriver() );
add(new EventSummaryPlotsDriver() );
}
@@ -112,12 +113,12 @@
{
try
{
- message("Saving AIDA file <" + fileName + ">.");
+ message("Saving AIDA tree to <" + fileName + ">.");
aida.saveAs(fileName);
}
catch (Exception e)
{
- throw new RuntimeException("Problem saving tree to " + fileName + ".", e);
+ throw new RuntimeException("Problem saving AIDA tree to <" + fileName + ">.", e);
}
}
}