lcsim/src/org/lcsim/contrib/JanStrube
diff -N ZvTubePlotter.py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ZvTubePlotter.py 1 Aug 2005 04:12:19 -0000 1.1
@@ -0,0 +1,57 @@
+from org.lcsim.util import Driver
+from org.lcsim.recon.vertexing.zvtop4 import ZvTrack
+from org.lcsim.spacegeom import CartesianPoint
+
+import sys
+// needs the latest PAIDA, because JAS3 can't plot 3D
+sys.path.append('/home/jstrube/paida-3.2.1_2.8.1')
+from paida import IAnalysisFactory
+from paida.paida_core.IFunction import IFunction, IAnnotation
+
+
+class ZvTubePlotter(Driver):
+ def __init__(self):
+ self.anaFac = IAnalysisFactory.create()
+ self.tree = self.anaFac.createTreeFactory().create()
+ self.histFac = self.anaFac.createHistogramFactory(self.tree)
+ self.funcFac = self.anaFac.createFunctionFactory(self.tree)
+ self.plotter = self.anaFac.createPlotterFactory().create()
+ self.region = self.plotter.createRegion()
+
+ def process(self, event):
+ tracks = event.getTracks()
+
+ iter = tracks.iterator()
+ while iter.hasNext():
+ iTrack = iter.next()
+ zvTrack = ZvTrack(iTrack)
+ f = ZvTube(zvTrack)
+ self.region.plot(f, "minX=-50;maxX=50;minY=-50;maxY=50;minZ=-1;maxZ=2")
+ print 'please press ENTER'
+ sys.stdin.readline()
+
+
+class ZvTube(IFunction):
+ def __init__(self, track):
+ self.track = track
+ self.title = 'ZvTube Function'
+ return
+
+ def providesGradient(self):
+ return false
+
+ def value(self, x):
+ point = CartesianPoint(x[0], x[1], 0)
+ value = self.track.getTubeProjection(point)
+# print x, value, float(value)
+# sys.stdin.readline()
+ return value
+
+ def dimension(self):
+ return 2
+
+ def annotation(self):
+ ann = IAnnotation()
+ ann.addItem('Title', self.title)
+ return ann
+
lcsim/src/org/lcsim/contrib/JanStrube
diff -N MainLoop.py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ MainLoop.py 1 Aug 2005 04:12:19 -0000 1.1
@@ -0,0 +1,26 @@
+#! /usr/bin/env jython
+from java.io import File
+from org.lcsim.util import Driver
+from org.lcsim.util.aida import AIDA
+from org.lcsim.util.loop import LCIODriver
+from org.lcsim.util.loop import LCSimLoop
+from org.lcsim.mc.fast import MCFast
+from ZvTubePlotter import ZvTubePlotter
+from java.lang import System
+
+def main():
+ loop = LCSimLoop()
+ input = File("psiMuMu.slcio")
+ loop.setLCIORecordSource(input)
+ print "adding JasSwimTest"
+ loop.add(MCFast())
+ loop.add(ZvTubePlotter())
+# output = File(System.getProperty("user.home"),"fastmc.slcio")
+# loop.add(LCIODriver(output))
+ loop.loop(-1)
+ loop.dispose()
+
+# AIDA.defaultInstance().saveAs("fastmc.aida")
+
+if __name__ == "__main__":
+ main()