Commit in hps-java/src/main on MAIN
resources/org/lcsim/hps/steering/TwoTrackAnalysis.lcsim+8-591.1 -> 1.2
java/org/lcsim/hps/users/phansson/TwoTrackAnlysis.java+44-81.4 -> 1.5
+52-67
2 modified files
Added track residuals.

hps-java/src/main/resources/org/lcsim/hps/steering
TwoTrackAnalysis.lcsim 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- TwoTrackAnalysis.lcsim	8 Jan 2013 18:17:56 -0000	1.1
+++ TwoTrackAnalysis.lcsim	16 Jan 2013 22:24:39 -0000	1.2
@@ -1,13 +1,16 @@
 <lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" 
        xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
     <inputFiles>
-        <fileRegExp baseDir="./../data/mc/v3/pair_filter/" >pairs.*filt.*recon.*</fileRegExp>
+        <!--<fileRegExp baseDir="./../data/mc/v3/pair_filter_ideal_readout/" >pairs.*twotrkfilt.*</fileRegExp>-->
+        <!--<fileRegExp baseDir="./../data/mc/v3/pair_filter/" >hps.*1351.*evio.*</fileRegExp>-->
+        <fileRegExp baseDir="./../data/mc/v3/pair_filter/pairs_2trkfilter/" >pairs.*filt.*recon.*</fileRegExp>
+        <!--<fileRegExp baseDir="./../data/mc/v3/pair_filter/pairs_2trkfilter_old/" >pairs.*filt.*recon.*</fileRegExp>-->
         <!--<fileRegExp baseDir="./../data/mc/v3/" >egs.*filt.*recon.*</fileRegExp>-->
         <!--<fileRegExp baseDir="./../data/mc/SVT-CF" >.*</fileRegExp>-->
         <!--<fileRegExp baseDir="./../data/mc/SVT-CF-THINSI" >.*</fileRegExp>-->
     </inputFiles>
     <control>
-        <numberOfEvents>1000</numberOfEvents>
+        <numberOfEvents>-1</numberOfEvents>
         <printInputFiles>true</printInputFiles>
         <printDriversDetailed>true</printDriversDetailed>
     </control>    
@@ -36,8 +39,8 @@
     <drivers>
         <driver name="TwoTrackAnalysis" 
                 type="org.lcsim.hps.users.phansson.TwoTrackAnlysis">
-                <debug>true</debug>
-                <hideFrame>false</hideFrame>
+                <debug>false</debug>
+                <hideFrame>true</hideFrame>
                 <outputPlotFileName></outputPlotFileName>
 	</driver>
         <driver name="TruthMomentumAnalysis" 
@@ -64,6 +67,7 @@
 
         
         <driver name="HPSCalibrationDriver" type="org.lcsim.hps.monitoring.HPSCalibrationDriver">
+                <!--<runNumber>-10</runNumber>-->
                 <runNumber>1351</runNumber>
         </driver>
         <driver name="EventMarkerDriver"
@@ -104,35 +108,6 @@
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-        <driver name="EcalReadout"
-                        type="org.lcsim.hps.recon.ecal.HPSEcalFADCReadoutDriver">
-            <readoutPeriod>4.0</readoutPeriod>
-            <coincidenceWindow>2</coincidenceWindow>
-            <ecalName>Ecal</ecalName>
-            <ecalCollectionName>EcalHits</ecalCollectionName>
-            <ecalRawCollectionName>EcalRawHits</ecalRawCollectionName>
-            <triggerThreshold>80</triggerThreshold>
-            <readoutThreshold>50</readoutThreshold>
-        </driver>
-
-        <driver name="EcalConverter"
-                        type="org.lcsim.hps.recon.ecal.HPSEcalConverterDriver">
-            <rawCollectionName>EcalRawHits</rawCollectionName>
-            <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
-            <scale>1</scale>
-        </driver>	
         
         <driver name="EcalTriggerFilter" type="org.lcsim.hps.recon.ecal.HPSEcalTriggerFilterDriver">
             <inputCollection>EcalCorrectedHits</inputCollection>
@@ -151,32 +126,6 @@
             <clusterCollectionName>EcalClusters</clusterCollectionName>
             <deadTime>10</deadTime>
         </driver>	
