Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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());
	}
    }
}