Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Phase2 initialStep in CMSSW #146

Merged
merged 4 commits into from
Apr 24, 2024
Merged

Support for Phase2 initialStep in CMSSW #146

merged 4 commits into from
Apr 24, 2024

Conversation

mmasciov
Copy link

PR description:

This PR adds the ability to run mkFit on Phase-2 data / geometry. Only initialStep iteration is supported so far, with a dedicated workflow (24834.702).

  • Add CMSSW Phase-2 hit and seed converters.

  • Properly support binary readout for Phase-2 strips where cluster-charge cut can
    not be applied.

  • Improve standalone performance monitoring & debugging tools.

It requires also a new JSON file in cmssw/data repository:
trackreco/RecoTracker-MkFit#3

PR validation:

In TTbar events, with PU:

continue;
}

if (m_XHitSize[itrack] >= MPlexHitIdxMax)
break;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how significant is this change? it seems like the only change that can affect phase-1 setup

@slava77
Copy link

slava77 commented Apr 12, 2024

the bot tests are showing some more significant differences in phase-1.
The largest change since the test of this PR is that the pixelLess is now running mkFit.

@mmasciov
please rerun that part, preferably on Xi sample as well

@slava77
Copy link

slava77 commented Apr 12, 2024

the most visible seem to be changes in the TIB number of hit distributions
https://tinyurl.com/23gmjjbe
image

or more selectively high purity pt>1
https://tinyurl.com/28gr5kyr
image

isCompatible =
isStripQCompatible(itrack, layer_of_hits.is_barrel(), m_Err[iP], propPar, m_msErr, m_msPar);
// rescale strip charge to track parameters and reapply the cut
if (isCompatible && layer_of_hits.layer_info().has_charge()) {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mmasciov

there is

              //rescale strip charge to track parameters and reapply the cut
              isCompatible &= passStripChargePCMfromTrack(
                  itrack, layer_of_hits.is_barrel(), charge_pcm[itrack], Hit::minChargePerCM(), propPar, m_msErr);

40 lines above without && layer_of_hits.layer_info().has_charge()
I think that's the origin of missing hits in the standalone tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants