ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::MuonSegmentPlots Class Reference

#include <MuonSegmentPlots.h>

Inheritance diagram for Muon::MuonSegmentPlots:
Collaboration diagram for Muon::MuonSegmentPlots:

Public Member Functions

 MuonSegmentPlots (PlotBase *pParent, const std::string &sDir)
 ~MuonSegmentPlots ()
void fill (const xAOD::MuonSegment &muonSeg, float weight=1.0)
void initialize ()
void finalize ()
void setDetailLevel (int iDetailLevel)
void RegisterSubPlot (PlotBase *pPlotBase)
std::vector< HistDataretrieveBookedHistograms ()
 Retrieve all booked histograms.
std::vector< TreeDataretrieveBookedTrees ()
 Retrieve all booked trees.
std::vector< EfficiencyDataretrieveBookedEfficiencies ()
 Retrieve all booked efficiency objects.
TTree * BookTree (std::string_view name, bool prependDir=true)
 Book a TTree.
const std::string & getDirectory ()
Methods to book monitoring histograms

Note: methods starting with capitals should be deprecated in favour of camel-cased methods

TH1D * Book1D (std::string_view name, std::string_view labels, int nBins, float start, float end, bool prependDir=true)
 Book a TH1D histogram.
TH1D * Book1D (std::string_view name, TH1 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH1D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (std::string_view name, std::string_view labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
 Book a TH2F histogram.
TH2F * Book2D (std::string_view name, TH2 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH2D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (std::string_view name, std::string_view labels, int nBinsX, Double_t *binsX, int nBinsY, Double_t startY, Double_t endY, bool prependDir=true)
 Book a TH2F histogram with variable x axis binning.
TH3F * Book3D (std::string_view name, std::string_view labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, int nBinsZ, float startZ, float endZ, bool prependDir=true)
 Book a TH3F histogram.
TH3F * Book3D (std::string_view name, TH3 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH3F histogram using refHist as reference for number of bins and axis range.
TProfile * BookTProfile (std::string_view name, std::string_view labels, int nBinsX, float startX, float endX, float startY=-1, float endY=-1, bool prependDir=true, bool useRMS=false)
 Book a TProfile histogram.
TProfile * BookTProfile (std::string_view name, std::string_view labels, int nBinsX, float *binsX, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis.
TProfile * BookTProfileRangeY (std::string_view name, std::string_view labels, int nBinsX, double *binsX, double startY, double endY, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis and limits in y-values.
TProfile2D * BookTProfile2D (std::string_view name, std::string_view labels, const int nBinsX, const double xlo, const double xhi, const int nBinsY, const double ylo, const double yhi, bool prependDir=true, bool useRMS=false)
 Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
TProfile2D * BookTProfile2D (std::string_view name, std::string_view labels, const int nBinsX, double *binsX, const int nBinsY, double *binsY, bool prependDir=true, bool useRMS=false)
 Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
TEfficiency * BookTEfficiency (std::string_view name, std::string_view labels, const int nBinsX, const float xlo, const float xhi, const bool prependDir=true)
 Book a (1-D) TEfficiency histogram.
TEfficiency * BookTEfficiency (std::string_view name, std::string_view labels, const int nBinsX, const float xlo, const float xhi, const int nBinsy, const float ylo, const float yhi, const bool prependDir=true)
 Book a (2-D) TEfficiency histogram.

Public Attributes

TH1 * segmentfitChi2 {nullptr}
TH1 * segmentfitNdof {nullptr}
TH1 * segmentfitChi2oNdof {nullptr}
TH1 * t0 {nullptr}
TH1 * t0_top {nullptr}
TH1 * t0_bottom {nullptr}
TH1 * t0err {nullptr}
TH1 * t0err_top {nullptr}
TH1 * t0err_bottom {nullptr}
TH1 * nPrecisionHits {nullptr}
TH1 * nPhiLayers {nullptr}
TH1 * nTrigEtaLayers {nullptr}
TH2 * nPrecisionHits_nTriggerHits {nullptr}
TH1 * etaIndex {nullptr}
TH1 * sector {nullptr}
TH2 * xypos_barrel {nullptr}
TH2 * xypos_endcap {nullptr}
TH2 * rzpos_sectorSmall {nullptr}
TH2 * rzpos_sectorLarge {nullptr}
TH1 * etadir {nullptr}
TH1 * etadir_barrel {nullptr}
TH1 * etadir_endcap {nullptr}
TH1 * phidir {nullptr}
TH1 * etaphidir {nullptr}
TH1 * chamberIndex {nullptr}
TH2 * chamberIndex_perSector {nullptr}
TH2 * eff_chamberIndex_perSector_numerator {nullptr}
TH2 * eff_chamberIndex_perSector_denominator {nullptr}
TH2 * eff_chamberIndex_perSector {nullptr}
std::vector< TH2 * > sector_etaIndex
std::vector< TH2 * > sector_etaIndex_nPrechit
std::vector< TH2 * > sector_etaIndex_nTrighit
std::vector< TH2 * > eff_sector_etaIndex_nPrechit
std::vector< TH2 * > eff_sector_etaIndex_nTrighit

Static Public Attributes

static constexpr std::array< float, 17 > Chamberarea
static constexpr std::array< float, 17 > Chamberexpectedhits
static constexpr std::array< float, 17 > Chamberexpectedtrighits

Protected Attributes

std::vector< PlotBase * > m_vSubNodes
std::vector< HistDatam_vBookedHistograms
std::vector< TreeDatam_vBookedTrees
std::vector< EfficiencyDatam_vBookedEfficiencies
std::string m_sDirectory
int m_iDetailLevel

Private Member Functions

virtual void initializePlots ()
virtual void finalizePlots ()

Static Private Member Functions

static std::string constructPrefix (std::string dir, bool prependDir)

Detailed Description

Definition at line 18 of file MuonSegmentPlots.h.

Constructor & Destructor Documentation

◆ MuonSegmentPlots()

Muon::MuonSegmentPlots::MuonSegmentPlots ( PlotBase * pParent,
const std::string & sDir )

Definition at line 18 of file MuonSegmentPlots.cxx.

19 : PlotBase(pParent, sDir) {
20
21 // booking histograms
23 "segmentfitChi2", "Segment fit #chi^{2};#chi^{2};Entries", 100, 0, 200);
24 segmentfitNdof = Book1D("segmentfitNdof",
25 "Segment fit N_{dof};N_{dof};Entries", 100, 0, 20);
27 "segmentfitChi2oNdof",
28 "Segment fit #chi^{2}/N_{dof};Segment fit #chi^{2}/N_{dof};Entries",
29 100, 0, 20);
30
31 t0 = Book1D("t0", "Segment Refit t_{0};t_{0};Entries", 100, -25, 25);
32 t0_top = Book1D("t0_top", "Segment Refit t_{0} for y>0;t_{0};Entries", 100,
33 -25, 25);
34 t0_bottom = Book1D("t0_bottom", "Segment Refit t_{0} for y<0;t_{0};Entries",
35 100, -25, 25);
36 t0err = Book1D("t0err", "Segment Refit t_{0} error;t_{0} error;Entries",
37 100, 0, 10);
38 t0err_top = Book1D("t0err_top",
39 "Segment Refit t_{0} error for y>0;t_{0} error;Entries",
40 100, 0, 10);
42 "t0err_bottom", "Segment Refit t_{0} error for y<0;t_{0} error;Entries",
43 100, 0, 10);
44
45 nPrecisionHits = Book1D("nPrecisionHits",
46 "Segment precision hits;hits;Entries", 20, 0, 20);
47 nPhiLayers = Book1D("nPhiLayers", "Segment phi layers;#phi layers;Entries",
48 10, 0, 10);
50 "nTrigEtaLayers",
51 "Segment eta trigger layers;#eta trigger layers;Entries", 10, 0, 10);
53 "nPrecisionHits_nTriggerHits",
54 "Number of MDT hits vs Tigger station hits; MDT hits; Trigger hits", 20,
55 -0.5, 19.5, 20, -0.5, 19.5);
56
57 etaIndex = Book1D("etaIndex", "Segment #eta Index ;#eta index;Entries", 21,
58 -10.5, 10.5);
59 sector = Book1D("sector", "Segment phi sector;#phi sector;Entries", 16, 0.5,
60 16.5);
61
63 Book2D("xypos_barrel", "Segment position x-y, barrel;x_{pos};y_{pos}",
64 150, -14000, 14000, 150, -14000, 14000);
66 Book2D("xypos_endcap", "Segment position x-y, endcap;x_{pos};y_{pos}",
67 150, -14000, 14000, 150, -14000, 14000);
68 rzpos_sectorLarge = Book2D("rzpos_sectorLarge",
69 "Segment position r-z, large sectors normalized "
70 "by solid angle;z_{pos};r_{pos}",
71 100, -23000, 23000, 75, 0, 14000);
72
73 rzpos_sectorSmall = Book2D("rzpos_sectorSmall",
74 "Segment position r-z, small sectors normalized "
75 "by solid angle;z_{pos};r_{pos}",
76 100, -23000, 23000, 75, 0, 14000);
77
78 etadir =
79 Book1D("etadir", "Segment pointing direction eta;#eta_{dir};Entries",
80 100, -5, 5);
82 Book1D("etadir_barrel",
83 "Segment pointing direction eta, barrel;#eta_{dir};Entries", 100,
84 -5, 5);
86 Book1D("etadir_endcap",
87 "Segment pointing direction eta, endcap;#eta_{dir};Entries", 100,
88 -5, 5);
89 phidir =
90 Book1D("phidir", "Segment pointing direction phi;#phi_{dir};Entries",
91 64, -3.2, 3.2);
92 etaphidir =
93 Book2D("etaphidir",
94 "Segment pointing direction phi vs eta;#eta_{dir};#phi_{dir}",
95 64, -3.2, 3.2, 64, -3.2, 3.2);
96
97 chamberIndex = Book1D("chamberIndex", "Chamber index; Chamber Index",
98 chIdxMax, 0, chIdxMax);
100 Book2D("chamberIndex_perSector",
101 "Number of Segments per Chamber, normalized by solid angle; "
102 "Sector; Chamber Index ",
103 33, -16.5, 16.5, chIdxMax, 0, chIdxMax);
105 Book2D("eff_chamberIndex_perSector_numerator",
106 "Number of expected hits for Segments per Chamber; Sector; "
107 "Chamber Index ",
108 33, -16.5, 16.5, chIdxMax, 0, chIdxMax);
110 Book2D("eff_chamberIndex_perSector_denominator",
111 "Number of recorded precision hits for Segments per Chamber; "
112 "Sector; Chamber Index ",
113 33, -16.5, 16.5, chIdxMax, 0, chIdxMax);
115 "eff_chamberIndex_perSector",
116 "precision layer hit efficiency per chamber; Sector; Chamber Index ",
117 33, -16.5, 16.5, chIdxMax, 0, chIdxMax);
118 // chamberIndex_dtheta = Book2D("chamberIndex_dtheta","Segment #Delta#theta
119 // between position and momentum; #Delta#theta; Chamber Index ", 180,
120 // -90.0, 90.0, chIdxMax,0,chIdxMax);
121 for (int i = 1; i <= chamberIndex->GetXaxis()->GetNbins(); i++) {
122 const char* temp_chambername =
124 chamberIndex->GetBinLowEdge(i)))
125 .c_str();
126 chamberIndex->GetXaxis()->SetBinLabel(i, temp_chambername);
127 chamberIndex_perSector->GetYaxis()->SetBinLabel(i, temp_chambername);
128 eff_chamberIndex_perSector_numerator->GetYaxis()->SetBinLabel(
129 i, temp_chambername);
130 eff_chamberIndex_perSector_denominator->GetYaxis()->SetBinLabel(
131 i, temp_chambername);
132 eff_chamberIndex_perSector->GetYaxis()->SetBinLabel(i,
133 temp_chambername);
134
135 sector_etaIndex.push_back(
136 Book2D(Form("%s_etastation", temp_chambername),
137 Form("Number of Segment in %s; #phi Sector; #eta Index",
138 temp_chambername),
139 18, -0.5, 17.5, 19, -9.5, 9.5));
141 Form("%s_etastation_nPrechit", temp_chambername),
142 Form("Number of Segment Prec hit in %s; #phi Sector; #eta Index",
143 temp_chambername),
144 18, -0.5, 17.5, 19, -9.5, 9.5));
145 sector_etaIndex_nTrighit.push_back(
146 Book2D(Form("%s_etastation_nTrighit", temp_chambername),
147 Form("Number of Segment Phi + Trigeta hit in %s; #phi "
148 "Sector; #eta Index",
149 temp_chambername),
150 18, -0.5, 17.5, 19, -9.5, 9.5));
152 Book2D(Form("eff_%s_etastation_nPrechit", temp_chambername),
153 Form("Segment Prec hit eff in %s; #phi Sector; #eta Index",
154 temp_chambername),
155 18, -0.5, 17.5, 19, -9.5, 9.5));
157 Form("eff_%s_etastation_nTrighit", temp_chambername),
158 Form("Segment Phi + Trigeta hit eff in %s; #phi Sector; #eta Index",
159 temp_chambername),
160 18, -0.5, 17.5, 19, -9.5, 9.5));
161 }
162}
std::vector< TH2 * > sector_etaIndex
std::vector< TH2 * > eff_sector_etaIndex_nTrighit
std::vector< TH2 * > sector_etaIndex_nPrechit
std::vector< TH2 * > eff_sector_etaIndex_nPrechit
std::vector< TH2 * > sector_etaIndex_nTrighit
TH1D * Book1D(std::string_view name, std::string_view labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition PlotBase.cxx:94
PlotBase(PlotBase *parent, std::string_view sDir)
Definition PlotBase.cxx:29
TH2F * Book2D(std::string_view name, std::string_view labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
Book a TH2F histogram.
Definition PlotBase.cxx:123
const std::string & chName(ChIndex index)
convert ChIndex into a string
ChIndex
enum to classify the different chamber layers in the muon spectrometer
constexpr int chIdxMax

◆ ~MuonSegmentPlots()

Muon::MuonSegmentPlots::~MuonSegmentPlots ( )
default

Member Function Documentation

◆ Book1D() [1/2]

TH1D * PlotBase::Book1D ( std::string_view name,
std::string_view labels,
int nBins,
float start,
float end,
bool prependDir = true )
inherited

Book a TH1D histogram.

Definition at line 94 of file PlotBase.cxx.

95 {
96 std::string prefix = constructPrefix(m_sDirectory, prependDir);
97 Bool_t oldstat = TH1::AddDirectoryStatus();
98 TH1::AddDirectory(false);
99 TH1D *hist = new TH1D(prefix.append(name).c_str(), labels.data(), nBins, start, end);
100 TH1::AddDirectory(oldstat);
101
102 hist->Sumw2();
103 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
104 return hist;
105}
static std::string constructPrefix(std::string dir, bool prependDir)
Definition PlotBase.cxx:289
std::vector< HistData > m_vBookedHistograms
Definition PlotBase.h:98
std::string m_sDirectory
Definition PlotBase.h:101

◆ Book1D() [2/2]

TH1D * PlotBase::Book1D ( std::string_view name,
TH1 * refHist,
std::string_view labels,
bool prependDir = true )
inherited

Book a TH1D histogram using refHist as reference for number of bins and axis range.

Definition at line 108 of file PlotBase.cxx.

108 {
109 std::string prefix = constructPrefix(m_sDirectory, prependDir);
110 Bool_t oldstat = TH1::AddDirectoryStatus();
111 TH1::AddDirectory(false);
112 TH1D *hist = new TH1D(prefix.append(name).c_str(), labels.data(), refHist->GetNbinsX(),
113 refHist->GetXaxis()->GetXbins()->GetArray());
114 hist->Sumw2();
115 TH1::AddDirectory(oldstat);
116
117
118 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
119 return hist;
120}

◆ Book2D() [1/3]

TH2F * PlotBase::Book2D ( std::string_view name,
std::string_view labels,
int nBinsX,
Double_t * binsX,
int nBinsY,
Double_t startY,
Double_t endY,
bool prependDir = true )
inherited

Book a TH2F histogram with variable x axis binning.

Definition at line 144 of file PlotBase.cxx.

145 {
146 std::string prefix = constructPrefix(m_sDirectory, prependDir);
147 Bool_t oldstat = TH2::AddDirectoryStatus();
148 TH2::AddDirectory(false);
149 TH2F *hist = new TH2F(prefix.append(name).c_str(), labels.data(), nBinsX, binsX, nBinsY, startY, endY);
150 hist->Sumw2();
151 TH2::AddDirectory(oldstat);
152 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
153 return hist;
154}
TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)

◆ Book2D() [2/3]

TH2F * PlotBase::Book2D ( std::string_view name,
std::string_view labels,
int nBinsX,
float startX,
float endX,
int nBinsY,
float startY,
float endY,
bool prependDir = true )
inherited

Book a TH2F histogram.

Definition at line 123 of file PlotBase.cxx.

124 {
125 std::string prefix = constructPrefix(m_sDirectory, prependDir);
126 Bool_t oldstat = TH2::AddDirectoryStatus();
127 TH2::AddDirectory(false);
128 TH2F *hist = new TH2F(prefix.append(name).c_str(), labels.data(), nBinsX, startX, endX, nBinsY, startY, endY);
129 hist->Sumw2();
130 TH2::AddDirectory(oldstat);
131
132
133 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
134 return hist;
135}

◆ Book2D() [3/3]

TH2F * PlotBase::Book2D ( std::string_view name,
TH2 * refHist,
std::string_view labels,
bool prependDir = true )
inherited

Book a TH2D histogram using refHist as reference for number of bins and axis range.

Definition at line 138 of file PlotBase.cxx.

138 {
139 return Book2D(name, labels, refHist->GetNbinsX(), refHist->GetXaxis()->GetXmin(), refHist->GetXaxis()->GetXmax(),
140 refHist->GetNbinsY(), refHist->GetYaxis()->GetXmin(), refHist->GetYaxis()->GetXmax(), prependDir);
141}

◆ Book3D() [1/2]

TH3F * PlotBase::Book3D ( std::string_view name,
std::string_view labels,
int nBinsX,
float startX,
float endX,
int nBinsY,
float startY,
float endY,
int nBinsZ,
float startZ,
float endZ,
bool prependDir = true )
inherited

Book a TH3F histogram.

Definition at line 157 of file PlotBase.cxx.

158 {
159 std::string prefix = constructPrefix(m_sDirectory, prependDir);
160 Bool_t oldstat = TH3::AddDirectoryStatus();
161 TH3::AddDirectory(false);
162 TH3F *hist = new TH3F(prefix.append(name).c_str(),
163 labels.data(), nBinsX, startX, endX, nBinsY, startY, endY, nBinsZ, startZ, endZ);
164 hist->Sumw2();
165 TH3::AddDirectory(oldstat);
166 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
167 return hist;
168}

◆ Book3D() [2/2]

TH3F * PlotBase::Book3D ( std::string_view name,
TH3 * refHist,
std::string_view labels,
bool prependDir = true )
inherited

Book a TH3F histogram using refHist as reference for number of bins and axis range.

Definition at line 171 of file PlotBase.cxx.

171 {
172 std::string prefix = constructPrefix(m_sDirectory, prependDir);
173 Bool_t oldstat = TH3::AddDirectoryStatus();
174 TH3::AddDirectory(false);
175 TH3F *hist = new TH3F(prefix.append(name).c_str(), labels.data(), refHist->GetNbinsX(),
176 refHist->GetXaxis()->GetXbins()->GetArray(), refHist->GetNbinsY(),
177 refHist->GetYaxis()->GetXbins()->GetArray(), refHist->GetNbinsZ(),
178 refHist->GetZaxis()->GetXbins()->GetArray());
179 TH3::AddDirectory(oldstat);
180
181 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
182 return hist;
183}

◆ BookTEfficiency() [1/2]

TEfficiency * PlotBase::BookTEfficiency ( std::string_view name,
std::string_view labels,
const int nBinsX,
const float xlo,
const float xhi,
const bool prependDir = true )
inherited

Book a (1-D) TEfficiency histogram.

Definition at line 257 of file PlotBase.cxx.

257 {
258 std::string prefix = constructPrefix(m_sDirectory, prependDir);
259 TEfficiency *hist = new TEfficiency(prefix.append(name).c_str(), labels.data(), nBinsX, xlo, xhi);
260 hist->SetDirectory(nullptr);
261 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
262 return hist;
263}
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition PlotBase.h:100

◆ BookTEfficiency() [2/2]

TEfficiency * PlotBase::BookTEfficiency ( std::string_view name,
std::string_view labels,
const int nBinsX,
const float xlo,
const float xhi,
const int nBinsy,
const float ylo,
const float yhi,
const bool prependDir = true )
inherited

Book a (2-D) TEfficiency histogram.

Definition at line 266 of file PlotBase.cxx.

266 {
267 std::string prefix = constructPrefix(m_sDirectory, prependDir);
268
269 TEfficiency *hist = new TEfficiency(prefix.append(name).c_str(), labels.data(), nBinsX, xlo, xhi, nBinsY, ylo, yhi);
270 hist->SetDirectory(nullptr);
271 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
272
273 return hist;
274}

◆ BookTProfile() [1/2]

TProfile * PlotBase::BookTProfile ( std::string_view name,
std::string_view labels,
int nBinsX,
float * binsX,
bool prependDir = true )
inherited

Book a TProfile histogram with variable binning in x-axis.

Definition at line 204 of file PlotBase.cxx.

204 {
205 std::string prefix = constructPrefix(m_sDirectory, prependDir);
206 TProfile *hist(nullptr);
207 Bool_t oldstat = TProfile::AddDirectoryStatus();
208 TProfile::AddDirectory(false);
209
210 hist = new TProfile(prefix.append(name).c_str(), labels.data(), nBinsX, binsX);
211 TProfile::AddDirectory(oldstat);
212 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
213 return hist;
214}

◆ BookTProfile() [2/2]

TProfile * PlotBase::BookTProfile ( std::string_view name,
std::string_view labels,
int nBinsX,
float startX,
float endX,
float startY = -1,
float endY = -1,
bool prependDir = true,
bool useRMS = false )
inherited

Book a TProfile histogram.

Definition at line 186 of file PlotBase.cxx.

187 {
188 std::string prefix = constructPrefix(m_sDirectory, prependDir);
189 TProfile *hist(nullptr);
190 Bool_t oldstat = TProfile::AddDirectoryStatus();
191 TProfile::AddDirectory(false);
192 std::string opt = useRMS ? "S" : "";
193 if ((startY == -1) and (endY == -1)) {
194 hist = new TProfile(prefix.append(name).c_str(), labels.data(), nBinsX, startX, endX, opt.c_str());
195 } else {
196 hist = new TProfile(prefix.append(name).c_str(), labels.data(), nBinsX, startX, endX, startY, endY, opt.c_str());
197 }
198 TProfile::AddDirectory(oldstat);
199 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
200 return hist;
201}

◆ BookTProfile2D() [1/2]

TProfile2D * PlotBase::BookTProfile2D ( std::string_view name,
std::string_view labels,
const int nBinsX,
const double xlo,
const double xhi,
const int nBinsY,
const double ylo,
const double yhi,
bool prependDir = true,
bool useRMS = false )
inherited

Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.

Definition at line 231 of file PlotBase.cxx.

233 {
234 std::string prefix = constructPrefix(m_sDirectory, prependDir);
235 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
236 TProfile2D::AddDirectory(false);
237 std::string opt = useRMS ? "S" : "";
238 TProfile2D *hist = new TProfile2D(prefix.append(name).c_str(), labels.data(), nBinsX, xlo, xhi, nBinsY, ylo, yhi, opt.c_str());
239 TProfile2D::AddDirectory(oldstat);
240 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
241 return hist;
242}

◆ BookTProfile2D() [2/2]

TProfile2D * PlotBase::BookTProfile2D ( std::string_view name,
std::string_view labels,
const int nBinsX,
double * binsX,
const int nBinsY,
double * binsY,
bool prependDir = true,
bool useRMS = false )
inherited

Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.

Definition at line 245 of file PlotBase.cxx.

245 {
246 std::string prefix = constructPrefix(m_sDirectory, prependDir);
247 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
248 TProfile2D::AddDirectory(false);
249 std::string opt = useRMS ? "S" : "";
250 TProfile2D *hist = new TProfile2D(prefix.append(name).c_str(), labels.data(), nBinsX, binsX, nBinsY, binsY, opt.c_str());
251 TProfile2D::AddDirectory(oldstat);
252 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
253 return hist;
254}

◆ BookTProfileRangeY()

TProfile * PlotBase::BookTProfileRangeY ( std::string_view name,
std::string_view labels,
int nBinsX,
double * binsX,
double startY,
double endY,
bool prependDir = true )
inherited

Book a TProfile histogram with variable binning in x-axis and limits in y-values.

Definition at line 217 of file PlotBase.cxx.

218 {
219 std::string prefix = constructPrefix(m_sDirectory, prependDir);
220 TProfile *hist(nullptr);
221 Bool_t oldstat = TProfile::AddDirectoryStatus();
222 TProfile::AddDirectory(false);
223
224 hist = new TProfile(prefix.append(name).c_str(), labels.data(), (Int_t) nBinsX, binsX, startY, endY);
225 TProfile::AddDirectory(oldstat);
226 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
227 return hist;
228}

◆ BookTree()

TTree * PlotBase::BookTree ( std::string_view name,
bool prependDir = true )
inherited

Book a TTree.

Definition at line 277 of file PlotBase.cxx.

277 {
278 std::string prefix = constructPrefix(m_sDirectory, prependDir);
279 TTree *tree = new TTree(prefix.append(name).c_str(), "");
280
281 tree->SetAutoSave(0);
282 tree->SetAutoFlush(0);
283 tree->SetDirectory(nullptr);
284 m_vBookedTrees.emplace_back(tree, m_sDirectory);
285 return tree;
286}
std::vector< TreeData > m_vBookedTrees
Definition PlotBase.h:99
TChain * tree

◆ constructPrefix()

std::string PlotBase::constructPrefix ( std::string dir,
bool prependDir )
staticprivateinherited

Definition at line 289 of file PlotBase.cxx.

289 {
290 if (!prependDir) {
291 return "";
292 }
293 std::replace(dir.begin(), dir.end(), '/', '_');
294 return dir;
295}

◆ fill()

void Muon::MuonSegmentPlots::fill ( const xAOD::MuonSegment & muonSeg,
float weight = 1.0 )

@!!! phi hits not trigger hits (CSC?)

Definition at line 166 of file MuonSegmentPlots.cxx.

166 {
167 float chi2 = muSeg.chiSquared();
168 float ndof = muSeg.numberDoF();
169 segmentfitChi2->Fill(chi2, weight);
170 segmentfitNdof->Fill(ndof, weight);
171 if (ndof > 0) {
172 segmentfitChi2oNdof->Fill(muSeg.chiSquared() / muSeg.numberDoF(),
173 weight);
174 }
175
176 float x = muSeg.x();
177 float y = muSeg.y();
178
179 float segt0 = muSeg.t0();
180 float segt0err = muSeg.t0error();
181
182 t0->Fill(segt0, weight);
183 t0err->Fill(segt0err, weight);
184 if (y > 0) {
185 t0_top->Fill(segt0, weight);
186 t0err_top->Fill(segt0err, weight);
187 } else {
188 t0_bottom->Fill(segt0, weight);
189 t0err_bottom->Fill(segt0err, weight);
190 }
191
192 sector->Fill(muSeg.sector(), weight);
193 etaIndex->Fill(muSeg.etaIndex(), weight);
194
195 nPrecisionHits->Fill(muSeg.nPrecisionHits(), weight);
196 nPhiLayers->Fill(muSeg.nPhiLayers(), weight);
197 nTrigEtaLayers->Fill(muSeg.nTrigEtaLayers(), weight);
198 // not sure how to implement weights here JEF 8/4/2021
200 muSeg.nPrecisionHits(), muSeg.nPhiLayers() + muSeg.nTrigEtaLayers(),
201 weight);
202
203 // not sure how to implement weights here for these chamber/sector Index
204 // plots JEF 8/4/2021
205 int chIndex = static_cast<int>(muSeg.chamberIndex());
206 float chambernorm =
207 1 / Chamberarea[chIndex]; // weight of the segment using the chamber
208 // eta-phi area
209 chamberIndex->Fill(chIndex, weight);
210 int sectorIndex = muSeg.sector();
211 int etaIndex = muSeg.etaIndex();
212 // fill the count of segments; switch the sign here to make the plots
213 if (muSeg.z() < 0) {
214 sectorIndex = -sectorIndex;
215 }
216 chamberIndex_perSector->Fill(sectorIndex, chIndex, chambernorm * weight);
218 sectorIndex, chIndex,
219 weight * ((muSeg.nPrecisionHits() > Chamberexpectedhits[chIndex])
221 : muSeg.nPrecisionHits()));
223 sectorIndex, chIndex, weight * Chamberexpectedhits[chIndex]);
224 // update sector eta index plots; switch the sign back here to make the
225 // plots
226 sectorIndex = muSeg.sector();
227 sector_etaIndex[chIndex]->Fill(sectorIndex,
228 etaIndex); // for weighted average
229 // double currentfill =
230 // sector_etaIndex[chIndex]->GetBinContent(sector_etaIndex[chIndex]->GetXaxis()->FindBin(sectorIndex),
231 // sector_etaIndex[chIndex]->GetYaxis()->FindBin(etaIndex));
232 sector_etaIndex_nPrechit[chIndex]->Fill(sectorIndex, etaIndex,
233 weight * muSeg.nPrecisionHits());
235 sectorIndex, etaIndex,
236 weight * (muSeg.nPhiLayers() + muSeg.nTrigEtaLayers()));
238 sectorIndex, etaIndex, weight * Chamberexpectedhits[chIndex]);
240 sectorIndex, etaIndex, weight * Chamberexpectedtrighits[chIndex]);
241
242 bool isBarrel = (chIndex < static_cast<int>(ChIdx::BEE))
243 ? true
244 : false; // BEE -> endcap
245 bool isSectorLarge = ((isBarrel && chIndex % 2 == 1) ||
246 (!isBarrel && chIndex % 2 == 0 &&
247 chIndex != static_cast<int>(ChIdx::BEE)))
248 ? true
249 : false;
250
251 // position and direction plots
252 const Amg::Vector3D globalPos(muSeg.position());
253 const Amg::Vector3D globalDir(muSeg.direction());
254
255 // protect against cases with no hit information or segments parallell to
256 // the beam!
257 if (globalDir.mag() <= FLT_EPSILON || globalDir.perp() <= FLT_EPSILON) {
258 return;
259 }
260 // set up direction vectors
261 float r = globalPos.perp();
262 float z = globalPos.z();
263 // fill the rz plots
264 if (isSectorLarge) {
265 rzpos_sectorLarge->Fill(z, r, chambernorm * weight);
266 } else {
267 rzpos_sectorSmall->Fill(z, r, chambernorm * weight);
268 }
269
270 float eta = globalDir.eta();
271 float phi = globalDir.phi();
272 etadir->Fill(eta, weight);
273 phidir->Fill(phi, weight);
274 etaphidir->Fill(eta, phi);
275
276 if (isBarrel) {
277 xypos_barrel->Fill(x, y, chambernorm * weight);
278 etadir_barrel->Fill(eta, weight);
279 } else {
280 xypos_endcap->Fill(x, y, chambernorm * weight);
281 etadir_endcap->Fill(eta, weight);
282 }
283}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define y
#define x
#define z
static constexpr std::array< float, 17 > Chamberarea
static constexpr std::array< float, 17 > Chamberexpectedhits
static constexpr std::array< float, 17 > Chamberexpectedtrighits
double chi2(TH1 *h0, TH1 *h1)
int r
Definition globals.cxx:22
Eigen::Matrix< double, 3, 1 > Vector3D
float ndof(const U &p)
ChIndex chIndex(const std::string &index)
convert ChIndex name string to enum
bool isBarrel(const ChIndex index)
Returns true if the chamber index points to a barrel chamber.

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 47 of file PlotBase.cxx.

