Skip to content

MuonIdHelpers - Fix Identifier creation if parts of the information is taken from an existing one

Johannes Junggeburth requested to merge jojungge/athena:IdMaker_Fix into master

Hi everybody,

while @pscholer and myself were validating the stereo angle rotation in !56646 (merged), we encountered a strange feature. We wanted to make sure that the stereo strips still intersect in the nominal center of the eta layers. For this purpose, we were generating for a given Micromega identifier and strip number, the corresponding x-layer (unrotated MM layer), u-layer(Stereo angle +) and v-layer (Stereo angle -) identifiers. Via the following lines,

                const int u_gap = ml == 1 ? 3 : 1;
                const int v_gap = ml == 1 ? 4 : 2;
                const Identifier x_id = id_helper.channelID(id, ml, gap, strip);
                const Identifier u_id = id_helper.channelID(id, ml, u_gap, strip);
                const Identifier v_id = id_helper.channelID(id, ml, v_gap, strip);

The id is just a generic identifier of the corresponding micromega wedge and gasgap. We made the intersections and found something unexpected in the log-files, because the intersection of the second multilayer failed with the following log.

  WARNING  Failed to intersect the uv strips for identifiers MM MMS eta -2 phi  3 chlay 2 lay 3 channel 512 MM MMS eta -2 phi  3 chlay 2 lay 4 channel 512
S:0 E:0 NSWGeoPlottingAlg                                                                                                               WARNING  Failed to intersect the uv strips for identifiers MM MMS eta -2 phi  3 chlay 2 lay 4 channel 512 MM MMS eta -2 phi  3 chlay 2 lay 4 channel 512

actually, we were expecting

MM MMS eta -2 phi  3 chlay 2 lay 1 channel 512 
MM MMS eta -2 phi  3 chlay 2 lay 2 channel 512

to be intersected. It turned out that the Identifiers were not properly generated, if parts of the information was taken from an existing identifier. This MR fixes this bug which has been hanging around for a long long time. To be honest, I've no real estimate about the impact in the code downstream. A secret to be lifted by our well-admired friend, the @atlasbot.

Tagging: @elmsheus, @nstyles, @jmaurer, @strichte, @sroe, @npetters, @goblirsc, @goetz, @mhodgkin as this MR needs to be swept into 22.0 asap.

grafik

Edited by Johannes Junggeburth

Merge request reports