ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
InDetPerfPlot_HitResidual Class Reference

class holding res plots for Inner Detector RTT Validation and implementing fill methods More...

#include <InDetPerfPlot_HitResidual.h>

Inheritance diagram for InDetPerfPlot_HitResidual:
Collaboration diagram for InDetPerfPlot_HitResidual:

Public Member Functions

 InDetPerfPlot_HitResidual (InDetPlotBase *pParent, const std::string &dirName, bool isITk)
 
void fill (const xAOD::TrackParticle &trkprt, float weight)
 
 ~InDetPerfPlot_HitResidual ()
 
SingleHistogramDefinition retrieveDefinition (const std::string &histoIdentifier, const std::string &folder="default", const std::string &nameOverride="")
 Retrieve a single histogram definition, given the unique string identifier. More...
 
template<class Htype >
void book (Htype *&pHisto, const std::string &histoIdentifier, const std::string &nameOverride="", const std::string &folder="default")
 Helper method to book histograms using an identifier string. More...
 
void book (TH1 *&pHisto, const SingleHistogramDefinition &hd)
 Book a TH1 histogram. More...
 
void book (TProfile *&pHisto, const SingleHistogramDefinition &hd)
 Book a TProfile histogram. More...
 
void book (TProfile2D *&pHisto, const SingleHistogramDefinition &hd)
 Book a TProfile2D histogram. More...
 
void book (TH2 *&pHisto, const SingleHistogramDefinition &hd)
 Book a 2D histogram (TH2) More...
 
void book (TEfficiency *&pHisto, const SingleHistogramDefinition &hd)
 Book a (1-D) TEfficiency. More...
 
void initialize ()
 
void finalize ()
 
void setDetailLevel (int iDetailLevel)
 
void RegisterSubPlot (PlotBase *pPlotBase)
 
std::vector< HistDataretrieveBookedHistograms ()
 Retrieve all booked histograms. More...
 
std::vector< TreeDataretrieveBookedTrees ()
 Retrieve all booked trees. More...
 
std::vector< EfficiencyDataretrieveBookedEfficiencies ()
 Retrieve all booked efficiency objects. More...
 
TTree * BookTree (const std::string &name, bool prependDir=true)
 Book a TTree. More...
 
const std::string & getDirectory ()
 
bool msgLvl (const MSG::Level lvl) const
 Test the output level. More...
 
MsgStream & msg () const
 The standard message stream. More...
 
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream. More...
 
void setLevel (MSG::Level lvl)
 Change the current logging level. More...
 

Static Public Member Functions

static void fillHisto (TProfile *pTprofile, const float bin, const float weight, const float weight2=1.0)
 
static void fillHisto (TProfile2D *pTprofile, const float xval, const float yval, const float weight, const float weight2=1.0)
 
static void fillHisto (TH1 *pTh1, const float value)
 
static void fillHisto (TH1 *pTh1, const float value, const float weight)
 
static void fillHisto (TH2 *pTh2, const float xval, const float yval)
 
static void fillHisto (TH2 *pTh2, const float xval, const float yval, const float weight)
 
static void fillHisto (TH3 *pTh3, const float xval, const float yval, const float zval)
 
static void fillHisto (TEfficiency *pTeff, const float value, const bool accepted, float weight)
 
static void fillHisto (TEfficiency *eff2d, const float xvalue, const float yvalue, const bool accepted, const float weight)
 

Protected Member Functions

template<class T >
void mBook (T &pHisto, const std::string &histoIdentifier)
 book, for use by macro More...
 

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 Types

enum  Subdetector {
  INVALID_DETECTOR =-1, L0PIXBARR, PIXEL, SCT,
  TRT, N_SUBDETECTORS
}
 
enum  Region { INVALID_REGION =-1, BARREL, ENDCAP, N_REGIONS }
 

Private Member Functions

void initializePlots ()
 
virtual void finalizePlots ()
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Static Private Member Functions

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

Private Attributes

bool m_isITk
 
std::vector< std::vector< TH1 * > > m_residualx_1hit = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH1 * > > m_residualx_2ormorehits = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH1 * > > m_residualx = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH2 * > > m_residualx_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH1 * > > m_residualy_1hit = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH1 * > > m_residualy_2ormorehits = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH1 * > > m_residualy = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH2 * > > m_residualy_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH1 * > > m_pullx = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH1 * > > m_pully = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH2 * > > m_pullx_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH2 * > > m_pully_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH1 * > > m_phiWidth = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH1 * > > m_etaWidth = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH2 * > > m_phiWidth_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< std::vector< TH2 * > > m_etaWidth_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
 
std::vector< TProfile * > m_phiWidthEta = {N_SUBDETECTORS, nullptr}
 
std::vector< TProfile * > m_etaWidthEta = {N_SUBDETECTORS, nullptr}
 
std::atomic< int > m_warnCount {0}
 
ServiceHandle< IHistogramDefinitionSvcm_histoDefSvc
 
std::string m_nm
 Message source name. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

Detailed Description

class holding res plots for Inner Detector RTT Validation and implementing fill methods

Definition at line 33 of file InDetPerfPlot_HitResidual.h.

Member Enumeration Documentation

◆ Region

Enumerator
INVALID_REGION 
BARREL 
ENDCAP 
N_REGIONS 

Definition at line 46 of file InDetPerfPlot_HitResidual.h.

46  {
48  };

◆ Subdetector

Enumerator
INVALID_DETECTOR 
L0PIXBARR 
PIXEL 
SCT 
TRT 
N_SUBDETECTORS 

Definition at line 43 of file InDetPerfPlot_HitResidual.h.

