Print

Print


Commit in hps-java/src/main/java/org/lcsim/hps/examples on MAIN
StarterAnalysisDriver.java+59added 1.1
simple analysis driver

hps-java/src/main/java/org/lcsim/hps/examples
StarterAnalysisDriver.java added at 1.1
diff -N StarterAnalysisDriver.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ StarterAnalysisDriver.java	8 Mar 2012 23:40:51 -0000	1.1
@@ -0,0 +1,59 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.lcsim.hps.examples;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.LCRelation;
+import org.lcsim.event.RelationalTable;
+import org.lcsim.event.Track;
+import org.lcsim.event.base.BaseRelationalTable;
+import org.lcsim.hps.recon.tracking.TrackAnalysis;
+import org.lcsim.util.Driver;
+
+/**
+ *
+ * @author mgraham
+ */
+public class StarterAnalysisDriver extends Driver{
+    int nevents=0;
+    int naccepted=0;
+    
+     public void process(
+            EventHeader event) {
+         nevents++;
+        List<Track> tracklist = event.get(Track.class, "MatchedTracks");
+        if(tracklist.size()<2)
+            return;
+        
+        RelationalTable hittomc = new BaseRelationalTable(RelationalTable.Mode.MANY_TO_MANY, RelationalTable.Weighting.UNWEIGHTED);
+        List<LCRelation> mcrelations = event.get(LCRelation.class, "HelicalTrackMCRelations");
+
+        for (LCRelation relation : mcrelations) {
+            if (relation != null && relation.getFrom() != null && relation.getTo() != null) {
+                hittomc.add(relation.getFrom(), relation.getTo());
+            }
+        }
+        int ok=0;
+        for (Track track : tracklist) {   //remember, these tracks are in the lcsim tracking frame!         
+            TrackAnalysis tkanal = new TrackAnalysis(track, hittomc);
+            if(Math.abs(tkanal.getMCParticle().getPDGID())==611)
+                ok++;            
+            //do some stuff to makes sure tracks are great
+            //is there an e+e- from the muonium
+        }
+        
+        if(ok==2)
+            naccepted++;
+    
+     }
+       public void endOfData() {
+      
+        System.out.println("# of muonium events= " + naccepted + "; # of total = " + nevents);
+    }
+}    
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