Helper function to assign the uncertainty from the Axis.
76 {
78 if (!axis) {
79 return [](const Trk::Track*) { return 0; };
80 }
82 if (axis_title == "#eta" || axis_title == "eta") {
83 return [
axis](
const Trk::Track* trk) {
85 return axis->FindBin(perigee->
eta());
86 };
87 } else if (axis_title == "|#eta|" || axis_title == "abseta") {
88 return [
axis](
const Trk::Track* trk) {
90 return axis->FindBin(std::abs(perigee->
eta()));
91 };
92 } else if (axis_title == "#phi" || axis_title == "phi") {
93 return [
axis](
const Trk::Track* trk) {
95 return axis->FindBin(perigee->parameters()[2]);
96 };
97 } else if (axis_title == "|#phi|" || axis_title == "absphi") {
98 return [
axis](
const Trk::Track* trk) {
100 return axis->FindBin(std::abs(perigee->parameters()[2]));
101 };
102 } else if (axis_title == "#theta" || axis_title == "theta") {
103 return [
axis](
const Trk::Track* trk) {
105 return axis->FindBin(perigee->parameters()[3]);
106 };
107 } else if (axis_title == "|#theta|" || axis_title == "abstheta") {
108 return [
axis](
const Trk::Track* trk) {
110 return axis->FindBin(std::abs(perigee->parameters()[3]));
111 };
112 } else if (axis_title == "p_{T}" || axis_title == "pT") {
113 return [
axis](
const Trk::Track* trk) {
115 return axis->FindBin(perigee->
pT());
116 };
117 } else if (axis_title == "p_{T} [GeV]" || axis_title == "pTinGeV") {
118 return [
axis](
const Trk::Track* trk) {
120 return axis->FindBin(perigee->
pT() * MeVtoGeV);
121 };
122 } else if (axis_title == "#rho @ ID-exit") {
123 return [
axis,
this](
const Trk::Track* trk) {
124 const Trk::TrackStateOnSurface* id_exit;
125 const Trk::TrackStateOnSurface*
dummy;
128 };
129 } else if (axis_title == "R @ ID-exit") {
130 return [
axis,
this](
const Trk::Track* trk) {
131 const Trk::TrackStateOnSurface* id_exit;
132 const Trk::TrackStateOnSurface*
dummy;
135 };
136 } else if (axis_title == "z @ ID-exit") {
137 return [
axis,
this](
const Trk::Track* trk) {
138 const Trk::TrackStateOnSurface* id_exit;
139 const Trk::TrackStateOnSurface*
dummy;
142 };
143 } else if (axis_title == "#rho @ Calo-entrance") {
144 return [
axis,
this](
const Trk::Track* trk) {
145 const Trk::TrackStateOnSurface* calo_entrance;
146 const Trk::TrackStateOnSurface*
dummy;
149 };
150 } else if (axis_title == "R @ Calo-entrance") {
151 return [
axis,
this](
const Trk::Track* trk) {
152 const Trk::TrackStateOnSurface* calo_entrance;
153 const Trk::TrackStateOnSurface*
dummy;
156 };
157 } else if (axis_title == "z @ Calo-entrance") {
158 return [
axis,
this](
const Trk::Track* trk) {
159 const Trk::TrackStateOnSurface* calo_entrance;
160 const Trk::TrackStateOnSurface*
dummy;
163 };
164 } else if (axis_title == "#rho @ Calo-centre") {
165 return [
axis,
this](
const Trk::Track* trk) {
166 const Trk::TrackStateOnSurface* calo_entrance;
167 const Trk::TrackStateOnSurface* calo_exit;
168 const Trk::TrackStateOnSurface*
dummy;
172 return axis->FindBin(calo_centre.perp());
173 };
174 } else if (axis_title == "R @ Calo-centre") {
175 return [
axis,
this](
const Trk::Track* trk) {
176 const Trk::TrackStateOnSurface* calo_entrance;
177 const Trk::TrackStateOnSurface* calo_exit;
178 const Trk::TrackStateOnSurface*
dummy;
182 return axis->FindBin(calo_centre.mag());
183 };
184 } else if (axis_title == "z @ Calo-centre") {
185 return [
axis,
this](
const Trk::Track* trk) {
186 const Trk::TrackStateOnSurface* calo_entrance;
187 const Trk::TrackStateOnSurface* calo_exit;
188 const Trk::TrackStateOnSurface*
dummy;
192 return axis->FindBin(calo_centre[2]);
193 };
194 } else if (axis_title == "#rho @ MS-entrance") {
195 return [
axis,
this](
const Trk::Track* trk) {
196 const Trk::TrackStateOnSurface* ms_entrance;
197 const Trk::TrackStateOnSurface*
dummy;
200 };
201 } else if (axis_title == "R @ MS-entrance") {
202 return [
axis,
this](
const Trk::Track* trk) {
203 const Trk::TrackStateOnSurface* ms_entrance;
204 const Trk::TrackStateOnSurface*
dummy;
207 };
208 } else if (axis_title == "z @ MS-entrance") {
209 return [
axis,
this](
const Trk::Track* trk) {
210 const Trk::TrackStateOnSurface* ms_entrance;
211 const Trk::TrackStateOnSurface*
dummy;
214 };
215 }
217 }
double eta() const
Access method for pseudorapidity - from momentum.
const Amg::Vector3D & position() const
Access method for the position.
double pT() const
Access method for transverse momentum.
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
Eigen::Matrix< double, 3, 1 > Vector3D
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee