Print

Print


HI Bob, I think as Mike Ronan points out, the majority of your problems are due to the transition of some physics/jet finding classes from hep.lcd.physics to new packages. (These routines are now part of the core JAS rather than LCD extensions). The exampes need updating still, but basically you need to include:
 
import hep.physics.*;
import hep.physics.jets.*;
import hep.physics.predicate.*;
 
instead of
 
import hep.lcd.physics.*; // This is now obsolete
 
I am in the process of updating all the tutorials, and also moving them into CVS and writing a test program that will run them all each time we have a new release. This will make it easier to make sure the examples keep working. I hope to have this done by the end of this week.
 
I have attached a sample JetFinder which works with FastMC tracks.
 
To answer some more specific questions:

(I still have some problems using the Predicate.. though explicitly casting the Object to a Track then get the associated MCParticle
it seems to work - is this the right approach?) 
[Johnson, Tony S.] 

There is no real need to use a Predicate with FastMC tracks, the reason for the predicate in the MC Particle example was to select only charged tracks. For the FastMC you presumably want to feed all the tracks to the jet finder, so no predicate is required. If you wanted to select only a subset of tracks then you could follow the approach you suggest. 

How do I do jet finding with both charged and neutral "tracks" since LCDEvent seems only to provide these separately?
[Johnson, Tony S.] 

Worse than that the fastMC provides no calorimetry simulation at the moment, so there are no "neutral tracks". Even if there were you would have to disentangle the neutral/charged overlap in the cluster since there is no track/cluster association. You could write a simple routine which takes neutral MC particles, smears them according to some algorithm you provide, and then combines them with the FastMC charged tracks and feeds them to the jet finder. 

If I try the same thing with MCParticles directly such as (mimicking the example):
 
   ParticleVector pv2 = event.getMCParticles();
   jetFinder2.setEvent(pv2.particles());
   histogram("Njets2").fill(jetFinder2.njets());

It no longer complains about not passing IHep3Vectors but it gives the error:

java.lang.ArrayStoreException:
 at java.util.Vector.copyInto(Vector.java)
 at hep.physics.jets.AbstractJetFinder.doFindJets(AbstractJetFinder.java:168)
 at hep.physics.jets.AbstractJetFinder.njets(AbstractJetFinder.java:51)
 at MCCheck.process(FastMC_anal01.java:269)
[Johnson, Tony S.] 

You ave uncovered a bug in the JetFinder, introduced when it was moved from LCD to JAS. It no longer works correctly when passed 4-vectors. (3-vectors are OK, so the FastMC example will work). I will fix this. 
 

As usual, any help or suggestions will be gratefully received.

[Johnson, Tony S.] 
Thanks for all your feedback, this is what we need to get things tuned up and working correctly (and usefully).
 
Tony