Print

Print


Author: [log in to unmask]
Date: Wed Aug  5 18:39:29 2015
New Revision: 3343

Log:
user=mgraham analysis stuff

Added:
    java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/ReconOnReconFile.lcsim
      - copied, changed from r3255, java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/TrackAlignmentStudy.lcsim
    java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/SkimCleanTracks.lcsim
      - copied, changed from r3326, java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/TrackAlignmentStudy.lcsim
    java/trunk/users/src/main/java/org/hps/users/mgraham/RemoveCollectionsFromEvent.java
Modified:
    java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/StraightTrackRecon.lcsim
    java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/TrackAlignmentStudy.lcsim
    java/trunk/users/src/main/java/org/hps/users/mgraham/MyLCIOWriterDriver.java

Copied: java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/ReconOnReconFile.lcsim (from r3255, java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/TrackAlignmentStudy.lcsim)
 =============================================================================
--- java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/TrackAlignmentStudy.lcsim	(original)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/ReconOnReconFile.lcsim	Wed Aug  5 18:39:29 2015
@@ -7,39 +7,42 @@
     <execute>
         <driver name="EventMarkerDriver" />
         <!-- Standard Reconstruction -->
+        <driver name="RawTrackerHitSensorSetup"/>
         <driver name="RawTrackerHitFitterDriver" />
         <driver name="TrackerHitDriver"/>
         <driver name="HelicalTrackHitDriver"/>
         <driver name="FullTrackerReconDriver"/>
-        <driver name="EcalRunningPedestal"/>
-        <driver name="EcalRawConverter" />
-        <driver name="ReconClusterer" />
-        <driver name="ReconParticle" /> 
-        <driver name="SplitHitsOnTrack"/>       
+        <driver name="GBLOutputDriver"/>
+        <driver name="GBLDriver"/>
+<!--        <driver name="SplitHitsOnTrack"/>       
         <driver name="TrackerL1to3ReconDriver"/> 
-        <driver name="TrackerL4to6ReconDriver"/> 
-        <driver name="ReconParticleL1to3" />
-        <driver name="ReconParticleL4to6" />
+        <driver name="TrackerL4to6ReconDriver"/> -->
+<!--        <driver name="ReconParticleGBL" />-->
+<!--        <driver name="ReconParticleL1to3" />
+        <driver name="ReconParticleL4to6" />-->
         <driver name="SVTAlignment"/> 
         <driver name="TrackingMonitoringSingles1DQM" /> 
+<!--        <driver name="GBLTrackMonitoringSingles1DQM" /> 
         <driver name="TrackingMonitoringL1to3Singles1DQM"/>
         <driver name="TrackingMonitoringL4to6Singles1DQM"/>
+        <driver name="FinalStateGBLDQMSingles1"/>       
         <driver name="FinalStateL1to3DQMSingles1"/>
-        <driver name="FinalStateL4to6DQMSingles1"/>
-        <driver name="FinalStateDQMSingles1"/>
+        <driver name="FinalStateL4to6DQMSingles1"/>-->
+<!--        <driver name="FinalStateDQMSingles1"/>-->
         <driver name="AidaSaveDriver"/>     
-        <driver name="LCIOWriter"/>     
         <driver name="CleanupDriver" /> 
     </execute>
     <drivers>
         <driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver">
-            <eventInterval>1000</eventInterval>
-        </driver>
-        <driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup" />
+            <eventInterval>1</eventInterval>
+        </driver>
+         <driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup">
+            <readoutCollections>SVTRawTrackerHits</readoutCollections>
+        </driver>
         <driver name="SplitHitsOnTrack" type="org.hps.users.mgraham.SplitHitsOnTracks">             
         </driver>
         <driver name="TrackerL1to3ReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
-            <debug>false</debug>
+            <debug>true</debug>
             <inputHitCollectionName>OnTrackHits</inputHitCollectionName>
             <trackCollectionName>L1to3Tracks</trackCollectionName>
             <strategyResource>/org/hps/recon/tracking/strategies/HPS-Full-L1-3.xml</strategyResource>
@@ -50,7 +53,7 @@
             <inputHitCollectionName>OnTrackHits</inputHitCollectionName>
             <strategyResource>/org/hps/recon/tracking/strategies/HPS-Full-L4-6.xml</strategyResource>
         </driver>
-         <driver name="TrackerL134ReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
+        <driver name="TrackerL134ReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
             <debug>false</debug>
             <trackCollectionName>L134Tracks</trackCollectionName>
             <inputHitCollectionName>OnTrackHits</inputHitCollectionName>
@@ -59,6 +62,20 @@
         <driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver">
         </driver>
         <driver name="ReconParticle" type="org.hps.recon.particle.HpsReconParticleDriver">
+            <debug>true</debug>
+            <dxCut>50</dxCut>
+            <dyCut>50</dyCut>
+        </driver>  
+        
+          <driver name="ReconParticleGBL" type="org.hps.recon.particle.HpsReconParticleDriver">
+            <trackCollectionName>GBLTracks</trackCollectionName>
+            <targetConV0VerticesColName>TargetConstrainedV0CandidatesGBL</targetConV0VerticesColName>
+            <finalStateParticlesColName>FinalStateParticlesGBL</finalStateParticlesColName>
+            <unconstrainedV0CandidatesColName>UnconstrainedV0CandidatesGBL</unconstrainedV0CandidatesColName>
+            <beamConV0CandidatesColName>BeamspotConstrainedV0CandidatesGBL</beamConV0CandidatesColName>
+            <unconstrainedV0VerticesColName>UnconstrainedV0VerticesGBL</unconstrainedV0VerticesColName>
+            <beamConV0VerticesColName>BeamspotConstrainedV0VerticesGBL</beamConV0VerticesColName>   
+            <targetConV0VerticesColName>TargetConstrainedV0VerticesGBL</targetConV0VerticesColName>     
             <debug>false</debug>
             <dxCut>50</dxCut>
             <dyCut>50</dyCut>
