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)
 
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...
 
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

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

Definition at line 15 of file InDetPerfPlot_HitResidual.cxx.

15  : InDetPlotBase(
16  pParent, sDir) {
17 //
18 }

◆ ~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 74 of file InDetPlotBase.cxx.

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

◆ book() [3/6]

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

Book a TH1 histogram.

Definition at line 46 of file InDetPlotBase.cxx.

46  {
47  if (hd.isValid()) {
48  pHisto = Book1D(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, false);
49  }
50  }

◆ book() [4/6]

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

Book a 2D histogram (TH2)

Definition at line 66 of file InDetPlotBase.cxx.

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

◆ book() [5/6]

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

Book a TProfile histogram.

Definition at line 52 of file InDetPlotBase.cxx.

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

◆ book() [6/6]

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

Book a TProfile2D histogram.

Definition at line 59 of file InDetPlotBase.cxx.

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

◆ Book1D() [1/2]

TH1F * 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 88 of file PlotBase.cxx.

89  {
90  std::string prefix = constructPrefix(m_sDirectory, prependDir);
91  Bool_t oldstat = TH1::AddDirectoryStatus();
92  TH1::AddDirectory(false);
93  TH1F *hist = new TH1F((prefix + name).c_str(), labels.c_str(), nBins, start, end);
94  TH1::AddDirectory(oldstat);
95 
96  hist->Sumw2();
97  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
98  return hist;
99 }

◆ Book1D() [2/2]

TH1F * 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 102 of file PlotBase.cxx.

102  {
103  std::string prefix = constructPrefix(m_sDirectory, prependDir);
104  Bool_t oldstat = TH1::AddDirectoryStatus();
105  TH1::AddDirectory(false);
106  TH1F *hist = new TH1F((prefix + name).c_str(), labels.c_str(), refHist->GetNbinsX(),
107  refHist->GetXaxis()->GetXbins()->GetArray());
108  hist->Sumw2();
109  TH1::AddDirectory(oldstat);
110 
111 
112  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
113  return hist;
114 }

◆ 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 TH2D histogram with variable x axis binning.

Definition at line 138 of file PlotBase.cxx.

139  {
140  std::string prefix = constructPrefix(m_sDirectory, prependDir);
141  Bool_t oldstat = TH2::AddDirectoryStatus();
142  TH2::AddDirectory(false);
143  TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, startY, endY);
144  hist->Sumw2();
145  TH2::AddDirectory(oldstat);
146  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
147  return hist;
148 }

◆ 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 TH2D histogram.

Definition at line 117 of file PlotBase.cxx.

118  {
119  std::string prefix = constructPrefix(m_sDirectory, prependDir);
120  Bool_t oldstat = TH2::AddDirectoryStatus();
121  TH2::AddDirectory(false);
122  TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, startX, endX, nBinsY, startY, endY);
123  hist->Sumw2();
124  TH2::AddDirectory(oldstat);
125 
126 
127  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
128  return hist;
129 }

◆ 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 132 of file PlotBase.cxx.

132  {
133  return Book2D(name, labels, refHist->GetNbinsX(), refHist->GetXaxis()->GetXmin(), refHist->GetXaxis()->GetXmax(),
134  refHist->GetNbinsY(), refHist->GetYaxis()->GetXmin(), refHist->GetYaxis()->GetXmax(), prependDir);
135 }

◆ 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 TH3D histogram.

Definition at line 151 of file PlotBase.cxx.

152  {
153  std::string prefix = constructPrefix(m_sDirectory, prependDir);
154  Bool_t oldstat = TH3::AddDirectoryStatus();
155  TH3::AddDirectory(false);
156  TH3F *hist = new TH3F((prefix + name).c_str(),
157  labels.c_str(), nBinsX, startX, endX, nBinsY, startY, endY, nBinsZ, startZ, endZ);
158  hist->Sumw2();
159  TH3::AddDirectory(oldstat);
160  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
161  return hist;
162 }

