...
Below is the complete text of the Analysis101 Driver, stripped of comments.
No Format |
---|
import org.lcsim.util.aida.AIDA;
import hep.physics.vec.VecOp;
import java.util.List;
import org.lcsim.event.EventHeader;
import org.lcsim.event.MCParticle;
import org.lcsim.util.Driver;
public class Analysis101 extends Driver
{
private AIDA aida = AIDA.defaultInstance();
protected void process(EventHeader event)
{
List<MCParticle> particles = event.get(MCParticle.class,event.MC_PARTICLES);
aida.cloud1D("nTracks").fill(particles.size());
for (MCParticle particle : particles)
{
aida.cloud1D("energy").fill(particle.getEnergy());
aida.cloud1D("cosTheta").fill(VecOp.cosTheta(particle.getMomentum()));
aida.cloud1D("phi").fill(VecOp.phi(particle.getMomentum()));
}
}
}
|
First, as in all Java programs, there are the import statements.
No Format |
---|
import org.lcsim.util.aida.AIDA;
import hep.physics.vec.VecOp;
import java.util.List;
import org.lcsim.event.EventHeader;
import org.lcsim.event.MCParticle;
import org.lcsim.util.Driver;
|
This includes code libraries into the Driver that are needed to do the analysis.
For instance, methods of org.lcsim.util.aida.AIDA are used to book and fill the plots.
The hep.physics.vec.VecOp package is for doing math operations on vectors.
Next is the declaration of the Driver class.
No Format |
---|
public class Analysis101 extends Driver
|