Skip to content

Fix getColumn/getRow and getLocalPosition

Jens Kroeger requested to merge fix_coord_transformation into master

@williamm discovered an inconsistency, i.e. "shift" between

  • clusterMapAssoc
  • hitMapAssoc

in the AnalysisDUT module.

I had a closer look at it and found that

cluster->column();
// and 
auto clusterLocal = m_detector->globalToLocal(cluster->global());
m_detector->getColumn(clusterLocal);

would not give the same result. The second method was the one implemented and much more complicated than necessary. However, I took this as an opportunity to understand what was going wrong.

And in fact, the getColumn()/getRow() as well as the getLocalPosition() member functions of the detectors class did not behave as expected - even though we thought about them many times.

Now it's fixed and consistent (also with what I calculated on paper). Again, the tricky bit as an integer division causing an unexpected shift by 1/2 pitch.

Anyway, I believe that it's fine now. Tested with run 742. @williamm Can you also check it with your analysis?

Merge request reports