ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::IDHitPlots Class Reference

#include <IDHitPlots.h>

Inheritance diagram for Trk::IDHitPlots:
Collaboration diagram for Trk::IDHitPlots:

Public Member Functions

 IDHitPlots (PlotBase *pParent, const std::string &sDir)
void fill (const xAOD::TrackParticle &trk)
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 (const std::string &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 (const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
 Book a TH1D histogram.
TH1D * Book1D (const std::string &name, TH1 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH1D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
 Book a TH2F histogram.
TH2F * Book2D (const std::string &name, TH2 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH2D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (const std::string &name, const std::string &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 (const std::string &name, const std::string &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 (const std::string &name, TH3 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH3F histogram using refHist as reference for number of bins and axis range.
TProfile * BookTProfile (const std::string &name, const std::string &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 (const std::string &name, const std::string &labels, int nBinsX, float *binsX, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis.
TProfile * BookTProfileRangeY (const std::string &name, const std::string &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 (const std::string &name, const std::string &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 (const std::string &name, const std::string &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 (const std::string &name, const std::string &labels, const int nBinsX, const float xlo, const float xhi, const bool prependDir=true)
 Book a (1-D) TEfficiency histogram.
TEfficiency * BookTEfficiency (const std::string &name, const std::string &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

Basic hit content of xAOD::TrackParticle
TH1 * nBLayerHits
TH1 * nPixelHits
TH1 * nPixelHoles
TH1 * nSCTHits
TH1 * nSCTHoles
TH1 * nTRTHits
TH1 * nTRTHighThresholdHits
Expert hit content of xAOD::TrackParticle
TH1 * nBLayerOutliers
TH1 * nBLayerSharedHits
TH1 * nBLayerSplitHits
TH1 * nPixelOutliers
TH1 * nPixelContribLayers
TH1 * nPixelSharedHits
TH1 * nPixelSplitHits
TH1 * nPixelGangedHits
TH1 * nSCTOutliers
TH1 * nSCTDoubleHoles
TH1 * nSCTSharedHits
TH1 * nTRTOutliers
TH1 * nTRTHighThresholdOutliers
TH1 * nPixelGangedHitsFlaggedFakes

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

void init ()
void initializePlots ()
virtual void finalizePlots ()

Static Private Member Functions

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

Detailed Description

Definition at line 13 of file IDHitPlots.h.

Constructor & Destructor Documentation

◆ IDHitPlots()

Trk::IDHitPlots::IDHitPlots ( PlotBase * pParent,
const std::string & sDir )
inline

Definition at line 15 of file IDHitPlots.h.

15:PlotBase(pParent, sDir){ init();}
PlotBase(PlotBase *parent, const std::string &sDir)
Definition PlotBase.cxx:29

Member Function Documentation

◆ Book1D() [1/2]

TH1D * PlotBase::Book1D ( const std::string & name,
const std::string & 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 + name).c_str(), labels.c_str(), 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:293
std::vector< HistData > m_vBookedHistograms
Definition PlotBase.h:97
std::string m_sDirectory
Definition PlotBase.h:100

◆ Book1D() [2/2]

TH1D * PlotBase::Book1D ( const std::string & name,
TH1 * refHist,
const std::string & 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 + name).c_str(), labels.c_str(), 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 ( const std::string & name,
const std::string & 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 + name).c_str(), labels.c_str(), 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 ( const std::string & name,
const std::string & 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 + name).c_str(), labels.c_str(), 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 ( const std::string & name,
TH2 * refHist,
const std::string & 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}
TH2F * Book2D(const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
Book a TH2F histogram.
Definition PlotBase.cxx:123

◆ Book3D() [1/2]

TH3F * PlotBase::Book3D ( const std::string & name,
const std::string & 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 + name).c_str(),
163 labels.c_str(), 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 ( const std::string & name,
TH3 * refHist,
const std::string & 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 + name).c_str(), labels.c_str(), 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 ( const std::string & name,
const std::string & 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 //Bool_t oldstat = TEfficiency::AddDirectoryStatus();
260 TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi);
261 //hist->SetAutoSave(0);
262 //hist->SetAtoFlush(0);
263 hist->SetDirectory(nullptr);
264 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
265 //TEfficiency::AddDirectory(oldstat);
266 return hist;
267}
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition PlotBase.h:99

◆ BookTEfficiency() [2/2]

TEfficiency * PlotBase::BookTEfficiency ( const std::string & name,
const std::string & 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 270 of file PlotBase.cxx.

270 {
271 std::string prefix = constructPrefix(m_sDirectory, prependDir);
272
273 TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi, nBinsY, ylo, yhi);
274 hist->SetDirectory(nullptr);
275 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
276
277 return hist;
278}

◆ BookTProfile() [1/2]

TProfile * PlotBase::BookTProfile ( const std::string & name,
const std::string & 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 + name).c_str(), labels.c_str(), nBinsX, binsX);
211 TProfile::AddDirectory(oldstat);
212 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
213 return hist;
214}

◆ BookTProfile() [2/2]

TProfile * PlotBase::BookTProfile ( const std::string & name,
const std::string & 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 + name).c_str(), labels.c_str(), nBinsX, startX, endX, opt.c_str());
195 } else {
196 hist = new TProfile((prefix + name).c_str(), labels.c_str(), 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 ( const std::string & name,
const std::string & 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 + name).c_str(), labels.c_str(), 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 ( const std::string & name,
const std::string & 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 + name).c_str(), labels.c_str(), 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 ( const std::string & name,
const std::string & 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 + name).c_str(), labels.c_str(), (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 ( const std::string & name,
bool prependDir = true )
inherited

Book a TTree.

Definition at line 281 of file PlotBase.cxx.

281 {
282 std::string prefix = constructPrefix(m_sDirectory, prependDir);
283 TTree *tree = new TTree((prefix + name).c_str(), "");
284
285 tree->SetAutoSave(0);
286 tree->SetAutoFlush(0);
287 tree->SetDirectory(nullptr);
288 m_vBookedTrees.emplace_back(tree, m_sDirectory);
289 return tree;
290}
std::vector< TreeData > m_vBookedTrees
Definition PlotBase.h:98
TChain * tree

◆ constructPrefix()

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

Definition at line 293 of file PlotBase.cxx.

293 {
294 if (!prependDir) {
295 return "";
296 }
297 std::replace(dir.begin(), dir.end(), '/', '_');
298 return dir;
299}

◆ fill()

void Trk::IDHitPlots::fill ( const xAOD::TrackParticle & trk)

Definition at line 86 of file IDHitPlots.cxx.

86 {
87 uint8_t iBLayerHits(0), iPixHits(0), iSctHits(0), iTrtHits(0);
88 uint8_t iPixHoles(0), iSCTHoles(0), iTrtHTHits(0);
89
91 nBLayerHits->Fill(iBLayerHits);
92 }
93 if (trk.summaryValue(iPixHits, xAOD::numberOfPixelHits)) {
94 nPixelHits->Fill(iPixHits);
95 }
96 if (trk.summaryValue(iSctHits, xAOD::numberOfSCTHits)) {
97 nSCTHits->Fill(iSctHits);
98 }
99 if (trk.summaryValue(iTrtHits, xAOD::numberOfTRTHits)) {
100 nTRTHits->Fill(iTrtHits);
101 }
102 if (trk.summaryValue(iPixHoles, xAOD::numberOfPixelHoles)) {
103 nPixelHoles->Fill(iPixHoles);
104 }
105 if (trk.summaryValue(iSCTHoles, xAOD::numberOfSCTHoles)) {
106 nSCTHoles->Fill(iSCTHoles);
107 }
109 nTRTHighThresholdHits->Fill(iTrtHTHits);
110 }
111
112 // expert plots
113 if (m_iDetailLevel >= 100) {
114 uint8_t iBLayerOutliers(0), iBLayerShared(0), iBLayerSplit(0);
115 uint8_t iPixelOutliers(0), iPixelContribLayers(0), iPixelShared(0), iPixelSplit(0), iPixelGanged(0),
116 iPixelGangedFakes(0);
117 uint8_t iSCTOutliers(0), iSCTDoubleHoles(0), iSCTShared(0);
118 uint8_t iTRTOutliers(0), iTRTHTOutliers(0);
120 nBLayerOutliers->Fill(iBLayerOutliers);
121 }
123 nBLayerSharedHits->Fill(iBLayerShared);
124 }
126 nBLayerSplitHits->Fill(iBLayerSplit);
127 }
128 if (trk.summaryValue(iPixelOutliers, xAOD::numberOfPixelOutliers)) {
129 nPixelOutliers->Fill(iPixelOutliers);
130 }
131 if (trk.summaryValue(iPixelContribLayers, xAOD::numberOfContribPixelLayers)) {
132 nPixelContribLayers->Fill(iPixelContribLayers);
133 }
134 if (trk.summaryValue(iPixelShared, xAOD::numberOfPixelSharedHits)) {
135 nPixelSharedHits->Fill(iPixelShared);
136 }
137 if (trk.summaryValue(iPixelSplit, xAOD::numberOfPixelSplitHits)) {
138 nPixelSplitHits->Fill(iPixelSplit);
139 }
140 if (trk.summaryValue(iPixelGanged, xAOD::numberOfGangedPixels)) {
141 nPixelGangedHits->Fill(iPixelGanged);
142 }
143 if (trk.summaryValue(iPixelGangedFakes, xAOD::numberOfGangedFlaggedFakes)) {
144 nPixelGangedHitsFlaggedFakes->Fill(iPixelGangedFakes);
145 }
146 if (trk.summaryValue(iSCTOutliers, xAOD::numberOfSCTOutliers)) {
147 nSCTOutliers->Fill(iSCTOutliers);
148 }
149 if (trk.summaryValue(iSCTDoubleHoles, xAOD::numberOfSCTDoubleHoles)) {
150 nSCTDoubleHoles->Fill(iSCTDoubleHoles);
151 }
152 if (trk.summaryValue(iSCTShared, xAOD::numberOfSCTSharedHits)) {
153 nSCTSharedHits->Fill(iSCTShared);
154 }
155 if (trk.summaryValue(iTRTOutliers, xAOD::numberOfTRTOutliers)) {
156 nTRTOutliers->Fill(iTRTOutliers);
157 }
158 if (trk.summaryValue(iTRTHTOutliers, xAOD::numberOfTRTHighThresholdOutliers)) {
159 nTRTHighThresholdOutliers->Fill(iTRTHTOutliers);
160 }
161 }
162 }
int m_iDetailLevel
Definition PlotBase.h:101
TH1 * nPixelOutliers
Definition IDHitPlots.h:34
TH1 * nPixelGangedHits
Definition IDHitPlots.h:38
TH1 * nTRTHighThresholdHits
Definition IDHitPlots.h:26
TH1 * nPixelGangedHitsFlaggedFakes
Definition IDHitPlots.h:44
TH1 * nSCTSharedHits
Definition IDHitPlots.h:41
TH1 * nBLayerOutliers
Definition IDHitPlots.h:31
TH1 * nBLayerSplitHits
Definition IDHitPlots.h:33
TH1 * nPixelSplitHits
Definition IDHitPlots.h:37
TH1 * nTRTHighThresholdOutliers
Definition IDHitPlots.h:43
TH1 * nSCTDoubleHoles
Definition IDHitPlots.h:40
TH1 * nPixelSharedHits
Definition IDHitPlots.h:36
TH1 * nBLayerSharedHits
Definition IDHitPlots.h:32
TH1 * nPixelContribLayers
Definition IDHitPlots.h:35
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
@ numberOfGangedPixels
number of pixels which have a ganged ambiguity [unit8_t].
@ numberOfPixelHoles
number of pixel layers on track with absence of hits [unit8_t].
@ numberOfContribPixelLayers
number of contributing layers of the pixel detector [unit8_t].
@ numberOfTRTHighThresholdOutliers
number of TRT high threshold outliers (only xenon counted) [unit8_t].
@ numberOfPixelSplitHits
number of Pixel all-layer hits split by cluster splitting [unit8_t].
@ numberOfInnermostPixelLayerSharedHits
number of Pixel 0th layer barrel hits shared by several tracks.
@ numberOfPixelOutliers
these are the pixel outliers, including the b-layer [unit8_t].
@ numberOfTRTHits
number of TRT hits [unit8_t].
@ numberOfInnermostPixelLayerSplitHits
number of Pixel 0th layer barrel hits split by cluster splitting
@ numberOfGangedFlaggedFakes
number of Ganged Pixels flagged as fakes [unit8_t].
@ numberOfInnermostPixelLayerOutliers
number of 0th layer barrel outliers
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfSCTDoubleHoles
number of Holes in both sides of a SCT module [unit8_t].
@ numberOfSCTOutliers
number of SCT outliers [unit8_t].
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ numberOfPixelSharedHits
number of Pixel all-layer hits shared by several tracks [unit8_t].
@ numberOfSCTSharedHits
number of SCT hits shared by several tracks [unit8_t].
@ numberOfTRTHighThresholdHits
number of TRT hits which pass the high threshold (only xenon counted) [unit8_t].
@ numberOfTRTOutliers
number of TRT outliers [unit8_t].
@ numberOfSCTHoles
number of SCT holes [unit8_t].

◆ 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:96
virtual void finalizePlots()
Definition PlotBase.h:92

◆ finalizePlots()

◆ getDirectory()

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

Definition at line 88 of file PlotBase.h.

88{return m_sDirectory;}

◆ init()

void Trk::IDHitPlots::init ( )
private

Definition at line 12 of file IDHitPlots.cxx.

12 {
13 nBLayerHits = nullptr;
14 nPixelHits = nullptr;
15 nPixelHoles = nullptr;
16 nSCTHits = nullptr;
17 nSCTHoles = nullptr;
18 nTRTHits = nullptr;
19 nTRTHighThresholdHits = nullptr;
20
21 nBLayerOutliers = nullptr;
22 nBLayerSharedHits = nullptr;
23 nBLayerSplitHits = nullptr;
24 nPixelOutliers = nullptr;
25 nPixelContribLayers = nullptr;
26 nPixelSharedHits = nullptr;
27 nPixelSplitHits = nullptr;
28 nPixelGangedHits = nullptr;
29 nSCTOutliers = nullptr;
30 nSCTDoubleHoles = nullptr;
31 nSCTSharedHits = nullptr;
32 nTRTOutliers = nullptr;
35 }

◆ 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:91

◆ initializePlots()

void Trk::IDHitPlots::initializePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 38 of file IDHitPlots.cxx.

38 {
39 nBLayerHits = Book1D("HitContent_NBlayerHits", "Number of B-Layer clusters;Number of Clusters;Entries", 5, -0.5,
40 4.5, false);
41 nPixelHits = Book1D("HitContent_NPixelHits", "Number of Pixel clusters;Number of Clusters", 10, -0.5, 9.5, false);
42 nPixelHoles = Book1D("HitContent_NPixelHoles", "Number of Pixel holes;Number of Holes", 10, -0.5, 9.5, false);
43 nSCTHits = Book1D("HitContent_NSCTHits", "Number of SCT clusters;Number of Clusters.", 21, -0.5, 20.5, false);
44 nSCTHoles = Book1D("HitContent_NSCTHoles", "Number of SCT holes;Number of Holes", 21, -0.5, 20.5, false);
45 nTRTHits = Book1D("HitContent_NTRTHits", "Number of TRT clusters;Number of Hits", 51, -0.5, 50.5, false);
46 nTRTHighThresholdHits = Book1D("HitContent_NTRTHighThresholdHits",
47 "Number of TRT high threshold Hits;Number of Hits", 51, -0.5, 50.5, false);
48
49 // debug plots
50 if (m_iDetailLevel >= 100) {
51 nBLayerOutliers = Book1D("HitContent_NBlayerOutliers", "Number of B-layer outliers;Number of Outliers;Entries", 5,
52 -0.5, 4.5, false);
53 ;
54 nBLayerSharedHits = Book1D("HitContent_NBlayerSharedHits",
55 "Number of shared B-layer clusters;Number of Shared Clusters", 5, -0.5, 4.5, false);
56 nBLayerSplitHits = Book1D("HitContent_NBlayerSplitHits",
57 "Number of split B-layer clusters;Number of Split Clusters", 4, -0.5, 2.5, false);
58 nPixelOutliers = Book1D("HitContent_NPixelOutliers", "Number of Pixel outliers;Number of Outliers", 10, -0.5, 9.5,
59 false);
60 nPixelContribLayers = Book1D("HitContent_NPixelContribLayers",
61 "Number of contributed Pixel layers;Number of Layers", 5, -0.5, 4.5, false);
62 nPixelSharedHits = Book1D("HitContent_NPixelSharedHits",
63 "Number of shared Pixel clusters;Number of Shared Clusters", 10, -0.5, 9.5, false);
64 nPixelSplitHits = Book1D("HitContent_NPixelSplitHits", "Number of split Pixel clusters; Number of Split Clusters",
65 5, -0.5, 4.5, false);
66 nPixelGangedHits = Book1D("HitContent_NPixelGangedHits", "Number of ganged Pixel clusters;Number of Clusters", 10,
67 -0.5, 9.5, false);
68 nPixelGangedHitsFlaggedFakes = Book1D("HitContent_NPixelGangedHitsFlaggedFakes",
69 "Number of ganged flagged fake Pixel clusters;Number of Clusters", 10, -0.5,
70 9.5, false);
71 nSCTOutliers = Book1D("HitContent_NSCTOutliers", "Number of SCT Outliers;Number of Outliers", 21, -0.5, 20.5,
72 false);
73 nSCTDoubleHoles = Book1D("HitContent_NSCTDoubleHoles", "Number of SCT double holes;Number of Double Holes", 21,
74 -0.5, 20.5, false);
75 nSCTSharedHits = Book1D("HitContent_NSCTSharedHits", "Number of shared SCT clusters;Number of Shared Clusters",
76 21, -0.5, 20.5, false);
77 nTRTOutliers = Book1D("HitContent_NTRTOutliers", "Number of TRT outliers;Number of Outliers", 51, -0.5, 50.5,
78 false);
79 nTRTHighThresholdOutliers = Book1D("HitContent_NTRTHighThresholdOutliers",
80 "Number of TRT High Threshold outliers;Number of Outliers", 51, -0.5, 50.5,
81 false);
82 }
83 }
TH1D * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition PlotBase.cxx:94

◆ RegisterSubPlot()

void PlotBase::RegisterSubPlot ( PlotBase * pPlotBase)
inlineinherited

Definition at line 41 of file PlotBase.h.

41{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}

Member Data Documentation

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 101 of file PlotBase.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 100 of file PlotBase.h.

◆ m_vBookedEfficiencies

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

Definition at line 99 of file PlotBase.h.

◆ m_vBookedHistograms

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

Definition at line 97 of file PlotBase.h.

◆ m_vBookedTrees

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

Definition at line 98 of file PlotBase.h.

◆ m_vSubNodes

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

Definition at line 96 of file PlotBase.h.

◆ nBLayerHits

TH1* Trk::IDHitPlots::nBLayerHits

Definition at line 20 of file IDHitPlots.h.

◆ nBLayerOutliers

TH1* Trk::IDHitPlots::nBLayerOutliers

Definition at line 31 of file IDHitPlots.h.

◆ nBLayerSharedHits

TH1* Trk::IDHitPlots::nBLayerSharedHits

Definition at line 32 of file IDHitPlots.h.

◆ nBLayerSplitHits

TH1* Trk::IDHitPlots::nBLayerSplitHits

Definition at line 33 of file IDHitPlots.h.

◆ nPixelContribLayers

TH1* Trk::IDHitPlots::nPixelContribLayers

Definition at line 35 of file IDHitPlots.h.

◆ nPixelGangedHits

TH1* Trk::IDHitPlots::nPixelGangedHits

Definition at line 38 of file IDHitPlots.h.

◆ nPixelGangedHitsFlaggedFakes

TH1* Trk::IDHitPlots::nPixelGangedHitsFlaggedFakes

Definition at line 44 of file IDHitPlots.h.

◆ nPixelHits

TH1* Trk::IDHitPlots::nPixelHits

Definition at line 21 of file IDHitPlots.h.

◆ nPixelHoles

TH1* Trk::IDHitPlots::nPixelHoles

Definition at line 22 of file IDHitPlots.h.

◆ nPixelOutliers

TH1* Trk::IDHitPlots::nPixelOutliers

Definition at line 34 of file IDHitPlots.h.

◆ nPixelSharedHits

TH1* Trk::IDHitPlots::nPixelSharedHits

Definition at line 36 of file IDHitPlots.h.

◆ nPixelSplitHits

TH1* Trk::IDHitPlots::nPixelSplitHits

Definition at line 37 of file IDHitPlots.h.

◆ nSCTDoubleHoles

TH1* Trk::IDHitPlots::nSCTDoubleHoles

Definition at line 40 of file IDHitPlots.h.

◆ nSCTHits

TH1* Trk::IDHitPlots::nSCTHits

Definition at line 23 of file IDHitPlots.h.

◆ nSCTHoles

TH1* Trk::IDHitPlots::nSCTHoles

Definition at line 24 of file IDHitPlots.h.

◆ nSCTOutliers

TH1* Trk::IDHitPlots::nSCTOutliers

Definition at line 39 of file IDHitPlots.h.

◆ nSCTSharedHits

TH1* Trk::IDHitPlots::nSCTSharedHits

Definition at line 41 of file IDHitPlots.h.

◆ nTRTHighThresholdHits

TH1* Trk::IDHitPlots::nTRTHighThresholdHits

Definition at line 26 of file IDHitPlots.h.

◆ nTRTHighThresholdOutliers

TH1* Trk::IDHitPlots::nTRTHighThresholdOutliers

Definition at line 43 of file IDHitPlots.h.

◆ nTRTHits

TH1* Trk::IDHitPlots::nTRTHits

Definition at line 25 of file IDHitPlots.h.

◆ nTRTOutliers

TH1* Trk::IDHitPlots::nTRTOutliers

Definition at line 42 of file IDHitPlots.h.


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