43  {
45  };

Constructor & Destructor Documentation

◆ InDetPerfPlot_HitResidual()

InDetPerfPlot_HitResidual::InDetPerfPlot_HitResidual ( InDetPlotBase pParent,
const std::string &  dirName,
bool  isITk 
)

Definition at line 15 of file InDetPerfPlot_HitResidual.cxx.

15  : InDetPlotBase(pParent, sDir), m_isITk{isITk} {
16 }

◆ ~InDetPerfPlot_HitResidual()

InDetPerfPlot_HitResidual::~InDetPerfPlot_HitResidual ( )
inline

nop

Definition at line 38 of file InDetPerfPlot_HitResidual.h.

38  {
39  }

Member Function Documentation

◆ book() [1/6]

template<class Htype >
void InDetPlotBase::book ( Htype *&  pHisto,
const std::string &  histoIdentifier,
const std::string &  nameOverride = "",
const std::string &  folder = "default" 
)
inherited

Helper method to book histograms using an identifier string.

Parameters
pHistoPointer to the histogram to be booked (assumed to be initialized to nullptr)
histoIdentifierIdentifier (looked up in the XML file)
nameOverrideAllows to override the histo name w.r.t the identifier. Leave empty for no override. This can be used to instantiate multiple, identically binned plots from a single entry in the XML.
folderFolder to place the plot (if any)

◆ book() [2/6]

void InDetPlotBase::book ( TEfficiency *&  pHisto,
const SingleHistogramDefinition hd 
)
inherited

Book a (1-D) TEfficiency.

Definition at line 71 of file InDetPlotBase.cxx.

71  {
72  if (hd.isValid()) {
73  if(hd.nBinsY==0) {
74  pHisto = BookTEfficiency(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, false);
75  } else {
76  pHisto = BookTEfficiency(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, hd.nBinsY, hd.yAxis.first, hd.yAxis.second, false);
77  }
78  }
79  }

◆ book() [3/6]

void InDetPlotBase::book ( TH1 *&  pHisto,
const SingleHistogramDefinition hd 
)
inherited

Book a TH1 histogram.

Definition at line 43 of file InDetPlotBase.cxx.

43  {
44  if (hd.isValid()) {
45  pHisto = Book1D(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, false);
46  }
47  }

◆ book() [4/6]

void InDetPlotBase::book ( TH2 *&  pHisto,
const SingleHistogramDefinition hd 
)
inherited

Book a 2D histogram (TH2)

Definition at line 63 of file InDetPlotBase.cxx.

63  {
64  if (hd.isValid()) {
65  pHisto = Book2D(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, hd.nBinsY, hd.yAxis.first,
66  hd.yAxis.second, false);
67  }
68  }

◆ book() [5/6]

void InDetPlotBase::book ( TProfile *&  pHisto,
const SingleHistogramDefinition hd 
)
inherited

Book a TProfile histogram.

Definition at line 49 of file InDetPlotBase.cxx.

49  {
50  if (hd.isValid()) {
51  pHisto = BookTProfile(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, hd.yAxis.first,
52  hd.yAxis.second, false);
53  }
54  }

◆ book() [6/6]

void InDetPlotBase::book ( TProfile2D *&  pHisto,
const SingleHistogramDefinition hd 
)
inherited

Book a TProfile2D histogram.

Definition at line 56 of file InDetPlotBase.cxx.

56  {
57  if (hd.isValid()) {
58  pHisto = BookTProfile2D(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, hd.nBinsY, hd.yAxis.first,
59  hd.yAxis.second, false);
60  }
61  }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 InDetPerfPlot_HitResidual::fill ( const xAOD::TrackParticle trkprt,
float  weight 
)

Definition at line 128 of file InDetPerfPlot_HitResidual.cxx.

