(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.]