@@ -77,6 +94,7 @@
             <dxCut>50</dxCut>
             <dyCut>50</dyCut>
         </driver>  
+        
         <driver name="ReconParticleL4to6" type="org.hps.recon.particle.HpsReconParticleDriver">
             <trackCollectionName>L4to6Tracks</trackCollectionName>          
             <targetConV0VerticesColName>TargetConstrainedV0CandidatesL4to6</targetConV0VerticesColName>
@@ -91,7 +109,7 @@
             <dyCut>50</dyCut>
         </driver>  
         
-          <driver name="ReconParticleL134" type="org.hps.recon.particle.HpsReconParticleDriver">
+        <driver name="ReconParticleL134" type="org.hps.recon.particle.HpsReconParticleDriver">
             <trackCollectionName>L134Tracks</trackCollectionName>          
             <targetConV0VerticesColName>TargetConstrainedV0CandidatesL134</targetConV0VerticesColName>
             <finalStateParticlesColName>FinalStateParticlesL134</finalStateParticlesColName>
@@ -107,7 +125,7 @@
         
         <!-- EngineeringRun2015FullRecon from Sho --> 
         <driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver">
-             <fitAlgorithm>Pileup</fitAlgorithm>
+            <fitAlgorithm>Pileup</fitAlgorithm>
             <useTimestamps>false</useTimestamps>
             <correctTimeOffset>true</correctTimeOffset>
             <correctT0Shift>true</correctT0Shift>
@@ -121,14 +139,14 @@
             <neighborDeltaT>8.0</neighborDeltaT>
         </driver>
         <driver name="HelicalTrackHitDriver" type="org.hps.recon.tracking.HelicalTrackHitDriver">
-            <debug>false</debug>
+            <debug>true</debug>
             <clusterTimeCut>12.0</clusterTimeCut>
             <maxDt>16.0</maxDt>
             <clusterAmplitudeCut>400.0</clusterAmplitudeCut>
         </driver>
         <driver name="FullTrackerReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
             <strategyResource>HPS-Full.xml</strategyResource>
-            <debug>false</debug>             
+            <debug>true</debug>             
             <rmsTimeCut>8.0</rmsTimeCut>
         </driver>    
         <driver name="EcalRunningPedestal" type="org.hps.recon.ecal.EcalRunningPedestalDriver">
@@ -177,28 +195,47 @@
              
         </driver>
 
+        <driver name="GBLOutputDriver" type="org.hps.recon.tracking.gbl.GBLOutputDriver">
+            <debug>0</debug>
+            <isMC>false</isMC>
+            <gblFileName>gbl.out</gblFileName>
+        </driver>
+
+        <driver name="GBLDriver" type="org.hps.recon.tracking.gbl.HpsGblRefitter">
+            <debug>false</debug>
+            <logLevel>WARNING</logLevel>
+            <milleBinaryFileName>milleTest.bin</milleBinaryFileName>
+            <writeMilleBinary>true</writeMilleBinary>
+        </driver>
+
         <driver name="TrackingMonitoringDQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
             <overwriteDB>false</overwriteDB>
             <printDQMStrings>false</printDQMStrings>
         </driver>
         
-            <driver name="TrackingMonitoringL1to3Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-                <trackCollectionName>L1to3Tracks</trackCollectionName>
-                <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-        </driver>
-           <driver name="TrackingMonitoringL4to6Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-                <trackCollectionName>L4to6Tracks</trackCollectionName>
-                <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-        </driver>
-        
-           <driver name="TrackingMonitoringL134Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-                <trackCollectionName>L134Tracks</trackCollectionName>
-                <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-        </driver>
-        
+        <driver name="TrackingMonitoringL1to3Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <trackCollectionName>L1to3Tracks</trackCollectionName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+        </driver>
+        <driver name="TrackingMonitoringL4to6Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <trackCollectionName>L4to6Tracks</trackCollectionName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+        </driver>
+        
+        <driver name="TrackingMonitoringL134Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <trackCollectionName>L134Tracks</trackCollectionName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+        </driver>
+        
+        <driver name="GBLTrackMonitoringSingles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <trackCollectionName>GblTracks</trackCollectionName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+            <triggerType>singles1</triggerType>
+        </driver>
         
         <driver name="TrackingMonitoringSingles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
             <overwriteDB>false</overwriteDB>
@@ -233,14 +270,21 @@
             <printDQMStrings>false</printDQMStrings>
             <triggerType>singles1</triggerType>
         </driver>
-        
+
+          <driver name="FinalStateGBLDQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
+            <finalStateParticlesColName>FinalStateParticlesGBL</finalStateParticlesColName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+            <triggerType>singles1</triggerType>
+        </driver>
+                        
         <driver name="FinalStateL4to6DQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
             <finalStateParticlesColName>FinalStateParticlesL4to6</finalStateParticlesColName>
             <overwriteDB>false</overwriteDB>
             <printDQMStrings>false</printDQMStrings>
             <triggerType>singles1</triggerType>
         </driver>
-         <driver name="FinalStateL134DQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
+        <driver name="FinalStateL134DQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
             <finalStateParticlesColName>FinalStateParticlesL134</finalStateParticlesColName>
             <overwriteDB>false</overwriteDB>
             <printDQMStrings>false</printDQMStrings>