◆ Book3D() [2/2]

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

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

Definition at line 165 of file PlotBase.cxx.

165  {
166  std::string prefix = constructPrefix(m_sDirectory, prependDir);
167  Bool_t oldstat = TH3::AddDirectoryStatus();
168  TH3::AddDirectory(false);
169  TH3F *hist = new TH3F((prefix + name).c_str(), labels.c_str(), refHist->GetNbinsX(),
170  refHist->GetXaxis()->GetXbins()->GetArray(), refHist->GetNbinsY(),
171  refHist->GetYaxis()->GetXbins()->GetArray(), refHist->GetNbinsZ(),
172  refHist->GetZaxis()->GetXbins()->GetArray());
173  TH3::AddDirectory(oldstat);
174 
175  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
176  return hist;
177 }

◆ 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 251 of file PlotBase.cxx.

251  {
252  std::string prefix = constructPrefix(m_sDirectory, prependDir);
253  //Bool_t oldstat = TEfficiency::AddDirectoryStatus();
254  TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi);
255  //hist->SetAutoSave(0);
256  //hist->SetAtoFlush(0);
257  hist->SetDirectory(nullptr);
258  m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
259  //TEfficiency::AddDirectory(oldstat);
260  return hist;
261 }

◆ 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 264 of file PlotBase.cxx.

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

◆ 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 198 of file PlotBase.cxx.

198  {
199  std::string prefix = constructPrefix(m_sDirectory, prependDir);
200  TProfile *hist(nullptr);
201  Bool_t oldstat = TProfile::AddDirectoryStatus();
202  TProfile::AddDirectory(false);
203 
204  hist = new TProfile((prefix + name).c_str(), labels.c_str(), nBinsX, binsX);
205  TProfile::AddDirectory(oldstat);
206  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
207  return hist;
208 }

◆ 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 180 of file PlotBase.cxx.

181  {
182  std::string prefix = constructPrefix(m_sDirectory, prependDir);
183  TProfile *hist(nullptr);
184  Bool_t oldstat = TProfile::AddDirectoryStatus();
185  TProfile::AddDirectory(false);
186  std::string opt = useRMS ? "S" : "";
187  if ((startY == -1) and (endY == -1)) {
188  hist = new TProfile((prefix + name).c_str(), labels.c_str(), nBinsX, startX, endX, opt.c_str());
189  } else {
190  hist = new TProfile((prefix + name).c_str(), labels.c_str(), nBinsX, startX, endX, startY, endY, opt.c_str());
191  }
192  TProfile::AddDirectory(oldstat);
193  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
194  return hist;
195 }

◆ 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 225 of file PlotBase.cxx.