47 {
48 for (auto *subNode: m_vSubNodes) {
49 subNode->finalize();
50 }
52}
std::vector< PlotBase * > m_vSubNodes
Definition PlotBase.h:97
virtual void finalizePlots()
Definition PlotBase.h:93

◆ finalizePlots()

◆ getDirectory()

const std::string & PlotBase::getDirectory ( )
inlineinherited

Definition at line 89 of file PlotBase.h.

89{return m_sDirectory;}

◆ initialize()

void PlotBase::initialize ( )
inherited

Definition at line 39 of file PlotBase.cxx.

39 {
40 for (auto *subNode: m_vSubNodes) {
41 subNode->initialize();
42 }
44}
virtual void initializePlots()
Definition PlotBase.h:92

◆ initializePlots()

virtual void PlotBase::initializePlots ( )
inlineprivatevirtualinherited

Reimplemented in DiTau::CorePlots, DiTau::ResolutionPlots, Egamma::ClusMomentumPlots, Egamma::ElectronFrwdPlots, Egamma::ElectronPlots, Egamma::IsolationPlots, Egamma::KinematicsPlots, Egamma::LRTElectronPlots, Egamma::PhotonAmbPlots, Egamma::PhotonCnvPlots, Egamma::PhotonConversionPlots, Egamma::PhotonPlots, Egamma::ShowerShapesPlots, Egamma::TrackPlots, ElectronValidationPlots, IDTPM::DuplicateRatePlots, IDTPM::EfficiencyPlots, IDTPM::FakeRatePlots, IDTPM::HitsOnTracksPlots, IDTPM::NtracksPlots, IDTPM::OfflineElectronPlots, IDTPM::ResolutionPlots, IDTPM::SummaryPlots, IDTPM::TrackParametersPlots, IDTPM::VertexParametersPlots, InDetBasicPlot, InDetPerfNtuple, InDetPerfPlot_Duplicate, InDetPerfPlot_Efficiency, InDetPerfPlot_FakeRate, InDetPerfPlot_HitEfficiency, InDetPerfPlot_HitResidual, InDetPerfPlot_Hits, InDetPerfPlot_nTracks, InDetPerfPlot_Resolution, InDetPerfPlot_TrackParameters, InDetPerfPlot_TrkInJet, InDetPerfPlot_TRTExtension, InDetPerfPlot_Vertex, InDetPerfPlot_VertexTruthMatching, InDetPerfPlot_VerticesVsMu, JetTagDQA::BTaggingValidationPlots, LRTElectronValidationPlots, Muon::BetaPlots, Muon::ChargeDepParamPlots, Muon::HitFracTypePlots, Muon::IsoCorrPlots, Muon::IsoPlots, Muon::MomentumPullPlots, Muon::MomentumTruthPullPlots, Muon::MuonParamElossPlots, Muon::MuonParamPlots, Muon::RecoInfoPlots, Muon::SlowMuonParamPlots, PFO::ClusterMomentPlots, PFO::ClusterPlots, PFO::FlowElement_LinkerPlots, PFO::LeptonFELinkerPlots, PFO::PFOAlgPropertyPlots, PFO::PFOAttributePlots, PFO::PFOCalibHitClusterMomentPlots, PFO::PFOClusterMomentPlots, PFO::PFOPlots, PFO::PFOPVMatchedPlots, PhotonValidationPlots, PhysVal::BTagPlots, PhysVal::EventInfoPlots, PhysVal::KinematicsPlots, PhysVal::METPlots, PhysVal::TrkAndVtxPlots, RecoLumiPlots, RecoMuonIDTrackPlots, RecoMuonPlots, RecoMuonSegmentPlots, RecoMuonTrackPlots, RecoPhysPlots, RecoVertexPlots, Tau::CorePlots, Tau::DecayModeMigration, Tau::EfficiencyPlots, Tau::EventPlots, Tau::EVetoPlots, Tau::GeneralTauPlots, Tau::ResolutionPlots, Tau::TauIDVariablesPlots, Tau::TauKinematicPlots, Tau::TauParticleFlowPlots, TCCPlots, Trk::DefParamPullPlots, Trk::EfficiencyPlots, Trk::ExtrLayerPlots, Trk::ExtrRegionPlots, Trk::HitResidualPlots, Trk::HitTypePlots, Trk::IDHitPlots, Trk::ImpactPlots, Trk::ParamPlots, Trk::RecoInfoPlots, Trk::ResolutionPlots, Trk::TruthInfoPlots, ZeeValidation::FWDZeePlots, ZeeValidation::ReconElectronsPlots, ZeeValidation::TrueElectronsPlots, ZeeValidation::TrueFwdElectronsPlots, and ZeeValidation::ZeePlots.

