ATLAS Offline Software
Loading...
Searching...
No Matches
MSHitPlots.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
8
9namespace Trk {
10 MSHitPlots::MSHitPlots(PlotBase *pParent, const std::string& sDir) :
11 PlotBase(pParent, sDir),
12 nprecLayers(this, "nprecLayers", "Precision Layers", 0, 10),
13 nphiLayers(this, "nphiLayers", "Phi Layers", 0, 10),
14 ntrigEtaLayers(this, "ntrigEtaLayers", "Eta Trigger Layers", 0, 10) {
15 }
16
17 void
23
24 void
25 MSHitPlots::fill(const xAOD::TruthParticle &truthprt,float weight) {
26 fillPlot(nprecLayers, "nprecLayers", truthprt, weight);
27 fillPlot(nphiLayers, "nphiLayers", truthprt, weight);
28 fillPlot(ntrigEtaLayers, "ntrigEtaLayers", truthprt, weight);
29 }
30
31 void
32 MSHitPlots::fillPlot(HitTypePlots &hitPlots, xAOD::SummaryType info, const xAOD::TrackParticle &trkprt, float weight) {
33 uint8_t hitval = 0;
34
35 if (!trkprt.summaryValue(hitval, info)) {
36 return;
37 }
38 hitPlots.fill(hitval, trkprt.eta(), trkprt.phi(), weight);
39 }
40
41 void
42 MSHitPlots::fillPlot(HitTypePlots &hitPlots, const std::string &sInfo, const xAOD::TruthParticle &truthprt, float weight) {
43 SG::ConstAccessor<uint8_t> infoAcc (sInfo);
44 if (!infoAcc.isAvailable (truthprt)) {
45 return;
46 }
47 hitPlots.fill(infoAcc(truthprt), truthprt.eta(), truthprt.phi(), weight);
48 }
49}
Helper class to provide constant type-safe access to aux data.
PlotBase(PlotBase *parent, const std::string &sDir)
Definition PlotBase.cxx:29
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.
void fill(int iHits, float fEta, float fPhi, float weight=1.0)
Trk::HitTypePlots nprecLayers
Definition MSHitPlots.h:24
static void fillPlot(HitTypePlots &hitPlots, const std::string &sInfo, const xAOD::TruthParticle &truthprt, float weight=1.0)
void fill(const xAOD::TrackParticle &trkprt, float weight=1.0)
Trk::HitTypePlots nphiLayers
Definition MSHitPlots.h:25
MSHitPlots(PlotBase *pParent, const std::string &sDir)
Trk::HitTypePlots ntrigEtaLayers
Definition MSHitPlots.h:26
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
Ensure that the ATLAS eigen extensions are properly loaded.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TruthParticle_v1 TruthParticle
Typedef to implementation.
SummaryType
Enumerates the different types of information stored in Summary.
@ numberOfPrecisionLayers
layers with at least 3 hits [unit8_t].
@ numberOfTriggerEtaLayers
layers with trigger eta hits [unit8_t].
@ numberOfPhiLayers
layers with a trigger phi hit [unit8_t].