Copied: java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/SkimCleanTracks.lcsim (from r3326, java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/TrackAlignmentStudy.lcsim)
 =============================================================================
--- java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/TrackAlignmentStudy.lcsim	(original)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/SkimCleanTracks.lcsim	Wed Aug  5 18:39:29 2015
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
     <!-- 
-      Steering file for tracking and v0 reconstruction monitoring 
+      Steering file to skim events from evio->lcio 
       @author Matt Graham <[log in to unmask]>
     -->
     <execute>
@@ -11,24 +11,12 @@
         <driver name="TrackerHitDriver"/>
         <driver name="HelicalTrackHitDriver"/>
         <driver name="FullTrackerReconDriver"/>
+        <driver name="TrackDataDriver" />     
         <driver name="EcalRunningPedestal"/>
         <driver name="EcalRawConverter" />
         <driver name="ReconClusterer" />
-        <driver name="ReconParticle" /> 
-        <driver name="SplitHitsOnTrack"/>       
-        <driver name="TrackerL1to3ReconDriver"/> 
-        <driver name="TrackerL4to6ReconDriver"/> 
-        <driver name="ReconParticleL1to3" />
-        <driver name="ReconParticleL4to6" />
-        <driver name="SVTAlignment"/> 
-        <driver name="TrackingMonitoringSingles1DQM" /> 
-        <driver name="TrackingMonitoringL1to3Singles1DQM"/>
-        <driver name="TrackingMonitoringL4to6Singles1DQM"/>
-        <driver name="FinalStateL1to3DQMSingles1"/>
-        <driver name="FinalStateL4to6DQMSingles1"/>
-        <driver name="FinalStateDQMSingles1"/>
         <driver name="AidaSaveDriver"/>     
-        <driver name="LCIOWriter"/>     
+        <driver name="MyLCIOWriter"/>     
         <driver name="CleanupDriver" /> 
     </execute>
     <drivers>
@@ -36,26 +24,6 @@
             <eventInterval>1000</eventInterval>
         </driver>
         <driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup" />
-        <driver name="SplitHitsOnTrack" type="org.hps.users.mgraham.SplitHitsOnTracks">             
-        </driver>
-        <driver name="TrackerL1to3ReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
-            <debug>false</debug>
-            <inputHitCollectionName>OnTrackHits</inputHitCollectionName>
-            <trackCollectionName>L1to3Tracks</trackCollectionName>
-            <strategyResource>/org/hps/recon/tracking/strategies/HPS-Full-L1-3.xml</strategyResource>
-        </driver>
-        <driver name="TrackerL4to6ReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
-            <debug>false</debug>
-            <trackCollectionName>L4to6Tracks</trackCollectionName>
-            <inputHitCollectionName>OnTrackHits</inputHitCollectionName>
-            <strategyResource>/org/hps/recon/tracking/strategies/HPS-Full-L4-6.xml</strategyResource>
-        </driver>
-         <driver name="TrackerL134ReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
-            <debug>false</debug>
-            <trackCollectionName>L134Tracks</trackCollectionName>
-            <inputHitCollectionName>OnTrackHits</inputHitCollectionName>
-            <strategyResource>/org/hps/recon/tracking/strategies/HPS-Full-L134.xml</strategyResource>
-        </driver>
         <driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver">
         </driver>
         <driver name="ReconParticle" type="org.hps.recon.particle.HpsReconParticleDriver">
@@ -64,50 +32,11 @@
             <dyCut>50</dyCut>
         </driver>  
         
-        <driver name="ReconParticleL1to3" type="org.hps.recon.particle.HpsReconParticleDriver">
-            <trackCollectionName>L1to3Tracks</trackCollectionName>
-            <targetConV0VerticesColName>TargetConstrainedV0CandidatesL1to3</targetConV0VerticesColName>
-            <finalStateParticlesColName>FinalStateParticlesL1to3</finalStateParticlesColName>
-            <unconstrainedV0CandidatesColName>UnconstrainedV0CandidatesL1to3</unconstrainedV0CandidatesColName>
-            <beamConV0CandidatesColName>BeamspotConstrainedV0CandidatesL1to3</beamConV0CandidatesColName>
-            <unconstrainedV0VerticesColName>UnconstrainedV0VerticesL1to3</unconstrainedV0VerticesColName>
-            <beamConV0VerticesColName>BeamspotConstrainedV0VerticesL1to3</beamConV0VerticesColName>   
-            <targetConV0VerticesColName>TargetConstrainedV0VerticesL1to3</targetConV0VerticesColName>     
-            <debug>false</debug>
-            <dxCut>50</dxCut>
-            <dyCut>50</dyCut>
-        </driver>  
-        <driver name="ReconParticleL4to6" type="org.hps.recon.particle.HpsReconParticleDriver">
-            <trackCollectionName>L4to6Tracks</trackCollectionName>          
-            <targetConV0VerticesColName>TargetConstrainedV0CandidatesL4to6</targetConV0VerticesColName>
-            <finalStateParticlesColName>FinalStateParticlesL4to6</finalStateParticlesColName>
-            <unconstrainedV0CandidatesColName>UnconstrainedV0CandidatesL4to6</unconstrainedV0CandidatesColName>
-            <beamConV0CandidatesColName>BeamspotConstrainedV0CandidatesL4to6</beamConV0CandidatesColName>
-            <unconstrainedV0VerticesColName>UnconstrainedV0VerticesL4to6</unconstrainedV0VerticesColName>
-            <beamConV0VerticesColName>BeamspotConstrainedV0VerticesL4to6</beamConV0VerticesColName>   
-            <targetConV0VerticesColName>TargetConstrainedV0VerticesL4to6</targetConV0VerticesColName>     
-            <debug>false</debug>
-            <dxCut>50</dxCut>
-            <dyCut>50</dyCut>
-        </driver>  
         
