Some thoughts about Clusters

TkrCluster/TkrClusterCol

These classes need some overhaul. (Johann as already started on this).

 

Note: ObjectVector<object> is really a vector of pointers to those objects. (Is this correct?)

 

What info to store with the cluster:

 

What about bad clusters?

Bad clusters are clusters made up entirely of bad strips.  These are made and discarded during cluster generation as a by-product of adding bad strips to hit strips to enlarge or merge clusters.

 

But we actually need these so that at pat-rec time we can check if there are bad clusters when we hit a plane where we expect a cluster but don’t find one. The idea would be to look for bad clusters within some number of sigma of the expected cluster, and possibly make sure that it satisfies any requirements on the width, etc.

 

 

Beginnings of a ToT analysis...

leading to an idea on how/where to store the ToT info

 

For some analyses, the raw ToT is sufficient… for example, Bill wants to know whether the cluster came with a saturated ToT.

 

The most info that can be stored for a cluster is the “mips” for each strip in the cluster, that is the ToT converted according to the calibration for each strip. This seems like overkill.

 

Because the strip with the maximum gain will most likely drive the ToT, the mip value for this strip is the most interesting…

 

So the right time to do the conversion to mips is at patrec time, when the track angles are known. Then, we can apply subtleties like those above. Furthermore, at that point we have the path length of the track (actually quite a few subtleties here!), so we can convert to real mips:

 

            Real mips = “mips/(track length in strip)

 

Also, obviously, this shouldn’t be done in AnalysisNtuple!

 

Topology of the ToT response

 

Another consideration is the number of clusters in the range covered by the ToT. 

 

This tells me that we may want to analyze each hit on a track as if the ToT belonged to it, and then apply any extra information after pat-rec or fitting is completed. This means that the processed ToT info should be stored with the hit on track.

 

So what ToT info do we store with the cluster, and where do we store it?

Some of this could be in the cluster, or in another structure with a pointer to it in the cluster. The latter would allow us to develop the ToT info without changing the structure of the cluster itself. Some pieces of info are more properties of the range (example, number of clusters in range), and might be better stored in another type of structure altogether.

 

ToT conversion formulae (for reference, so I don't lose them!)

 

To convert from energy deposit to Tot:

 

To convert from ToT to mips