Author: [log in to unmask]
Date: Tue Feb 24 08:13:16 2015
New Revision: 2179
Log:
adding new debug plots.
Added:
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/GblTrackingReconstructionPlots.java
Added: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/GblTrackingReconstructionPlots.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/GblTrackingReconstructionPlots.java (added)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/GblTrackingReconstructionPlots.java Tue Feb 24 08:13:16 2015
@@ -0,0 +1,102 @@
+package org.hps.monitoring.drivers.svt;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import hep.aida.IAnalysisFactory;
+import hep.aida.IHistogram1D;
+import hep.aida.IPlotter;
+import hep.aida.IPlotterStyle;
+
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.Track;
+import org.lcsim.geometry.Detector;
+import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
+
+public class GblTrackingReconstructionPlots extends Driver {
+ private Logger logger = getLogger();
+ private AIDA aida = AIDA.defaultInstance();
+ private String outputPlots = null;
+ private final String trackCollectionName = "MatchedTracks";
+ private final String gblTrackCollectionName = "GblTracks";
+ IHistogram1D nTracks;
+ IHistogram1D nTracksGbl;
+ IHistogram1D nTracksDiff;
+ IPlotter plotter1;
+
+
+ public GblTrackingReconstructionPlots() {
+ // TODO Auto-generated constructor stub
+ logger.setLevel(Level.WARNING);
+ }
+
+ public void setOutputPlots(String output) {
+ this.outputPlots = output;
+ }
+
+ protected void detectorChanged(Detector detector) {
+ aida.tree().cd("/");
+ IAnalysisFactory fac = aida.analysisFactory();
+
+ nTracks = aida.histogram1D("Seed tracks per event", 3, 0, 3);
+ nTracksGbl = aida.histogram1D("Gbl tracks per event", 3, 0, 3);
+ nTracksDiff = aida.histogram1D("Tracks per event Seed-Gbl", 6, -3, 3);
+ plotter1 = fac.createPlotterFactory().create("Number of tracks per event");
+ plotter1.setTitle("Other");
+ //plotterFrame.addPlotter(plotter222);
+ IPlotterStyle style1 = plotter1.style();
+ style1.dataStyle().fillStyle().setColor("yellow");
+ style1.dataStyle().errorBarStyle().setVisible(false);
+ plotter1.createRegions(3, 1);
+ plotter1.region(0).plot(nTracks);
+ plotter1.region(1).plot(nTracksGbl);
+ plotter1.region(2).plot(nTracksDiff);
+ plotter1.show();
+
+
+ }
+
+ protected void process(EventHeader event) {
+
+ List<Track> tracks;
+ if(event.hasCollection(Track.class, trackCollectionName)) {
+ tracks = event.get(Track.class, trackCollectionName);
+ } else {
+ logger.warning("no seed track collection");
+ tracks = new ArrayList<Track>();
+ }
+ List<Track> gblTracks;
+ if(event.hasCollection(Track.class, gblTrackCollectionName)) {
+ gblTracks = event.get(Track.class, gblTrackCollectionName);
+ } else {
+ logger.warning("no gbl track collection");
+ gblTracks = new ArrayList<Track>();
+ }
+ nTracks.fill(tracks.size());
+ nTracksGbl.fill(gblTracks.size());
+ nTracksDiff.fill(tracks.size()-gblTracks.size());
+
+
+ }
+
+
+ public void endOfData() {
+ if (outputPlots != null) {
+ try {
+ aida.saveAs(outputPlots);
+ } catch (IOException ex) {
+ logger.log(Level.SEVERE,"aid problem saving file",ex);
+ }
+ }
+ //plotterFrame.dispose();
+ //topFrame.dispose();
+ //bottomFrame.dispose();
+ }
+
+
+
+}
|