29 Book1D(
"Pull" +
m_sType +
"_d0",
"d0 Pull " +
m_sType +
";d0 (track - truth) / error;Entries", 100, -5, 5);
31 Book1D(
"Pull" +
m_sType +
"_z0",
"z0 Pull " +
m_sType +
";z0 (track - truth) / error;Entries", 100, -5, 5);
37 "qOverP Pull " +
m_sType +
";Q/P (track - truth) / error;Entries", 100, -5, 5);
39 Double_t Pull_ptBins[8] = {
40 5, 10, 25, 40, 60, 100, 200, 1000
42 std::pair<Int_t, Double_t *> ptBins(7, Pull_ptBins);
44 ptBins.second, 160, -8, 8);
46 ptBins.second, 160, -8, 8);
48 ptBins.second, 160, -8, 8);
50 ptBins.first, ptBins.second, 160, -8, 8);
52 ptBins.first, ptBins.second, 160, -8, 8);
57 const double d0_trk = trkprt.
d0();
58 const double z0_trk = trkprt.
z0();
59 const double phi_trk = trkprt.
phi0();
60 const double theta_trk = trkprt.
theta();
61 const double qoverp_trk = trkprt.
qOverP();
63 #if !defined(ROOTCORE) && defined(STANDALONE)
65 const AmgSymMatrix(5) * locError = trackPer.covariance();
77 const double err_phi =
Amg::error(locError, 2);
78 const double err_theta =
Amg::error(locError, 3);
79 const double err_qoverp =
Amg::error(locError, 4);
82 const double d0_truth = 0;
83 const double phi_truth = truthprt.
phi();
84 const double theta_truth = 2 *
atan(
exp(-truthprt.
eta()));
85 const double qoverp_truth = truthprt.
charge() / (truthprt.
pt() * cosh(truthprt.
eta()));
86 const double pt_truth = truthprt.
pt() / 1000.;
88 const double d0_pull = (d0_trk - d0_truth) / err_d0;
89 const double phi_pull = (phi_trk - phi_truth) / err_phi;
90 const double theta_pull = (theta_trk - theta_truth) / err_theta;
91 const double qoverp_pull = (qoverp_trk - qoverp_truth) / err_qoverp;
94 const double z0_truth = truthprt.
prodVtx()->
z() - trkprt.
vz();
95 const double z0_pull = (z0_trk - z0_truth) / err_z0;