Definition at line 92 of file PlotBase.h.

92{;}

◆ RegisterSubPlot()

void PlotBase::RegisterSubPlot ( PlotBase * pPlotBase)
inlineinherited

Definition at line 42 of file PlotBase.h.

42{m_vSubNodes.push_back(pPlotBase);}

◆ retrieveBookedEfficiencies()

std::vector< EfficiencyData > PlotBase::retrieveBookedEfficiencies ( )
inherited

Retrieve all booked efficiency objects.

Definition at line 83 of file PlotBase.cxx.

83 {
84 std::vector<EfficiencyData> vBookedEfficiencies = m_vBookedEfficiencies;
85 for (const auto &subNode: m_vSubNodes) {
86 std::vector<EfficiencyData> subNodeHists = subNode->retrieveBookedEfficiencies();
87 vBookedEfficiencies.insert(vBookedEfficiencies.end(), subNodeHists.begin(), subNodeHists.end());
88 }
89 return vBookedEfficiencies;
90}

◆ retrieveBookedHistograms()

std::vector< HistData > PlotBase::retrieveBookedHistograms ( )
inherited

Retrieve all booked histograms.

Definition at line 63 of file PlotBase.cxx.

63 {
64 std::vector<HistData> vBookedHistograms = m_vBookedHistograms;
65 for (const auto &subNode: m_vSubNodes) {
66 std::vector<HistData> subNodeHists = subNode->retrieveBookedHistograms();
67 vBookedHistograms.insert(vBookedHistograms.end(), subNodeHists.begin(), subNodeHists.end());
68 }
69 return vBookedHistograms;
70}

