14 modified files
hps-java/src/main/java/org/lcsim/hps/recon/tracking
diff -u -r1.5 -r1.6
--- HPSHelicalTrackHitDriver.java 28 Apr 2012 19:35:09 -0000 1.5
+++ HPSHelicalTrackHitDriver.java 13 May 2012 21:38:20 -0000 1.6
@@ -18,6 +18,7 @@
import org.lcsim.detector.IDetectorElement;
import org.lcsim.detector.ITransform3D;
+import org.lcsim.detector.tracker.silicon.SiTrackerModule;
import org.lcsim.digisim.MyLCRelation;
import org.lcsim.event.EventHeader;
import org.lcsim.event.LCRelation;
@@ -30,6 +31,7 @@
import org.lcsim.fit.helicaltrack.HelicalTrackStrip;
import org.lcsim.fit.helicaltrack.HitIdentifier;
import org.lcsim.fit.helicaltrack.StereoHitMaker;
+import org.lcsim.geometry.Detector;
import org.lcsim.geometry.subdetector.BarrelEndcapFlag;
import org.lcsim.hps.event.HPSTransformations;
import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHit;
@@ -41,25 +43,25 @@
/**
* Create the appropriate HelicalTrackHits for the specified TrackerHit
- * collections. The resulting HelicalTrackHits encapsulate the information
- * needed to perform a helical track hit for either a segmented strip
- * detector, a pixel detector, or cross hits from a stereo detector.
+ * collections. The resulting HelicalTrackHits encapsulate the information
+ * needed to perform a helical track hit for either a segmented strip detector,
+ * a pixel detector, or cross hits from a stereo detector.
*
* This driver was developed for the Dark Forces silicon tracker, where
- * digitized hits are in either axial or stereo layers. The pairs of layers
- * to be used in forming stereo hits can be specified using the setStereoPairs
+ * digitized hits are in either axial or stereo layers. The pairs of layers to
+ * be used in forming stereo hits can be specified using the setStereoPairs
* method.
*
- * The list of hit collections to be converted must be specified
- * before the process method is executed.
+ * The list of hit collections to be converted must be specified before the
+ * process method is executed.
*
* @author Richard Partridge
* @version 1.0
*/
public class HPSHelicalTrackHitDriver extends Driver {
-
// private StereoHitMaker _crosser = new StereoHitMaker(2., 10.);
- private boolean _debug=false;
+
+ private boolean _debug = false;
private StereoHitMaker _crosser = new StereoHitMaker(0.0, 10.);
private HitIdentifier _ID = new HitIdentifier();
private String _outname = "HelicalTrackHits";
@@ -72,15 +74,52 @@
private SymmetricMatrix _covTrkSystem;
private boolean _doTranformToTracking = false;
private HPSTransformations _detToTrk;
+ String subdetectorName = "Tracker";
- /** Creates a new instance of HelicalTrackHitDriver */
+ /**
+ * Creates a new instance of HelicalTrackHitDriver
+ */
public HPSHelicalTrackHitDriver() {
// setDetToTrkMatrix();
_detToTrk = new HPSTransformations();
+ _colnames.add("StripClusterer_SiTrackerHitStrip1D");
+ _crosser.setMaxSeparation(10.01);
+ _crosser.setTolerance(0.01); // user parameter?
+ }
+
+ public void setSubdetectorName(String subdetectorName) {
+ this.subdetectorName = subdetectorName;
+ }
+
+ public void detectorChanged(Detector detector) {
+ // Setup default stereo pairings, which should work for even number of
+ // modules.
+ List<SiTrackerModule> modules = detector.getSubdetector(subdetectorName).getDetectorElement().findDescendants(SiTrackerModule.class);
+ if (modules.size() == 0) {
+ throw new RuntimeException("No SiTrackerModules found in detector.");
+ }
+ int nmodules = modules.size();
+ if (nmodules % 2 != 0) {
+ throw new RuntimeException("Don't know how to do stereo pairing for odd number of modules.");
+ }
+ List<int[]> pairs = new ArrayList<int[]>();
+ for (int i = 1; i <= (nmodules / 2) - 1; i += 2) {
+ int[] pair = {i, i + 1};
+ if (_debug) {
+ System.out.println("Adding stereo pair: " + pair[0] + ", " + pair[1]);
+ }
+ pairs.add(pair);
+ }
+ for (int[] pair : pairs) {
+ setStereoPair(subdetectorName, pair[0], pair[1]);
+ }
+ setTransformToTracking(true);
+ setDebug(true);
}
/**
* Create the HelicalTrackHits for the specified hit collections.
+ *
* @param event EventHeader of the event to be processed
*/
public void process(EventHeader event) {
@@ -100,9 +139,10 @@
// Create collections for strip hits by layer and hit cross references
Map<String, List<HelicalTrackStrip>> striplistmap = new HashMap<String, List<HelicalTrackStrip>>();
Map<HelicalTrackStrip, SiTrackerHitStrip1D> stripmap = new HashMap<HelicalTrackStrip, SiTrackerHitStrip1D>();
- if(_debug)
- System.out.println("HPSHelicalTrackHitDriver: # of hits found = "+hitlist.size());
-
+ if (_debug) {
+ System.out.println("HPSHelicalTrackHitDriver: # of hits found = " + hitlist.size());
+ }
+
// Loop over the SiTrackerHits in this collection
for (SiTrackerHit hit : hitlist) {
@@ -119,7 +159,7 @@
// Create a HelicalTrackStrip for this hit
HelicalTrackStrip strip = makeDigiStrip(h);
-
+
// Get the list of strips for this layer - create a new list if one doesn't already exist
List<HelicalTrackStrip> lyrhits = striplistmap.get(id);
if (lyrhits == null) {
@@ -153,8 +193,9 @@
// Now create the stereo hits
// Create a list of stereo hits
List<HelicalTrackCross> stereohits = new ArrayList<HelicalTrackCross>();
- if(_debug)
- System.out.println("Map size = "+striplistmap.size());
+ if (_debug) {
+ System.out.println("Map size = " + striplistmap.size());
+ }
// Loop over the stereo layer pairs
for (String id1 : _stereomap.keySet()) {
@@ -164,9 +205,10 @@
// Form the stereo hits and add them to our hit list
stereohits.addAll(_crosser.MakeHits(striplistmap.get(id1), striplistmap.get(id2)));
}
-
- if(_debug)
- System.out.println("Number of stereo hits = "+stereohits.size());
+
+ if (_debug) {
+ System.out.println("Number of stereo hits = " + stereohits.size());
+ }
for (HelicalTrackCross htc : stereohits) {
double ypos = htc.x();
@@ -180,8 +222,9 @@
// Add the stereo hits to our list of HelicalTrackHits
helhits.addAll(stereohits);
//mg...6/24/11 add new set of helical track hits that are rotated to from jlab to tracking frame
- if (_doTranformToTracking)
+ if (_doTranformToTracking) {
addRotatedHitsToEvent(event, stereohits);
+ }
//add LCRelation for strip hits
for (HelicalTrackCross cross : stereohits) {
for (HelicalTrackStrip strip : cross.getStrips()) {
@@ -200,39 +243,37 @@
// Put the HelicalTrackHits back into the event
event.put(_outname, helhits, HelicalTrackHit.class, 0);
+ System.out.println("The HelicalTrackHit collection " + _outname + " has " + helhits.size() + " hits.");
event.put(_hitrelname, hitrelations, LCRelation.class, 0);
event.put(_mcrelname, mcrelations, LCRelation.class, 0);
}
- /**
- * Name of the HelicalTrackHit collection to be put back in the event.
- * @param outname Name to use for the HelicalTrackHit collection
- */
public void addCollection(String colname) {
_colnames.add(colname);
}
- public void OutputCollection(String outname) {
- _outname = outname;
- }
-
+ /**
+ * Name of the HelicalTrackHit collection to be put back in the event.
+ *
+ * @param outname Name to use for the HelicalTrackHit collection
+ */
public void setOutputCollectionName(String outname) {
_outname = outname;
}
- public void HitRelationName(String hitrelname) {
+ public void setHitRelationName(String hitrelname) {
_hitrelname = hitrelname;
}
- public void MCRelationName(String mcrelname) {
+ public void setMCRelationName(String mcrelname) {
_mcrelname = mcrelname;
}
- public void setMaxSeperation(double maxsep) {
+ public void setStripMaxSeparation(double maxsep) {
_crosser.setMaxSeparation(maxsep);
}
- public void setTolerance(double tolerance) {
+ public void setStripTolerance(double tolerance) {
_crosser.setTolerance(tolerance);
}
@@ -393,7 +434,7 @@
private SymmetricMatrix getCovTrkSystem(SymmetricMatrix cov) {
return _detToTrk.transformCovarianceToTracking(cov);
}
-
+
public void setDebug(boolean debug) {
this._debug = debug;
}
hps-java/src/main/java/org/lcsim/hps/recon/tracking
diff -u -r1.8 -r1.9
--- HPSSVTCalibrationConstants.java 12 May 2012 23:09:05 -0000 1.8
+++ HPSSVTCalibrationConstants.java 13 May 2012 21:38:20 -0000 1.9
@@ -77,7 +77,7 @@
}
- public static void loadBaseline(Reader baselineReader) {
+ private static void loadBaseline(Reader baselineReader) {
BufferedReader bufferedBaseline = new BufferedReader(baselineReader);
String line;
while (true) {
hps-java/src/main/java/org/lcsim/hps/recon/tracking
diff -u -r1.1 -r1.2
--- SVTRawTrackerHitThresholdDriver.java 1 May 2012 17:59:22 -0000 1.1
+++ SVTRawTrackerHitThresholdDriver.java 13 May 2012 21:38:20 -0000 1.2
@@ -51,9 +51,6 @@
public void process(EventHeader event) {
if (event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName)) {
- if (!HPSSVTCalibrationConstants.calibrationLoaded()) {
- HPSSVTCalibrationConstants.loadCalibrationConstants();
- }
// Get RawTrackerHit collection from event.
List<RawTrackerHit> rawTrackerHits = event.get(RawTrackerHit.class, rawTrackerHitCollectionName);
List<RawTrackerHit> outputHits = new ArrayList<RawTrackerHit>();
hps-java/src/main/java/org/lcsim/hps/recon/tracking
diff -u -r1.1 -r1.2
--- MultiTrackReco.java 1 Jun 2011 17:05:31 -0000 1.1
+++ MultiTrackReco.java 13 May 2012 21:38:20 -0000 1.2
@@ -27,9 +27,9 @@
HPSHelicalTrackHitDriver hitdriver = new HPSHelicalTrackHitDriver();
hitdriver.addCollection(((HPSTrackerHitDriver) thd).getStripHits1DName());
- hitdriver.OutputCollection("AxialTrackHits");
- hitdriver.HitRelationName("AxialTrackHitRelations");
- hitdriver.MCRelationName("AxialTrackMCRelations");
+ hitdriver.setOutputCollectionName("AxialTrackHits");
+ hitdriver.setHitRelationName("AxialTrackHitRelations");
+ hitdriver.setMCRelationName("AxialTrackMCRelations");
add(hitdriver);
@@ -58,9 +58,9 @@
HPSHelicalTrackHitDriver hthdriver = new HPSHelicalTrackHitDriver();
hthdriver.addCollection(((HPSTrackerHitDriver) thd).getStripHits1DName());
- hthdriver.OutputCollection("HelicalTrackHits");
- hthdriver.HitRelationName("HelicalTrackHitRelations");
- hthdriver.MCRelationName("HelicalTrackMCRelations");
+ hthdriver.setOutputCollectionName("HelicalTrackHits");
+ hthdriver.setHitRelationName("HelicalTrackHitRelations");
+ hthdriver.setMCRelationName("HelicalTrackMCRelations");
for (int[] pair : stereoPairs)
@@ -68,12 +68,12 @@
if (detType.contains("Test")) {
System.out.println("Setting separation for a Test detector");
- hthdriver.setMaxSeperation(10.01);
- hthdriver.setTolerance(0.01);
+ hthdriver.setStripMaxSeparation(10.01);
+ hthdriver.setStripTolerance(0.01);
} else {
- hthdriver.setMaxSeperation(50.);
- hthdriver.setTolerance(0.4);
+ hthdriver.setStripMaxSeparation(50.);
+ hthdriver.setStripTolerance(0.4);
}
add(hthdriver);
hps-java/src/main/java/org/lcsim/hps/recon/tracking
diff -u -r1.18 -r1.19
--- TrackerReconDriver.java 3 May 2012 20:50:29 -0000 1.18
+++ TrackerReconDriver.java 13 May 2012 21:38:20 -0000 1.19
@@ -5,10 +5,8 @@
import java.util.ArrayList;
import java.util.List;
-import org.lcsim.detector.tracker.silicon.SiTrackerModule;
import org.lcsim.event.EventHeader;
import org.lcsim.event.Track;
-import org.lcsim.event.TrackerHit;
import org.lcsim.geometry.Detector;
import org.lcsim.hps.event.HPSTransformations;
import org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver;
@@ -24,7 +22,8 @@
* with the {@link TrackerDigiDriver} digitization Driver.
*
* @author jeremym
- * @version $Id: TrackerReconDriver.java,v 1.18 2012/05/03 20:50:29 mgraham Exp $
+ * @version $Id: TrackerReconDriver.java,v 1.18 2012/05/03 20:50:29 mgraham Exp
+ * $
*/
public final class TrackerReconDriver extends Driver {
@@ -39,8 +38,6 @@
Detector detector = null;
// Default B-field value.
private double bfield = 0.8;
- // Name of the SVT subdetector.
- private String subdetectorName = "Tracker";
// SimTrackerHit input collection for readout cleanup.
private String simTrackerHitCollectionName = "TrackerHits";
// Tracking strategies resource path.
@@ -49,18 +46,7 @@
private String trackCollectionName = "MatchedTracks";
// HelicalTrackHit input collection.
private String stInputCollectionName = "RotatedHelicalTrackHits";
- // Output hit collection for HelicalTrackHits.
- private String hthOutputCollectionName = "HelicalTrackHits";
- // Input strip hits collection from digi.
- private String stripHitsCollectionName = "StripClusterer_SiTrackerHitStrip1D";
- // Hit relations output collection.
- private String helicalTrackHitRelationsCollectionName = "HelicalTrackHitRelations";
- // Track to MC relations output collection.
- private String helicalTrackMCRelationsCollectionName = "HelicalTrackMCRelations";
- // Max strip separation when making HelicalTrackHits.
- private double stripMaxSeparation = 10.01;
- // Tolerance factor when making HelicalTrackHits.
- private double stripTolerance = 0.01;
+ HPSHelicalTrackHitDriver hthdriver = new HPSHelicalTrackHitDriver();
public TrackerReconDriver() {
}
@@ -70,49 +56,49 @@
}
public void setSubdetectorName(String subdetectorName) {
- this.subdetectorName = subdetectorName;
+ hthdriver.setSubdetectorName(subdetectorName);
}
- /**
- * Set the tracking strategy resource.
- *
- * @param strategyResource The absolute path to the strategy resource in the
- * hps-java jar.
- */
- public void setStrategyResource(String strategyResource) {
- this.strategyResource = strategyResource;
+ public void setStripHitsCollectionName(String stripHitsCollectionName) {
+ hthdriver.setHitRelationName(stripHitsCollectionName);
}
public void setHelicalTrackHitRelationsCollectionName(String helicalTrackHitRelationsCollectionName) {
- this.helicalTrackHitRelationsCollectionName = helicalTrackHitRelationsCollectionName;
+ hthdriver.setHitRelationName(helicalTrackHitRelationsCollectionName);
}
public void setHelicalTrackMCRelationsCollectionName(String helicalTrackMCRelationsCollectionName) {
- this.helicalTrackMCRelationsCollectionName = helicalTrackMCRelationsCollectionName;
+ hthdriver.setMCRelationName(helicalTrackMCRelationsCollectionName);
}
- public void setInputHitCollectionName(String inputHitCollectionName) {
- this.stInputCollectionName = inputHitCollectionName;
+ public void setOutputHitCollectionName(String outputHitCollectionName) {
+ hthdriver.setOutputCollectionName(outputHitCollectionName);
}
- public void setOutputHitCollectionName(String outputHitCollectionName) {
- this.hthOutputCollectionName = outputHitCollectionName;
+ public void setStripMaxSeparation(double stripMaxSeparation) {
+ hthdriver.setStripMaxSeparation(stripMaxSeparation);
}
- public void setStripHitsCollectionName(String stripHitsCollectionName) {
- this.stripHitsCollectionName = stripHitsCollectionName;
+ public void setStripTolerance(double stripTolerance) {
+ hthdriver.setStripTolerance(stripTolerance);
}
- public void setTrackCollectionName(String trackCollectionName) {
- this.trackCollectionName = trackCollectionName;
+ /**
+ * Set the tracking strategy resource.
+ *
+ * @param strategyResource The absolute path to the strategy resource in the
+ * hps-java jar.
+ */
+ public void setStrategyResource(String strategyResource) {
+ this.strategyResource = strategyResource;
}
- public void setStripMaxSeparation(double stripMaxSeparation) {
- this.stripMaxSeparation = stripMaxSeparation;
+ public void setInputHitCollectionName(String inputHitCollectionName) {
+ this.stInputCollectionName = inputHitCollectionName;
}
- public void setStripTolerance(double stripTolerance) {
- this.stripTolerance = stripTolerance;
+ public void setTrackCollectionName(String trackCollectionName) {
+ this.trackCollectionName = trackCollectionName;
}
/**
@@ -152,39 +138,6 @@
// 1) Driver to create HelicalTrackHits expected by Seedtracker.
//
// TODO Make this step its own separate Driver??? (Matt)
-
- // Setup default stereo pairings, which should work for even number of
- // modules.
- List<SiTrackerModule> modules = detector.getSubdetector(subdetectorName).getDetectorElement().findDescendants(SiTrackerModule.class);
- if (modules.size() == 0) {
- throw new RuntimeException("No SiTrackerModules found in detector.");
- }
- int nmodules = modules.size();
- if (nmodules % 2 != 0) {
- throw new RuntimeException("Don't know how to do stereo pairing for odd number of modules.");
- }
- List<int[]> pairs = new ArrayList<int[]>();
- for (int i = 1; i <= (nmodules / 2) - 1; i += 2) {
- int[] pair = {i, i + 1};
- if (debug) {
- System.out.println("Adding stereo pair: " + pair[0] + ", " + pair[1]);
- }
- pairs.add(pair);
- }
-
- // Create the Driver.
- HPSHelicalTrackHitDriver hthdriver = new HPSHelicalTrackHitDriver();
- hthdriver.addCollection(stripHitsCollectionName);
- hthdriver.OutputCollection(hthOutputCollectionName);
- hthdriver.HitRelationName(helicalTrackHitRelationsCollectionName);
- hthdriver.MCRelationName(helicalTrackMCRelationsCollectionName);
- for (int[] pair : pairs) {
- hthdriver.setStereoPair(subdetectorName, pair[0], pair[1]);
- }
- hthdriver.setMaxSeperation(stripMaxSeparation);
- hthdriver.setTolerance(stripTolerance); // user parameter?
- hthdriver.setTransformToTracking(true);
- hthdriver.setDebug(true);
add(hthdriver);
//
@@ -201,7 +154,7 @@
stFinal.setInputCollectionName(stInputCollectionName);
stFinal.setTrkCollectionName(trackCollectionName);
stFinal.setBField(bfield);
- stFinal.setDiagnostics(new SeedTrackerDiagnostics());
+ stFinal.setDiagnostics(new SeedTrackerDiagnostics());
// stFinal.setSectorParams(false); //this doesn't actually seem to do anything
stFinal.setSectorParams(1, 10000);
add(stFinal);
@@ -231,10 +184,6 @@
// Debug printouts.
if (debug) {
- // Check for HelicalTrackHits.
- List<TrackerHit> hth = event.get(TrackerHit.class, hthOutputCollectionName);
- System.out.println("The HelicalTrackHit collection " + hthOutputCollectionName + " has " + hth.size() + " hits.");
-
// Check for Tracks.
List<Track> tracks = event.get(Track.class, trackCollectionName);
System.out.println("The Track collection " + trackCollectionName + " has " + tracks.size() + " tracks.");
hps-java/src/main/java/org/lcsim/hps/monitoring/svt
diff -u -r1.4 -r1.5
--- SVTEventDisplay.java 6 May 2012 08:57:38 -0000 1.4
+++ SVTEventDisplay.java 13 May 2012 21:38:20 -0000 1.5
@@ -1,24 +1,14 @@
package org.lcsim.hps.monitoring.svt;
import hep.aida.*;
-import hep.physics.vec.BasicHep3Vector;
import hep.physics.vec.Hep3Vector;
-import hep.physics.vec.VecOp;
-import java.util.ArrayList;
import java.util.List;
import org.lcsim.detector.tracker.silicon.*;
-import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.EventHeader;
-import org.lcsim.event.RawCalorimeterHit;
import org.lcsim.event.RawTrackerHit;
import org.lcsim.fit.helicaltrack.HelicalTrackHit;
import org.lcsim.geometry.Detector;
-import org.lcsim.geometry.IDDecoder;
-import org.lcsim.hps.monitoring.Resettable;
import org.lcsim.hps.recon.ecal.HPSEcalCluster;
-import org.lcsim.hps.recon.ecal.HPSEcalConditions;
-import org.lcsim.hps.recon.tracking.HPSFittedRawTrackerHit;
-import org.lcsim.hps.recon.tracking.HPSSVTCalibrationConstants;
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
@@ -26,58 +16,39 @@
*
* @author mgraham
*/
-public class SVTEventDisplay extends Driver implements Resettable {
+public class SVTEventDisplay extends Driver {
- private List<IPlotter> plotters = new ArrayList<IPlotter>();
private AIDA aida = AIDA.defaultInstance();
- private String rawTrackerHitCollectionName = "RawTrackerHitMaker_RawTrackerHits";
- private String helicalTrackHitCollectionName = "HelicalTrackHits";
+ private String helicalTrackHitCollectionName = "HelicalTrackHits";
// String eCalClusterCollectionName = "EcalClusters";
- private String trackerName = "Tracker";
private int eventCount;
- private Detector detector = null;
private IPlotter plotter;
- private List<SiSensor> sensors;
// private ICloud2D cl2D;
private IHistogram2D svtDispZX;
private IHistogram2D svtDispZY;
- int integralWindow = 0;
- IDDecoder dec;
String ecalSubdetectorName = "Ecal";
String ecalCollectionName = "EcalClusters";
double zEcal = 130;
protected void detectorChanged(Detector detector) {
- this.detector = detector;
aida.tree().cd("/");
-
- sensors = detector.getSubdetector(trackerName).getDetectorElement().findDescendants(SiSensor.class);
-
if (detector.getSubdetector(ecalSubdetectorName) == null) {
throw new RuntimeException("There is no subdetector called " + ecalSubdetectorName + " in this detector");
}
- // Cache the IDDecoder for the ECal.
- dec = detector.getSubdetector(ecalSubdetectorName).getReadout().getIDDecoder();
-
-
IAnalysisFactory fac = aida.analysisFactory();
-
-
plotter = fac.createPlotterFactory().create("HPS SVT Event Display");
- plotters.add(plotter);
IPlotterStyle style = plotter.style();
style.statisticsBoxStyle().setVisible(false);
style.setParameter("hist2DStyle", "colorMap");
style.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
-
- // style.dataStyle().fillStyle().
+// style.zAxisStyle().setParameter("scale", "log");
plotter.createRegions(1, 2);
svtDispZY = aida.histogram2D("SVT Raw Hits: z vs y", 50, 0, 140, 50, -10, 10);
- svtDispZX = aida.histogram2D("SVT Raw Hits: z vs x", 50, 0, 140, 100, -30, 30);
+ svtDispZX = aida.histogram2D("SVT Raw Hits: z vs x", 50, 0, 140, 100, -35, 35);
// cl2D = aida.cloud2D("SVT Raw Hits: z vs y");
plotter.region(0).plot(svtDispZY);
@@ -89,18 +60,14 @@
// public void setRawTrackerHitCollectionName(String rawTrackerHitCollectionName) {
// this.rawTrackerHitCollectionName = rawTrackerHitCollectionName;
// }
-
- public void setHelicalTrackHitCollectionName(String helicalTrackHitCollectionName) {
+ public void setHelicalTrackHitCollectionName(String helicalTrackHitCollectionName) {
this.helicalTrackHitCollectionName = helicalTrackHitCollectionName;
}
-
+
public void process(EventHeader event) {
// if (event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName)) {
if (event.hasCollection(HelicalTrackHit.class, helicalTrackHitCollectionName)) {
++eventCount;
- if (!HPSSVTCalibrationConstants.calibrationLoaded()) {
- HPSSVTCalibrationConstants.loadCalibrationConstants();
- }
// aida.histogram2D("SVT Raw Hits: z vs y").reset();
@@ -110,18 +77,19 @@
for (HelicalTrackHit hrth : rawHits) {
fillPlots(hrth);
}
-
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalCollectionName);
- // System.out.println("Number of ECAL clusters="+clusters.size());
- for (HPSEcalCluster cluster : clusters) {
- dec.setID(cluster.getSeedHit().getCellID());
- CalorimeterHit seedHit = cluster.getSeedHit();
+
+ List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalCollectionName);
+ // System.out.println("Number of ECAL clusters="+clusters.size());
+ for (HPSEcalCluster cluster : clusters) {
+// dec.setID(cluster.getSeedHit().getCellID());
+// CalorimeterHit seedHit = cluster.getSeedHit();
// System.out.println("z = "+seedHit.getPosition()[2]+" y = "+seedHit.getPosition()[1]);
-// if(cluster.getEnergy()/10>500)
- svtDispZY.fill(zEcal, seedHit.getPosition()[1]/10, cluster.getEnergy()/10);
- svtDispZY.fill(zEcal, seedHit.getPosition()[0]/10, cluster.getEnergy()/10);
+ if (cluster.getEnergy() > 0) {
+ svtDispZY.fill(zEcal, cluster.getPosition()[1] / 10, cluster.getEnergy());
+ svtDispZX.fill(zEcal, cluster.getPosition()[0] / 10, cluster.getEnergy());
}
- }else{
+ }
+ } else {
System.out.println("SVTEventDisplay: Event has no HelicalTrackHits");
}
}
@@ -139,7 +107,7 @@
// double ped = HPSSVTCalibrationConstants.getPedestal(sensor, strip);
// double noise = HPSSVTCalibrationConstants.getNoise(sensor, strip);
-
+
// aida.cloud2D("SVT Raw Hits: z vs y").fill(position.z() / 10.0, position.y() / 10.0);
// aida.histogram2D("SVT Raw Hits: z vs y").fill(position.z()/10.0,position.y()/10.0);
// aida.histogram2D("SVT Raw Hits: z vs y").fill(position.z()/10.0,position.y()/10.0);
@@ -149,18 +117,18 @@
// maxAdc = adcVal[i] - ped;
// }
// if(noise<70){
- // if (noise < 70 && !mask(position)) {
+ // if (noise < 70 && !mask(position)) {
// System.out.println(sensor.getName()+" strip # "+strip+" "+position.z()+" " + position.y());
// svtDisp.fill(position.z()/10.0,position.y()/10.0);
// svtDispZY.fill(position.z() / 10.0, position.y() / 10.0, maxAdc);
// svtDispZX.fill(position.z() / 10.0, position.x() / 10.0, maxAdc);
-
- // svtDispZY.fill(position.z() / 10.0, position.y() / 10.0, 1000.0);
- // svtDispZX.fill(position.z() / 10.0, position.x() / 10.0, 1000.0);
- // }
- svtDispZY.fill(hit.z() / 10.0, hit.y() / 10.0, 1000.0);
- svtDispZX.fill(hit.z() / 10.0, hit.x() / 10.0, 1000.0);
-
+
+ // svtDispZY.fill(position.z() / 10.0, position.y() / 10.0, 1000.0);
+ // svtDispZX.fill(position.z() / 10.0, position.x() / 10.0, 1000.0);
+ // }
+ svtDispZY.fill(hit.z() / 10.0, hit.y() / 10.0, 1000.0);
+ svtDispZX.fill(hit.z() / 10.0, hit.x() / 10.0, 1000.0);
+
}
private Hep3Vector getGlobalHitPosition(RawTrackerHit hit, SiSensorElectrodes electrodes) {
@@ -173,18 +141,15 @@
double y = pos.y();
double z = pos.z();
- if (z > 300 && z < 320)
- if (y > -50 && y < -20)
+ if (z > 300 && z < 320) {
+ if (y > -50 && y < -20) {
return true;
+ }
+ }
return false;
}
- @Override
- public void reset() {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
public void setEcalCollectionName(String ecalCollectionName) {
this.ecalCollectionName = ecalCollectionName;
}
hps-java/src/main/java/org/lcsim/hps/monitoring/svt
diff -u -r1.2 -r1.3
--- SensorOccupancyPlotsDriver.java 3 May 2012 16:59:28 -0000 1.2
+++ SensorOccupancyPlotsDriver.java 13 May 2012 21:38:20 -0000 1.3
@@ -167,12 +167,11 @@
}
}
- public void endOfData() {
- if (plotter != null) {
- plotter.hide();
- }
- }
-
+// public void endOfData() {
+// if (plotter != null) {
+// plotter.hide();
+// }
+// }
public void reset() {
eventCount = 0;
resetOccupancyMap();
hps-java/src/main/java/org/lcsim/hps/monitoring/svt
diff -u -r1.2 -r1.3
--- SVTHitRecoCorrelations.java 11 May 2012 00:33:25 -0000 1.2
+++ SVTHitRecoCorrelations.java 13 May 2012 21:38:20 -0000 1.3
@@ -219,9 +219,6 @@
// }
//
- if (!HPSSVTCalibrationConstants.calibrationLoaded()) {
- HPSSVTCalibrationConstants.loadCalibrationConstants();
- }
++eventCount;
// List<RawTrackerHit> rawHits = event.get(RawTrackerHit.class, rawTrackerHitCollectionName);
// List<HPSFittedRawTrackerHit> fittedrawHits = event.get(HPSFittedRawTrackerHit.class, fittedTrackerHitCollectionName);
hps-java/src/main/java/org/lcsim/hps/monitoring/svt
diff -u -r1.1 -r1.2
--- SVTSimpleEventDisplay.java 10 May 2012 15:55:56 -0000 1.1
+++ SVTSimpleEventDisplay.java 13 May 2012 21:38:20 -0000 1.2
@@ -120,7 +120,7 @@
// Get RawTrackerHit collection from event.
List<RawTrackerHit> rawTrackerHits = event.get(RawTrackerHit.class, inputCollection);
- // CLear histograms.
+ // Clear histograms.
for (int module = 0; module < 2; module++) {
for (int layer = 1; layer < 11; layer++) {
plots[module][layer - 1].reset();
hps-java/src/main/java/org/lcsim/hps/monitoring/svt
diff -u -r1.12 -r1.13
--- SVTHitPulsePlots.java 12 May 2012 23:09:06 -0000 1.12
+++ SVTHitPulsePlots.java 13 May 2012 21:38:20 -0000 1.13
@@ -35,8 +35,8 @@
private IPlotter plotter3;
private IPlotter plotter2;
private List<SiSensor> sensors;
- private Map<String, Integer> sensorRegionMap;
- private String outputPlots = null;
+ private Map<String, Integer> sensorRegionMap;
+ private String outputPlots = null;
protected void detectorChanged(Detector detector) {
plotterFrame = new AIDAFrame();
@@ -83,7 +83,7 @@
style2.dataStyle().errorBarStyle().setVisible(false);
style2.dataStyle().markerStyle().setColor("blue");
plotter2.createRegions(5, 4);
- for (SiSensor sensor : sensors) {
+ for (SiSensor sensor : sensors) {
IHistogram2D adcVsChanPlot = aida.histogram2D(sensor.getName() + "_AdcVsChan", 100, -100, 2000, 640, 0, 639);
IProfile pulsePlot = aida.profile1D(sensor.getName() + "_pulse", 6, 0, 24 * 6.0);
int region = sensorRegionMap.get(sensor.getName());
@@ -97,8 +97,7 @@
public SVTHitPulsePlots() {
}
-
-
+
public void setOutputPlots(String output) {
this.outputPlots = output;
}
@@ -110,9 +109,6 @@
public void process(EventHeader event) {
if (event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName)) {
++eventCount;
- if (!HPSSVTCalibrationConstants.calibrationLoaded()) {
- HPSSVTCalibrationConstants.loadCalibrationConstants();
- }
List<RawTrackerHit> rawHits = event.get(RawTrackerHit.class, rawTrackerHitCollectionName);
for (RawTrackerHit hrth : rawHits) {
fillPlots(hrth);
@@ -139,13 +135,14 @@
}
public void endOfData() {
- plotterFrame.dispose();
- if (outputPlots != null)
+// plotterFrame.dispose();
+ if (outputPlots != null) {
try {
aida.saveAs(outputPlots);
} catch (IOException ex) {
Logger.getLogger(TrackingReconstructionPlots.class.getName()).log(Level.SEVERE, null, ex);
}
+ }
}
private boolean hasAdjacentHit(RawTrackerHit hit) {
@@ -170,10 +167,9 @@
for (int i = 0; i < ns; i++) {
aida.histogram2D(sensors.get(i).getName() + "_AdcVsChan").reset();
aida.profile1D(sensors.get(i).getName() + "_pulse").reset();
- }
+ }
}
-
-
+
private int computePlotterRegion(SiSensor sensor) {
IIdentifierHelper helper = sensor.getIdentifierHelper();
hps-java/src/main/java/org/lcsim/hps/users/mgraham/alignment
diff -u -r1.2 -r1.3
--- HeavyPhotonLLDriver.java 16 Nov 2011 18:00:03 -0000 1.2
+++ HeavyPhotonLLDriver.java 13 May 2012 21:38:20 -0000 1.3
@@ -65,20 +65,20 @@
HPSHelicalTrackHitDriver hthdriver = new HPSHelicalTrackHitDriver();
hthdriver.addCollection(((HPSTrackerHitDriver) thd).getStripHits1DName());
- hthdriver.OutputCollection("HelicalTrackHits");
- hthdriver.HitRelationName("HelicalTrackHitRelations");
- hthdriver.MCRelationName("HelicalTrackMCRelations");
+ hthdriver.setOutputCollectionName("HelicalTrackHits");
+ hthdriver.setHitRelationName("HelicalTrackHitRelations");
+ hthdriver.setMCRelationName("HelicalTrackMCRelations");
for (int[] pair : pairs)
hthdriver.setStereoPair("Tracker", pair[0], pair[1]);
if (detType.contains("Test")) {
System.out.println("Setting separation for a Test detector");
- hthdriver.setMaxSeperation(10.01);
- hthdriver.setTolerance(0.01);
+ hthdriver.setStripMaxSeparation(10.01);
+ hthdriver.setStripTolerance(0.01);
} else {
- hthdriver.setMaxSeperation(50.);
- hthdriver.setTolerance(0.4);
+ hthdriver.setStripMaxSeparation(50.);
+ hthdriver.setStripTolerance(0.4);
}
hthdriver.setTransformToTracking(true);
add(hthdriver);
hps-java/src/main/java/org/lcsim/hps/monitoring
diff -u -r1.1 -r1.2
--- HPSCalibrationListener.java 12 May 2012 23:09:05 -0000 1.1
+++ HPSCalibrationListener.java 13 May 2012 21:38:20 -0000 1.2
@@ -11,7 +11,7 @@
/**
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSCalibrationListener.java,v 1.1 2012/05/12 23:09:05 meeg Exp $
+ * @version $Id: HPSCalibrationListener.java,v 1.2 2012/05/13 21:38:20 meeg Exp $
*/
public class HPSCalibrationListener implements EtEventListener {
@@ -44,7 +44,6 @@
@Override
public void endRun(int seconds, int nevents) {
- throw new UnsupportedOperationException("Not supported yet.");
}
//parse specified conditions as a map of times (GMT) to calibration file paths; get the appropriate file
hps-java/src/main/resources/org/lcsim/hps/steering
diff -u -r1.3 -r1.4
--- TestRunEventDisplay.lcsim 12 May 2012 23:09:05 -0000 1.3
+++ TestRunEventDisplay.lcsim 13 May 2012 21:38:21 -0000 1.4
@@ -13,9 +13,11 @@
<driver name="EcalRawConverter"/>
<driver name="EcalClusterer"/>
<driver name="RawTrackerHitMaker"/>
-<!-- <driver name="RawTrackerHitFitterDriver"/> -->
-<!-- <driver name="TrackerHitDriver"/>-->
<driver name="EcalEventMonitor"/>
+ <driver name="SVTSimpleEventDisplay"/>
+ <driver name="RawTrackerHitFitterDriver"/>
+ <driver name="TrackerHitDriver"/>
+ <driver name="TrackerReconDriver"/>
<driver name="SVTEventDisplay"/>
<driver name="CleanupDriver"/>
@@ -23,9 +25,12 @@
<drivers>
<driver name="HPSCalibrationDriver" type="org.lcsim.hps.monitoring.HPSCalibrationDriver"/>
<driver name="RunControlDriver" type="org.lcsim.hps.monitoring.RunControlDriver"/>
- <driver name="SVTEventDisplay" type="org.lcsim.hps.monitoring.svt.SVTSimpleEventDisplay">
+ <driver name="SVTSimpleEventDisplay" type="org.lcsim.hps.monitoring.svt.SVTSimpleEventDisplay">
<inputCollection>SVTRawTrackerHits</inputCollection>
</driver>
+ <driver name="SVTEventDisplay"
+ type="org.lcsim.hps.monitoring.svt.SVTEventDisplay">
+ </driver>
<driver name="EcalRawConverter"
type="org.lcsim.hps.recon.ecal.HPSEcalRawConverterDriver">
<ecalCollectionName>EcalCalHits</ecalCollectionName>
@@ -40,6 +45,12 @@
<fitAlgorithm>Analytic</fitAlgorithm>
</driver>
<driver name="TrackerHitDriver" type="org.lcsim.hps.users.mgraham.DataTrackerHitDriver"/>
+ <driver name="TrackerReconDriver"
+ type="org.lcsim.hps.recon.tracking.HPSHelicalTrackHitDriver">
+ <debug>false</debug>
+ <stripMaxSeparation>20.0</stripMaxSeparation>
+ <stripTolerance>1.0</stripTolerance>
+ </driver>
<driver name="EcalDaqPlots" type="org.lcsim.hps.monitoring.ecal.EcalDaqPlots">
</driver>
<driver name="CleanupDriver"
hps-java/src/main/java/org/lcsim/hps/users/mgraham/jlabrotation
diff -u -r1.1 -r1.2
--- HeavyPhotonLLDriver.java 7 Jul 2011 20:57:38 -0000 1.1
+++ HeavyPhotonLLDriver.java 13 May 2012 21:38:21 -0000 1.2
@@ -66,20 +66,20 @@
HPSHelicalTrackHitDriver hthdriver = new HPSHelicalTrackHitDriver();
hthdriver.addCollection(((HPSTrackerHitDriver) thd).getStripHits1DName());
- hthdriver.OutputCollection("HelicalTrackHits");
- hthdriver.HitRelationName("HelicalTrackHitRelations");
- hthdriver.MCRelationName("HelicalTrackMCRelations");
+ hthdriver.setOutputCollectionName("HelicalTrackHits");
+ hthdriver.setHitRelationName("HelicalTrackHitRelations");
+ hthdriver.setMCRelationName("HelicalTrackMCRelations");
for (int[] pair : pairs)
hthdriver.setStereoPair("Tracker", pair[0], pair[1]);
if (detType.contains("Test")) {
System.out.println("Setting separation for a Test detector");
- hthdriver.setMaxSeperation(10.01);
- hthdriver.setTolerance(0.01);
+ hthdriver.setStripMaxSeparation(10.01);
+ hthdriver.setStripTolerance(0.01);
} else {
- hthdriver.setMaxSeperation(50.);
- hthdriver.setTolerance(0.4);
+ hthdriver.setStripMaxSeparation(50.);
+ hthdriver.setStripTolerance(0.4);
}
hthdriver.setTransformToTracking(true);
add(hthdriver);
CVSspam 0.2.12