Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/SteveMagill on MAIN | |||
TrackToRPDriver.java | +90 | added 1.1 |
diff -N TrackToRPDriver.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ TrackToRPDriver.java 14 Feb 2012 19:25:38 -0000 1.1 @@ -0,0 +1,90 @@
+package org.lcsim.contrib.SteveMagill; + +import hep.physics.vec.BasicHep3Vector; +import hep.physics.vec.Hep3Vector; +import hep.physics.particle.properties.ParticlePropertyManager; +import hep.physics.particle.properties.ParticleType; +import java.util.*; +import org.lcsim.event.EventHeader; +import org.lcsim.event.base.BaseReconstructedParticle; +import org.lcsim.util.Driver; +import org.lcsim.util.aida.AIDA; +import org.lcsim.event.Track; +import org.lcsim.event.ParticleID; +import org.lcsim.event.ReconstructedParticle; +import org.lcsim.event.base.BaseParticleID; +/* + * SimpleClusterToReconstructedParticleExampleDriver.java + * + * Created on March 29, 2007, 1:52 PM + * + * $Id: TrackToRPDriver.java,v 1.1 2012/02/14 19:25:38 magill Exp $ + */ + +/** + * + * @author Norman Graf + */ +public class TrackToRPDriver extends Driver +{ + private AIDA aida = AIDA.defaultInstance(); + private String _tracknames; + private String _Trrecoparticles; + private ParticleType pitype; + + /** Creates a new instance of SimpleClusterToReconstructedParticleExampleDriver */ + public TrackToRPDriver() + { + + } + + protected void process(EventHeader event) + { + + // array of ReconstructedParticles to add to the event... + List<ReconstructedParticle> rpList = new ArrayList<ReconstructedParticle>(); + + try + { + // get tracks + List<Track> tracks = event.get(Track.class,_tracknames); + for (Track tr : tracks) + { + double pimass = 0.13957; + double TrE = Math.sqrt(tr.getPX()*tr.getPX()+tr.getPY()*tr.getPY()+tr.getPZ()*tr.getPZ()+pimass*pimass); + Hep3Vector mom = new BasicHep3Vector(tr.getPX(), tr.getPY(), tr.getPZ()); + BaseReconstructedParticle rp = new BaseReconstructedParticle(TrE, mom); + rp.setMass(pimass); + rp.setCharge(tr.getCharge()); + // all pions for now (211 or -211) + if (tr.getCharge()>0) pitype = ParticlePropertyManager.getParticlePropertyProvider().get(211); + if (tr.getCharge()<0) pitype = ParticlePropertyManager.getParticlePropertyProvider().get(-211); + ParticleID id = new BaseParticleID(pitype); + rp.addParticleID(id); + rp.setParticleIdUsed(id); + rp.addTrack(tr); + rpList.add(rp); + } + + } + catch(java.lang.IllegalArgumentException ex) + { + System.out.println("requested object not found in event " + _tracknames); + } + + // add the list of rps to the event... + event.put(_Trrecoparticles,rpList, ReconstructedParticle.class,0); + //some simple histograms... +// aida.cloud1D("Number of AllRecoParticles found").fill(rpList.size()); + + } + + public void setInputTrackList(String tracknames) + { + _tracknames = tracknames; + } + public void setTrRPName(String Trrecoparticles) + { + _Trrecoparticles = Trrecoparticles; + } +}
\ No newline at end of file
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