227  {
228  std::string prefix = constructPrefix(m_sDirectory, prependDir);
229  Bool_t oldstat = TProfile2D::AddDirectoryStatus();
230  TProfile2D::AddDirectory(false);
231  std::string opt = useRMS ? "S" : "";
232  TProfile2D *hist = new TProfile2D((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi, nBinsY, ylo, yhi, opt.c_str());
233  TProfile2D::AddDirectory(oldstat);
234  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
235  return hist;
236 }

◆ 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 239 of file PlotBase.cxx.

239  {
240  std::string prefix = constructPrefix(m_sDirectory, prependDir);
241  Bool_t oldstat = TProfile2D::AddDirectoryStatus();
242  TProfile2D::AddDirectory(false);
243  std::string opt = useRMS ? "S" : "";
244  TProfile2D *hist = new TProfile2D((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, binsY, opt.c_str());
245  TProfile2D::AddDirectory(oldstat);
246  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
247  return hist;
248 }

◆ 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 211 of file PlotBase.cxx.

212  {
213  std::string prefix = constructPrefix(m_sDirectory, prependDir);
214  TProfile *hist(nullptr);
215  Bool_t oldstat = TProfile::AddDirectoryStatus();
216  TProfile::AddDirectory(false);
217 
218  hist = new TProfile((prefix + name).c_str(), labels.c_str(), (Int_t) nBinsX, binsX, startY, endY);
219  TProfile::AddDirectory(oldstat);
220  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
221  return hist;
222 }

◆ BookTree()

TTree * PlotBase::BookTree ( const std::string &  name,
bool  prependDir = true 
)
inherited

Book a TTree.

Definition at line 275 of file PlotBase.cxx.

275  {
276  std::string prefix = constructPrefix(m_sDirectory, prependDir);
277  TTree *tree = new TTree((prefix + name).c_str(), "");
278 
279  tree->SetAutoSave(0);
280  tree->SetAutoFlush(0);
281  tree->SetDirectory(nullptr);
282  m_vBookedTrees.emplace_back(tree, m_sDirectory);
283  return tree;
284 }

◆ constructPrefix()

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

Definition at line 287 of file PlotBase.cxx.

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

◆ fill()

void InDetPerfPlot_HitResidual::fill ( const xAOD::TrackParticle trkprt,
float  weight 
)

Definition at line 130 of file InDetPerfPlot_HitResidual.cxx.

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

◆ fillHisto() [1/9]

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

Definition at line 145 of file InDetPlotBase.cxx.

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

◆ fillHisto() [2/9]

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

Definition at line 137 of file InDetPlotBase.cxx.

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

◆ fillHisto() [3/9]

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

Definition at line 100 of file InDetPlotBase.cxx.

100  {
101  if (pTh1 and validArguments(value)) {
102  pTh1->Fill(value);
103  }
104 }

◆ fillHisto() [4/9]

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

Definition at line 107 of file InDetPlotBase.cxx.

107  {
108  if (pTh1 and validArguments(value)) {
109  pTh1->Fill(value, weight);
110  }
111 }

◆ fillHisto() [5/9]

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

Definition at line 115 of file InDetPlotBase.cxx.

115  {
116  if (pTh2 and validArguments(xval, yval)) {
117  pTh2->Fill(xval, yval);
118  }
119 }

◆ fillHisto() [6/9]

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

Definition at line 123 of file InDetPlotBase.cxx.

123  {
124  if (pTh2 and validArguments(xval, yval)) {
125  pTh2->Fill(xval, yval, weight);
126  }
127 }

◆ fillHisto() [7/9]

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

Definition at line 130 of file InDetPlotBase.cxx.

130  {
131  if (pTh3 and validArguments(xval, yval, zval)) {
132  pTh3->Fill(xval, yval, zval);
133  }
134 }

◆ fillHisto() [8/9]

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

Definition at line 85 of file InDetPlotBase.cxx.

85  {
86  if (pTprofile and validArguments(bin, weight)) {
87  pTprofile->Fill(bin, weight,weight2);
88  }
89 }

◆ 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 92 of file InDetPlotBase.cxx.

92  {
93  if (pTprofile and validArguments(xval,yval, weight) and validArguments(weight2)) {
94  pTprofile->Fill(xval,yval, weight,weight2);
95  }
96 }

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 41 of file PlotBase.cxx.

41  {
42  for (auto *subNode: m_vSubNodes) {
43  subNode->finalize();
44  }
45  finalizePlots();
46 }

◆ finalizePlots()

virtual void PlotBase::finalizePlots ( )
inlineprivatevirtualinherited

◆ getDirectory()

std::string PlotBase::getDirectory ( )
inlineinherited

Definition at line 87 of file PlotBase.h.

87 {return m_sDirectory;}

◆ initialize()

void PlotBase::initialize ( )
inherited

Definition at line 33 of file PlotBase.cxx.

33  {
34  for (auto *subNode: m_vSubNodes) {
35  subNode->initialize();
36  }
38 }

◆ initializePlots()

void InDetPerfPlot_HitResidual::initializePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 21 of file InDetPerfPlot_HitResidual.cxx.

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

◆ 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 81 of file InDetPlotBase.h.

81  {
82  return book(pHisto, histoIdentifier.substr(2));
83  }

◆ 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 40 of file PlotBase.h.

40 {m_vSubNodes.push_back(pPlotBase);}

◆ retrieveBookedEfficiencies()

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

Retrieve all booked efficiency objects.

Definition at line 77 of file PlotBase.cxx.

77  {
78  std::vector<EfficiencyData> vBookedEfficiencies = m_vBookedEfficiencies;
79  for (const auto &subNode: m_vSubNodes) {
80  std::vector<EfficiencyData> subNodeHists = subNode->retrieveBookedEfficiencies();
81  vBookedEfficiencies.insert(vBookedEfficiencies.end(), subNodeHists.begin(), subNodeHists.end());
82  }
83  return vBookedEfficiencies;
84 }

◆ retrieveBookedHistograms()

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

Retrieve all booked histograms.

Definition at line 57 of file PlotBase.cxx.

57  {
58  std::vector<HistData> vBookedHistograms = m_vBookedHistograms;
59  for (const auto &subNode: m_vSubNodes) {
60  std::vector<HistData> subNodeHists = subNode->retrieveBookedHistograms();
61  vBookedHistograms.insert(vBookedHistograms.end(), subNodeHists.begin(), subNodeHists.end());
62  }
63  return vBookedHistograms;
64 }

◆ retrieveBookedTrees()

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

Retrieve all booked trees.

Definition at line 67 of file PlotBase.cxx.

67  {
68  std::vector<TreeData> vBookedTrees = m_vBookedTrees;
69  for (auto *subNode: m_vSubNodes) {
70  std::vector<TreeData> subNodeTrees = subNode->retrieveBookedTrees();
71  vBookedTrees.insert(vBookedTrees.end(), subNodeTrees.begin(), subNodeTrees.end());
72  }
73  return vBookedTrees;
74 }

◆ 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 154 of file InDetPlotBase.cxx.

154  {
155  SingleHistogramDefinition s; // invalid result
156 
157  if (not m_histoDefSvc) {
158  ISvcLocator* svcLoc = Gaudi::svcLocator();
159  StatusCode sc = svcLoc->service("HistogramDefinitionSvc", m_histoDefSvc);
160  if (sc.isFailure()) {
161  ATH_MSG_FATAL("failed to retrieve HistogramDefinitionSvc in " << __FILE__);
162  throw std::runtime_error("Could initialise the HistogramDefinitionSvc");
163  return s;
164  }
165  }
166  bool folderDefault = (folder.empty() or folder == "default");
167  s = m_histoDefSvc->definition(histoIdentifier, folder);
168  // "default" and empty string should be equivalent
169  if (folderDefault and s.empty()) {
170  const std::string otherDefault = (folder.empty()) ? ("default") : "";
171  s = m_histoDefSvc->definition(histoIdentifier, otherDefault);
172  }
173  if (s.empty()) {
174  ATH_MSG_WARNING("Histogram definition is empty for identifier " << histoIdentifier);
175  }
176  if (!nameOverride.empty()){
177  s.name = nameOverride;
178  }
179  return s;
180 }

◆ setDetailLevel()

void PlotBase::setDetailLevel ( int  iDetailLevel)
inherited

Definition at line 49 of file PlotBase.cxx.

49  {
50  for (auto *subNode: m_vSubNodes) {
51  subNode->setDetailLevel(iDetailLevel);
52  }
53  m_iDetailLevel = iDetailLevel;
54 }

◆ 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 69 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 71 of file InDetPerfPlot_HitResidual.h.

◆ m_etaWidthEta

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

Definition at line 74 of file InDetPerfPlot_HitResidual.h.

◆ m_histoDefSvc

IHistogramDefinitionSvc* InDetPlotBase::m_histoDefSvc
privateinherited

Definition at line 86 of file InDetPlotBase.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 100 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_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 68 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 70 of file InDetPerfPlot_HitResidual.h.

◆ m_phiWidthEta

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

Definition at line 73 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 63 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 65 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 64 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 66 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 54 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 52 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 53 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 55 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 60 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 58 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 59 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 61 of file InDetPerfPlot_HitResidual.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 99 of file PlotBase.h.

◆ m_vBookedEfficiencies

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

Definition at line 98 of file PlotBase.h.

◆ m_vBookedHistograms

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

Definition at line 96 of file PlotBase.h.

◆ m_vBookedTrees

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

Definition at line 97 of file PlotBase.h.

◆ m_vSubNodes

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

Definition at line 95 of file PlotBase.h.

◆ m_warnCount

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

Definition at line 76 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:287
InDetPerfPlot_HitResidual::N_REGIONS
@ N_REGIONS
Definition: InDetPerfPlot_HitResidual.h:47
SingleHistogramDefinition::nBinsX
unsigned int nBinsX
Definition: SingleHistogramDefinition.h:47
TH2::Fill
int Fill(double, double)
Definition: rootspy.cxx:382
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:100
PlotBase::m_vBookedHistograms
std::vector< HistData > m_vBookedHistograms
Definition: PlotBase.h:96
PlotBase::Book1D
TH1F * 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:88
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
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:61
InDetPerfPlot_HitResidual::m_residualx
std::vector< std::vector< TH1 * > > m_residualx
Definition: InDetPerfPlot_HitResidual.h:54
InDetPerfPlot_HitResidual::m_etaWidth_eta
std::vector< std::vector< TH2 * > > m_etaWidth_eta
Definition: InDetPerfPlot_HitResidual.h:71
TH2F
Definition: rootspy.cxx:420
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
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:76
plotmaker.hist
hist
Definition: plotmaker.py:148
InDetPerfPlot_HitResidual::m_pullx
std::vector< std::vector< TH1 * > > m_pullx
Definition: InDetPerfPlot_HitResidual.h:63
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
PlotBase::initializePlots
virtual void initializePlots()
Definition: PlotBase.h:90
PlotBase::m_sDirectory
std::string m_sDirectory
Definition: PlotBase.h:99
PlotBase::m_vBookedEfficiencies
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition: PlotBase.h:98
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:251
TProfile2D
Definition: rootspy.cxx:531
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 TH2D histogram.
Definition: PlotBase.cxx:117
athena.value
value
Definition: athena.py:122
InDetPerfPlot_HitResidual::m_phiWidthEta
std::vector< TProfile * > m_phiWidthEta
Definition: InDetPerfPlot_HitResidual.h:73
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:54
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:225
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
InDetPerfPlot_HitResidual::m_phiWidth_eta
std::vector< std::vector< TH2 * > > m_phiWidth_eta
Definition: InDetPerfPlot_HitResidual.h:70
InDetPerfPlot_HitResidual::ENDCAP
@ ENDCAP
Definition: InDetPerfPlot_HitResidual.h:47
InDetPerfPlot_HitResidual::m_residualy
std::vector< std::vector< TH1 * > > m_residualy
Definition: InDetPerfPlot_HitResidual.h:60
InDetPerfPlot_HitResidual::m_residualy_2ormorehits
std::vector< std::vector< TH1 * > > m_residualy_2ormorehits
Definition: InDetPerfPlot_HitResidual.h:59
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:74
PlotBase::m_vSubNodes
std::vector< PlotBase * > m_vSubNodes
Definition: PlotBase.h:95
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
TH3::Fill
int Fill(double, double, double)
Definition: rootspy.cxx:453
InDetPerfPlot_HitResidual::m_pully_eta
std::vector< std::vector< TH2 * > > m_pully_eta
Definition: InDetPerfPlot_HitResidual.h:66
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
InDetPerfPlot_HitResidual::m_residualx_1hit
std::vector< std::vector< TH1 * > > m_residualx_1hit
Definition: InDetPerfPlot_HitResidual.h:52
InDetPerfPlot_HitResidual::m_residualx_eta
std::vector< std::vector< TH2 * > > m_residualx_eta
Definition: InDetPerfPlot_HitResidual.h:55
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ChangeHistoRange.binsY
list binsY
Definition: ChangeHistoRange.py:59
WritePulseShapeToCool.det
det
Definition: WritePulseShapeToCool.py:204
InDetPerfPlot_HitResidual::m_phiWidth
std::vector< std::vector< TH1 * > > m_phiWidth
Definition: InDetPerfPlot_HitResidual.h:68
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
plotting.yearwise_efficiency.yval
float yval
Definition: yearwise_efficiency.py:43
TProfile2D::Fill
int Fill(double, double, double)
Definition: rootspy.cxx:541
IHistogramDefinitionSvc::definition
virtual SingleHistogramDefinition definition(const std::string &name, const std::string &dirName="") const =0
Return a histogram definition, retrieved by histogram identifier (and directory name,...
WritePulseShapeToCool.xlo
xlo
Definition: WritePulseShapeToCool.py:133
InDetPerfPlot_HitResidual::TRT
@ TRT
Definition: InDetPerfPlot_HitResidual.h:44
TH1::Fill
int Fill(double)
Definition: rootspy.cxx:285
plotting.yearwise_efficiency.xval
float xval
Definition: yearwise_efficiency.py:42
WritePulseShapeToCool.ylo
ylo
Definition: WritePulseShapeToCool.py:134
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
InDetPlotBase::m_histoDefSvc
IHistogramDefinitionSvc * m_histoDefSvc
Definition: InDetPlotBase.h:86
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
beamspotman.dir
string dir
Definition: beamspotman.py:623
InDetPerfPlot_HitResidual::m_etaWidth
std::vector< std::vector< TH1 * > > m_etaWidth
Definition: InDetPerfPlot_HitResidual.h:69
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
pmontree.opt
opt
Definition: pmontree.py:16
InDetPerfPlot_HitResidual::SCT
@ SCT
Definition: InDetPerfPlot_HitResidual.h:44
InDetPerfPlot_HitResidual::m_pully
std::vector< std::vector< TH1 * > > m_pully
Definition: InDetPerfPlot_HitResidual.h:64
TH3F
Definition: rootspy.cxx:495
TProfile
Definition: rootspy.cxx:515
InDetPlotBase::InDetPlotBase
InDetPlotBase(InDetPlotBase *pParent, const std::string &dirName)
Constructor taking parent node and directory name for plots.
Definition: InDetPlotBase.cxx:40
InDetPerfPlot_HitResidual::m_residualy_1hit
std::vector< std::vector< TH1 * > > m_residualy_1hit
Definition: InDetPerfPlot_HitResidual.h:58
InDetPerfPlot_HitResidual::m_pullx_eta
std::vector< std::vector< TH2 * > > m_pullx_eta
Definition: InDetPerfPlot_HitResidual.h:65
TProfile::Fill
int Fill(double, double)
Definition: rootspy.cxx:523
TH1F
Definition: rootspy.cxx:320
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:180
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
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
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:53
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:85
InDetPerfPlot_HitResidual::INVALID_DETECTOR
@ INVALID_DETECTOR
Definition: InDetPerfPlot_HitResidual.h:44
PlotBase::finalizePlots
virtual void finalizePlots()
Definition: PlotBase.h:91
PlotBase::m_vBookedTrees
std::vector< TreeData > m_vBookedTrees
Definition: PlotBase.h:97
SingleHistogramDefinition::nBinsY
unsigned int nBinsY
Definition: SingleHistogramDefinition.h:48