Author: [log in to unmask]
Date: Wed Jul 1 03:28:20 2015
New Revision: 3214
Log:
add strip cluster plots
Modified:
java/trunk/users/src/main/java/org/hps/users/phansson/TrackingReconstructionPlots.java
Modified: java/trunk/users/src/main/java/org/hps/users/phansson/TrackingReconstructionPlots.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/phansson/TrackingReconstructionPlots.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/phansson/TrackingReconstructionPlots.java Wed Jul 1 03:28:20 2015
@@ -44,6 +44,7 @@
import org.lcsim.geometry.IDDecoder;
import org.lcsim.geometry.compact.converter.HPSTrackerBuilder;
import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitStrip1D;
+import org.lcsim.recon.tracking.digitization.sisim.TrackerHitType;
import org.lcsim.recon.tracking.seedtracker.SeedCandidate;
import org.lcsim.recon.tracking.seedtracker.SeedTrack;
import org.lcsim.util.Driver;
@@ -63,6 +64,8 @@
private AIDA aida = AIDA.defaultInstance();
private String helicalTrackHitCollectionName = "HelicalTrackHits";
+ private String stripClusterCollectionName = "StripClusterer_SiTrackerHitStrip1D";
+
private String trackCollectionName = "MatchedTracks";
String ecalSubdetectorName = "Ecal";
String ecalCollectionName = "EcalClusters";
@@ -90,6 +93,7 @@
IPlotter plotter66;
IPlotter plotter7;
IPlotter plotter8;
+ IPlotter plotter88;
IPlotter plotter9;
IPlotter top1;
IPlotter top2;
@@ -798,8 +802,8 @@
style55.dataStyle().markerStyle().setSize(20);
plotter55.createRegions(1, 2);
- IProfile avgLayersTopPlot = aida.profile1D("Number of Stereo Hits per layer in Top Half", 5, 1, 11);
- IProfile avgLayersBottomPlot = aida.profile1D("Number of Stereo Hits per layer in Bottom Half", 5, 1, 11);
+ IProfile avgLayersTopPlot = aida.profile1D("Number of Stereo Hits per layer in Top Half", 13, 0, 13);
+ IProfile avgLayersBottomPlot = aida.profile1D("Number of Stereo Hits per layer in Bottom Half", 13, 0, 13);
plotter55.region(0).plot(avgLayersTopPlot);
plotter55.region(1).plot(avgLayersBottomPlot);
@@ -873,7 +877,7 @@
if(showPlots) plotter7.show();
- plotter8 = fac.createPlotterFactory().create("HPS Strip Hit Multiplicity");
+ plotter8 = fac.createPlotterFactory().create("HPS Strip Hit From Stereo Multiplicity");
plotter8.setTitle("Strip Hit Multiplicity");
//plotterFrame.addPlotter(plotter8);
IPlotterStyle style8 = plotter8.style();
@@ -882,12 +886,26 @@
plotter8.createRegions(6, 6);
i=0;
for(SiSensor sensor : sensors) {
- IHistogram1D resX = aida.histogram1D(sensor.getName() + " strip hits", 10, 0, 10);
+ IHistogram1D resX = aida.histogram1D(sensor.getName() + " strip hits from stereo", 10, 0, 10);
plotter8.region(i).plot(resX);
i++;
}
if(showPlots) plotter8.show();
+
+ plotter88 = fac.createPlotterFactory().create("HPS Strip Hit Multiplicity");
+ plotter88.setTitle("Strip Hit Multiplicity");
+ //plotterFrame.addPlotter(plotter88);
+ plotter88.setStyle(style8);
+ plotter88.createRegions(6, 6);
+ i=0;
+ for(SiSensor sensor : sensors) {
+ IHistogram1D resX = aida.histogram1D(sensor.getName() + " strip hits", 10, 0, 10);
+ plotter88.region(i).plot(resX);
+ i++;
+ }
+
+ if(showPlots) plotter88.show();
plotter9 = fac.createPlotterFactory().create("HPS Strip Hit On Track Multiplicity");
@@ -936,19 +954,41 @@
// System.out.println(helicalTrackHitCollectionName + " does not exist; skipping event");
return;
}
+
+ List<SiTrackerHitStrip1D> stripClusters = event.get(SiTrackerHitStrip1D.class, stripClusterCollectionName);
+ //System.out.printf("%s: Got %d SiTrackerHitStrip1D in this event\n", stripHits.size());
+ Map<HpsSiSensor, Integer> stripHits = new HashMap<HpsSiSensor, Integer>();
+ for (SiTrackerHitStrip1D stripHit : stripClusters) {
+ HpsSiSensor sensor = (HpsSiSensor) stripHit.getRawHits().get(0).getDetectorElement();
+ int n;
+ if(stripHits.containsKey(sensor)) {
+ n = stripHits.get(sensor);
+ } else {
+ n=0;
+ }
+ n++;
+ stripHits.put(sensor, n);
+ }
+
+ for(Map.Entry<HpsSiSensor,Integer> sensor : stripHits.entrySet()) {
+ aida.histogram1D(sensor.getKey().getName() + " strip hits").fill(sensor.getValue());
+ }
+
+
+
List<HelicalTrackHit> hthList = event.get(HelicalTrackHit.class, helicalTrackHitCollectionName);
int[] layersTop = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int[] layersBot = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
- Map<HpsSiSensor, Integer> stripHits = new HashMap<HpsSiSensor, Integer>();
+ Map<HpsSiSensor, Integer> stripHitsFromStereoHits = new HashMap<HpsSiSensor, Integer>();
for (HelicalTrackHit hth : hthList) {
HelicalTrackCross htc = (HelicalTrackCross) hth;
HpsSiSensor sensor = ((HpsSiSensor) ((RawTrackerHit) htc.getRawHits().get(0)).getDetectorElement());
for(HelicalTrackStrip strip : htc.getStrips()) {
HpsSiSensor stripsensor = (HpsSiSensor) ((RawTrackerHit)strip.rawhits().get(0)).getDetectorElement();
- if(stripHits.containsKey(stripsensor)) {
- stripHits.put(stripsensor, stripHits.get(stripsensor) + 1);
+ if(stripHitsFromStereoHits.containsKey(stripsensor)) {
+ stripHitsFromStereoHits.put(stripsensor, stripHitsFromStereoHits.get(stripsensor) + 1);
} else {
- stripHits.put(stripsensor, 0);
+ stripHitsFromStereoHits.put(stripsensor, 0);
}
}
if(sensor.isTopLayer()){
@@ -957,8 +997,8 @@
layersBot[htc.Layer() - 1]++;
}
}
- for(Map.Entry<HpsSiSensor,Integer> sensor : stripHits.entrySet()) {
- aida.histogram1D(sensor.getKey().getName() + " strip hits").fill(sensor.getValue());
+ for(Map.Entry<HpsSiSensor,Integer> sensor : stripHitsFromStereoHits.entrySet()) {
+ aida.histogram1D(sensor.getKey().getName() + " strip hits from stereo").fill(sensor.getValue());
}
for (int i = 0; i < 12; i++) {
|