hps-java/src/main/java/org/lcsim/hps/monitoring/svt
diff -u -r1.9 -r1.10
--- SVTHitReconstructionPlots.java 13 May 2012 21:40:25 -0000 1.9
+++ SVTHitReconstructionPlots.java 14 May 2012 17:50:33 -0000 1.10
@@ -42,6 +42,7 @@
IPlotter plotter3;
IPlotter plotter4;
IPlotter plotter5;
+ IPlotter plotter6;
private Map<String, Integer> sensorRegionMap;
private String outputPlots = null;
@@ -107,6 +108,15 @@
style5.dataStyle().fillStyle().setColor("green");
style5.dataStyle().errorBarStyle().setVisible(false);
plotter5.createRegions(5, 4);
+
+ plotter6 = fac.createPlotterFactory().create("HPS SVT Cluster Amp Plots");
+ plotter6.setTitle("Cluster Amplitude");
+ plotterFrame.addPlotter(plotter6);
+ plotters.add(plotter6);
+ IPlotterStyle style6 = plotter6.style();
+ style6.dataStyle().fillStyle().setColor("green");
+ style6.dataStyle().errorBarStyle().setVisible(false);
+ plotter6.createRegions(5, 4);
for (SiSensor sensor : sensors) {
@@ -115,12 +125,14 @@
IHistogram1D nrawPlot = aida.histogram1D(sensor.getName() + "_raw_hits", 10, 0, 9.0);
IHistogram1D nrecoPlot = aida.histogram1D(sensor.getName() + "_reco_hits", 10, 0, 9.0);
IHistogram1D clusterSizePlot = aida.histogram1D(sensor.getName() + "_cluster_size", 9, 1, 9.0);
+ IHistogram1D clusterAmpPlot = aida.histogram1D(sensor.getName() + "_cluster_amp", 50, 0, 2000.0);
int region = sensorRegionMap.get(sensor.getName());
plotter.region(region).plot(timingPlot);
plotter2.region(region).plot(amplitudePlot);
plotter3.region(region).plot(nrawPlot);
plotter4.region(region).plot(nrecoPlot);
plotter5.region(region).plot(clusterSizePlot);
+ plotter6.region(region).plot(clusterAmpPlot);
}
plotterFrame.pack();
@@ -193,10 +205,30 @@
String sensorName = sensor.getName();
int clusterSize = cluster.getRawHits().size();
aida.histogram1D(sensorName + "_cluster_size").fill(clusterSize);
+ double cluAmp = getCluAmp(cluster,fittedrawHits);
+ aida.histogram1D(sensorName + "_cluster_amp").fill(cluAmp);
+
}
}
+ public double getCluAmp(SiTrackerHitStrip1D stripHits, List<HPSFittedRawTrackerHit> hrths) {
+ List<RawTrackerHit> rawHits = stripHits.getRawHits();
+ double sum = 0.0;
+ for (RawTrackerHit hit: rawHits) {
+ //find the fitted hit amplitude
+ for (HPSFittedRawTrackerHit fittedHit: hrths) {
+ RawTrackerHit fh = fittedHit.getRawTrackerHit();
+ if (fh.equals(hit)) {
+ sum += fittedHit.getAmp();
+ }
+ }
+ }
+ return sum;
+ }
+
+
+
public void endOfData() {
if (outputPlots != null)
try {