128  {
130  measurement_regionAcc("measurement_region");
131  const static bool hitDetailsAvailable = measurement_regionAcc.isAvailable(trkprt);
132 
133  if (!hitDetailsAvailable) {
134  if (m_warnCount++ < 10) {
135  ATH_MSG_WARNING("The hit res plots dont see any data (note:only 10 warnings issued)");
136  }
137  } else {
138  static const SG::ConstAccessor< std::vector<int> > measurement_detAcc("measurement_det");
139  const std::vector<int>& result_det = measurement_detAcc(trkprt);
140 
141  if (!result_det.empty()) {
142  static const SG::ConstAccessor< std::vector<int> > measurement_typeAcc("measurement_type");
143  static const SG::ConstAccessor< std::vector<int> > measurement_regionAcc("measurement_region");
144  static const SG::ConstAccessor< std::vector<float> > hitResiduals_residualLocXAcc("hitResiduals_residualLocX");
145  static const SG::ConstAccessor< std::vector<float> > hitResiduals_pullLocXAcc("hitResiduals_pullLocX");
146  static const SG::ConstAccessor< std::vector<float> > hitResiduals_residualLocYAcc("hitResiduals_residualLocY");
147  static const SG::ConstAccessor< std::vector<float> > hitResiduals_pullLocYAcc("hitResiduals_pullLocY");
148  static const SG::ConstAccessor< std::vector<int> > hitResiduals_phiWidthAcc("hitResiduals_phiWidth");
149  static const SG::ConstAccessor< std::vector<int> > hitResiduals_etaWidthAcc("hitResiduals_etaWidth");
150 
151  const std::vector<int>& result_measureType = measurement_typeAcc(trkprt);
152  const std::vector<int>& result_region = measurement_regionAcc(trkprt);
153  const std::vector<float>& result_residualLocX = hitResiduals_residualLocXAcc(trkprt);
154  const std::vector<float>& result_pullLocX = hitResiduals_pullLocXAcc(trkprt);
155  const std::vector<float>& result_residualLocY = hitResiduals_residualLocYAcc(trkprt);
156  const std::vector<float>& result_pullLocY = hitResiduals_pullLocYAcc(trkprt);
157  const std::vector<int>& result_phiWidth = hitResiduals_phiWidthAcc(trkprt);
158  const std::vector<int>& result_etaWidth = hitResiduals_etaWidthAcc(trkprt);
159 
160  const float eta = trkprt.eta();
161 
162  // NP: this should be fine... resiudal filled with -1 if not hit
163  if (result_det.size() != result_residualLocX.size()) {
164  ATH_MSG_WARNING("Vectors of results are not matched in size!");
165  }
166  const auto resultSize = result_region.size();
167  for (unsigned int idx = 0; idx < resultSize; ++idx) {
168  const int measureType = result_measureType[idx];
169  if (measureType != 4) {
170  continue; // NP: Only use unbiased hits for the hit residuals ;)
171  }
172  const int det = result_det[idx];
173  const int region = result_region[idx];
174  const int width = result_phiWidth[idx];
175  const int etaWidth = result_etaWidth[idx];
176  const float residualLocX = result_residualLocX[idx];
177  const float pullLocX = result_pullLocX[idx];
178  const float residualLocY = result_residualLocY[idx];
179  const float pullLocY = result_pullLocY[idx];
180  if ((det == INVALID_DETECTOR)or(region == INVALID_REGION)) {
181  continue;
182  }
183  if ((width > 0) or (det ==TRT)){//TRT does not have defined cluster width
184  // introduce cluster width histograms
185  fillHisto(m_phiWidth.at(det).at(region), width, weight);
186  fillHisto(m_etaWidth.at(det).at(region), etaWidth, weight);
187 
188  // cluster width eta profiles
190  fillHisto(m_etaWidthEta.at(det), eta, etaWidth, weight);
191 
192  fillHisto(m_residualx.at(det).at(region), residualLocX, weight);
193 
194  if(m_iDetailLevel > 200) {
195  fillHisto(m_phiWidth_eta.at(det).at(region), eta, width, weight);
196  fillHisto(m_etaWidth_eta.at(det).at(region), eta, etaWidth, weight);
197  fillHisto(m_residualx_eta.at(det).at(region), eta, residualLocX, weight);
198  }
199 
200  const bool hasYCoordinate = (det != SCT)and(det != TRT); // SCT & TRT do not have LocY
201  fillHisto(m_pullx.at(det).at(region), pullLocX, weight);
202  if(m_iDetailLevel > 200)
203  fillHisto(m_pullx_eta.at(det).at(region), eta, pullLocX, weight);
204 
205  // SCT & TRT do not have LocY
206  if (hasYCoordinate) {
207  fillHisto(m_residualy.at(det).at(region), residualLocY, weight);
208  fillHisto(m_pully.at(det).at(region), pullLocY, weight);
209  if(m_iDetailLevel > 200) {
210  fillHisto(m_residualy_eta.at(det).at(region), eta, residualLocY, weight);
211  fillHisto(m_pully_eta.at(det).at(region), eta, pullLocY, weight);
212  }
213  }
214  if ((det == TRT) or (width < 0)) {
215  continue;
216  }
217  if (width == 1) {
218  fillHisto(m_residualx_1hit.at(det).at(region), residualLocX, weight);
219  if (hasYCoordinate) {
220  fillHisto(m_residualy_1hit.at(det).at(region), residualLocY, weight);
221  }
222  } else {
223  fillHisto(m_residualx_2ormorehits.at(det).at(region), residualLocX, weight);
224  if (hasYCoordinate) {
225  fillHisto(m_residualy_2ormorehits.at(det).at(region), residualLocY, weight);
226  }
227  }
228  }
229  }
230  }
231  }
232 }

◆ fillHisto() [1/9]

void InDetPlotBase::fillHisto ( TEfficiency *  eff2d,
const float  xvalue,
const float  yvalue,
const bool  accepted,
const float  weight 
)
staticinherited

Definition at line 142 of file InDetPlotBase.cxx.

142  {
143  if (eff2d and validArguments(xvalue, yvalue)) {
144  if(weight==1.) eff2d->Fill(accepted, xvalue, yvalue);
145  else eff2d->FillWeighted(accepted, weight, xvalue, yvalue);
146  }
147 }

◆ fillHisto() [2/9]

void InDetPlotBase::fillHisto ( TEfficiency *  pTeff,
const float  value,
const bool  accepted,
float  weight 
)
staticinherited

Definition at line 134 of file InDetPlotBase.cxx.

134  {
135  if (pTeff and validArguments(value)) {
136  if(weight==1.) pTeff->Fill(accepted, value); // To get proper error estimate when possible
137  else pTeff->FillWeighted(accepted, weight, value);
138  }
139 }

◆ fillHisto() [3/9]

void InDetPlotBase::fillHisto ( TH1 *  pTh1,
const float  value 
)
staticinherited

Definition at line 97 of file InDetPlotBase.cxx.

97  {
98  if (pTh1 and validArguments(value)) {
99  pTh1->Fill(value);
100  }
101 }

◆ fillHisto() [4/9]

void InDetPlotBase::fillHisto ( TH1 *  pTh1,
const float  value,
const float  weight 
)
staticinherited

Definition at line 104 of file InDetPlotBase.cxx.

104  {
105  if (pTh1 and validArguments(value)) {
106  pTh1->Fill(value, weight);
107  }
108 }

