This page contains information about the available Jet clustering modules and directions for running simple examples. If you have any questions or comments, please email me:
Below is a list of modules which are or will be available in the jetMods area. Both the modules and this Web page documenting them are under construction.
General directions for setting up the run II offline and running an example may be found in Rob Harris' documentation: Examples of Building Jobs
The easiest way to run the current modules is to make a test release area with the jet modules in it:
This will produce a printout of the calorimeter towers and jets for a few 4-jet events. Check out the jetMods/run_*_Jetclu.tcl files for further ideas of things to do. The AC++ commands are documented in Commands Reference Manual You should be able to copy the jetMods/Jetana module to an area of your choice and then modify it to do the jet analysis of your choice.
The Jet clustering modules are built around a number of different clustering algorithms. Each algorithm is or will be made into a module. This seems the most reasonable approach since only a small number of algorithms will be studied sufficiently to be used in publication. There are a number of parameters associated with each algorithm (example: minimum Et of object to be clustered.) Currently the ability to "talk" to a module isn't implemented, so you are stuck with the default parameter set. Things like cone size and ycut-min however, will be adjustable in the near future.
The wrappered fortran algorithm (JetcluModule) copies the TOWE and SETA banks to an IW array which can be accessed from the fortran where the old jetclu routines are called. At the end of the event, the TOWE, SETA, CLSL, CALL, and JETS banks are copied back into the TRYBOS record.
For the C++ modules, data access comes from the TOWE_Bank_Driver and the Annulus_Location classes from which it is possible to calculate the Et of the EM and HAD energies. An array of CAL_TOWERs is formed which contains the EM, HAD and TOTAL energies, Et, eta, phi, and sin(theta) for each tower with non-zero energy in the detector. This is then used by the clustering algorithm to form jets.
In the near future it is desirable to run clustering algorithms on CAL_TOWERs, GENP particles, and tracks. The current design works only off of CAL_TOWERS and must be abstracted so that it may run off of particles and tracks too. Look here in the future for the details of the new design.
The output of the clustering algorithms are jets. Fundamentally, a jet is a subset of the original list of input particles or towers. Each jet has a centroid and a bunch of other measurables such as the electro-magnetic fraction and charge fraction. For a given algorithm and input type (CAL_TOWER,track,GENP particle) a CLSL bank is made with the bank number of the first jet of that type and the number of jets. The CALL bank for each jet contains a list of indices for the towers(ieta,iphi) tracks(TRKS bank number) or particles(GENP particle number) in the jets. The JETS bank contains the measurables for the jet.
Access to the TOWE bank, Annulus_locations, and CAL_TOWER classes can be easily made through the CAL class (cal/Cal.hh). Similarly, access to the jet data is facilitated by the CONE_JETS class (jet/Cone_jets.hh). An example of using these classes for analysis may be found in the JETANA module. In the future we plan to extend this scheme so that we can easily access Genp_cone_jets, Track_cone_jets, Kt_jets, Genp_Kt_jets, and Track_Kt_jets.
PS. This page is still under construction. Not to mention the code.