◆ retrieveBookedTrees()

std::vector< TreeData > PlotBase::retrieveBookedTrees ( )
inherited

Retrieve all booked trees.

Definition at line 73 of file PlotBase.cxx.

73 {
74 std::vector<TreeData> vBookedTrees = m_vBookedTrees;
75 for (auto *subNode: m_vSubNodes) {
76 std::vector<TreeData> subNodeTrees = subNode->retrieveBookedTrees();
77 vBookedTrees.insert(vBookedTrees.end(), subNodeTrees.begin(), subNodeTrees.end());
78 }
79 return vBookedTrees;
80}

◆ setDetailLevel()

void PlotBase::setDetailLevel ( int iDetailLevel)
inherited

Definition at line 55 of file PlotBase.cxx.

55 {
56 for (auto *subNode: m_vSubNodes) {
57 subNode->setDetailLevel(iDetailLevel);
58 }
59 m_iDetailLevel = iDetailLevel;
60}
int m_iDetailLevel
Definition PlotBase.h:102

Member Data Documentation

◆ Chamberarea

std::array<float, 17> Muon::MuonSegmentPlots::Chamberarea
staticconstexpr
Initial value:
{
0.465313, 0.589744, 0.393503, 0.516815, 0.404094, 0.588759,
0.0700091, 0.204258, 0.50283, 0.577781, 0.902194, 0.484968,
0.746214, 0.111742, 0.192025, 0.380506, 0.380506}

