Commit in hps-java/src/main on MAIN | |||
java/org/lcsim/hps/recon/tracking/SVTBadChannelFilterDriver.java | +57 | added 1.1 | |
/TrackerReconDriver.java | +1 | 1.23 -> 1.24 | |
/HPSRawTrackerHitFitterDriver.java | +3 | -1 | 1.14 -> 1.15 |
resources/org/lcsim/hps/steering/EcalGainDriverSim.lcsim | +7 | -1 | 1.2 -> 1.3 |
/EcalGainDriver.lcsim | +5 | -12 | 1.4 -> 1.5 |
+73 | -14 |
quick driver to drop SVT bad channels from sim or data
diff -N SVTBadChannelFilterDriver.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ SVTBadChannelFilterDriver.java 24 Aug 2012 01:02:26 -0000 1.1 @@ -0,0 +1,57 @@
+package org.lcsim.hps.recon.tracking; + +import java.util.Iterator; +import org.lcsim.detector.tracker.silicon.SiSensor; +import org.lcsim.event.EventHeader; +import org.lcsim.event.RawTrackerHit; +import org.lcsim.event.SimTrackerHit; +import org.lcsim.util.Driver; + +/** + * + * @author Sho Uemura <[log in to unmask]> + * @version $Id: SVTBadChannelFilterDriver.java,v 1.1 2012/08/24 01:02:26 meeg Exp $ + */ +public class SVTBadChannelFilterDriver extends Driver { + + private String rawTrackerHitCollection = "SVTRawTrackerHits"; + private String simTrackerHitCollection = "TrackerHits"; + + @Override + public void process(EventHeader event) { + if (event.hasCollection(RawTrackerHit.class, rawTrackerHitCollection)) { + Iterator<RawTrackerHit> i = event.get(RawTrackerHit.class, rawTrackerHitCollection).iterator(); + while (i.hasNext()) { + RawTrackerHit hit = i.next(); + int strip = hit.getIdentifierFieldValue("strip"); + SiSensor sensor = (SiSensor) hit.getDetectorElement(); + + if (HPSSVTCalibrationConstants.isBadChannel(sensor, strip)) { + i.remove(); + } + + if (!sensor.getReadout().getHits(RawTrackerHit.class).isEmpty()) { + throw new RuntimeException(this.getClass().getSimpleName() + " must be run before any SVT readout drivers."); + } + } + } + + if (event.hasCollection(SimTrackerHit.class, simTrackerHitCollection)) { + Iterator<SimTrackerHit> i = event.get(SimTrackerHit.class, simTrackerHitCollection).iterator(); + while (i.hasNext()) { + SimTrackerHit hit = i.next(); + int strip = hit.getIdentifierFieldValue("strip"); + SiSensor sensor = (SiSensor) hit.getDetectorElement(); + + if (HPSSVTCalibrationConstants.isBadChannel(sensor, strip)) { + i.remove(); + } + +// sensor.getReadout().getHits(SimTrackerHit.class).remove(hit); + if (!sensor.getReadout().getHits(SimTrackerHit.class).isEmpty()) { + throw new RuntimeException(this.getClass().getSimpleName() + " must be run before any SVT readout drivers."); + } + } + } + } +}
diff -u -r1.23 -r1.24 --- TrackerReconDriver.java 16 Aug 2012 23:55:43 -0000 1.23 +++ TrackerReconDriver.java 24 Aug 2012 01:02:26 -0000 1.24 @@ -197,6 +197,7 @@
// Print out track info. for (Track track : tracks) { System.out.println(track.toString());
+ System.out.println("number of layers = " + track.getTrackerHits().size());
System.out.println("chi2 = " + track.getChi2()); } }
diff -u -r1.14 -r1.15 --- HPSRawTrackerHitFitterDriver.java 21 Aug 2012 01:06:51 -0000 1.14 +++ HPSRawTrackerHitFitterDriver.java 24 Aug 2012 01:02:27 -0000 1.15 @@ -87,7 +87,9 @@
fits.add(fit); HPSFittedRawTrackerHit hth = new HPSFittedRawTrackerHit(hit, fit); hits.add(hth);
- if (strip!=639)
+ if (strip == HPSSVTConstants.TOTAL_STRIPS_PER_SENSOR) { //drop unbonded channel + continue; + }
hit.getDetectorElement().getReadout().addHit(hth); } event.put(fitCollectionName, fits, HPSShapeFitParameters.class, genericObjectFlags);
diff -u -r1.2 -r1.3 --- EcalGainDriverSim.lcsim 14 Aug 2012 00:58:03 -0000 1.2 +++ EcalGainDriverSim.lcsim 24 Aug 2012 01:02:27 -0000 1.3 @@ -12,6 +12,7 @@
<driver name="EventMarkerDriver"/> <!-- <driver name="Timer1"/>--> <driver name="HPSCalibrationDriver"/>
+ <driver name="SVTBadChannelFilterDriver"/>
<driver name="EcalRawConverter"/> <driver name="EcalClusterer"/> <driver name="EcalTriggerFilter"/>
@@ -29,6 +30,9 @@
--> </execute> <drivers>
+ <driver name="SVTBadChannelFilterDriver" type="org.lcsim.hps.recon.tracking.SVTBadChannelFilterDriver"/> + +
<driver name="Timer1" type="org.lcsim.hps.util.TimerDriver"> <name>1</name> </driver>
@@ -47,7 +51,9 @@
<simTrigger>true</simTrigger> </driver>
- <driver name="HPSCalibrationDriver" type="org.lcsim.hps.monitoring.HPSCalibrationDriver"/>
+ <driver name="HPSCalibrationDriver" type="org.lcsim.hps.monitoring.HPSCalibrationDriver">
+<!-- <runNumber>1351</runNumber> -->
+ </driver>
<driver name="EcalRawConverter" type="org.lcsim.hps.recon.ecal.HPSEcalEdepToTriggerConverterDriver"> </driver> <driver name="EcalTriggerFilter" type="org.lcsim.hps.recon.ecal.HPSEcalTriggerFilterDriver">
diff -u -r1.4 -r1.5 --- EcalGainDriver.lcsim 21 Aug 2012 01:06:51 -0000 1.4 +++ EcalGainDriver.lcsim 24 Aug 2012 01:02:27 -0000 1.5 @@ -8,6 +8,7 @@
<execute> <driver name="EventMarkerDriver"/> <driver name="HPSCalibrationDriver"/>
+ <driver name="SVTBadChannelFilterDriver"/>
<driver name="EcalRawConverter"/> <driver name="EcalClusterer"/> <driver name="RawTrackerHitFitterDriver"/>
@@ -28,7 +29,7 @@
</execute> <drivers>
-
+ <driver name="SVTBadChannelFilterDriver" type="org.lcsim.hps.recon.tracking.SVTBadChannelFilterDriver"/>
<driver name="EcalGainDriver" type="org.lcsim.hps.users.phansson.ECalGainDriver">
@@ -38,7 +39,9 @@
<ecalGainFileName>clusterlist.txt</ecalGainFileName> </driver>
- <driver name="HPSCalibrationDriver" type="org.lcsim.hps.monitoring.HPSCalibrationDriver"/>
+ <driver name="HPSCalibrationDriver" type="org.lcsim.hps.monitoring.HPSCalibrationDriver">
+<!-- <runNumber>1351</runNumber> -->
+ </driver>
<driver name="EcalRawConverter" type="org.lcsim.hps.recon.ecal.HPSEcalRawConverterDriver"> <ecalCollectionName>EcalCalHits</ecalCollectionName>
@@ -56,20 +59,10 @@
<driver name="TrackerHitDriver" type="org.lcsim.hps.users.mgraham.DataTrackerHitDriver"/>
- <driver name="EcalDaqPlots" type="org.lcsim.hps.monitoring.ecal.EcalDaqPlots"> - </driver>
<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"> <collectionNames>TrackerHits</collectionNames> </driver>
- <driver name="EcalMonitoringPlots" type="org.lcsim.hps.monitoring.ecal.EcalMonitoringPlots"/> - <driver name="EcalEventMonitor" type="org.lcsim.hps.monitoring.ecal.EcalEventMonitor"> - <eventRefreshRate>1</eventRefreshRate> - </driver> - <driver name="SVTOccupancyPlots" type="org.lcsim.hps.monitoring.svt.SensorOccupancyPlotsDriver"> - <rawTrackerHitCollectionName>SVTRawTrackerHits</rawTrackerHitCollectionName> - <eventRefreshRate>1</eventRefreshRate> - </driver>
<driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver"> <eventInterval>1000</eventInterval> </driver>
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