-          <driver name="ReconParticleL134" type="org.hps.recon.particle.HpsReconParticleDriver">
-            <trackCollectionName>L134Tracks</trackCollectionName>          
-            <targetConV0VerticesColName>TargetConstrainedV0CandidatesL134</targetConV0VerticesColName>
-            <finalStateParticlesColName>FinalStateParticlesL134</finalStateParticlesColName>
-            <unconstrainedV0CandidatesColName>UnconstrainedV0CandidatesL134</unconstrainedV0CandidatesColName>
-            <beamConV0CandidatesColName>BeamspotConstrainedV0CandidatesL134</beamConV0CandidatesColName>
-            <unconstrainedV0VerticesColName>UnconstrainedV0VerticesL134</unconstrainedV0VerticesColName>
-            <beamConV0VerticesColName>BeamspotConstrainedV0VerticesL134</beamConV0VerticesColName>   
-            <targetConV0VerticesColName>TargetConstrainedV0VerticesL134</targetConV0VerticesColName>     
-            <debug>false</debug>
-            <dxCut>50</dxCut>
-            <dyCut>50</dyCut>
-        </driver>  
         
         <!-- EngineeringRun2015FullRecon from Sho --> 
         <driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver">
-             <fitAlgorithm>Pileup</fitAlgorithm>
+            <fitAlgorithm>Pileup</fitAlgorithm>
             <useTimestamps>false</useTimestamps>
             <correctTimeOffset>true</correctTimeOffset>
             <correctT0Shift>true</correctT0Shift>
@@ -125,6 +54,7 @@
             <clusterTimeCut>12.0</clusterTimeCut>
             <maxDt>16.0</maxDt>
             <clusterAmplitudeCut>400.0</clusterAmplitudeCut>
+            <rejectGhostHits>true</rejectGhostHits>
         </driver>
         <driver name="FullTrackerReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
             <strategyResource>HPS-Full.xml</strategyResource>
@@ -162,146 +92,18 @@
             <timeWindow>25.0</timeWindow>
             <useTimeCut>true</useTimeCut>
             <writeRejectedHitCollection>false</writeRejectedHitCollection>
-        </driver>                           
-                      
-        <driver name="TrackingMonitoring" type="org.hps.monitoring.drivers.trackrecon.TrackingReconPlots">         
-        </driver>
-        <driver name="TrackingResiduals" type="org.hps.monitoring.drivers.trackrecon.TrackResiduals">
-        </driver>
-        <driver name="V0Monitoring" type="org.hps.monitoring.drivers.trackrecon.V0ReconPlots">                    
-        </driver>      
-          
-        <driver name="SVTAlignment" type="org.hps.analysis.dataquality.SVTOpeningStudies">         
-        </driver> 
-        <driver name="TrackTime" type="org.hps.monitoring.drivers.trackrecon.TrackTimePlots">   
-             
-        </driver>
-
-        <driver name="TrackingMonitoringDQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-        </driver>
-        
-            <driver name="TrackingMonitoringL1to3Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-                <trackCollectionName>L1to3Tracks</trackCollectionName>
-                <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-        </driver>
-           <driver name="TrackingMonitoringL4to6Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-                <trackCollectionName>L4to6Tracks</trackCollectionName>
-                <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-        </driver>
-        
-           <driver name="TrackingMonitoringL134Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-                <trackCollectionName>L134Tracks</trackCollectionName>
-                <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-        </driver>
-        
-        
-        <driver name="TrackingMonitoringSingles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>singles1</triggerType>
-        </driver>
-        <driver name="TrackingMonitoringPairs1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>pairs1</triggerType>
-        </driver>
-  
-        <driver name="TrackingResidualsPairs1DQM" type="org.hps.analysis.dataquality.TrackingResiduals">           
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>pairs1</triggerType>
-        </driver>
-        <driver name="TrackingResidualsSingles1DQM" type="org.hps.analysis.dataquality.TrackingResiduals">           
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>singles1</triggerType>
-        </driver>
-        <driver name="FinalStateDQM" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>all</triggerType>
-        </driver>
-        
-        <driver name="FinalStateL1to3DQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
-            <finalStateParticlesColName>FinalStateParticlesL1to3</finalStateParticlesColName>
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>singles1</triggerType>
-        </driver>
-        
-        <driver name="FinalStateL4to6DQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
-            <finalStateParticlesColName>FinalStateParticlesL4to6</finalStateParticlesColName>
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>singles1</triggerType>
-        </driver>
-         <driver name="FinalStateL134DQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
-            <finalStateParticlesColName>FinalStateParticlesL134</finalStateParticlesColName>
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>singles1</triggerType>
-        </driver>
-        <driver name="FinalStateDQMPairs1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>pairs1</triggerType>
-        </driver>
-        
-        
-        <driver name="FinalStateDQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>singles1</triggerType>
-        </driver>
- 
-        <driver name="V0DQM" type="org.hps.analysis.dataquality.V0Monitoring">        
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>all</triggerType>
-        </driver>
-              
-        <driver name="V0DQMPairs1" type="org.hps.analysis.dataquality.V0Monitoring">        
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>pairs1</triggerType>
-        </driver>
-        
-        <driver name="V0DQMSingles1" type="org.hps.analysis.dataquality.V0Monitoring">        
-            <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-            <triggerType>singles1</triggerType>
-        </driver>
-        
-        <driver name="SVTMonitoring" type="org.hps.analysis.dataquality.SvtMonitoring">         
-            <triggerType>all</triggerType>
-        </driver>    
-        
-        <driver name="TridentMonitoringPairs1" type="org.hps.analysis.dataquality.TridentMonitoring">
-            <triggerType>pairs1</triggerType>
-        </driver>
-        
-        <driver name="PositronDebug" type="org.hps.users.mgraham.PositronDebug">                   
-        </driver>
+        </driver>                                                 
         <driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
             <outputFileName>./${outputFile}.root</outputFileName>
         </driver>