-        <driver name="SimpleSVTReadout" type="org.lcsim.hps.recon.tracking.SimpleSvtReadout">
-        </driver>
-
-        <driver name="SVTReadout" type="org.lcsim.hps.recon.tracking.apv25.SvtReadout">
-            <debug>false</debug>
-            <pedestalRun>false</pedestalRun>
-            <triggerLatencyTime>288</triggerLatencyTime>
-        </driver>
-        
-        <driver name="Digitization" type="org.lcsim.hps.recon.tracking.RearTransitionModule" />
-
-        <driver name="DataProcessing" type="org.lcsim.hps.recon.tracking.TestRunDataProcessingModule" >
-            <enablePileUpCut>true</enablePileUpCut>
-            <enableThresholdCut>true</enableThresholdCut>
-            <noiseThreshold>2</noiseThreshold>
-            <numberOfSamplesAboveThreshold>3</numberOfSamplesAboveThreshold>
-            <numberOfSamplesToReadOut>6</numberOfSamplesToReadOut>
-        </driver>
-
-        <driver name="ClockDriver"
-                        type="org.lcsim.hps.util.ClockDriver">
-        </driver>
-
-        <driver name="TestRunReconToLcio" type="org.lcsim.hps.evio.TestRunTriggeredReconToLcio">
-            <!--<outputFile>${outputFile}</outputFile>-->
-        </driver>
 
 
     </drivers>   

hps-java/src/main/java/org/lcsim/hps/users/phansson
TwoTrackAnlysis.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- TwoTrackAnlysis.java	10 Jan 2013 21:31:40 -0000	1.4
+++ TwoTrackAnlysis.java	16 Jan 2013 22:24:40 -0000	1.5
@@ -21,6 +21,7 @@
 import org.lcsim.event.TrackerHit;
 import org.lcsim.event.util.ParticleTypeClassifier;
 import org.lcsim.fit.helicaltrack.HelicalTrackCross;
+import org.lcsim.fit.helicaltrack.HelicalTrackFit;
 import org.lcsim.fit.helicaltrack.HelicalTrackHit;
 import org.lcsim.fit.helicaltrack.HelicalTrackStrip;
 import org.lcsim.geometry.Detector;
@@ -28,9 +29,11 @@
 import org.lcsim.hps.evio.TriggerData;
 import org.lcsim.hps.recon.ecal.HPSEcalCluster;
 import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
+import org.lcsim.hps.recon.tracking.TrackUtils;
 import org.lcsim.hps.recon.vertexing.SimpleVertexer;
 import org.lcsim.hps.recon.vertexing.TwoParticleVertexer;
 import org.lcsim.hps.recon.vertexing.TwoTrackVertexer;
+import org.lcsim.recon.tracking.seedtracker.SeedTrack;
 import org.lcsim.util.Driver;
 import org.lcsim.util.aida.AIDA;
 
@@ -117,7 +120,21 @@
 
         if(this._debug) System.out.println(this.getClass().getSimpleName() + ": processing event "+totalEvents);
         
+        
+        
+        
         totalEvents++;
+
+        if(this._debug) {
+
+            if(!event.hasCollection(TriggerData.class, triggerDecisionCollectionName)) {
+                System.out.println( "Event has NO trigger bank");
+            } else {
+                System.out.println( "Event has trigger bank");
+            }
+        }
+        //if(1==1) return;
+        
         
         List<Track> tracklist = null;
         if(event.hasCollection(Track.class,"MatchedTracks")) {        
@@ -220,13 +237,7 @@
         }
         
         
-        
-//        for(HPSEcalCluster cl : clusters) {    
-//            int[] clusterPosIdx = new int[2];
-//            clusterPosIdx[0] = cl.getSeedHit().getIdentifierFieldValue("ix");
-//            clusterPosIdx[1] = cl.getSeedHit().getIdentifierFieldValue("iy");
-//        }
-        
+        // Calculate residuals
         
         
         totalTwoTrackEvents++;
@@ -283,10 +294,12 @@
             br_line+="e_px/F:e_py/F:e_pz/F:p_px/F:p_py/F:p_pz/F:";
             br_line+="trk1_q/I:trk1_chi2/F:trk1_px/F:trk1_py/F:trk1_pz/F:trk1_nhits/I:";
             for(int iLayer=1;iLayer<=5;++iLayer) br_line+="trk1_hit"+iLayer+"_x/F:"+"trk1_hit"+iLayer+"_y/F:"+"trk1_hit"+iLayer+"_z/F:";