Definition at line 68 of file MuonSegmentPlots.h.

68 {
69 0.465313, 0.589744, 0.393503, 0.516815, 0.404094, 0.588759,
70 0.0700091, 0.204258, 0.50283, 0.577781, 0.902194, 0.484968,
71 0.746214, 0.111742, 0.192025, 0.380506, 0.380506}; // eta * phi for

◆ Chamberexpectedhits

std::array<float, 17> Muon::MuonSegmentPlots::Chamberexpectedhits
staticconstexpr
Initial value:
{
8.0, 8.0, 6.0, 6.0, 6.0, 6.0, 4.0, 8.0, 8.0,
6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 4.0, 4.0}

Definition at line 73 of file MuonSegmentPlots.h.

73 {
74 8.0, 8.0, 6.0, 6.0, 6.0, 6.0, 4.0, 8.0, 8.0,
75 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 4.0, 4.0}; // number of expected hits for

◆ Chamberexpectedtrighits

std::array<float, 17> Muon::MuonSegmentPlots::Chamberexpectedtrighits
staticconstexpr
Initial value:
{
1.0, 1.0, 5.0, 5.0, 3.0, 3.0, 1.0, 2.0, 2.0,
7.0, 7.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}

Definition at line 80 of file MuonSegmentPlots.h.