+        <driver name="MyLCIOWriter" type="org.hps.users.mgraham.MyLCIOWriterDriver">
+            <outputFilePath>${outputFile}.slcio</outputFilePath>
+        </driver>
+ 
         <driver name="LCIOWriter" type="org.lcsim.util.loop.LCIODriver">
             <outputFilePath>${outputFile}.slcio</outputFilePath>
         </driver>
         <driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver" />       
 
-        <driver name="GTPOnlineClusterer" type="org.hps.recon.ecal.cluster.ClusterDriver">
-            <logLevel>WARNING</logLevel>
-            <clustererName>GTPOnlineClusterer</clustererName>
-            <outputClusterCollectionName>EcalClustersGTP</outputClusterCollectionName>
-            <!-- seedMinEnergy -->
-            <cuts>0.100</cuts>
-        </driver>      
-
     </drivers>
 </lcsim>

Modified: java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/StraightTrackRecon.lcsim
 =============================================================================
--- java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/StraightTrackRecon.lcsim	(original)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/StraightTrackRecon.lcsim	Wed Aug  5 18:39:29 2015
@@ -15,7 +15,9 @@
         <driver name="EcalRunningPedestal"/>
         <driver name="EcalRawConverter" />
         <driver name="ReconClusterer" />
-        <driver name="ReconParticle" /> 
+        <driver name="CopyCluster" />
+        <driver name="ReconParticle" />         
+        <driver name="TrackDataDriver" />      
         <driver name="TrackingMonitoringSingles1DQM" /> 
         <driver name="FinalStateDQMSingles1"/>
         <driver name="AidaSaveDriver"/>     
@@ -28,28 +30,31 @@
         </driver>
         <driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup" />
        
-        <driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver">
-        </driver>
         <driver name="ReconParticle" type="org.hps.recon.particle.HpsReconParticleDriver">
             <debug>false</debug>
             <dxCut>50</dxCut>
             <dyCut>50</dyCut>
         </driver>  
         
-         <driver name="StraightTrackReconDriver" type="org.hps.recon.tracking.straighttracks.StraightTrackReconDriver">
+        <driver name="StraightTrackReconDriver" type="org.hps.recon.tracking.straighttracks.StraightTrackReconDriver">
             <debug>false</debug>
             <strategyResource>/org/hps/recon/tracking/strategies/HPS-Full-StraightTracks.xml</strategyResource>
             <trackCollectionName>MatchedTracks</trackCollectionName>
         </driver>
         
         <driver name="StraightTrackAnalysis" type="org.hps.users.mgraham.StraightTrackAnalysis">
-             <trackCollectionName>MatchedTracks</trackCollectionName>
-        </driver>
-        
+            <trackCollectionName>MatchedTracks</trackCollectionName>
+        </driver>
+        
+        <driver name="CopyCluster" type="org.hps.recon.ecal.cluster.CopyClusterCollectionDriver">
+            <inputCollectionName>EcalClusters</inputCollectionName>
+            <outputCollectionName>EcalClustersCorr</outputCollectionName>
+            <storeHits>true</storeHits>
+        </driver>    
         
         <!-- EngineeringRun2015FullRecon from Sho --> 
         <driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver">
-             <fitAlgorithm>Pileup</fitAlgorithm>
+            <fitAlgorithm>Pileup</fitAlgorithm>
             <useTimestamps>false</useTimestamps>
             <correctTimeOffset>true</correctTimeOffset>
             <correctT0Shift>true</correctT0Shift>
@@ -204,6 +209,6 @@
             <!-- seedMinEnergy -->
             <cuts>0.100</cuts>
         </driver>      
-
+        <driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver" />
     </drivers>
 </lcsim>

Modified: java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/TrackAlignmentStudy.lcsim
 =============================================================================
--- java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/TrackAlignmentStudy.lcsim	(original)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/TrackAlignmentStudy.lcsim	Wed Aug  5 18:39:29 2015
@@ -6,36 +6,57 @@
     -->
     <execute>
         <driver name="EventMarkerDriver" />
-        <!-- Standard Reconstruction -->
+        <!--        <driver name="ReconCleanupDriver" /> -->
+        <driver name="RawTrackerHitSensorSetup"/>
+        <!--        Standard Reconstruction -->
         <driver name="RawTrackerHitFitterDriver" />
         <driver name="TrackerHitDriver"/>
+        <driver name="EcalRunningPedestal"/>
+        <driver name="EcalRawConverter" />                
+        <driver name="ReconClusterer" />        
         <driver name="HelicalTrackHitDriver"/>
         <driver name="FullTrackerReconDriver"/>
-        <driver name="EcalRunningPedestal"/>
-        <driver name="EcalRawConverter" />
-        <driver name="ReconClusterer" />
         <driver name="ReconParticle" /> 
-        <driver name="SplitHitsOnTrack"/>       
+      <driver name="TrackDataDriver" />    
+        <driver name="GBLOutputDriver"/>
+        <driver name="GBLDriver"/>
+        <driver name="SplitHitsOnTrack"/>      
         <driver name="TrackerL1to3ReconDriver"/> 
         <driver name="TrackerL4to6ReconDriver"/> 