+            for(int iLayer=1;iLayer<=5;++iLayer) br_line+="trk1_res"+iLayer+"_x/F:"+"trk1_res"+iLayer+"_y/F:"+"trk1_res"+iLayer+"_z/F:";
             for(int iLayer=1;iLayer<=10;++iLayer) br_line+="trk1_strip"+iLayer+"_u/F:";
             for(int iLayer=1;iLayer<=10;++iLayer) br_line+="trk1_strip"+iLayer+"_n/F:";
             br_line+="trk2_q/I:trk2_chi2/F:trk2_px/F:trk2_py/F:trk2_pz/F:trk2_nhits/I:";
             for(int iLayer=1;iLayer<=5;++iLayer) br_line+="trk2_hit"+iLayer+"_x/F:"+"trk2_hit"+iLayer+"_y/F:"+"trk2_hit"+iLayer+"_z/F:";
+            for(int iLayer=1;iLayer<=5;++iLayer) br_line+="trk2_res"+iLayer+"_x/F:"+"trk2_res"+iLayer+"_y/F:"+"trk2_res"+iLayer+"_z/F:";
             for(int iLayer=1;iLayer<=10;++iLayer) br_line+="trk2_strip"+iLayer+"_u/F:";
             for(int iLayer=1;iLayer<=10;++iLayer) br_line+="trk2_strip"+iLayer+"_n/F:";
             br_line+="vtx_truth_x/F:vtx_truth_y/F:vtx_truth_z/F:";
@@ -322,6 +335,17 @@
             if (hitOnLayer != null) printWriter.format("%5.5f %5.5f %5.5f ", hitOnLayer.getPosition()[0],hitOnLayer.getPosition()[1],hitOnLayer.getPosition()[2]);
             else printWriter.format("%5.5f %5.5f %5.5f ", -9999999.9, -9999999.9, -9999999.9);
         }
+        //Get the helix for residual calculation
+        SeedTrack st1 = (SeedTrack) trk1;
+        HelicalTrackFit helix1 = st1.getSeedCandidate().getHelix();
+        for(int iLayer=0;iLayer<5;++iLayer) {
+            HelicalTrackHit hitOnLayer = hits1.get(iLayer*2+1);// = this.getHitOnLayer(iLayer, hitsOnTrack);
+            if (hitOnLayer != null) {
+                Map<String,Double> res = TrackUtils.calculateTrackHitResidual(hitOnLayer, helix1, true);
+                printWriter.format("%5.5f %5.5f %5.5f ", 0.0,res.get("resy"),res.get("resz"));
+            }
+            else printWriter.format("%5.5f %5.5f %5.5f ", -9999999.9, -9999999.9, -9999999.9);
+        }
         List<HelicalTrackHit> stereoHits = new ArrayList<HelicalTrackHit>();
         if(event.hasCollection(HelicalTrackHit.class, stereoHitCollectionName)) {
             stereoHits = event.get(HelicalTrackHit.class, stereoHitCollectionName);
@@ -348,6 +372,17 @@
             if (hitOnLayer != null) printWriter.format("%5.5f %5.5f %5.5f ", hitOnLayer.getPosition()[0],hitOnLayer.getPosition()[1],hitOnLayer.getPosition()[2]);
             else printWriter.format("%5.5f %5.5f %5.5f ", -9999999.9, -9999999.9, -9999999.9);
         }
+        //Get the helix for residual calculation
+        SeedTrack st2 = (SeedTrack) trk2;
+        HelicalTrackFit helix2 = st2.getSeedCandidate().getHelix();
+        for(int iLayer=0;iLayer<5;++iLayer) {
+            HelicalTrackHit hitOnLayer = hits2.get(iLayer*2+1);// = this.getHitOnLayer(iLayer, hitsOnTrack);
+            if (hitOnLayer != null) {
+                Map<String,Double> res = TrackUtils.calculateTrackHitResidual(hitOnLayer, helix2, true);
+                printWriter.format("%5.5f %5.5f %5.5f ", 0.0,res.get("resy"),res.get("resz"));
+            }
+            else printWriter.format("%5.5f %5.5f %5.5f ", -9999999.9, -9999999.9, -9999999.9);
+        }
         for(int iLayer=1;iLayer<=10;++iLayer) {
             HelicalTrackStrip strip=null;
             if(striphits2.containsKey(iLayer)) strip = striphits2.get(iLayer).get(0);
@@ -396,7 +431,6 @@
     
     
     private TriggerData getTriggerInfo(EventHeader event) {
-        List<TriggerData> t;
         if(!event.hasCollection(TriggerData.class, triggerDecisionCollectionName)) {
             //if(_debug) 
                 System.out.println( "Event has NO trigger bank");
@@ -408,6 +442,8 @@
                     System.out.println( "Event has trigger bank exists but is empty");
                 return null;
             } else {
+                //if(_debug) 
+                System.out.println( "Event has trigger bank");
                 return triggerDataList.get(0);
             }
         }
CVSspam 0.2.12


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