◆ fillHisto() [5/9]

void InDetPlotBase::fillHisto ( TH2 *  pTh2,
const float  xval,
const float  yval 
)
staticinherited

Definition at line 112 of file InDetPlotBase.cxx.

112  {
113  if (pTh2 and validArguments(xval, yval)) {
114  pTh2->Fill(xval, yval);
115  }
116 }

◆ fillHisto() [6/9]

void InDetPlotBase::fillHisto ( TH2 *  pTh2,
const float  xval,
const float  yval,
const float  weight 
)
staticinherited

Definition at line 120 of file InDetPlotBase.cxx.

120  {
121  if (pTh2 and validArguments(xval, yval)) {
122  pTh2->Fill(xval, yval, weight);
123  }
124 }

◆ fillHisto() [7/9]

void InDetPlotBase::fillHisto ( TH3 *  pTh3,
const float  xval,
const float  yval,
const float  zval 
)
staticinherited

Definition at line 127 of file InDetPlotBase.cxx.

127  {
128  if (pTh3 and validArguments(xval, yval, zval)) {
129  pTh3->Fill(xval, yval, zval);
130  }
131 }

◆ fillHisto() [8/9]

void InDetPlotBase::fillHisto ( TProfile *  pTprofile,
const float  bin,
const float  weight,
const float  weight2 = 1.0 
)
staticinherited

Definition at line 82 of file InDetPlotBase.cxx.

82  {
83  if (pTprofile and validArguments(bin, weight)) {
84  pTprofile->Fill(bin, weight,weight2);
85  }
86 }

◆ fillHisto() [9/9]

void InDetPlotBase::fillHisto ( TProfile2D *  pTprofile,
const float  xval,
const float  yval,
const float  weight,
const float  weight2 = 1.0 
)
staticinherited

Definition at line 89 of file InDetPlotBase.cxx.

89  {
90  if (pTprofile and validArguments(xval,yval, weight) and validArguments(weight2)) {
91  pTprofile->Fill(xval,yval, weight,weight2);
92  }
93 }

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 47 of file PlotBase.cxx.

47  {
48  for (auto *subNode: m_vSubNodes) {
49  subNode->finalize();
50  }
51  finalizePlots();
52 }

◆ finalizePlots()

virtual void PlotBase::finalizePlots ( )
inlineprivatevirtualinherited

◆ getDirectory()

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

Definition at line 88 of file PlotBase.h.

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

◆ initializePlots()

void InDetPerfPlot_HitResidual::initializePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 19 of file InDetPerfPlot_HitResidual.cxx.