80 {
81 1.0, 1.0, 5.0, 5.0, 3.0, 3.0, 1.0, 2.0, 2.0,
82 7.0, 7.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}; // number of expected hits for

◆ chamberIndex

TH1* Muon::MuonSegmentPlots::chamberIndex {nullptr}

Definition at line 55 of file MuonSegmentPlots.h.

55{nullptr};

◆ chamberIndex_perSector

TH2* Muon::MuonSegmentPlots::chamberIndex_perSector {nullptr}

Definition at line 56 of file MuonSegmentPlots.h.

56{nullptr};

◆ eff_chamberIndex_perSector

TH2* Muon::MuonSegmentPlots::eff_chamberIndex_perSector {nullptr}

Definition at line 59 of file MuonSegmentPlots.h.

59{nullptr};

◆ eff_chamberIndex_perSector_denominator

TH2* Muon::MuonSegmentPlots::eff_chamberIndex_perSector_denominator {nullptr}

Definition at line 58 of file MuonSegmentPlots.h.

58{nullptr};

◆ eff_chamberIndex_perSector_numerator

TH2* Muon::MuonSegmentPlots::eff_chamberIndex_perSector_numerator {nullptr}

Definition at line 57 of file MuonSegmentPlots.h.

57{nullptr};

◆ eff_sector_etaIndex_nPrechit

