Simulation: Edit and adjust the file "r3bsim.C" for your specific setup and event generator, then run: root -l r3bsim.C Analysis: For simulations with full information: The tracks are reconstructed in one step with: root -l .L analysLampShadeSpec1Tree.C analysEvents(1,"r3bsim.root","outputFileName.root") -> this create the output file called outputFileName.root with position (x,y,z) of pixel hit and reconstructed theta and phi angles, AND INVARIANT MASS For simulations of raw data-like: The tracks are reconstructed in 2 steps with: root -l StarTrackAnaDigit.C -> reads the r3bsim.root output file and creates a new output tree called "startrackerAnaDigit.root" with RAW information similar to the DAQ output .L RecResults.C RecResult("output.root") -> reads the "startrackerAnaDigit.root" and reconstruct tracks and other physical observables from the detector Id, strip ID, energy loss and time or .L RecResultsGene.C RecResultGene("output.root") -> reads the "startrackerAnaDigit.root" and reconstruct tracks and other physical observables from the detector Id, strip ID, energy loss and time as above but more general (looking at all hits in each layers) or .L RecResultsClust.C RecResultsClust(mode,"output.root") -> reads the "startrackerAnaDigit.root" and reconstruct tracks and other physical observables from the detector Id, strip ID, energy loss and time as above but with also a search and identification of strip cluster (RECOMMANDED !!!!) mode=0 : Elastic/Inelastic (pp), (pp'), (p,d), (pd'), ... mode=1 : Knock out (p2p), (ppd), ...