19  {
20  // const bool prependDirectory(false);
21  // x residuals
22  book(m_residualx.at(L0PIXBARR).at(BARREL), "residualx_l0pix_barrel");
23  book(m_residualx_1hit.at(L0PIXBARR).at(BARREL), "residualx_l0pix_barrel_1hit");
24  book(m_residualx_2ormorehits.at(L0PIXBARR).at(BARREL), "residualx_l0pix_barrel_2ormorehits");
25  //
26  book(m_residualx.at(PIXEL).at(BARREL), "residualx_pixel_barrel");
27  book(m_residualx_1hit.at(PIXEL).at(BARREL), "residualx_pixel_barrel_1hit");
28  book(m_residualx_2ormorehits.at(PIXEL).at(BARREL), "residualx_pixel_barrel_2ormorehits");
29  //
30  book(m_residualx.at(SCT).at(BARREL), "residualx_sct_barrel");
31  book(m_residualx_1hit.at(SCT).at(BARREL), "residualx_sct_barrel_1hit");
32  book(m_residualx_2ormorehits.at(SCT).at(BARREL), "residualx_sct_barrel_2ormorehits");
33  //
34  if(!m_isITk) book(m_residualx.at(TRT).at(BARREL), "residualx_trt_barrel");
35  // ..now endcaps
36  book(m_residualx.at(PIXEL).at(ENDCAP), "residualx_pixel_endcap");
37  book(m_residualx_1hit.at(PIXEL).at(ENDCAP), "residualx_pixel_endcap_1hit");
38  book(m_residualx_2ormorehits.at(PIXEL).at(ENDCAP), "residualx_pixel_endcap_2ormorehits");
39  //
40  book(m_residualx.at(SCT).at(ENDCAP), "residualx_sct_endcap");
41  book(m_residualx_1hit.at(SCT).at(ENDCAP), "residualx_sct_endcap_1hit");
42  book(m_residualx_2ormorehits.at(SCT).at(ENDCAP), "residualx_sct_endcap_2ormorehits");
43  //
44  if(!m_isITk) book(m_residualx.at(TRT).at(ENDCAP), "residualx_trt_endcap");
45  //
46 
47  // y residuals
48  book(m_residualy.at(L0PIXBARR).at(BARREL), "residualy_l0pix_barrel");
49  book(m_residualy_1hit.at(L0PIXBARR).at(BARREL), "residualy_l0pix_barrel_1hit");
50  book(m_residualy_2ormorehits.at(L0PIXBARR).at(BARREL), "residualy_l0pix_barrel_2ormorehits");
51  //
52  book(m_residualy.at(PIXEL).at(BARREL), "residualy_pixel_barrel");
53  book(m_residualy_1hit.at(PIXEL).at(BARREL), "residualy_pixel_barrel_1hit");
54  book(m_residualy_2ormorehits.at(PIXEL).at(BARREL), "residualy_pixel_barrel_2ormorehits");
55  //
56  // SCT and TRT do not have y-residuals/pulls
57  // ..now endcaps
58  book(m_residualy.at(PIXEL).at(ENDCAP), "residualy_pixel_endcap");
59  book(m_residualy_1hit.at(PIXEL).at(ENDCAP), "residualy_pixel_endcap_1hit");
60  book(m_residualy_2ormorehits.at(PIXEL).at(ENDCAP), "residualy_pixel_endcap_2ormorehits");
61  //
62  // SCT and TRT do not have y-residuals/pulls
63  // pulls
64  // barrel
65  book(m_pullx.at(L0PIXBARR).at(BARREL), "pullx_l0pix_barrel");
66  book(m_pullx.at(PIXEL).at(BARREL), "pullx_pixel_barrel");
67  book(m_pullx.at(SCT).at(BARREL), "pullx_sct_barrel");
68  if(!m_isITk) book(m_pullx.at(TRT).at(BARREL), "pullx_trt_barrel");
69  //
70  book(m_pullx.at(PIXEL).at(ENDCAP), "pullx_pixel_endcap");
71  book(m_pullx.at(SCT).at(ENDCAP), "pullx_sct_endcap");
72  if(!m_isITk) book(m_pullx.at(TRT).at(ENDCAP), "pullx_trt_endcap");
73  //
74  // barrel
75  book(m_pully.at(L0PIXBARR).at(BARREL), "pully_l0pix_barrel");
76  book(m_pully.at(PIXEL).at(BARREL), "pully_pixel_barrel");
77  //
78  // SCT and TRT do not have y-residuals/pulls
79  book(m_pully.at(PIXEL).at(ENDCAP), "pully_pixel_endcap");
80  //
82  // introduce cluster width histograms
83  book(m_etaWidth.at(PIXEL).at(BARREL), "clusterEtaWidth_pixel_barrel");
84  book(m_etaWidth.at(PIXEL).at(ENDCAP), "clusterEtaWidth_pixel_endcap");
85  book(m_phiWidth.at(PIXEL).at(BARREL), "clusterPhiWidth_pixel_barrel");
86  book(m_phiWidth.at(PIXEL).at(ENDCAP), "clusterPhiWidth_pixel_endcap");
87  //
88  book(m_phiWidth.at(SCT).at(BARREL), "clusterPhiWidth_sct_barrel");
89  book(m_phiWidth.at(SCT).at(ENDCAP), "clusterPhiWidth_sct_endcap");
90 
91  book(m_phiWidthEta.at(PIXEL), "clusterPhiWidth_eta_pixel");
92  book(m_etaWidthEta.at(PIXEL), "clusterEtaWidth_eta_pixel");
93  //
94  book(m_phiWidthEta.at(SCT), "clusterPhiWidth_eta_sct");
95 
96  // additional histograms booked if high detail level is specified
97  // all additional histograms for residuals, pull and cluster size vs eta
98  if(m_iDetailLevel > 200) {
99  book(m_residualx_eta.at(L0PIXBARR).at(BARREL), "residualx_l0pix_barrel_eta");
100  book(m_residualx_eta.at(PIXEL).at(BARREL), "residualx_pixel_barrel_eta");
101  book(m_residualx_eta.at(SCT).at(BARREL), "residualx_sct_barrel_eta");
102  book(m_residualx_eta.at(PIXEL).at(ENDCAP), "residualx_pixel_endcap_eta");
103  book(m_residualx_eta.at(SCT).at(ENDCAP), "residualx_sct_endcap_eta");
104  book(m_residualy_eta.at(L0PIXBARR).at(BARREL), "residualy_l0pix_barrel_eta");
105  book(m_residualy_eta.at(PIXEL).at(BARREL), "residualy_pixel_barrel_eta");
106  book(m_residualy_eta.at(PIXEL).at(ENDCAP), "residualy_pixel_endcap_eta");
107  book(m_pullx_eta.at(L0PIXBARR).at(BARREL), "pullx_l0pix_barrel_eta");
108  book(m_pullx_eta.at(PIXEL).at(BARREL), "pullx_pixel_barrel_eta");
109  book(m_pullx_eta.at(SCT).at(BARREL), "pullx_sct_barrel_eta");
110  book(m_pullx_eta.at(PIXEL).at(ENDCAP), "pullx_pixel_endcap_eta");
111  book(m_pullx_eta.at(SCT).at(ENDCAP), "pullx_sct_endcap_eta");
112  book(m_pully_eta.at(L0PIXBARR).at(BARREL), "pully_l0pix_barrel_eta");
113  book(m_pully_eta.at(PIXEL).at(BARREL), "pully_pixel_barrel_eta");
114  book(m_pully_eta.at(PIXEL).at(ENDCAP), "pully_pixel_endcap_eta");
115  book(m_phiWidth_eta.at(L0PIXBARR).at(BARREL), "clusterPhiWidth_l0pix_barrel_eta");
116  book(m_phiWidth_eta.at(PIXEL).at(BARREL), "clusterPhiWidth_pixel_barrel_eta");
117  book(m_phiWidth_eta.at(SCT).at(BARREL), "clusterPhiWidth_sct_barrel_eta");
118  book(m_phiWidth_eta.at(PIXEL).at(ENDCAP), "clusterPhiWidth_pixel_endcap_eta");
119  book(m_phiWidth_eta.at(SCT).at(ENDCAP), "clusterPhiWidth_sct_endcap_eta");
120  book(m_etaWidth_eta.at(L0PIXBARR).at(BARREL), "clusterEtaWidth_l0pix_barrel_eta");
121  book(m_etaWidth_eta.at(PIXEL).at(BARREL), "clusterEtaWidth_pixel_barrel_eta");
122  book(m_etaWidth_eta.at(PIXEL).at(ENDCAP), "clusterEtaWidth_pixel_endcap_eta");
123  }
124 }

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40 {
42  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

◆ mBook()

template<class T >
void InDetPlotBase::mBook ( T &  pHisto,
const std::string &  histoIdentifier 
)
inlineprotectedinherited

book, for use by macro

Definition at line 83 of file InDetPlotBase.h.

83  {
84  return book(pHisto, histoIdentifier.substr(2));
85  }

◆ msg() [1/2]

MsgStream & AthMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 164 of file AthMessaging.h.

165 {
166  MsgStream* ms = m_msg_tls.get();
167  if (!ms) {
168  if (!m_initialized.test_and_set()) initMessaging();
169  ms = new MsgStream(m_imsg,m_nm);
170  m_msg_tls.reset( ms );
171  }
172 
173  ms->setLevel (m_lvl);
174  return *ms;
175 }

◆ msg() [2/2]

MsgStream & AthMessaging::msg ( const MSG::Level  lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 179 of file AthMessaging.h.

180 { return msg() << lvl; }

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152 {
153  if (!m_initialized.test_and_set()) initMessaging();
154  if (m_lvl <= lvl) {
155  msg() << lvl;
156  return true;
157  } else {
158  return false;
159  }
160 }

◆ 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 }

◆ retrieveDefinition()

SingleHistogramDefinition InDetPlotBase::retrieveDefinition ( const std::string &  histoIdentifier,
const std::string &  folder = "default",
const std::string &  nameOverride = "" 
)
inherited

Retrieve a single histogram definition, given the unique string identifier.

Definition at line 151 of file InDetPlotBase.cxx.

151  {
152 
153  ATH_CHECK( m_histoDefSvc.retrieve(), {} );
154 
155  bool folderDefault = (folder.empty() or folder == "default");
156  SingleHistogramDefinition s = m_histoDefSvc->definition(histoIdentifier, folder);
157  // "default" and empty string should be equivalent
158  if (folderDefault and s.empty()) {
159  const std::string otherDefault = (folder.empty()) ? ("default") : "";
160  s = m_histoDefSvc->definition(histoIdentifier, otherDefault);
161  }
162  if (s.empty()) {
163  ATH_MSG_WARNING("Histogram definition is empty for identifier " << histoIdentifier);
164  }
165  if (!nameOverride.empty()){
166  s.name = nameOverride;
167  }
168  return s;
169 }

◆ 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 }

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level  lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29 {
30  m_lvl = lvl;
31 }

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_etaWidth

