...
No Format |
---|
To add the ReconCheater to a process, use
add(new org.lcsim.recon.cheater.ReconCheater());
The TrackingCheater and ClusterCheater drivers will be added by the ReconCheater.
An AIDA histogram package is included for optional use, see below.
To access reconstructed particles, use
event.get(ReconstructedParticle.class);
|
...
No Format |
---|
Example of analysis code:
public void process(EventHeader event)
{
// Get reconstructed particle 3Vector's.
List<Hep3Vector> particles = new ArrayList();
List<List<ReconstructedParticle>> rpLists = event.get(ReconstructedParticle.class);
for (List<ReconstructedParticle> collection : rpLists) {
String name = event.getMetaData(collection).getName();
if (!name.equals("ReconCheater")) continue;
for (ReconstructedParticle rp : collection) {
particles.add(rp.getMomentum());
}
}
// Set up Jet finder.
double ycut = 0.0005, dycut = 0.0005;
finder.setYCut(ycut);
finder.setEvent(particles);
NJets = finder.njets();
while (NMJets>MaxNumberJetsExpected) {
ycut += dycut;
finder.setYCut(ycut);
NMJets = finder.njets();
}
aida.cloud1D("# jets").fill(NJets);
}
|
No Format |
---|
Example of JAS3 driver: /* EventRecoDriver.java */ import java.util.List; import org.lcsim.event.EventHeader; import org.lcsim.event.MCParticle; import org.lcsim.event.ReconstructedParticle; import org.lcsim.util.Driver; import org.lcsim.recon.cheater.ReconCheater; import org.lcsim.util.aida.AIDA; public class EventRecoDriver extends Driver { private AIDA aida = AIDA.defaultInstance(); /** Creates a new instance of EventRecoDriver */ public EventRecoDriver() { add(new ReconCheater()); } public void process(EventHeader event) { super.process(event); // this takes care that the child Drivers are loaded and processed. List<List<ReconstructedParticle>> rpLists = event.get(ReconstructedParticle.class); for (List<ReconstructedParticle> list : rpLists) { if (!event.getMetaData(list).getName().equals("ReconCheater")) continue; aida.cloud1D("RP list size").fill(list.size()); } } } |