Skip to content
This repository was archived by the owner on Dec 9, 2024. It is now read-only.
This repository was archived by the owner on Dec 9, 2024. It is now read-only.

hitindex for pLS is a bit confusing #267

@sgnoohc

Description

@sgnoohc

Because hit index is already referenced against hitsInGPU.idxs here:

TrackLooper/SDL/Event.cu

Lines 678 to 681 in 398270a

hits1[0] = hitsInGPU.idxs[mdsInGPU.anchorHitIndices[innerMDIndex]];
hits1[1] = hitsInGPU.idxs[mdsInGPU.anchorHitIndices[outerMDIndex]];
hits1[2] = hitsInGPU.idxs[mdsInGPU.outerHitIndices[innerMDIndex]];
hits1[3] = hitsInGPU.idxs[mdsInGPU.outerHitIndices[outerMDIndex]];

Downstream it gets confusing.

TrackLooper/SDL/Event.cu

Lines 678 to 681 in 398270a

hits1[0] = hitsInGPU.idxs[mdsInGPU.anchorHitIndices[innerMDIndex]];
hits1[1] = hitsInGPU.idxs[mdsInGPU.anchorHitIndices[outerMDIndex]];
hits1[2] = hitsInGPU.idxs[mdsInGPU.outerHitIndices[innerMDIndex]];
hits1[3] = hitsInGPU.idxs[mdsInGPU.outerHitIndices[outerMDIndex]];

There are two hit indexs (1) within GPU memory, (2) within CMSSW / tracking Ntuple.
(1) idxs is internally used, and then we obtain (1) -> (2) mapping via hitsInGPU.idxs[].
But for pLSs, where the internal indexs should be saved, it already saved the dereferenced version (1) -> (2) into the internal memory.

So far this has not caused a problem, because in the special case of # of outer tracker hits being > N inner tracker hits used in the pLSs, we are fine.
However, in the case tha N outer tracker hits < inner tracker hits from pLSs, we may be in trouble.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions