14 m_CaloEntry(this,
"",
"CaloEntry"),
15 m_MuonEntry(this,
"",
"MuonEntry"),
16 m_MuonExit(this,
"",
"MuonExit")
41 m_sLayerName(std::move(sLayerName)),
42 p{},
px{},
py{},
pz{},p_extr{},px_extr{},py_extr{},pz_extr{},dp_truth{},dpx_truth{},dpy_truth{},dpz_truth{},
89 TVector3
vec(pxAcc(truthprt), pyAcc(truthprt), pzAcc(truthprt));
101 vec_extr.SetXYZ(px_extrAcc(truthprt), py_extrAcc(truthprt), pz_extrAcc(truthprt));
123 m_sRegionBegin(std::move(sRegionBegin)),
124 m_sRegionEnd(std::move(sRegionEnd)),
125 dp{},dpt{},dpx{},dpy{},dpz{},dp_extr{},dpx_extr{},dpy_extr{},dpz_extr{},
126 dp_vs_p{},dp_vs_phi{},dp_vs_eta{},dp_vs_eta_phi{},p_vs_p{},p_extr_vs_p_extr{},dp_extr_vs_eta{},
127 dR{},dR_vs_p{},dR_vs_dp{},dR_vs_eta{},dR_vs_phi{},dR_vs_eta_phi{},dphi{},dtheta{},dAngle{},
128 dp_CaloEntry_IP_dp_CaloEntry_etxr{} {
138 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in truth p: p_{begin} vs p_{end}; #Delta p=p_{begin}-p_{end} [GeV];Entries / 0.5 GeV", 80, -20.,
141 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in truth pt;#Delta pt=pt_{begin}-pt_{end} [GeV];Entries / 0.5 GeV", 80, -20.,
144 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in truth px;#Delta px=px_{begin}-px_{end} [GeV];Entries / 0.5 GeV", 80, -20.,
147 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in truth py;#Delta py=py_{begin}-py_{end} [GeV];Entries / 0.5 GeV", 80, -20.,
150 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in truth pz;#Delta pz=pz_{begin}-pz_{end} [GeV];Entries / 0.5 GeV", 80, -20.,
157 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in truth p, extrapolated from IP to current layer; #Delta p=p_extr_{begin}-p_extr_{end} [GeV];Entries / 0.5 GeV", 80, -20.,
160 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in truth px, extrapolated from IP to current layer; #Delta px=px_extr_{begin}-px_extr_{end} [GeV];Entries / 0.5 GeV", 80, -20.,
163 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in truth py, extrapolated from IP to current layer; #Delta py=py_extr_{begin}-py_extr_{end} [GeV];Entries / 0.5 GeV", 80, -20.,
166 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in truth pz, extrapolated from IP to current layer; #Delta pz=pz_extr_{begin}-pz_extr_{end} [GeV];Entries / 0.5 GeV", 80, -20.,
171 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in p (#Delta p=p_{begin}-p_{end}) vs p_{begin};p_{begin} [GeV];#Delta p=p_{begin}-p_{end} [GeV]", 250, 0., 250., 80, 0.,
174 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in p(#Delta p=p_{begin}-p_{end}) vs phi_{begin};phi_{begin};#Delta p=p_{begin}-p_{end} [GeV]", 128, -3.2, 3.2, 80, 0.,
177 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in p(#Delta p=p_{begin}-p_{end}) vs eta_{begin};#eta_{begin};#Delta p=p_{begin}-p_{end} [GeV]", 128, -3.2, 3.2, 80, 0.,
181 250, 0., 250, 250, 0., 250);
183 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" p_{begin extr} vs p_{end extr};p_{begin extr} [GeV]; p_{end extr} [GeV]", 250, 0., 250, 250, 0.,
186 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" difference in p_{extr}(#Delta p_{extr}=p_{begin extr}-p_{end extr}) vs eta_{begin};#eta__{begin};#Delta p_{extr}=p_{begin extr}-p_{end extr} [GeV]", 128, -3.2, 3.2, 80, 0.,
191 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" sum of bin entries: difference in p(#Delta p=p_{begin}-p_{end}) vs eta_{begin} and phi_{begin};#eta__{begin};#phi__{begin};#Delta p=p_{begin}-p_{end} [GeV]", 128, -3.2, 3.2, 128, -3.2,
196 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" dR between the two positions in the detector;pt_{begin}->dR(pt_{end});Entries / 0.05", 100, 0.,
201 250, 0., 250, 100, 0., 0.5);
203 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" dR vs difference in p;#Delta p=p_{begin}-p_{end} [GeV];p_{begin}->dR(p_{end})", 80, 0., 20, 100, 0.,
207 -3.2, 3.2, 100, 0., 0.5);
210 -3.2, 3.2, 100, 0., 0.5);
212 m_sRegionBegin +
" vs " +
m_sRegionEnd +
" sum of bin entries: dR vs eta and phi;#eta_{begin};#phi_{begin};#DeltaR", 128, -3.2, 3.2, 128, -3.2,
243 TVector3 vecDetBegin(pxBeginAcc(truthprt), pyBeginAcc(truthprt), pzBeginAcc(truthprt));
244 TVector3 vecDetEnd(pxEndAcc(truthprt), pyEndAcc(truthprt), pzEndAcc(truthprt));
248 TVector3 vecDetBegin_extr;
249 if (!sDetBegin.empty()) {
259 vecDetBegin_extr.SetXYZ(px_extrAcc(truthprt), py_extrAcc(truthprt), pz_extrAcc(truthprt));
261 vecDetBegin_extr = vecDetBegin;
264 TVector3 vecDetEnd_extr;
265 if (!sDetEnd.empty()) {
275 vecDetEnd_extr.SetXYZ(px_extrAcc(truthprt), py_extrAcc(truthprt), pz_extrAcc(truthprt));
277 vecDetEnd_extr = vecDetEnd;
280 dp->Fill((vecDetBegin.Mag() - vecDetEnd.Mag()) * 0.001,
weight);
281 dpt->Fill((vecDetBegin.Perp() - vecDetEnd.Perp()) * 0.001,
weight);
282 dpx->Fill((vecDetBegin.Px() - vecDetEnd.Px()) * 0.001,
weight);
283 dpy->Fill((vecDetBegin.Py() - vecDetEnd.Py()) * 0.001,
weight);
284 dpz->Fill((vecDetBegin.Pz() - vecDetEnd.Pz()) * 0.001,
weight);
285 dp_extr->Fill((vecDetBegin_extr.Mag() - vecDetEnd_extr.Mag()) * 0.001,
weight);
286 dpx_extr->Fill((vecDetBegin_extr.Px() - vecDetEnd_extr.Px()) * 0.001,
weight);
287 dpy_extr->Fill((vecDetBegin_extr.Py() - vecDetEnd_extr.Py()) * 0.001,
weight);
288 dpz_extr->Fill((vecDetBegin_extr.Pz() - vecDetEnd_extr.Pz()) * 0.001,
weight);
290 dp_vs_p->Fill(vecDetBegin.Mag() * 0.001, (vecDetBegin.Mag() - vecDetEnd.Mag()) * 0.001,
weight);
291 dp_vs_phi->Fill(vecDetBegin.Phi(), (vecDetBegin.Mag() - vecDetEnd.Mag()) * 0.001,
weight);
292 dp_vs_eta->Fill(vecDetBegin.Eta(), (vecDetBegin.Mag() - vecDetEnd.Mag()) * 0.001,
weight);
294 dp_vs_eta_phi->Fill(vecDetBegin.Eta(), vecDetBegin.Phi(), (vecDetBegin.Mag() - vecDetEnd.Mag()) * 0.001);
295 p_vs_p->Fill(vecDetBegin.Mag() * 0.001, vecDetEnd.Mag() * 0.001,
weight);
297 dp_extr_vs_eta->Fill(vecDetBegin_extr.Eta(), (vecDetBegin_extr.Mag() - vecDetEnd_extr.Mag()) * 0.001,
weight);
300 dR->Fill(vecDetBegin.DeltaR(vecDetEnd),
weight);
302 dR_vs_p->Fill(vecDetBegin.Mag() * 0.001, vecDetBegin.DeltaR(vecDetEnd),
weight);
303 dR_vs_dp->Fill((vecDetBegin.Mag() - vecDetEnd.Mag()) * 0.001, vecDetBegin.DeltaR(vecDetEnd),
weight);
304 dR_vs_eta->Fill(vecDetBegin.Eta(), vecDetBegin.DeltaR(vecDetEnd),
weight);
305 dR_vs_phi->Fill(vecDetBegin.Phi(), vecDetBegin.DeltaR(vecDetEnd),
weight);
307 dR_vs_eta_phi->Fill(vecDetBegin.Eta(), vecDetBegin.Phi(), vecDetBegin.DeltaR(vecDetEnd) );
309 dphi->Fill(vecDetBegin.DeltaPhi(vecDetEnd),
weight);
310 dtheta->Fill(vecDetBegin.Theta() - vecDetEnd.Theta(),
weight);