+        <!--        <driver name="ReconParticleGBL" />-->
         <driver name="ReconParticleL1to3" />
         <driver name="ReconParticleL4to6" />
         <driver name="SVTAlignment"/> 
+         <driver name="SVTAlignmentSingles1"/> 
+          <driver name="SVTAlignmentPairs1"/> 
         <driver name="TrackingMonitoringSingles1DQM" /> 
+        <driver name="TrackingMonitoringPairs1DQM" /> 
+        <!--        <driver name="GBLTrackMonitoringSingles1DQM" /> -->
         <driver name="TrackingMonitoringL1to3Singles1DQM"/>
         <driver name="TrackingMonitoringL4to6Singles1DQM"/>
+        <driver name="TrackingMonitoringL1to3Pairs1DQM"/>
+        <driver name="TrackingMonitoringL4to6Pairs1DQM"/>
+        <!--        <driver name="FinalStateGBLDQMSingles1"/>       -->
         <driver name="FinalStateL1to3DQMSingles1"/>
         <driver name="FinalStateL4to6DQMSingles1"/>
         <driver name="FinalStateDQMSingles1"/>
+        <driver name="FinalStateL1to3DQMPairs1"/>
+        <driver name="FinalStateL4to6DQMPairs1"/>
+        <driver name="FinalStateDQMPairs1"/>
         <driver name="AidaSaveDriver"/>     
-        <driver name="LCIOWriter"/>     
+        <driver name="MyLCIOWriter"/>     
         <driver name="CleanupDriver" /> 
     </execute>
     <drivers>
+        <driver name="ReconCleanupDriver" type="org.hps.users.mgraham.RemoveCollectionsFromEvent" > 
+            <collectionNames>SVTShapeFitParameters SVTFittedRawTrackerHits StripClusterer_SiTrackerHitStrip1D HelicalTrackHits HelicalTrackHitRelations HelicalTrackHitMCRelations RotatedHelicalTrackHits RotatedHelicalTrackHitRelations RotatedHelicalTrackHitMCRelations MatchedTracks TrackData TrackDataRelations TrackResiduals TrackResidualsRelations EcalClusters</collectionNames>
+        </driver>      
         <driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver">
             <eventInterval>1000</eventInterval>
         </driver>
-        <driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup" />
+        <driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup">
+            <readoutCollections>SVTRawTrackerHits</readoutCollections>
+        </driver>
         <driver name="SplitHitsOnTrack" type="org.hps.users.mgraham.SplitHitsOnTracks">             
         </driver>
         <driver name="TrackerL1to3ReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
@@ -50,7 +71,7 @@
             <inputHitCollectionName>OnTrackHits</inputHitCollectionName>
             <strategyResource>/org/hps/recon/tracking/strategies/HPS-Full-L4-6.xml</strategyResource>
         </driver>
-         <driver name="TrackerL134ReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
+        <driver name="TrackerL134ReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
             <debug>false</debug>
             <trackCollectionName>L134Tracks</trackCollectionName>
             <inputHitCollectionName>OnTrackHits</inputHitCollectionName>
@@ -59,6 +80,20 @@
         <driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver">
         </driver>
         <driver name="ReconParticle" type="org.hps.recon.particle.HpsReconParticleDriver">
+            <debug>false</debug>
+            <dxCut>50</dxCut>
+            <dyCut>50</dyCut>
+        </driver>  
+        
+        <driver name="ReconParticleGBL" type="org.hps.recon.particle.HpsReconParticleDriver">
+            <trackCollectionName>GBLTracks</trackCollectionName>
+            <targetConV0VerticesColName>TargetConstrainedV0CandidatesGBL</targetConV0VerticesColName>
+            <finalStateParticlesColName>FinalStateParticlesGBL</finalStateParticlesColName>
+            <unconstrainedV0CandidatesColName>UnconstrainedV0CandidatesGBL</unconstrainedV0CandidatesColName>
+            <beamConV0CandidatesColName>BeamspotConstrainedV0CandidatesGBL</beamConV0CandidatesColName>
+            <unconstrainedV0VerticesColName>UnconstrainedV0VerticesGBL</unconstrainedV0VerticesColName>
+            <beamConV0VerticesColName>BeamspotConstrainedV0VerticesGBL</beamConV0VerticesColName>   
+            <targetConV0VerticesColName>TargetConstrainedV0VerticesGBL</targetConV0VerticesColName>     
             <debug>false</debug>
             <dxCut>50</dxCut>
             <dyCut>50</dyCut>
@@ -77,6 +112,7 @@
             <dxCut>50</dxCut>
             <dyCut>50</dyCut>
         </driver>  
+        
         <driver name="ReconParticleL4to6" type="org.hps.recon.particle.HpsReconParticleDriver">
             <trackCollectionName>L4to6Tracks</trackCollectionName>          
             <targetConV0VerticesColName>TargetConstrainedV0CandidatesL4to6</targetConV0VerticesColName>
@@ -91,7 +127,7 @@
             <dyCut>50</dyCut>
         </driver>  
         
-          <driver name="ReconParticleL134" type="org.hps.recon.particle.HpsReconParticleDriver">
+        <driver name="ReconParticleL134" type="org.hps.recon.particle.HpsReconParticleDriver">
             <trackCollectionName>L134Tracks</trackCollectionName>          
             <targetConV0VerticesColName>TargetConstrainedV0CandidatesL134</targetConV0VerticesColName>
             <finalStateParticlesColName>FinalStateParticlesL134</finalStateParticlesColName>
