18 PlotBase* pParent,
const std::string& sDir,
bool doBinnedResolutionPlots,
19 std::vector<int> selPlots)
24 if (selPlots.empty()) {
25 for (unsigned int i = 0; i < MAX_TRUTHRELATEDPLOTCLASS; i++) {
26 m_selPlots.push_back(i);
29 m_selPlots = std::move(selPlots);
32 for (
auto p : m_selPlots) {
35 m_oMatchedPlots = std::make_unique<Trk::ParamPlots>(
36 this,
"/kinematics/",
"Matched Muons");
39 m_oMatchedRecoPlots = std::make_unique<Trk::ParamPlots>(
40 this,
"/kinematicsReco/",
"Matched Muons");
44 std::make_unique<Trk::MSHitDiffPlots>(
this,
"/hits/");
47 m_oMuonHitDiffSummaryPlots =
48 std::make_unique<Muon::MuonHitDiffSummaryPlots>(
this,
52 m_oMuonTruthHitPlots =
53 std::make_unique<Muon::MuonTruthHitPlots>(
this,
57 m_oMuonResolutionPlots =
58 std::make_unique<Muon::MuonResolutionPlots>(
59 this,
"/resolution/",
"", doBinnedResolutionPlots);
62 m_oDefParamPullPlots = std::make_unique<Trk::DefParamPullPlots>(
66 m_oMomentumTruthPullPlots_Tail =
67 std::make_unique<Muon::MomentumTruthPullPlots>(
68 this,
"/momentumPulls/",
"Tail");
71 m_oMomentumTruthPullPlots_NoTail =
72 std::make_unique<Muon::MomentumTruthPullPlots>(
73 this,
"/momentumPulls/",
"NoTail");
76 m_oMatchedRecoElossPlots =
77 std::make_unique<Muon::MuonParamElossPlots>(
this,
83TruthRelatedMuonPlotOrganizer::~TruthRelatedMuonPlotOrganizer() =
default;
105 mu.trackParticle(xAOD::Muon::Primary);
146 extrapLinkAcc(
"extrapolatedMuonSpectrometerTrackParticleLink");
147 if (extrapLinkAcc.isAvailable(mu) && extrapLinkAcc(mu).
isValid()) {
153 msTrk = mu.trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle);
157 mu.trackParticleLink(xAOD::Muon::MuonSpectrometerTrackParticle);
159 "truthParticleLink");
160 if (msExtrapTrkLink.
isValid()) {
164 if (truthParticleLinkAcc.
isAvailable(**msExtrapTrkLink)) {
165 truthLink_muTrk = truthParticleLinkAcc(**msExtrapTrkLink);
167 if (truthLink_muTrk.
isValid()) {
168 for (
const auto trk : *MSTracks) {
171 truthLink_msTrk = truthParticleLinkAcc(*trk);
172 if (truthLink_msTrk.
isValid()) {
173 if (truthLink_msTrk == truthLink_muTrk) {
185 if (mu.parameter(eloss, xAOD::Muon::EnergyLoss)) {
186 if (mu.energyLossType() !=
bool isValid() const
Test to see if the link can be dereferenced.
Helper class to provide constant type-safe access to aux data.
ElementLink implementation for ROOT usage.
bool isValid() const
Check if the element can be found.
PlotBase(PlotBase *parent, std::string_view sDir)
Helper class to provide constant type-safe access to aux data.
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TruthParticle_v1 TruthParticle
Typedef to implementation.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
Muon_v1 Muon
Reference the current persistent version: