StGammaPointMaker

I have been working on developing a point maker to work in conjunction with StGammaMaker.  The idea (from my end) was that you would input gamma candidates to the point maker and you would get out pions or single photons (points.)  Right now the point maker works primarily with the SMD.  The organization is as follows:

StGammaStrips are collected and grouped into StGammaStripClusters.  An StGammaStripCluster is a group of strips in one plane.
StGammaStripClusters are grouped into StGammaPoints.  An StGammaPoint has exactly one cluster from each plane.
StGammaPoints are grouped into StGammaPizeros.  An StGammaPizero is made from exactly two StGammaPoints.

All this work is done, more or less, by the StGammaPointMaker.  it loops over the strips in each plane, groups them into clusters, points, and pizeros.  The idea would be to use the pointmaker to develop algorithms for turning strips and towers in a gamma candidate into physics objects like pions and photons.  Currently there is only one clustering algorithm implemented (similar to the one used in the BEMC.  See this link for more info.)  There are three different algorithms for point making; i.e. how clusters are grouped into points and how many points are expected from a candidate.

Here is an example to show some different things that could be done...

Willie made for me a bunch of StGammaEvents from single thrown pions.  I ran over approximately 65K gamma candidates, each one coming from a single thrown pion.  I took those gamma candidates and ran them through my point maker.

cluster finding parameters:
mSeed = .4
mAdd = .01
no total energy threshold
no max strips

Point Making Parameters:
Assume the least number of points possible (for a single candidate this number is Min{# of eta clusters, # of phi clusters}
If more than the minimum number of points are found, take only the 'best points' where 'best' minimizes the cluster asymmetry (E_etaclus - E_phiclus)/(E_etaclus + E_phiclus)

Pions are made in the usual fashion of mixing all points in an event and calculating the invariant mass

Here is the mass distribution I get:


I reconstruct about 10% of the pions using the point maker.  The peak is centered a bit higher than the pion peak, but this is averaged over all Pt {5,25} and we know that the reconstructed mass seems to drift upward with Pt so it is not too surprising.

Now if I instead only take candidates where I reconstruct three points (and therefore at least three clusters in each plane)  Here is what I get.


The mean is still around .15, but there seems to be a peak closer to 0.1.  Furthermore there are obvious 'low mass' pions.  Since we threw only single pions, we know that these three point events must be the result of one photon being split by the cluster finder.  Instead of reconstructing one pion, we reconstruct three.  two of these should have masses slightly lower than the pion mass, and one should have a mass much lower (about 1/2) than the pion mass.  Furthermore we can look at the actual strip and cluster distributions for one of these events.  I apologize for the poor labeling, but the x-axis is position and the y axis is energy of the strip/cluster.

Eta Strips


Eta Clusters:

Phi Strips

Phi Clusters


The point maker allows easy viewing of the strips and clusters (although the draw functions themselves need improvement.)

Finally, to show what happens when you change one of the algorithms.  For the next mass distribution I kept all of the cluster finding conditions the same, but instead of assuming the minimum number of points I assumed the maximum number of points.  The I artificially selected those events with exactly two points.  The net effect is that I now include events with two clusters in one plane and one cluster in the other.  Such events were excluded in the original algorithm.  Here is the mass distribution.

We now find more than twice the number of pions than we found using the original algorithm.  The distribution is wider and I assume there is more low mass background in this plot.  But some of the newly found pions are real pions that happened to have their photons aligned in one plane.  These would have been thrown out by the original finder and are now included.  I don't know if this is better or worse (trading higher stats for more background/greater systematic error) but these sorts of things are now available to study.

Open Questions:
Flawed cluster finding algorithm?
calculation of energy sharing?
incorporation into an LDA based analysis?
etc...

Next Action:
If people want to look at this more, it needs to get checked into cvs.  I don't have Karma to do this, but someone else can.  Also it may be time to move StGammaMaker into StRoot.  This would make it easier for outsiders to use the code in analysis and help develop supporting code.