Cal Cluster Algorithm(s) Update
Cinco de Mayo, 2004
- Fuzzy Clusters
- Motivation
- FuzzyCluster Package had been successfully built under windows by Navid
- Tool (FuzzyClusterTool) had been created to interface to CalClustersAlg
- But only run in the linux environment?
- Richard asked if I would play guinea pig to show that clustering could run
under windows environment.
- Danger: having a tracker loose in CalRecon is
much worse than letting a bull loose in a china shop...
- Building the stuff
- FuzzyCluster Package checkout and build straightforward
- one hiccup from a class definition in the geometry package, fixed at the
head by Navid so once I knew about this the rest was no problem (lots of
warnings though)
- Obtain FuzzyClusterTool from Gabriel Musat's SLAC disk
- This all done under VC7.1
- Running FuzzyClustering
- Initial tests with muons just to check code
- Current tests (on everything shown today) use 1 GeV angled pencil
electrons. This gives a nice cluster in the Cal and allows me to get my feet
wet. I modified CalClustersAlg so that it would run the Cluster tool first,
then run the SingleClusterTool last (hence appending the "standard" results to
the end of the cluster list) in order to compare.
- Here is an example of what the events look like:
- A busy environment!
- Not 100% clear to me what the correct "command string" is... Am using what
I think is what Gabriel had in his stuff...
- An initial set of plots are included below. A description is here:
- Top Left: The number of Xtals with energy per event
- Top Right: The number of clusters per event. Not that in 1000 events only
1 event has more than 1 cluster.
- Middle Left: The blue hist is the energy in the first (presumed main)
cluster, the red curve is the total energy (summed over clusters). This is
normalized to the initial incident particle
energy (1 GeV in this case).
- Middle Right: (explain later)
- Bottom Left: Energy per crystal
- Bottom Right: The blue hist is the angle between the primary cluster axis
and the initial direction of the incident particle. The red line is the result
using the SingleClusterTool (standard) output.
- So... it would appear that the Fuzzy Clustering reproduces the results of
the Single Cluster tool. However, it appears to run very slowly, taking some
3-4 times longer to run the above than the "standard" code.
- SimpleClusterTool
- Its one thing to show that something runs, another to "understand" it.
After some digging I determined that FuzzyCluster is something that needs a
bit of homework to understand.
- To understand the problem better, develop a very simple clustering
algorithm:
- Create a list of all hit crystals in an event
- Find the highest energy crystal in the list - use this as a cluster seed
- Attach all adjacent hit crystals to the cluster (no gaps allowed) in the
same layer
- Look for nearest hit crystal in the "next" layer - attach to cluster.
Repeat step 3 for this layer.
- Repeat step 4 until all adjacent layers have attached crystals (no
gaps).
- Remove all crystals in the cluster from the list, start over at step 2
- Obviously, this approach ignores a number of problems:
- Does not cross tower boundaries
- Does not cross layers with no hits
- Can be easily defeated if one end of a crystal not working
- etc.
Remember: just trying to understand the problem here
- Above appears to run! Same plots as above:
- Some points:
- The simple approach (obviously) results in many more clusters per event
than the FuzzyClusterTool. This is because there are lots of crystal hits
associated with secondary photons produced in the shower which range away from
the main cluster. These contribute to the total energy of the event, but not
the axis of the cluster...
- This a philosophical difference to Fuzzy Cluster strategy? Is that
strategy to find one cluster per event?
- The middle left plot is the fraction of energy in the primary cluster to
the total energy in all the clusters. As one can see, the primary cluster
contains, on average, some 95% of the energy in any given event.
- The bottom right plot shows that the primary cluster axis agrees slightly
better with the incident particle direction than the single cluster tool.
Might be beneficial in tracker/cal matching?
- Obviously, just getting my feet wet here enroute to understanding the
problem better.
T.Usher Last Modified:
05/05/2004 09:19