NHitsPoss systematics

 Victor noted that NHitsPoss (number of hits possible on a track) is incorrectly calculated. I've observed that he is correct in that possible hits at radii larger than the last hit included on a track are ignored for primary tracks and some global tracks. However, possible hits at radii smaller than the first hit included on a track appear to be counted as there is no obvious correlation. This is demonstrated in plots made from tracks whose first hit is at |z|<50 cm, |η|<0.5, and 0.2 < pT < 5.0 GeV/c below.

(note: first hit on primary tracks is always at the primary vertex, so it isn't helpful to make a plot with it)

While the plot for primary tracks is quite clear in its correlation, the plot using last hit of global tracks appears to have multiple components:
  • A correlated band (similar to the primary tracks but shifted down by 1 hit accounting for the primary vertex)
  • A band at large radius but smaller number of possible hits
  • A group with up to 45 possible hits despite the last hit not being all the way out
I do not have an explanation for these three components. I tried to correlate them with other quantities in the MuDst (e.g. η, φ, pT, z) but was unable to find anything significant.

NHitsPoss vs.
radius of the first hit included on global tracks
NHitsPoss vs.
radius of the last hit included on global tracks
NHitsPoss vs.
radius of the last hit included on primary tracks


The above plots can be generated from any MuDst by the following bit of code:
MuDst.SetAlias("firstHitRadius","sqrt(sq(GlobalTracks.mFirstPoint.mX1)+sq(GlobalTracks.mFirstPoint.mX2))");
MuDst.SetAlias("lastHitRadius","sqrt(sq(GlobalTracks.mLastPoint.mX1)+sq(GlobalTracks.mLastPoint.mX2))");
MuDst.SetAlias("plastHitRadius","sqrt(sq(PrimaryTracks.mLastPoint.mX1)+sq(PrimaryTracks.mLastPoint.mX2))");
TCut cg1 = "abs(GlobalTracks.mFirstPoint.mX3)<50&&abs(GlobalTracks.mEta)<0.5&&GlobalTracks.mPt>0.2&&GlobalTracks.mPt<5";
TCut cp1 = "abs(PrimaryTracks.mFirstPoint.mX3)<50&&abs(PrimaryTracks.mEta)<0.5&&PrimaryTracks.mPt>0.2&&PrimaryTracks.mPt<5";
MuDst.Draw("GlobalTracks.mNHitsPoss:firstHitRadius>>fhg(50,50,200,50,0.5,50.5)",cg1,"zcol",100);
gPad->SetLogz();
MuDst.Draw("GlobalTracks.mNHitsPoss:lastHitRadius>>lhg(50,50,200,50,0.5,50.5)",cg1,"zcol",100);
MuDst.Draw("PrimaryTracks.mNHitsPoss:plastHitRadius>>lhp(50,50,200,50,0.5,50.5)",cp1,"zcol",100);

-Gene