Commit in hps-java/src/main/java/org/lcsim/hps/monitoring on MAIN | |||
ecal/TriggerPlots.java | +1 | -1 | 1.2 -> 1.3 |
svt/TrackTimePlots.java | +91 | -10 | 1.1 -> 1.2 |
/SVTPulseFitPlots.java | +1 | -1 | 1.2 -> 1.3 |
+93 | -12 |
update new timing plots
diff -u -r1.2 -r1.3 --- TriggerPlots.java 7 Jun 2012 00:49:48 -0000 1.2 +++ TriggerPlots.java 11 Jun 2012 22:57:02 -0000 1.3 @@ -155,7 +155,7 @@
simTrigBot = aida.histogram1D(detector.getDetectorName() + " : " + clusterCollection + " : Simulated Trigger - Bottom-Trigger Events", 4, 0, 4); simTrigAnd = aida.histogram1D(detector.getDetectorName() + " : " + clusterCollection + " : Simulated Trigger - And-Trigger Events", 4, 0, 4);
- plotter4 = aida.analysisFactory().createPlotterFactory().create("Cluster Times");
+ plotter4 = aida.analysisFactory().createPlotterFactory().create("Trigger Types");
plotter4.setTitle("Trigger Types"); plotterFrame.addPlotter(plotter4); plotter4.style().dataStyle().errorBarStyle().setVisible(false);
diff -u -r1.1 -r1.2 --- TrackTimePlots.java 8 Jun 2012 20:15:03 -0000 1.1 +++ TrackTimePlots.java 11 Jun 2012 22:57:02 -0000 1.2 @@ -11,6 +11,7 @@
import org.lcsim.fit.helicaltrack.HelicalTrackCross; import org.lcsim.fit.helicaltrack.HelicalTrackStrip; import org.lcsim.geometry.Detector;
+import org.lcsim.hps.evio.TriggerData;
import org.lcsim.hps.monitoring.AIDAFrame; import org.lcsim.hps.monitoring.Resettable; import org.lcsim.hps.recon.tracking.SvtUtils;
@@ -30,11 +31,14 @@
private AIDA aida = AIDA.defaultInstance(); private String hitCollection = "StripClusterer_SiTrackerHitStrip1D"; private String trackCollection = "MatchedTracks";
- IPlotter plotter, plotter2, plotter3,plotter4;
+ IPlotter plotter, plotter2, plotter3, plotter4, plotter5,plotter6;
private IHistogram1D[][] t0 = new IHistogram1D[2][10]; private IHistogram1D[][] trackHitT0 = new IHistogram1D[2][10]; private IHistogram1D[][] trackHitDt = new IHistogram1D[2][10];
+ private IHistogram2D[][] trackHit2D = new IHistogram2D[2][10];
private IHistogram1D[] trackT0 = new IHistogram1D[2];
+ private IHistogram2D[] trackTrigTime = new IHistogram2D[2]; + private IHistogram2D[][] trackHitDtChan = new IHistogram2D[2][10];
@Override protected void detectorChanged(Detector detector) {
@@ -48,7 +52,7 @@
IPlotterStyle style; plotter = fac.create("HPS SVT Timing Plots");
- plotter.setTitle("Timing");
+ plotter.setTitle("Hit Times");
plotterFrame.addPlotter(plotter); style = plotter.style(); style.dataStyle().fillStyle().setColor("yellow");
@@ -61,7 +65,7 @@
style = plotter2.style(); style.dataStyle().fillStyle().setColor("yellow"); style.dataStyle().errorBarStyle().setVisible(false);
- plotter2.createRegions(1, 2);
+ plotter2.createRegions(2, 2);
plotter3 = fac.create("HPS SVT Timing Plots"); plotter3.setTitle("Track Hit Time");
@@ -79,19 +83,47 @@
style.dataStyle().errorBarStyle().setVisible(false); plotter4.createRegions(4, 5);
+ plotter5 = fac.create("HPS SVT Timing Plots"); + plotter5.setTitle("Track Time vs. dt"); + plotterFrame.addPlotter(plotter5); + style = plotter5.style(); + style.setParameter("hist2DStyle", "colorMap"); + style.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow"); + style.zAxisStyle().setParameter("scale", "log"); + plotter5.createRegions(4, 5); + + plotter6 = fac.create("HPS SVT Timing Plots"); + plotter6.setTitle("Track dt vs. Channel"); + plotterFrame.addPlotter(plotter6); + style = plotter6.style(); + style.setParameter("hist2DStyle", "colorMap"); + style.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow"); + style.zAxisStyle().setParameter("scale", "log"); + plotter6.createRegions(4, 5); +
for (int module = 0; module < 2; module++) { for (int layer = 0; layer < 10; layer++) { SiSensor sensor = SvtUtils.getInstance().getSensor(module, layer); int region = computePlotterRegion(layer + 1, module);
- t0[module][layer] = aida.histogram1D(sensor.getName() + "_timing", 50, -100, 100.0);
+ t0[module][layer] = aida.histogram1D(sensor.getName() + "_timing", 75, -50, 100.0);
plotter.region(region).plot(t0[module][layer]);
- trackHitT0[module][layer] = aida.histogram1D(sensor.getName() + "_trackHit_timing", 50, -100, 100.0);
+ trackHitT0[module][layer] = aida.histogram1D(sensor.getName() + "_trackHit_timing", 75, -50, 100.0);
plotter3.region(region).plot(trackHitT0[module][layer]); trackHitDt[module][layer] = aida.histogram1D(sensor.getName() + "_trackHit_dt", 50, -20, 20.0); plotter4.region(region).plot(trackHitDt[module][layer]);
+ trackHit2D[module][layer] = aida.histogram2D(sensor.getName() + "_trackHit_dt_2D", 75, -50, 100.0, 50, -20, 20.0); + plotter5.region(region).plot(trackHit2D[module][layer]); + trackHitDtChan[module][layer] = aida.histogram2D(sensor.getName() + "_trackHit_dt_chan", 200, -20, 20, 50, -20, 20.0); + plotter6.region(region).plot(trackHitDtChan[module][layer]);
}
- trackT0[module] = aida.histogram1D(module == 0 ? "Top" : "Bottom" + "Track Time", 50, -100, 100.0);
+ trackT0[module] = aida.histogram1D((module == 0 ? "Top" : "Bottom") + "Track Time", 75, -50, 100.0);
plotter2.region(module).plot(trackT0[module]);
+ trackTrigTime[module] = aida.histogram2D((module == 0 ? "Top" : "Bottom") + "Track Time vs. Trig Time", 75, -50, 100.0, 33, -1, 32); + plotter2.region(module + 2).plot(trackTrigTime[module]); + style = plotter2.region(module + 2).style(); + style.setParameter("hist2DStyle", "colorMap"); + style.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow"); + style.zAxisStyle().setParameter("scale", "log");
} // shape = aida.histogram2D("Shape", 200, -1, 3, 200, -0.5, 2); // plotter5.region(0).plot(shape);
@@ -110,6 +142,48 @@
@Override public void process(EventHeader event) {
+ int orTrig = 0; + int topTrig = 0; + int botTrig = 0; + + int orTrigTime = -1; + int topTrigTime = -1; + int botTrigTime = -1; + if (event.hasCollection(TriggerData.class, "TriggerBank")) { + List<TriggerData> triggerList = event.get(TriggerData.class, "TriggerBank"); + if (!triggerList.isEmpty()) { + TriggerData triggerData = triggerList.get(0); + + orTrig = triggerData.getOrTrig(); + if (orTrig != 0) { + for (int i = 0; i < 32; i++) { + if ((1 << (31 - i) & orTrig) != 0) { + orTrigTime = i; + break; + } + } + } + topTrig = triggerData.getTopTrig(); + if (topTrig != 0) { + for (int i = 0; i < 32; i++) { + if ((1 << (31 - i) & topTrig) != 0) { + topTrigTime = i; + break; + } + } + } + botTrig = triggerData.getBotTrig(); + if (botTrig != 0) { + for (int i = 0; i < 32; i++) { + if ((1 << (31 - i) & botTrig) != 0) { + botTrigTime = i; + break; + } + } + } + } + } +
IIdentifierHelper helper = SvtUtils.getInstance().getHelper(); List<SiTrackerHitStrip1D> hits = event.get(SiTrackerHitStrip1D.class, hitCollection); for (SiTrackerHitStrip1D hit : hits) {
@@ -124,7 +198,7 @@
List<Track> tracks = event.get(Track.class, trackCollection); for (Track track : tracks) { int trackModule = -1;
- if (track.getPY() > 0) {
+ if (track.getTrackerHits().get(0).getPosition()[2] > 0) {
trackModule = 0; } else { trackModule = 1;
@@ -139,14 +213,21 @@
hitCount++; } }
- trackTime/=hitCount;
+ trackTime /= hitCount;
trackT0[trackModule].fill(trackTime);
+ if (trackModule == 0) { + trackTrigTime[trackModule].fill(trackTime, topTrigTime); + } else { + trackTrigTime[trackModule].fill(trackTime, botTrigTime); + }
for (TrackerHit hitCross : track.getTrackerHits()) { for (HelicalTrackStrip hit : ((HelicalTrackCross) hitCross).getStrips()) { int layer = hit.layer();
- trackHitDt[trackModule][layer - 1].fill(hit.time()-trackTime);
+ trackHitDt[trackModule][layer - 1].fill(hit.time() - trackTime);
+ trackHit2D[trackModule][layer - 1].fill(trackTime, hit.time() - trackTime);
+ trackHitDtChan[trackModule][layer - 1].fill(hit.umeas(), hit.time() - trackTime);
}
- }
+ }
} }
diff -u -r1.2 -r1.3 --- SVTPulseFitPlots.java 29 May 2012 22:25:09 -0000 1.2 +++ SVTPulseFitPlots.java 11 Jun 2012 22:57:02 -0000 1.3 @@ -28,7 +28,7 @@
private AIDAFrame plotterFrame; private AIDA aida = AIDA.defaultInstance(); private String fittedTrackerHitCollectionName = "SVTFittedRawTrackerHits";
- private String trackerName = "Tracker";
+// private String trackerName = "Tracker";
private int eventCount; IPlotter plotter; IPlotter plotter2;
Use REPLY-ALL to reply to list
To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1