std::vector<std::vector<TH1*> > InDetPerfPlot_HitResidual::m_etaWidth = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 71 of file InDetPerfPlot_HitResidual.h.

◆ m_etaWidth_eta

std::vector<std::vector<TH2*> > InDetPerfPlot_HitResidual::m_etaWidth_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 73 of file InDetPerfPlot_HitResidual.h.

◆ m_etaWidthEta

std::vector<TProfile*> InDetPerfPlot_HitResidual::m_etaWidthEta = {N_SUBDETECTORS, nullptr}
private

Definition at line 76 of file InDetPerfPlot_HitResidual.h.

◆ m_histoDefSvc

ServiceHandle<IHistogramDefinitionSvc> InDetPlotBase::m_histoDefSvc
privateinherited

Definition at line 88 of file InDetPlotBase.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 101 of file PlotBase.h.

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_isITk

bool InDetPerfPlot_HitResidual::m_isITk
private

Definition at line 52 of file InDetPerfPlot_HitResidual.h.

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_phiWidth

std::vector<std::vector<TH1*> > InDetPerfPlot_HitResidual::m_phiWidth = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 70 of file InDetPerfPlot_HitResidual.h.

◆ m_phiWidth_eta

std::vector<std::vector<TH2*> > InDetPerfPlot_HitResidual::m_phiWidth_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 72 of file InDetPerfPlot_HitResidual.h.

◆ m_phiWidthEta

std::vector<TProfile*> InDetPerfPlot_HitResidual::m_phiWidthEta = {N_SUBDETECTORS, nullptr}
private

Definition at line 75 of file InDetPerfPlot_HitResidual.h.

◆ m_pullx

std::vector<std::vector<TH1*> > InDetPerfPlot_HitResidual::m_pullx = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 65 of file InDetPerfPlot_HitResidual.h.

◆ m_pullx_eta

std::vector<std::vector<TH2*> > InDetPerfPlot_HitResidual::m_pullx_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 67 of file InDetPerfPlot_HitResidual.h.

◆ m_pully

std::vector<std::vector<TH1*> > InDetPerfPlot_HitResidual::m_pully = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 66 of file InDetPerfPlot_HitResidual.h.

◆ m_pully_eta

std::vector<std::vector<TH2*> > InDetPerfPlot_HitResidual::m_pully_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 68 of file InDetPerfPlot_HitResidual.h.

◆ m_residualx

std::vector<std::vector<TH1*> > InDetPerfPlot_HitResidual::m_residualx = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 56 of file InDetPerfPlot_HitResidual.h.

◆ m_residualx_1hit

std::vector<std::vector<TH1*> > InDetPerfPlot_HitResidual::m_residualx_1hit = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 54 of file InDetPerfPlot_HitResidual.h.

◆ m_residualx_2ormorehits

std::vector<std::vector<TH1*> > InDetPerfPlot_HitResidual::m_residualx_2ormorehits = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 55 of file InDetPerfPlot_HitResidual.h.

◆ m_residualx_eta

