Commit in hps-java/src/main/java/org/lcsim/hps/examples on MAIN | |||
StarterAnalysisDriver.java | +59 | added 1.1 |
simple analysis driver
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); + } +}
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