@@ -107,7 +143,7 @@
         
         <!-- EngineeringRun2015FullRecon from Sho --> 
         <driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver">
-             <fitAlgorithm>Pileup</fitAlgorithm>
+            <fitAlgorithm>Pileup</fitAlgorithm>
             <useTimestamps>false</useTimestamps>
             <correctTimeOffset>true</correctTimeOffset>
             <correctT0Shift>true</correctT0Shift>
@@ -125,6 +161,7 @@
             <clusterTimeCut>12.0</clusterTimeCut>
             <maxDt>16.0</maxDt>
             <clusterAmplitudeCut>400.0</clusterAmplitudeCut>
+            <rejectGhostHits>true</rejectGhostHits>
         </driver>
         <driver name="FullTrackerReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
             <strategyResource>HPS-Full.xml</strategyResource>
@@ -173,32 +210,76 @@
           
         <driver name="SVTAlignment" type="org.hps.analysis.dataquality.SVTOpeningStudies">         
         </driver> 
+        
+          <driver name="SVTAlignmentPairs1" type="org.hps.analysis.dataquality.SVTOpeningStudies">         
+ <triggerType>pairs1</triggerType>
+          </driver> 
+        
+          <driver name="SVTAlignmentSingles1" type="org.hps.analysis.dataquality.SVTOpeningStudies"> 
+               <triggerType>singles1</triggerType>        
+        </driver> 
+        
         <driver name="TrackTime" type="org.hps.monitoring.drivers.trackrecon.TrackTimePlots">   
              
         </driver>
 
+        <driver name="GBLOutputDriver" type="org.hps.recon.tracking.gbl.GBLOutputDriver">
+            <debug>0</debug>
+            <isMC>false</isMC>
+            <gblFileName>gbl.out</gblFileName>
+        </driver>
+
+        <driver name="GBLDriver" type="org.hps.recon.tracking.gbl.HpsGblRefitter">
+            <debug>false</debug>
+            <logLevel>WARNING</logLevel>
+            <milleBinaryFileName>milleTest.bin</milleBinaryFileName>
+            <writeMilleBinary>true</writeMilleBinary>
+        </driver>
+
         <driver name="TrackingMonitoringDQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
             <overwriteDB>false</overwriteDB>
             <printDQMStrings>false</printDQMStrings>
         </driver>
         
-            <driver name="TrackingMonitoringL1to3Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-                <trackCollectionName>L1to3Tracks</trackCollectionName>
-                <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-        </driver>
-           <driver name="TrackingMonitoringL4to6Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-                <trackCollectionName>L4to6Tracks</trackCollectionName>
-                <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-        </driver>
-        
-           <driver name="TrackingMonitoringL134Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
-                <trackCollectionName>L134Tracks</trackCollectionName>
-                <overwriteDB>false</overwriteDB>
-            <printDQMStrings>false</printDQMStrings>
-        </driver>
-        
+        <driver name="TrackingMonitoringL1to3Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <trackCollectionName>L1to3Tracks</trackCollectionName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+               <triggerType>singles1</triggerType>
+        </driver>
+        <driver name="TrackingMonitoringL4to6Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <trackCollectionName>L4to6Tracks</trackCollectionName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+               <triggerType>singles1</triggerType>
+        </driver>
+        
+              
+        <driver name="TrackingMonitoringL1to3Pairs1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <trackCollectionName>L1to3Tracks</trackCollectionName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+               <triggerType>pairs1</triggerType>
+        </driver>
+        <driver name="TrackingMonitoringL4to6Pairs1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <trackCollectionName>L4to6Tracks</trackCollectionName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+              <triggerType>pairs1</triggerType>
+        </driver>
+        
+        <driver name="TrackingMonitoringL134Singles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <trackCollectionName>L134Tracks</trackCollectionName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+        </driver>
+        
+        <driver name="GBLTrackMonitoringSingles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <trackCollectionName>GblTracks</trackCollectionName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+            <triggerType>singles1</triggerType>
+        </driver>
         
         <driver name="TrackingMonitoringSingles1DQM" type="org.hps.analysis.dataquality.TrackingMonitoring">         
             <overwriteDB>false</overwriteDB>
@@ -234,13 +315,35 @@
             <triggerType>singles1</triggerType>
         </driver>
         
+           <driver name="FinalStateL1to3DQMPairs1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
+            <finalStateParticlesColName>FinalStateParticlesL1to3</finalStateParticlesColName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+            <triggerType>pairs1</triggerType>
+        </driver>
+
+        <driver name="FinalStateGBLDQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
+            <finalStateParticlesColName>FinalStateParticlesGBL</finalStateParticlesColName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+            <triggerType>singles1</triggerType>
+        </driver>
+                        
         <driver name="FinalStateL4to6DQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
             <finalStateParticlesColName>FinalStateParticlesL4to6</finalStateParticlesColName>
             <overwriteDB>false</overwriteDB>
             <printDQMStrings>false</printDQMStrings>
             <triggerType>singles1</triggerType>
         </driver>
-         <driver name="FinalStateL134DQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
+        
+          <driver name="FinalStateL4to6DQMPairs1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
+            <finalStateParticlesColName>FinalStateParticlesL4to6</finalStateParticlesColName>
+            <overwriteDB>false</overwriteDB>
+            <printDQMStrings>false</printDQMStrings>
+            <triggerType>pairs1</triggerType>
+        </driver>
+        
+        <driver name="FinalStateL134DQMSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">        
             <finalStateParticlesColName>FinalStateParticlesL134</finalStateParticlesColName>
             <overwriteDB>false</overwriteDB>
             <printDQMStrings>false</printDQMStrings>