std::vector<TH2*> Muon::MuonSegmentPlots::eff_sector_etaIndex_nPrechit

Definition at line 65 of file MuonSegmentPlots.h.

◆ eff_sector_etaIndex_nTrighit

std::vector<TH2*> Muon::MuonSegmentPlots::eff_sector_etaIndex_nTrighit

Definition at line 66 of file MuonSegmentPlots.h.

◆ etadir

TH1* Muon::MuonSegmentPlots::etadir {nullptr}

Definition at line 49 of file MuonSegmentPlots.h.

49{nullptr};

◆ etadir_barrel

TH1* Muon::MuonSegmentPlots::etadir_barrel {nullptr}

Definition at line 50 of file MuonSegmentPlots.h.

50{nullptr};

◆ etadir_endcap

TH1* Muon::MuonSegmentPlots::etadir_endcap {nullptr}

Definition at line 51 of file MuonSegmentPlots.h.

51{nullptr};

◆ etaIndex

TH1* Muon::MuonSegmentPlots::etaIndex {nullptr}

Definition at line 41 of file MuonSegmentPlots.h.

41{nullptr};

◆ etaphidir

TH1* Muon::MuonSegmentPlots::etaphidir {nullptr}

Definition at line 53 of file MuonSegmentPlots.h.

53{nullptr};

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 102 of file PlotBase.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 101 of file PlotBase.h.

