I found this bug too in testing the clustering algo, and Holly is aware of it and looking into the problem.

It has to do with adding hits to the cluster’s list without also updating its parallel list of hit contributions, which must have the same size.

I made this JIRA item for the issue:


Holly please close this out when you have this fixed.

On Dec 19, 2014, at 8:20 PM, Graham, Mathew Thomas <[log in to unmask]> wrote:

Actually, I was wrong about this (again).  It is actually a problem with writing clusters made from the  EcalClusterIC clusterer.  The error comes from this bit of code in SIOCluster:

   if ((flag & (1 << LCIOConstants.CLBIT_HITS)) != 0)
            List<CalorimeterHit> calorimeterHits = cluster.getCalorimeterHits();
            double[] hitContributions = cluster.getHitContributions();
            int ii = 0;
            for (CalorimeterHit hit : calorimeterHits)
                out.writeFloat((float) hitContributions[ii++]);      <——— this is where it breaks

The problem seems to be that the cluster.getHitContributions() has fewer entries than the  cluster.getCalorimeterHits() for IC clusters;

Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link: