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