std::vector<std::vector<TH2*> > InDetPerfPlot_HitResidual::m_residualx_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 57 of file InDetPerfPlot_HitResidual.h.

◆ m_residualy

std::vector<std::vector<TH1*> > InDetPerfPlot_HitResidual::m_residualy = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 62 of file InDetPerfPlot_HitResidual.h.

◆ m_residualy_1hit

std::vector<std::vector<TH1*> > InDetPerfPlot_HitResidual::m_residualy_1hit = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 60 of file InDetPerfPlot_HitResidual.h.

◆ m_residualy_2ormorehits

std::vector<std::vector<TH1*> > InDetPerfPlot_HitResidual::m_residualy_2ormorehits = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 61 of file InDetPerfPlot_HitResidual.h.

◆ m_residualy_eta

std::vector<std::vector<TH2*> > InDetPerfPlot_HitResidual::m_residualy_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}}
private

Definition at line 63 of file InDetPerfPlot_HitResidual.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.

◆ m_warnCount

std::atomic<int> InDetPerfPlot_HitResidual::m_warnCount {0}
mutableprivate

Definition at line 78 of file InDetPerfPlot_HitResidual.h.


The documentation for this class was generated from the following files:
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
PlotBase::constructPrefix
static std::string constructPrefix(std::string dir, bool prependDir)
Definition: PlotBase.cxx:293
InDetPerfPlot_HitResidual::N_REGIONS
@ N_REGIONS
Definition: InDetPerfPlot_HitResidual.h:47
SingleHistogramDefinition::nBinsX
unsigned int nBinsX
Definition: SingleHistogramDefinition.h:47
WritePulseShapeToCool.yhi
yhi
Definition: WritePulseShapeToCool.py:153
replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition: hcg.cxx:307
PlotBase::m_iDetailLevel
int m_iDetailLevel
Definition: PlotBase.h:101
PlotBase::m_vBookedHistograms
std::vector< HistData > m_vBookedHistograms
Definition: PlotBase.h:97
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
InDetPlotBase::book
void book(Htype *&pHisto, const std::string &histoIdentifier, const std::string &nameOverride="", const std::string &folder="default")
Helper method to book histograms using an identifier string.
InDetPerfPlot_HitResidual::m_residualy_eta
std::vector< std::vector< TH2 * > > m_residualy_eta
Definition: InDetPerfPlot_HitResidual.h:63
make_coralServer_rep.opt
opt
Definition: make_coralServer_rep.py:19
InDetPerfPlot_HitResidual::m_residualx
std::vector< std::vector< TH1 * > > m_residualx
Definition: InDetPerfPlot_HitResidual.h:56
InDetPerfPlot_HitResidual::m_etaWidth_eta
std::vector< std::vector< TH2 * > > m_etaWidth_eta
Definition: InDetPerfPlot_HitResidual.h:73
TRTCalib_Extractor.det
det
Definition: TRTCalib_Extractor.py:36
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
xAOD::TrackParticle_v1::eta
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Definition: TrackParticle_v1.cxx:77
InDetPerfPlot_HitResidual::m_warnCount
std::atomic< int > m_warnCount
Definition: InDetPerfPlot_HitResidual.h:78
plotmaker.hist
hist
Definition: plotmaker.py:148
InDetPerfPlot_HitResidual::m_pullx
std::vector< std::vector< TH1 * > > m_pullx
Definition: InDetPerfPlot_HitResidual.h:65
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
PlotBase::initializePlots
virtual void initializePlots()
Definition: PlotBase.h:91
PlotBase::m_sDirectory
std::string m_sDirectory
Definition: PlotBase.h:100
PlotBase::m_vBookedEfficiencies
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition: PlotBase.h:99
tree
TChain * tree
Definition: tile_monitor.h:30
PlotBase::BookTEfficiency
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.
Definition: PlotBase.cxx:257
bin
Definition: BinsDiffFromStripMedian.h:43
PlotBase::Book2D
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
athena.value
value
Definition: athena.py:124
InDetPerfPlot_HitResidual::m_phiWidthEta
std::vector< TProfile * > m_phiWidthEta
Definition: InDetPerfPlot_HitResidual.h:75
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
InDetPerfPlot_HitResidual::N_SUBDETECTORS
@ N_SUBDETECTORS
Definition: InDetPerfPlot_HitResidual.h:44
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
PlotBase::BookTProfile2D
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.
Definition: PlotBase.cxx:231
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
PlotBase::Book1D
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
InDetPerfPlot_HitResidual::m_phiWidth_eta
std::vector< std::vector< TH2 * > > m_phiWidth_eta
Definition: InDetPerfPlot_HitResidual.h:72
InDetPerfPlot_HitResidual::ENDCAP
@ ENDCAP
Definition: InDetPerfPlot_HitResidual.h:47
InDetPerfPlot_HitResidual::m_residualy
std::vector< std::vector< TH1 * > > m_residualy
Definition: InDetPerfPlot_HitResidual.h:62
InDetPerfPlot_HitResidual::m_residualy_2ormorehits
std::vector< std::vector< TH1 * > > m_residualy_2ormorehits
Definition: InDetPerfPlot_HitResidual.h:61
SingleHistogramDefinition::xAxis
IHistogramDefinitionSvc::axesLimits_t xAxis
Definition: SingleHistogramDefinition.h:50
beamspotnt.labels
list labels
Definition: bin/beamspotnt.py:1447
InDetPerfPlot_HitResidual::m_etaWidthEta
std::vector< TProfile * > m_etaWidthEta
Definition: InDetPerfPlot_HitResidual.h:76
PlotBase::m_vSubNodes
std::vector< PlotBase * > m_vSubNodes
Definition: PlotBase.h:96
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
InDetPerfPlot_HitResidual::L0PIXBARR
@ L0PIXBARR
Definition: InDetPerfPlot_HitResidual.h:44
TRT
Definition: HitInfo.h:33
InDetPerfPlot_HitResidual::INVALID_REGION
@ INVALID_REGION
Definition: InDetPerfPlot_HitResidual.h:47
plotting.yearwise_efficiency_vs_mu.xval
float xval
Definition: yearwise_efficiency_vs_mu.py:35
InDetPerfPlot_HitResidual::m_pully_eta
std::vector< std::vector< TH2 * > > m_pully_eta
Definition: InDetPerfPlot_HitResidual.h:68
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
InDetPerfPlot_HitResidual::m_residualx_1hit
std::vector< std::vector< TH1 * > > m_residualx_1hit
Definition: InDetPerfPlot_HitResidual.h:54
InDetPerfPlot_HitResidual::m_residualx_eta
std::vector< std::vector< TH2 * > > m_residualx_eta
Definition: InDetPerfPlot_HitResidual.h:57
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
ChangeHistoRange.binsY
list binsY
Definition: ChangeHistoRange.py:59
InDetPerfPlot_HitResidual::m_phiWidth
std::vector< std::vector< TH1 * > > m_phiWidth
Definition: InDetPerfPlot_HitResidual.h:70
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
WritePulseShapeToCool.xlo
xlo
Definition: WritePulseShapeToCool.py:133
InDetPerfPlot_HitResidual::TRT
@ TRT
Definition: InDetPerfPlot_HitResidual.h:44
WritePulseShapeToCool.ylo
ylo
Definition: WritePulseShapeToCool.py:134
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
InDetPerfPlot_HitResidual::PIXEL
@ PIXEL
Definition: InDetPerfPlot_HitResidual.h:44
SingleHistogramDefinition
Almost-a-struct for holding the single histogram definition.
Definition: SingleHistogramDefinition.h:17
SCT
Definition: SCT_ChipUtils.h:14
InDetPlotBase::m_histoDefSvc
ServiceHandle< IHistogramDefinitionSvc > m_histoDefSvc
Definition: InDetPlotBase.h:88
beamspotman.dir
string dir
Definition: beamspotman.py:623
InDetPerfPlot_HitResidual::m_etaWidth
std::vector< std::vector< TH1 * > > m_etaWidth
Definition: InDetPerfPlot_HitResidual.h:71
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
InDetPerfPlot_HitResidual::SCT
@ SCT
Definition: InDetPerfPlot_HitResidual.h:44
InDetPerfPlot_HitResidual::m_pully
std::vector< std::vector< TH1 * > > m_pully
Definition: InDetPerfPlot_HitResidual.h:66
InDetPlotBase::InDetPlotBase
InDetPlotBase(InDetPlotBase *pParent, const std::string &dirName)
Constructor taking parent node and directory name for plots.
Definition: InDetPlotBase.cxx:35
plotting.yearwise_efficiency_vs_mu.yval
float yval
Definition: yearwise_efficiency_vs_mu.py:36
InDetPerfPlot_HitResidual::m_residualy_1hit
std::vector< std::vector< TH1 * > > m_residualy_1hit
Definition: InDetPerfPlot_HitResidual.h:60
InDetPerfPlot_HitResidual::m_pullx_eta
std::vector< std::vector< TH2 * > > m_pullx_eta
Definition: InDetPerfPlot_HitResidual.h:67
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
InDetPerfPlot_HitResidual::BARREL
@ BARREL
Definition: InDetPerfPlot_HitResidual.h:47
PlotBase::BookTProfile
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.
Definition: PlotBase.cxx:186
InDetPerfPlot_HitResidual::m_isITk
bool m_isITk
Definition: InDetPerfPlot_HitResidual.h:52
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
SingleHistogramDefinition::name
std::string name
Definition: SingleHistogramDefinition.h:44
CaloCondBlobAlgs_fillNoiseFromASCII.folder
folder
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:56
SingleHistogramDefinition::yAxis
IHistogramDefinitionSvc::axesLimits_t yAxis
Definition: SingleHistogramDefinition.h:51
SingleHistogramDefinition::isValid
bool isValid() const
Is the histogram definition valid.
Definition: SingleHistogramDefinition.cxx:104
ChangeHistoRange.binsX
list binsX
Definition: ChangeHistoRange.py:56
SingleHistogramDefinition::allTitles
std::string allTitles
Definition: SingleHistogramDefinition.h:56
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
InDetPerfPlot_HitResidual::m_residualx_2ormorehits
std::vector< std::vector< TH1 * > > m_residualx_2ormorehits
Definition: InDetPerfPlot_HitResidual.h:55
AthMessaging::m_msg_tls
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
Definition: AthMessaging.h:132
InDetPlotBase::fillHisto
static void fillHisto(TProfile *pTprofile, const float bin, const float weight, const float weight2=1.0)
Definition: InDetPlotBase.cxx:82
InDetPerfPlot_HitResidual::INVALID_DETECTOR
@ INVALID_DETECTOR
Definition: InDetPerfPlot_HitResidual.h:44
PlotBase::finalizePlots
virtual void finalizePlots()
Definition: PlotBase.h:92
PlotBase::m_vBookedTrees
std::vector< TreeData > m_vBookedTrees
Definition: PlotBase.h:98
SingleHistogramDefinition::nBinsY
unsigned int nBinsY
Definition: SingleHistogramDefinition.h:48