@@ -290,8 +393,16 @@
         <driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
             <outputFileName>./${outputFile}.root</outputFileName>
         </driver>
+        <driver name="MyLCIOWriter" type="org.hps.users.mgraham.MyLCIOWriterDriver">
+            <outputFilePath>${outputFile}.slcio</outputFilePath>
+              <d0Cut>2.0</d0Cut>
+            <z0Cut>0.5</z0Cut>
+            <pCutMin>0.7</pCutMin>
+        </driver>
+ 
         <driver name="LCIOWriter" type="org.lcsim.util.loop.LCIODriver">
             <outputFilePath>${outputFile}.slcio</outputFilePath>
+          
         </driver>
         <driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver" />       
 

Modified: java/trunk/users/src/main/java/org/hps/users/mgraham/MyLCIOWriterDriver.java
 =============================================================================
--- java/trunk/users/src/main/java/org/hps/users/mgraham/MyLCIOWriterDriver.java	(original)
+++ java/trunk/users/src/main/java/org/hps/users/mgraham/MyLCIOWriterDriver.java	Wed Aug  5 18:39:29 2015
@@ -1,6 +1,7 @@
 package org.hps.users.mgraham;
 
 import java.io.IOException;
+import java.util.List;
 
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.Track;
@@ -18,6 +19,11 @@
     private String outputFile;
     private LCIOWriter writer;
     private String trackCollectionName = "MatchedTracks";
+    private int nTracks = 1; //only ==# tracks for now...change this later...
+    private double d0Cut = 9999;
+    private double z0Cut = 9999;
+    private double pCutMin = -9999;
+    private double pCutMax = 9999;
 
     public MyLCIOWriterDriver() {
     }
@@ -25,14 +31,34 @@
     public void setOutputFilePath(String output) {
         this.outputFile = output;
     }
-    
-      public void setTrackCollectionNamePath(String trackCollection) {
+
+    public void setNTracks(int ntrk) {
+        this.nTracks = ntrk;
+    }
+
+    public void setD0Cut(double cut) {
+        this.d0Cut = cut;
+    }
+
+    public void setZ0Cut(double cut) {
+        this.z0Cut = cut;
+    }
+
+    public void setPCutMax(double cut) {
+        this.pCutMax = cut;
+    }
+
+    public void setPCutMin(double cut) {
+        this.pCutMin = cut;
+    }
+
+    public void setTrackCollectionNamePath(String trackCollection) {
         this.trackCollectionName = trackCollection;
     }
 
     private void setupWriter() {
         // Cleanup existing writer.
-        if (writer != null) {
+        if (writer != null)
             try {
                 writer.flush();
                 writer.close();
@@ -40,7 +66,6 @@
             } catch (IOException x) {
                 System.err.println(x.getMessage());
             }
-        }
 
         // Setup new writer.
         try {
@@ -48,7 +73,6 @@
         } catch (IOException x) {
             throw new RuntimeException("Error creating writer", x);
         }
-
 
         try {
             writer.reOpen();
@@ -70,15 +94,29 @@
     }
 
     protected void process(EventHeader event) {
-        if (event.get(Track.class, trackCollectionName).size()>1) {
-            System.out.println("found a two track event...writing to lcio file");
-            try {
-                
-                writer.write(event);
-            } catch (IOException x) {
-                throw new RuntimeException("Error writing LCIO file", x);
-            }
+        if (event.get(Track.class, trackCollectionName).size() != nTracks)
+            return;
+
+        List<Track> tracks = event.get(Track.class, trackCollectionName);
+
+        for (Track trk : tracks) {
+            //if any of the tracks fail the cuts, return...
+            if (Math.abs(trk.getTrackStates().get(0).getD0()) > d0Cut)
+                return;
+            if (Math.abs(trk.getTrackStates().get(0).getZ0()) > z0Cut)
+                return;
+            if (Math.abs(trk.getTrackStates().get(0).getMomentum()[0]) < pCutMin)
+                return;
+            if (Math.abs(trk.getTrackStates().get(0).getMomentum()[0]) > pCutMax)
+                return;
         }
+        //if I got here I want to save the event.
+        try {
+            writer.write(event);
+        } catch (IOException x) {
+            throw new RuntimeException("Error writing LCIO file", x);
+        }
+
     }
 
     protected void suspend() {

Added: java/trunk/users/src/main/java/org/hps/users/mgraham/RemoveCollectionsFromEvent.java
 =============================================================================
--- java/trunk/users/src/main/java/org/hps/users/mgraham/RemoveCollectionsFromEvent.java	(added)
+++ java/trunk/users/src/main/java/org/hps/users/mgraham/RemoveCollectionsFromEvent.java	Wed Aug  5 18:39:29 2015
@@ -0,0 +1,34 @@
+package org.hps.users.mgraham;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import org.lcsim.event.EventHeader;
+import org.lcsim.util.Driver;
+
+/**
+ *
+ * @author mgraham
+ */
+public class RemoveCollectionsFromEvent extends Driver {
+
+    protected Set<String> collections = new HashSet<String>();
+
+    public RemoveCollectionsFromEvent() {
+    }
+
+    public void RemoveCollectionsFromEvent(String[] collectionNames) {
+        this.collections = new HashSet<String>(Arrays.asList(collectionNames));
+    }
+    
+      public void setCollectionNames(String[] collectionNames) {
+        this.collections = new HashSet<String>(Arrays.asList(collectionNames));
+    }
+
+    protected void process(EventHeader event) {
+        for (String col : collections)
+            if (event.hasItem(col))
+                event.remove(col);
+    }
+}