38 for (
auto x : keepers)
42 Keepers() : keepers{&x0DetLayer, &x0AtEta, &x0Averaged}, isInitialised(
false) {}
45 thread_local Keepers keepers;
58 theLayerKeeper = keepers(x0Source);
65 theLayer = theLayerKeeper->layer(layer);
70 float sumX0D = theLayer.sumX0D(cotTheta);
71 return x0ToSigma * sumX0D /
pT;
84 float sumX0D = layersAtEta.
sumX0D(pointI, pointO);
85 return x0ToSigma * sumX0D /
pT;
97 float sumX0D = layersAtEta.
sumX0D(il, theLayer.seqNum(), pointI, pointO);
98 return x0ToSigma * sumX0D /
pT;
109 float cotTheta = lineIO.
cotLine();
111 if (consecutive == useConsecutive) {
112 float dist = fabs((pointO.
r() - pointM.
r()) * (pointM.
r() - pointI.
r()) / (pointO.
r() - pointI.
r()));
113 return x0ToSigma *
sqrt(theLayer.x0(cotTheta)) * dist /
pT;
116 float sumX0D = layersAtEta.
sumX0D(pointI, pointM, pointO);
117 return x0ToSigma * sumX0D /
pT;
127 float cotTheta = lineIO.
cotLine();
130 float sumX0D = layersAtEta.
sumX0D(pointV.
z(), theLayer.seqNum(), ol, pointI, pointO);
131 return x0ToSigma * sumX0D /
pT;