◆ m_vBookedEfficiencies

std::vector<EfficiencyData> PlotBase::m_vBookedEfficiencies
protectedinherited

Definition at line 100 of file PlotBase.h.

◆ m_vBookedHistograms

std::vector<HistData> PlotBase::m_vBookedHistograms
protectedinherited

Definition at line 98 of file PlotBase.h.

◆ m_vBookedTrees

std::vector<TreeData> PlotBase::m_vBookedTrees
protectedinherited

Definition at line 99 of file PlotBase.h.

◆ m_vSubNodes

std::vector<PlotBase*> PlotBase::m_vSubNodes
protectedinherited

Definition at line 97 of file PlotBase.h.

◆ nPhiLayers

TH1* Muon::MuonSegmentPlots::nPhiLayers {nullptr}

Definition at line 37 of file MuonSegmentPlots.h.

37{nullptr};

◆ nPrecisionHits

TH1* Muon::MuonSegmentPlots::nPrecisionHits {nullptr}

Definition at line 36 of file MuonSegmentPlots.h.

36{nullptr};

◆ nPrecisionHits_nTriggerHits

TH2* Muon::MuonSegmentPlots::nPrecisionHits_nTriggerHits {nullptr}

Definition at line 39 of file MuonSegmentPlots.h.

39{nullptr};

◆ nTrigEtaLayers

TH1* Muon::MuonSegmentPlots::nTrigEtaLayers {nullptr}

Definition at line 38 of file MuonSegmentPlots.h.

38{nullptr};

◆ phidir

TH1* Muon::MuonSegmentPlots::phidir {nullptr}

Definition at line 52 of file MuonSegmentPlots.h.

52{nullptr};

◆ rzpos_sectorLarge

TH2* Muon::MuonSegmentPlots::rzpos_sectorLarge {nullptr}

Definition at line 47 of file MuonSegmentPlots.h.

47{nullptr};

◆ rzpos_sectorSmall

TH2* Muon::MuonSegmentPlots::rzpos_sectorSmall {nullptr}

Definition at line 46 of file MuonSegmentPlots.h.

46{nullptr};

◆ sector

TH1* Muon::MuonSegmentPlots::sector {nullptr}

Definition at line 42 of file MuonSegmentPlots.h.

42{nullptr};

◆ sector_etaIndex

std::vector<TH2*> Muon::MuonSegmentPlots::sector_etaIndex

Definition at line 62 of file MuonSegmentPlots.h.

◆ sector_etaIndex_nPrechit

std::vector<TH2*> Muon::MuonSegmentPlots::sector_etaIndex_nPrechit

Definition at line 63 of file MuonSegmentPlots.h.

◆ sector_etaIndex_nTrighit

std::vector<TH2*> Muon::MuonSegmentPlots::sector_etaIndex_nTrighit

Definition at line 64 of file MuonSegmentPlots.h.

◆ segmentfitChi2

TH1* Muon::MuonSegmentPlots::segmentfitChi2 {nullptr}

Definition at line 25 of file MuonSegmentPlots.h.

25{nullptr};

◆ segmentfitChi2oNdof

TH1* Muon::MuonSegmentPlots::segmentfitChi2oNdof {nullptr}

Definition at line 27 of file MuonSegmentPlots.h.

27{nullptr};

◆ segmentfitNdof

TH1* Muon::MuonSegmentPlots::segmentfitNdof {nullptr}

Definition at line 26 of file MuonSegmentPlots.h.

26{nullptr};

◆ t0

TH1* Muon::MuonSegmentPlots::t0 {nullptr}

Definition at line 29 of file MuonSegmentPlots.h.

29{nullptr};

◆ t0_bottom

TH1* Muon::MuonSegmentPlots::t0_bottom {nullptr}

Definition at line 31 of file MuonSegmentPlots.h.

31{nullptr};

◆ t0_top

TH1* Muon::MuonSegmentPlots::t0_top {nullptr}

Definition at line 30 of file MuonSegmentPlots.h.

30{nullptr};

◆ t0err

TH1* Muon::MuonSegmentPlots::t0err {nullptr}

Definition at line 32 of file MuonSegmentPlots.h.

32{nullptr};

◆ t0err_bottom

TH1* Muon::MuonSegmentPlots::t0err_bottom {nullptr}

Definition at line 34 of file MuonSegmentPlots.h.

34{nullptr};

◆ t0err_top

TH1* Muon::MuonSegmentPlots::t0err_top {nullptr}

Definition at line 33 of file MuonSegmentPlots.h.

33{nullptr};

◆ xypos_barrel

TH2* Muon::MuonSegmentPlots::xypos_barrel {nullptr}

Definition at line 44 of file MuonSegmentPlots.h.

44{nullptr};

◆ xypos_endcap

TH2* Muon::MuonSegmentPlots::xypos_endcap {nullptr}

Definition at line 45 of file MuonSegmentPlots.h.

45{nullptr};

The documentation for this class was generated from the following files: