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

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

#include <InDetPerfPlot_Resolution.h>

Inheritance diagram for InDetPerfPlot_Resolution:
Collaboration diagram for InDetPerfPlot_Resolution:

Public Types

enum  Param {
  D0, Z0, QOVERP, QOVERPT,
  THETA, PHI, PT, Z0SIN,
  NPARAMS
}
 

Public Member Functions

 InDetPerfPlot_Resolution (InDetPlotBase *pParent, const std::string &dirName)
 
void fill (const xAOD::TrackParticle &trkprt, const xAOD::TruthParticle &truthprt, float weight)
 
virtual ~InDetPerfPlot_Resolution ()
 
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 Member Functions

void initializePlots ()
 
void finalizePlots ()
 
void getTrackParameters (const xAOD::TruthParticle &truthprt)
 
void getTrackParameters (const xAOD::TrackParticle &truthprt)
 
void getPlotParameters ()
 
void getPlots (float weight=1.0)
 
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

const double m_ptMin = 0.745
 
const double m_ptMax = 1000.0
 
float m_PtBins [m_nPtBins+1] {}
 
const double m_lowPtMin = 0.01
 
const double m_lowPtMax = 1.0
 
float m_LowPtBins [m_nLowPtBins+1] {}
 
std::string m_paramProp [NPARAMS] = { "d0", "z0", "qoverp", "ptqopt", "theta", "phi", "pt", "z0sin" }
 
IDPVM::ResolutionHelper m_resolutionHelper
 
IDPVM::ResolutionHelper::methods m_resolutionMethod
 
bool m_primTrk
 
bool m_secdTrk
 
bool m_allTrk
 
float m_trkP [NPARAMS]
 
float m_truetrkP [NPARAMS]
 
float m_trkErrP [NPARAMS]
 
float m_resP [NPARAMS]
 
float m_pullP [NPARAMS]
 
float m_sigP [NPARAMS]
 
TH1m_pull [NPARAMS]
 
TH1m_res [NPARAMS]
 
TH1m_sigma [NPARAMS]
 
TH2m_resHelpereta [NPARAMS]
 
TH2m_resHelperpt [NPARAMS]
 
TH2m_resHelperlowpt [NPARAMS]
 
TH2m_pullHelpereta [NPARAMS]
 
TH2m_pullHelperpt [NPARAMS]
 
TH2m_pullHelperlowpt [NPARAMS]
 
TH1m_reswidth_vs_eta [NPARAMS]
 
TH1m_resmean_vs_eta [NPARAMS]
 
TH1m_reswidth_vs_pt [NPARAMS]
 
TH1m_resmean_vs_pt [NPARAMS]
 
TH1m_reswidth_vs_lowpt [NPARAMS]
 
TH1m_resmean_vs_lowpt [NPARAMS]
 
TH1m_pullwidth_vs_eta [NPARAMS]
 
TH1m_pullmean_vs_eta [NPARAMS]
 
TH1m_pullwidth_vs_pt [NPARAMS]
 
TH1m_pullmean_vs_pt [NPARAMS]
 
TH1m_pullwidth_vs_lowpt [NPARAMS]
 
TH1m_pullmean_vs_lowpt [NPARAMS]
 
TH2m_resHelpereta_pos [NPARAMS]
 
TH2m_resHelpereta_neg [NPARAMS]
 
TH2m_resHelperpt_pos [NPARAMS]
 
TH2m_resHelperpt_neg [NPARAMS]
 
TH2m_resHelperlowpt_pos [NPARAMS]
 
TH2m_resHelperlowpt_neg [NPARAMS]
 
TH1m_reswidth_vs_eta_pos [NPARAMS]
 
TH1m_resmean_vs_eta_pos [NPARAMS]
 
TH1m_reswidth_vs_pt_pos [NPARAMS]
 
TH1m_resmean_vs_pt_pos [NPARAMS]
 
TH1m_reswidth_vs_lowpt_pos [NPARAMS]
 
TH1m_resmean_vs_lowpt_pos [NPARAMS]
 
TH1m_reswidth_vs_eta_neg [NPARAMS]
 
TH1m_resmean_vs_eta_neg [NPARAMS]
 
TH1m_reswidth_vs_pt_neg [NPARAMS]
 
TH1m_resmean_vs_pt_neg [NPARAMS]
 
TH1m_reswidth_vs_lowpt_neg [NPARAMS]
 
TH1m_resmean_vs_lowpt_neg [NPARAMS]
 
TH1m_pullProjections_vs_pt [NPARAMS][m_nPtBins]
 
TH1m_pullProjections_vs_lowpt [NPARAMS][m_nLowPtBins]
 
TH1m_pullProjections_vs_eta [NPARAMS][m_nEtaBins]
 
TH1m_resProjections_vs_pt [NPARAMS][m_nPtBins]
 
TH1m_resProjections_vs_lowpt [NPARAMS][m_nLowPtBins]
 
TH1m_resProjections_vs_eta [NPARAMS][m_nEtaBins]
 
TProfilem_sigma_vs_eta [NPARAMS]
 
TProfilem_sigma_vs_pt [NPARAMS]
 
TProfilem_sigma_vs_lowpt [NPARAMS]
 
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...
 

Static Private Attributes

static const int m_nResHist = 4
 
static const int m_nEtaBins = 64
 
static const int m_nPtBins = 49
 
static const int m_nLowPtBins = 99
 

Detailed Description

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

Definition at line 40 of file InDetPerfPlot_Resolution.h.

Member Enumeration Documentation

◆ Param

Enumerator
D0 
Z0 
QOVERP 
QOVERPT 
THETA 
PHI 
PT 
Z0SIN 
NPARAMS 

Definition at line 42 of file InDetPerfPlot_Resolution.h.

42  {
44  };

Constructor & Destructor Documentation

◆ InDetPerfPlot_Resolution()

InDetPerfPlot_Resolution::InDetPerfPlot_Resolution ( InDetPlotBase pParent,
const std::string &  dirName 
)

Definition at line 25 of file InDetPerfPlot_Resolution.cxx.

25  : InDetPlotBase(pParent, sDir),
27  m_primTrk(false),
28  m_secdTrk(false),
29  m_allTrk(false),
30 
31  m_trkP{},
32  m_truetrkP{},
33  m_trkErrP{},
34 
35  m_resP{},
36  m_pullP{},
37  m_sigP{},
38 
39  m_pull{},
40  m_res{},
41  m_sigma{},
42 
44  m_resHelperpt{},
46  m_pullHelpereta{},
47  m_pullHelperpt{},
49 
56 
63 
70 
77 
84 
91 
93  m_sigma_vs_pt{},
95  {
96 
97  TString tsDir = (TString) sDir;
98 
99  if (tsDir.Contains("Primary")) {
100  m_primTrk = true; // control if sec/prim from init
101  } else if (tsDir.Contains("Secondary")) {
102  m_secdTrk = true;
103  } else {
104  m_allTrk = true;
105  }
106 
107 
108 
109  std::vector<double> ptBins = IDPVM::logLinearBinning(m_nPtBins, m_ptMin, m_ptMax, false);
110  for (int ipt = 0; ipt <= m_nPtBins; ipt++) {
111  m_PtBins[ipt] = (float) ptBins[ipt];
112  }
113 
114  std::vector<double> lowPtBins = IDPVM::logLinearBinning(m_nLowPtBins, m_lowPtMin, m_lowPtMax, false);
115  for (int ipt = 0; ipt <= m_nLowPtBins; ipt++) {
116  m_LowPtBins[ipt] = (float) lowPtBins[ipt];
117  }
118 
119 
120 
121 }

◆ ~InDetPerfPlot_Resolution()

virtual InDetPerfPlot_Resolution::~InDetPerfPlot_Resolution ( )
inlinevirtual

nop

Definition at line 50 of file InDetPerfPlot_Resolution.h.

50  {
51  }

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_Resolution::fill ( const xAOD::TrackParticle trkprt,
const xAOD::TruthParticle truthprt,
float  weight 
)

Definition at line 288 of file InDetPerfPlot_Resolution.cxx.

288  {
289 
290  int isPrimTrk = 0;
291  int isSecdTrk = 0;
292 
293  if (HepMC::is_simulation_particle(&truthprt)) {
294  isSecdTrk = 1;
295  } else {
296  if (HepMC::uniqueID(truthprt) > 0) isPrimTrk = 1;
297  }
298 
299  // Move on to the next track incase the wrong track category
300  if (!isPrimTrk && !isSecdTrk) {
301  return;
302  }
303  if (!isPrimTrk && m_primTrk) {
304  return;
305  }
306  if (!isSecdTrk && m_secdTrk) {
307  return;
308  }
309 
310  // Get track paramters for truth and reco tracks for easy access
311  // store all in track parameter maps trkP/truetrkP
312  getTrackParameters(trkprt);
313  getTrackParameters(truthprt);
315  getPlots(weight);
316 
317 }

◆ 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()

void InDetPerfPlot_Resolution::finalizePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 462 of file InDetPerfPlot_Resolution.cxx.

462  {
463 
464  bool saveProjections = (m_iDetailLevel > 200);
465  for (unsigned int iparam = 0; iparam < NPARAMS; iparam++) {
466  if(iparam == PT) continue;
467  //
468  //Only save vert detailed information if... high detail level
469  //Reduces output for ART / PhysVal
470  //
471  if(m_iDetailLevel >= 200){
473  (saveProjections ? m_resProjections_vs_eta[iparam] : nullptr), saveProjections, m_resolutionMethod);
475  (saveProjections ? m_resProjections_vs_pt[iparam] : nullptr), saveProjections, m_resolutionMethod);
477  (saveProjections ? m_resProjections_vs_lowpt[iparam] : nullptr), saveProjections, m_resolutionMethod);
479  (saveProjections ? m_pullProjections_vs_pt[iparam] : nullptr), saveProjections, m_resolutionMethod);
481  (saveProjections ? m_pullProjections_vs_lowpt[iparam] : nullptr), saveProjections, m_resolutionMethod);
483  (saveProjections ? m_pullProjections_vs_eta[iparam] : nullptr), saveProjections, m_resolutionMethod);
490  } else {
497  }
498 
499  }
500 
501 }

◆ getDirectory()

std::string PlotBase::getDirectory ( )
inlineinherited

Definition at line 87 of file PlotBase.h.

87 {return m_sDirectory;}

◆ getPlotParameters()

void InDetPerfPlot_Resolution::getPlotParameters ( )
private

Definition at line 358 of file InDetPerfPlot_Resolution.cxx.

358  {
359  for (unsigned int iparam = 0; iparam < NPARAMS; iparam++) {
360  m_resP[iparam] = m_trkP[iparam] - m_truetrkP[iparam];
361  m_sigP[iparam] = m_trkErrP[iparam];
362  (m_sigP[iparam] != 0) ? m_pullP[iparam] = m_resP[iparam] / m_sigP[iparam] : m_pullP[iparam] = undefinedValue;
363  }
364  bool saneQoverPt = std::abs(m_truetrkP[QOVERPT]) > smallestAllowableQoverPt;
365  if (not saneQoverPt){
366  m_resP[QOVERPT] = undefinedValue;
367  } else {
368  m_resP[QOVERPT] = (m_trkP[QOVERPT] - m_truetrkP[QOVERPT]) * (1 / m_truetrkP[QOVERPT]); // relative q/pt resolution
369  }
370  bool saneQoverPtrec = std::abs(m_trkP[QOVERPT]) > smallestAllowableQoverPt;
371  if (not saneQoverPtrec){
372  m_sigP[QOVERPT] = undefinedValue;
373  } else {
374  m_sigP[QOVERPT] *= 1. / std::abs(m_trkP[QOVERPT]); // relative q/pt error
375  }
376 }

◆ getPlots()

void InDetPerfPlot_Resolution::getPlots ( float  weight = 1.0)
private

Definition at line 320 of file InDetPerfPlot_Resolution.cxx.

320  {
321  const float tanHalfTheta = std::tan(m_truetrkP[THETA] * 0.5);
322  const bool tanThetaIsSane = std::abs(tanHalfTheta) > smallestAllowableTan;
323  float eta = undefinedValue;
324  if (tanThetaIsSane) eta = -std::log(tanHalfTheta);
325  for (unsigned int iparam = 0; iparam < NPARAMS; iparam++) {
326  if(iparam == PT) continue;
327  m_pull[iparam]->Fill(m_pullP[iparam], weight);
328  m_res[iparam]->Fill(m_resP[iparam], weight);
329  m_sigma[iparam]->Fill(m_sigP[iparam], weight);
330  m_sigma_vs_eta[iparam]->Fill(eta, m_sigP[iparam], weight);
331  m_sigma_vs_pt[iparam]->Fill(m_truetrkP[PT], m_sigP[iparam], weight);
332  m_sigma_vs_lowpt[iparam]->Fill(m_truetrkP[PT], m_sigP[iparam], weight);
333  m_resHelpereta[iparam]->Fill(eta, m_resP[iparam], weight);
334  m_resHelperpt[iparam]->Fill(m_truetrkP[PT], m_resP[iparam], weight);
335  m_resHelperlowpt[iparam]->Fill(m_truetrkP[PT], m_resP[iparam], weight);
336  m_pullHelperpt[iparam]->Fill(m_truetrkP[PT], m_pullP[iparam], weight);
337  m_pullHelperlowpt[iparam]->Fill(m_truetrkP[PT], m_pullP[iparam], weight);
338  m_pullHelpereta[iparam]->Fill(eta, m_pullP[iparam], weight);
339 
340  if(m_iDetailLevel >= 200){
341  if (m_trkP[QOVERPT] >= 0.) {
342  m_resHelpereta_pos[iparam]->Fill(eta, m_resP[iparam], weight);
343  m_resHelperpt_pos[iparam]->Fill(m_truetrkP[PT], m_resP[iparam], weight);
344  m_resHelperlowpt_pos[iparam]->Fill(m_truetrkP[PT], m_resP[iparam], weight);
345  }
346  if (m_trkP[QOVERPT] < 0.) {
347  m_resHelpereta_neg[iparam]->Fill(eta, m_resP[iparam], weight);
348  m_resHelperpt_neg[iparam]->Fill(m_truetrkP[PT], m_resP[iparam], weight);
349  m_resHelperlowpt_neg[iparam]->Fill(m_truetrkP[PT], m_resP[iparam], weight);
350  }
351  }
352 
353  }
354 
355 }

◆ getTrackParameters() [1/2]

void InDetPerfPlot_Resolution::getTrackParameters ( const xAOD::TrackParticle truthprt)
private

Definition at line 379 of file InDetPerfPlot_Resolution.cxx.

379  {
380 
381  m_trkP[D0] = trkprt.d0();
382  m_trkP[Z0] = trkprt.z0();
383  m_trkP[QOVERP] = trkprt.qOverP() * Gaudi::Units::GeV;
384  const float sinTheta{std::sin(trkprt.theta())};
385  const bool saneSineValue = (std::abs(sinTheta) > smallestAllowableSin);
386  const float inverseSinTheta = saneSineValue ? 1./sinTheta : undefinedValue;
387  m_trkP[QOVERPT] = saneSineValue ? trkprt.qOverP()*inverseSinTheta : undefinedValue;
388  m_trkP[THETA] = trkprt.theta();
389  m_trkP[PHI] = trkprt.phi0();
390  m_trkP[PT] = trkprt.pt() / Gaudi::Units::GeV;
391  m_trkP[Z0SIN] = trkprt.z0() * sinTheta;
392 
393  // Track fit errors
394  m_trkErrP[D0] = trkprt.definingParametersCovMatrix()(0, 0) < 0 ? 0 : std::sqrt(trkprt.definingParametersCovMatrix()(0, 0));
395  m_trkErrP[Z0] = trkprt.definingParametersCovMatrix()(1, 1) < 0 ? 0 : std::sqrt(trkprt.definingParametersCovMatrix()(1, 1));
396  m_trkErrP[PHI] = trkprt.definingParametersCovMatrix()(2, 2) < 0 ? 0 : std::sqrt(trkprt.definingParametersCovMatrix()(2, 2));
397  m_trkErrP[THETA] = trkprt.definingParametersCovMatrix()(3, 3) < 0 ? 0 : std::sqrt(trkprt.definingParametersCovMatrix()(3, 3));
398  m_trkErrP[QOVERP] = trkprt.definingParametersCovMatrix()(4, 4) < 0 ? 0 : std::sqrt(trkprt.definingParametersCovMatrix()(4, 4)) * Gaudi::Units::GeV;
399  m_trkErrP[QOVERPT] = trkprt.definingParametersCovMatrix()(4, 4) < 0 ? 0 : std::sqrt(trkprt.definingParametersCovMatrix()(4, 4)) * inverseSinTheta;
400  float z0sin2 = std::pow(m_trkErrP[Z0] * std::sin(m_trkP[THETA]), 2) + std::pow(m_trkP[Z0] * m_trkErrP[THETA] * std::cos(m_trkP[THETA]), 2) + 2 * m_trkP[Z0] * std::sin(m_trkP[THETA]) * std::cos(m_trkP[THETA]) * trkprt.definingParametersCovMatrix()(1, 3); // Fixing incorrect formula for z0sin error
401  m_trkErrP[Z0SIN] = z0sin2 < 0 ? 0 : std::sqrt(z0sin2);
402 
403 
404  // Get error on pT, taken from xAOD::TrackingHelpers.pTErr() but this function only works on a pointer input...
405  if (trkprt.definingParametersCovMatrixVec().size() < 15) {
406  throw std::runtime_error(
407  "TrackParticle without covariance matrix for defining parameters or the covariance matrix is wrong dimensionality.");
408  }
409  if (std::abs(trkprt.qOverP()) < 0) {
410  m_trkErrP[PT] = 0.0;
411  throw std::runtime_error("q/p is zero");
412  } else {
413  double pt = trkprt.pt();
414  double diff_qp = -pt / std::abs(trkprt.qOverP());
415  double diff_theta = trkprt.theta() == 0 ? 0 : pt / std::tan(trkprt.theta());
416  const std::vector<float>& cov = trkprt.definingParametersCovMatrixVec();
417  double pt_err2 = diff_qp * (diff_qp * cov[14] + diff_theta * cov[13]) + diff_theta * diff_theta * cov[9];
418  m_trkErrP[PT] = pt_err2 < 0 ? 0 : std::sqrt(pt_err2) / Gaudi::Units::GeV;
419  }
420 
421 }

◆ getTrackParameters() [2/2]

void InDetPerfPlot_Resolution::getTrackParameters ( const xAOD::TruthParticle truthprt)
private

Definition at line 425 of file InDetPerfPlot_Resolution.cxx.

425  {
426  // "d0", "z0", "phi", "theta" , "qOverP"
427  // Perigee for truth particles are in aux container
428  for (int iParams = 0; iParams < NPARAMS; iParams++) {
429  m_truetrkP[iParams] = undefinedValue;
431  if (acc.isAvailable(truthprt)) {
432  m_truetrkP[iParams] = acc(truthprt);
433  }
434  }
435  //rescale Pt
436  m_truetrkP[PT] = truthprt.pt() / Gaudi::Units::GeV;
437  //special cases
438  //need both theta and qOverP for qOverPT
439  //we didnt check qOverP yet, since the closest named variable (strangely; see header) is ptqopt
440  static const SG::ConstAccessor<float> qOverPAcc("qOverP");
441  const float qOverP = qOverPAcc.isAvailable(truthprt) ? qOverPAcc(truthprt) : undefinedValue;
442  if ((qOverP != undefinedValue) and (m_truetrkP[THETA] != undefinedValue)){
443  const float sinTheta =std::sin(m_truetrkP[THETA]);
444  if (std::abs(sinTheta) > smallestAllowableSin){
445  m_truetrkP[QOVERPT] = qOverP /sinTheta;
446  } else {
447  m_truetrkP[QOVERPT] = undefinedValue;
448  }
449  }
451  //need both z0 and theta for z0sinTheta
452  if ((m_truetrkP[Z0] != undefinedValue) and (m_truetrkP[THETA] != undefinedValue)){
453  const float sinTheta =std::sin(m_truetrkP[THETA]);
454  m_truetrkP[Z0SIN] = m_truetrkP[Z0] * sinTheta;
455  } else {
456  m_truetrkP[Z0SIN] = undefinedValue;
457  }
458 }

◆ 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_Resolution::initializePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 124 of file InDetPerfPlot_Resolution.cxx.

124  {
125 
126  for (unsigned int iparam = 0; iparam < NPARAMS; iparam++) {
127  //
128  //1D distributions
129  //
130 
131  if(iparam == PT) continue;
132  book(m_pull[iparam], "pull_" + m_paramProp[iparam]);
133  book(m_res[iparam], "res_" + m_paramProp[iparam]);
134 
135  book(m_sigma[iparam], "sigma_" + m_paramProp[iparam]); //New One
136  //
137  //2D Distributions to evaluate resolutions vs eta and pT
138  //
139  book(m_resHelpereta[iparam], "resHelper_eta_" + m_paramProp[iparam]);
140  book(m_resHelperpt[iparam], "resHelper_pt_" + m_paramProp[iparam]);
141  book(m_resHelperlowpt[iparam], "resHelper_lowpt_" + m_paramProp[iparam]);
142  book(m_pullHelpereta[iparam], "pullHelper_eta_" + m_paramProp[iparam]);
143  book(m_pullHelperpt[iparam], "pullHelper_pt_" + m_paramProp[iparam]);
144  book(m_pullHelperlowpt[iparam], "pullHelper_lowpt_" + m_paramProp[iparam]);
145  m_resHelperpt[iparam]->GetXaxis()->Set(m_nPtBins,m_PtBins);
146  m_pullHelperpt[iparam]->GetXaxis()->Set(m_nPtBins,m_PtBins);
147  m_resHelperlowpt[iparam]->GetXaxis()->Set(m_nLowPtBins,m_LowPtBins);
148  m_pullHelperlowpt[iparam]->GetXaxis()->Set(m_nLowPtBins,m_LowPtBins);
149  //
150  //1D Histograms for the final resolution and means
151  //
152  book(m_reswidth_vs_eta[iparam], "resolution_vs_eta_" + m_paramProp[iparam]);
153  book(m_resmean_vs_eta[iparam], "resmean_vs_eta_" + m_paramProp[iparam]);
154  book(m_reswidth_vs_pt[iparam], "resolution_vs_pt_" + m_paramProp[iparam]);
155  book(m_resmean_vs_pt[iparam], "resmean_vs_pt_" + m_paramProp[iparam]);
156  book(m_reswidth_vs_lowpt[iparam], "resolution_vs_lowpt_" + m_paramProp[iparam]);
157  book(m_resmean_vs_lowpt[iparam], "resmean_vs_lowpt_" + m_paramProp[iparam]);
158 
159  book(m_pullwidth_vs_eta[iparam], "pullwidth_vs_eta_" + m_paramProp[iparam]);
160  book(m_pullmean_vs_eta[iparam], "pullmean_vs_eta_" + m_paramProp[iparam]);
161  book(m_pullwidth_vs_pt[iparam], "pullwidth_vs_pt_" + m_paramProp[iparam]);
162  book(m_pullmean_vs_pt[iparam], "pullmean_vs_pt_" + m_paramProp[iparam]);
163  book(m_pullwidth_vs_lowpt[iparam], "pullwidth_vs_lowpt_" + m_paramProp[iparam]);
164  book(m_pullmean_vs_lowpt[iparam], "pullmean_vs_lowpt_" + m_paramProp[iparam]);
165 
166  m_reswidth_vs_pt[iparam]->GetXaxis()->Set(m_nPtBins, m_PtBins);
167  m_resmean_vs_pt[iparam]->GetXaxis()->Set(m_nPtBins, m_PtBins);
168  m_pullwidth_vs_pt[iparam]->GetXaxis()->Set(m_nPtBins, m_PtBins);
169  m_pullmean_vs_pt[iparam]->GetXaxis()->Set(m_nPtBins, m_PtBins);
170  m_reswidth_vs_lowpt[iparam]->GetXaxis()->Set(m_nLowPtBins, m_LowPtBins);
171  m_resmean_vs_lowpt[iparam]->GetXaxis()->Set(m_nLowPtBins, m_LowPtBins);
172  m_pullwidth_vs_lowpt[iparam]->GetXaxis()->Set(m_nLowPtBins, m_LowPtBins);
173  m_pullmean_vs_lowpt[iparam]->GetXaxis()->Set(m_nLowPtBins, m_LowPtBins);
174 
175  //
176  //TProfiles of the sqrt(covii)
177  //
178  book(m_sigma_vs_eta[iparam], "sigma_vs_eta_" + m_paramProp[iparam]);
179  book(m_sigma_vs_pt[iparam], "sigma_vs_pt_" + m_paramProp[iparam]);
180  book(m_sigma_vs_lowpt[iparam], "sigma_vs_lowpt_" + m_paramProp[iparam]);
181 
182  //NORA
183  //
184  //Projections only done if high level of detail specified
185  //To keep functionalies to produce projections for varied number of pt / eta bins
186  //keep histogram to the old Book1D methods instead of xml definitions
187  //
188  //
189  //Detailed histograms
190  //
191  if(m_iDetailLevel >= 200){
192  book(m_resHelpereta_pos[iparam], "resHelper_eta_" + m_paramProp[iparam], "resHelper_eta_" + m_paramProp[iparam]+"_posQ");
193  book(m_resHelpereta_neg[iparam], "resHelper_eta_" + m_paramProp[iparam], "resHelper_eta_" + m_paramProp[iparam]+"_negQ");
194  book(m_resHelperpt_pos[iparam], "resHelper_pt_" + m_paramProp[iparam], "resHelper_pt_" + m_paramProp[iparam]+"_posQ");
195  book(m_resHelperpt_neg[iparam], "resHelper_pt_" + m_paramProp[iparam], "resHelper_pt_" + m_paramProp[iparam]+"_negQ");
196  book(m_resHelperlowpt_pos[iparam], "resHelper_lowpt_" + m_paramProp[iparam], "resHelper_lowpt_" + m_paramProp[iparam]+"_posQ");
197  book(m_resHelperlowpt_neg[iparam], "resHelper_lowpt_" + m_paramProp[iparam], "resHelper_lowpt_" + m_paramProp[iparam]+"_negQ");
198 
199  //Add log binning
200  m_resHelperpt_pos[iparam]->GetXaxis()->Set(m_nPtBins,m_PtBins);
201  m_resHelperpt_neg[iparam]->GetXaxis()->Set(m_nPtBins,m_PtBins);
202  m_resHelperlowpt_pos[iparam]->GetXaxis()->Set(m_nLowPtBins,m_LowPtBins);
203  m_resHelperlowpt_neg[iparam]->GetXaxis()->Set(m_nLowPtBins,m_LowPtBins);
204 
205  //Resolution, Resolution Mean, Pull, Pull Mean
206  book(m_reswidth_vs_eta_pos[iparam], "resolution_vs_eta_" + m_paramProp[iparam], "resolution_vs_eta_" + m_paramProp[iparam] + "_posQ");
207  book(m_reswidth_vs_eta_neg[iparam], "resolution_vs_eta_" + m_paramProp[iparam], "resolution_vs_eta_" + m_paramProp[iparam] + "_negQ");
208  book(m_resmean_vs_eta_pos[iparam], "resmean_vs_eta_" + m_paramProp[iparam], "resmean_vs_eta_" + m_paramProp[iparam] + "_posQ");
209  book(m_resmean_vs_eta_neg[iparam], "resmean_vs_eta_" + m_paramProp[iparam], "resmean_vs_eta_" + m_paramProp[iparam] + "_negQ");
210 
211  book(m_reswidth_vs_pt_pos[iparam], "resolution_vs_pt_" + m_paramProp[iparam], "resolution_vs_pt_" + m_paramProp[iparam] + "_posQ");
212  book(m_reswidth_vs_pt_neg[iparam], "resolution_vs_pt_" + m_paramProp[iparam], "resolution_vs_pt_" + m_paramProp[iparam] + "_negQ");
213  book(m_resmean_vs_pt_pos[iparam], "resmean_vs_pt_" + m_paramProp[iparam], "resmean_vs_pt_" + m_paramProp[iparam] + "_posQ");
214  book(m_resmean_vs_pt_neg[iparam], "resmean_vs_pt_" + m_paramProp[iparam], "resmean_vs_pt_" + m_paramProp[iparam] + "_negQ");
215 
216  book(m_reswidth_vs_lowpt_pos[iparam], "resolution_vs_lowpt_" + m_paramProp[iparam], "resolution_vs_lowpt_" + m_paramProp[iparam] + "_posQ");
217  book(m_reswidth_vs_lowpt_neg[iparam], "resolution_vs_lowpt_" + m_paramProp[iparam], "resolution_vs_lowpt_" + m_paramProp[iparam] + "_negQ");
218  book(m_resmean_vs_lowpt_pos[iparam], "resmean_vs_lowpt_" + m_paramProp[iparam], "resmean_vs_lowpt_" + m_paramProp[iparam] + "_posQ");
219  book(m_resmean_vs_lowpt_neg[iparam], "resmean_vs_lowpt_" + m_paramProp[iparam], "resmean_vs_lowpt_" + m_paramProp[iparam] + "_negQ");
220 
221  m_reswidth_vs_pt_pos[iparam]->GetXaxis()->Set(m_nPtBins, m_PtBins);
222  m_resmean_vs_pt_pos[iparam]->GetXaxis()->Set(m_nPtBins, m_PtBins);
223  m_reswidth_vs_pt_neg[iparam]->GetXaxis()->Set(m_nPtBins, m_PtBins);
224  m_resmean_vs_pt_neg[iparam]->GetXaxis()->Set(m_nPtBins, m_PtBins);
225  m_reswidth_vs_lowpt_pos[iparam]->GetXaxis()->Set(m_nLowPtBins, m_LowPtBins);
226  m_resmean_vs_lowpt_pos[iparam]->GetXaxis()->Set(m_nLowPtBins, m_LowPtBins);
227  m_reswidth_vs_lowpt_neg[iparam]->GetXaxis()->Set(m_nLowPtBins, m_LowPtBins);
228  m_resmean_vs_lowpt_neg[iparam]->GetXaxis()->Set(m_nLowPtBins, m_LowPtBins);
229 
230  std::string tmpName, tmpTitle;
231 
232  int nPtBins = m_pullHelperpt[iparam]->GetNbinsX();
233  int nLowPtBins = m_pullHelperlowpt[iparam]->GetNbinsX();
234  int nEtaBins = m_pullHelpereta[iparam]->GetNbinsX();
235 
236  std::shared_ptr<TH1D> refHistEta { m_pullHelpereta[iparam]->ProjectionY("refEta")};
237  std::shared_ptr<TH1D> refHistPt { m_pullHelperpt[iparam]->ProjectionY("refPt")};
238  std::shared_ptr<TH1D> refHistLowPt { m_pullHelperlowpt[iparam]->ProjectionY("refLowPt")};
239 
240  //Projections - VERY expensive, hence only at higher detail levels above 200
241  if(m_iDetailLevel > 200){
242  for (int ibins = 0; ibins < nPtBins; ibins++) {
243  tmpName = "pullProjection_pt_" + m_paramProp[iparam] +"_bin_"+ std::to_string(ibins + 1);
244  tmpTitle = tmpName + "; (" + m_paramProp[iparam] + "^{reco}-" + m_paramProp[iparam] +
245  "^{true})/#sigma_{" + m_paramProp[iparam] + "}";
246  m_pullProjections_vs_pt[iparam][ibins] = Book1D(tmpName, refHistPt.get(), tmpTitle , false);
247 
248 
249  tmpName = "resProjection_pt_" + m_paramProp[iparam] +"_bin_"+ std::to_string(ibins + 1);
250  tmpTitle = tmpName + "; " + m_paramProp[iparam] + "^{reco}-" + m_paramProp[iparam] + "^{true} ";
251  m_resProjections_vs_pt[iparam][ibins] = Book1D(tmpName, refHistPt.get(), tmpTitle , false);
252 
253  }
254  for (int ibins = 0; ibins < nLowPtBins; ibins++) {
255  tmpName = "pullProjection_lowpt_" + m_paramProp[iparam] +"_bin_"+ std::to_string(ibins + 1);
256  tmpTitle = tmpName + "; (" + m_paramProp[iparam] + "^{reco}-" + m_paramProp[iparam] +
257  "^{true})/#sigma_{" + m_paramProp[iparam] + "}";
258  m_pullProjections_vs_lowpt[iparam][ibins] = Book1D(tmpName, refHistLowPt.get(), tmpTitle , false);
259 
260 
261  tmpName = "resProjection_lowpt_" + m_paramProp[iparam] +"_bin_"+ std::to_string(ibins + 1);
262  tmpTitle = tmpName + "; " + m_paramProp[iparam] + "^{reco}-" + m_paramProp[iparam] + "^{true} ";
263  m_resProjections_vs_lowpt[iparam][ibins] = Book1D(tmpName, refHistLowPt.get(), tmpTitle , false);
264 
265  }
266  for (int ibins = 0; ibins < nEtaBins; ibins++) {
267  tmpName = "pullProjection_eta_" + m_paramProp[iparam] +"_bin_"+ std::to_string(ibins + 1);
268  tmpTitle = tmpName + "; (" + m_paramProp[iparam] + "^{reco}-" + m_paramProp[iparam] +
269  "^{true})/#sigma_{" + m_paramProp[iparam] + "}";
270  m_pullProjections_vs_eta[iparam][ibins] = Book1D(tmpName, refHistEta.get(), tmpTitle , false);
271 
272 
273  tmpName = "resProjection_eta_" + m_paramProp[iparam] +"_bin_"+ std::to_string(ibins + 1);
274  tmpTitle = tmpName + "; " + m_paramProp[iparam] + "^{reco}-" + m_paramProp[iparam] + "^{true} ";
275  m_resProjections_vs_eta[iparam][ibins] = Book1D(tmpName, refHistEta.get(), tmpTitle , false);
276  }
277  }
278  }
279  //
280  //End of saving resolution and pull residual binnings
281  //
282 
283  }
284 
285 }

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

bool InDetPerfPlot_Resolution::m_allTrk
private

Definition at line 82 of file InDetPerfPlot_Resolution.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_LowPtBins

float InDetPerfPlot_Resolution::m_LowPtBins[m_nLowPtBins+1] {}
private

Definition at line 73 of file InDetPerfPlot_Resolution.h.

◆ m_lowPtMax

const double InDetPerfPlot_Resolution::m_lowPtMax = 1.0
private

Definition at line 71 of file InDetPerfPlot_Resolution.h.

◆ m_lowPtMin

const double InDetPerfPlot_Resolution::m_lowPtMin = 0.01
private

Definition at line 70 of file InDetPerfPlot_Resolution.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_nEtaBins

const int InDetPerfPlot_Resolution::m_nEtaBins = 64
staticprivate

Definition at line 57 of file InDetPerfPlot_Resolution.h.

◆ m_nLowPtBins

const int InDetPerfPlot_Resolution::m_nLowPtBins = 99
staticprivate

Definition at line 69 of file InDetPerfPlot_Resolution.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_nPtBins

const int InDetPerfPlot_Resolution::m_nPtBins = 49
staticprivate

Definition at line 62 of file InDetPerfPlot_Resolution.h.

◆ m_nResHist

const int InDetPerfPlot_Resolution::m_nResHist = 4
staticprivate

Definition at line 55 of file InDetPerfPlot_Resolution.h.

◆ m_paramProp

std::string InDetPerfPlot_Resolution::m_paramProp[NPARAMS] = { "d0", "z0", "qoverp", "ptqopt", "theta", "phi", "pt", "z0sin" }
private

Definition at line 75 of file InDetPerfPlot_Resolution.h.

◆ m_primTrk

bool InDetPerfPlot_Resolution::m_primTrk
private

Definition at line 80 of file InDetPerfPlot_Resolution.h.

◆ m_PtBins

float InDetPerfPlot_Resolution::m_PtBins[m_nPtBins+1] {}
private

Definition at line 66 of file InDetPerfPlot_Resolution.h.

◆ m_ptMax

const double InDetPerfPlot_Resolution::m_ptMax = 1000.0
private

Definition at line 64 of file InDetPerfPlot_Resolution.h.

◆ m_ptMin

const double InDetPerfPlot_Resolution::m_ptMin = 0.745
private

Definition at line 63 of file InDetPerfPlot_Resolution.h.

◆ m_pull

TH1* InDetPerfPlot_Resolution::m_pull[NPARAMS]
private

Definition at line 101 of file InDetPerfPlot_Resolution.h.

◆ m_pullHelpereta

TH2* InDetPerfPlot_Resolution::m_pullHelpereta[NPARAMS]
private

Definition at line 108 of file InDetPerfPlot_Resolution.h.

◆ m_pullHelperlowpt

TH2* InDetPerfPlot_Resolution::m_pullHelperlowpt[NPARAMS]
private

Definition at line 110 of file InDetPerfPlot_Resolution.h.

◆ m_pullHelperpt

TH2* InDetPerfPlot_Resolution::m_pullHelperpt[NPARAMS]
private

Definition at line 109 of file InDetPerfPlot_Resolution.h.

◆ m_pullmean_vs_eta

TH1* InDetPerfPlot_Resolution::m_pullmean_vs_eta[NPARAMS]
private

Definition at line 120 of file InDetPerfPlot_Resolution.h.

◆ m_pullmean_vs_lowpt

TH1* InDetPerfPlot_Resolution::m_pullmean_vs_lowpt[NPARAMS]
private

Definition at line 124 of file InDetPerfPlot_Resolution.h.

◆ m_pullmean_vs_pt

TH1* InDetPerfPlot_Resolution::m_pullmean_vs_pt[NPARAMS]
private

Definition at line 122 of file InDetPerfPlot_Resolution.h.

◆ m_pullP

float InDetPerfPlot_Resolution::m_pullP[NPARAMS]
private

Definition at line 98 of file InDetPerfPlot_Resolution.h.

◆ m_pullProjections_vs_eta

TH1* InDetPerfPlot_Resolution::m_pullProjections_vs_eta[NPARAMS][m_nEtaBins]
private

Definition at line 149 of file InDetPerfPlot_Resolution.h.

◆ m_pullProjections_vs_lowpt

TH1* InDetPerfPlot_Resolution::m_pullProjections_vs_lowpt[NPARAMS][m_nLowPtBins]
private

Definition at line 148 of file InDetPerfPlot_Resolution.h.

◆ m_pullProjections_vs_pt

TH1* InDetPerfPlot_Resolution::m_pullProjections_vs_pt[NPARAMS][m_nPtBins]
private

Definition at line 147 of file InDetPerfPlot_Resolution.h.

◆ m_pullwidth_vs_eta

TH1* InDetPerfPlot_Resolution::m_pullwidth_vs_eta[NPARAMS]
private

Definition at line 119 of file InDetPerfPlot_Resolution.h.

◆ m_pullwidth_vs_lowpt

TH1* InDetPerfPlot_Resolution::m_pullwidth_vs_lowpt[NPARAMS]
private

Definition at line 123 of file InDetPerfPlot_Resolution.h.

◆ m_pullwidth_vs_pt

TH1* InDetPerfPlot_Resolution::m_pullwidth_vs_pt[NPARAMS]
private

Definition at line 121 of file InDetPerfPlot_Resolution.h.

◆ m_res

TH1* InDetPerfPlot_Resolution::m_res[NPARAMS]
private

Definition at line 102 of file InDetPerfPlot_Resolution.h.

◆ m_resHelpereta

TH2* InDetPerfPlot_Resolution::m_resHelpereta[NPARAMS]
private

Definition at line 105 of file InDetPerfPlot_Resolution.h.

◆ m_resHelpereta_neg

TH2* InDetPerfPlot_Resolution::m_resHelpereta_neg[NPARAMS]
private

Definition at line 127 of file InDetPerfPlot_Resolution.h.

◆ m_resHelpereta_pos

TH2* InDetPerfPlot_Resolution::m_resHelpereta_pos[NPARAMS]
private

Definition at line 126 of file InDetPerfPlot_Resolution.h.

◆ m_resHelperlowpt

TH2* InDetPerfPlot_Resolution::m_resHelperlowpt[NPARAMS]
private

Definition at line 107 of file InDetPerfPlot_Resolution.h.

◆ m_resHelperlowpt_neg

TH2* InDetPerfPlot_Resolution::m_resHelperlowpt_neg[NPARAMS]
private

Definition at line 131 of file InDetPerfPlot_Resolution.h.

◆ m_resHelperlowpt_pos

TH2* InDetPerfPlot_Resolution::m_resHelperlowpt_pos[NPARAMS]
private

Definition at line 130 of file InDetPerfPlot_Resolution.h.

◆ m_resHelperpt

TH2* InDetPerfPlot_Resolution::m_resHelperpt[NPARAMS]
private

Definition at line 106 of file InDetPerfPlot_Resolution.h.

◆ m_resHelperpt_neg

TH2* InDetPerfPlot_Resolution::m_resHelperpt_neg[NPARAMS]
private

Definition at line 129 of file InDetPerfPlot_Resolution.h.

◆ m_resHelperpt_pos

TH2* InDetPerfPlot_Resolution::m_resHelperpt_pos[NPARAMS]
private

Definition at line 128 of file InDetPerfPlot_Resolution.h.

◆ m_resmean_vs_eta

TH1* InDetPerfPlot_Resolution::m_resmean_vs_eta[NPARAMS]
private

Definition at line 113 of file InDetPerfPlot_Resolution.h.

◆ m_resmean_vs_eta_neg

TH1* InDetPerfPlot_Resolution::m_resmean_vs_eta_neg[NPARAMS]
private

Definition at line 141 of file InDetPerfPlot_Resolution.h.

◆ m_resmean_vs_eta_pos

TH1* InDetPerfPlot_Resolution::m_resmean_vs_eta_pos[NPARAMS]
private

Definition at line 134 of file InDetPerfPlot_Resolution.h.

◆ m_resmean_vs_lowpt

TH1* InDetPerfPlot_Resolution::m_resmean_vs_lowpt[NPARAMS]
private

Definition at line 117 of file InDetPerfPlot_Resolution.h.

◆ m_resmean_vs_lowpt_neg

TH1* InDetPerfPlot_Resolution::m_resmean_vs_lowpt_neg[NPARAMS]
private

Definition at line 145 of file InDetPerfPlot_Resolution.h.

◆ m_resmean_vs_lowpt_pos

TH1* InDetPerfPlot_Resolution::m_resmean_vs_lowpt_pos[NPARAMS]
private

Definition at line 138 of file InDetPerfPlot_Resolution.h.

◆ m_resmean_vs_pt

TH1* InDetPerfPlot_Resolution::m_resmean_vs_pt[NPARAMS]
private

Definition at line 115 of file InDetPerfPlot_Resolution.h.

◆ m_resmean_vs_pt_neg

TH1* InDetPerfPlot_Resolution::m_resmean_vs_pt_neg[NPARAMS]
private

Definition at line 143 of file InDetPerfPlot_Resolution.h.

◆ m_resmean_vs_pt_pos

TH1* InDetPerfPlot_Resolution::m_resmean_vs_pt_pos[NPARAMS]
private

Definition at line 136 of file InDetPerfPlot_Resolution.h.

◆ m_resolutionHelper

IDPVM::ResolutionHelper InDetPerfPlot_Resolution::m_resolutionHelper
private

Definition at line 77 of file InDetPerfPlot_Resolution.h.

◆ m_resolutionMethod

IDPVM::ResolutionHelper::methods InDetPerfPlot_Resolution::m_resolutionMethod
private

Definition at line 78 of file InDetPerfPlot_Resolution.h.

◆ m_resP

float InDetPerfPlot_Resolution::m_resP[NPARAMS]
private

Definition at line 97 of file InDetPerfPlot_Resolution.h.

◆ m_resProjections_vs_eta

TH1* InDetPerfPlot_Resolution::m_resProjections_vs_eta[NPARAMS][m_nEtaBins]
private

Definition at line 152 of file InDetPerfPlot_Resolution.h.

◆ m_resProjections_vs_lowpt

TH1* InDetPerfPlot_Resolution::m_resProjections_vs_lowpt[NPARAMS][m_nLowPtBins]
private

Definition at line 151 of file InDetPerfPlot_Resolution.h.

◆ m_resProjections_vs_pt

TH1* InDetPerfPlot_Resolution::m_resProjections_vs_pt[NPARAMS][m_nPtBins]
private

Definition at line 150 of file InDetPerfPlot_Resolution.h.

◆ m_reswidth_vs_eta

TH1* InDetPerfPlot_Resolution::m_reswidth_vs_eta[NPARAMS]
private

Definition at line 112 of file InDetPerfPlot_Resolution.h.

◆ m_reswidth_vs_eta_neg

TH1* InDetPerfPlot_Resolution::m_reswidth_vs_eta_neg[NPARAMS]
private

Definition at line 140 of file InDetPerfPlot_Resolution.h.

◆ m_reswidth_vs_eta_pos

TH1* InDetPerfPlot_Resolution::m_reswidth_vs_eta_pos[NPARAMS]
private

Definition at line 133 of file InDetPerfPlot_Resolution.h.

◆ m_reswidth_vs_lowpt

TH1* InDetPerfPlot_Resolution::m_reswidth_vs_lowpt[NPARAMS]
private

Definition at line 116 of file InDetPerfPlot_Resolution.h.

◆ m_reswidth_vs_lowpt_neg

TH1* InDetPerfPlot_Resolution::m_reswidth_vs_lowpt_neg[NPARAMS]
private

Definition at line 144 of file InDetPerfPlot_Resolution.h.

◆ m_reswidth_vs_lowpt_pos

TH1* InDetPerfPlot_Resolution::m_reswidth_vs_lowpt_pos[NPARAMS]
private

Definition at line 137 of file InDetPerfPlot_Resolution.h.

◆ m_reswidth_vs_pt

TH1* InDetPerfPlot_Resolution::m_reswidth_vs_pt[NPARAMS]
private

Definition at line 114 of file InDetPerfPlot_Resolution.h.

◆ m_reswidth_vs_pt_neg

TH1* InDetPerfPlot_Resolution::m_reswidth_vs_pt_neg[NPARAMS]
private

Definition at line 142 of file InDetPerfPlot_Resolution.h.

◆ m_reswidth_vs_pt_pos

TH1* InDetPerfPlot_Resolution::m_reswidth_vs_pt_pos[NPARAMS]
private

Definition at line 135 of file InDetPerfPlot_Resolution.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 99 of file PlotBase.h.

◆ m_secdTrk

bool InDetPerfPlot_Resolution::m_secdTrk
private

Definition at line 81 of file InDetPerfPlot_Resolution.h.

◆ m_sigma

TH1* InDetPerfPlot_Resolution::m_sigma[NPARAMS]
private

Definition at line 103 of file InDetPerfPlot_Resolution.h.

◆ m_sigma_vs_eta

TProfile* InDetPerfPlot_Resolution::m_sigma_vs_eta[NPARAMS]
private

Definition at line 154 of file InDetPerfPlot_Resolution.h.

◆ m_sigma_vs_lowpt

TProfile* InDetPerfPlot_Resolution::m_sigma_vs_lowpt[NPARAMS]
private

Definition at line 156 of file InDetPerfPlot_Resolution.h.

◆ m_sigma_vs_pt

TProfile* InDetPerfPlot_Resolution::m_sigma_vs_pt[NPARAMS]
private

Definition at line 155 of file InDetPerfPlot_Resolution.h.

◆ m_sigP

float InDetPerfPlot_Resolution::m_sigP[NPARAMS]
private

Definition at line 99 of file InDetPerfPlot_Resolution.h.

◆ m_trkErrP

float InDetPerfPlot_Resolution::m_trkErrP[NPARAMS]
private

Definition at line 95 of file InDetPerfPlot_Resolution.h.

◆ m_trkP

float InDetPerfPlot_Resolution::m_trkP[NPARAMS]
private

Definition at line 93 of file InDetPerfPlot_Resolution.h.

◆ m_truetrkP

float InDetPerfPlot_Resolution::m_truetrkP[NPARAMS]
private

Definition at line 94 of file InDetPerfPlot_Resolution.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.


The documentation for this class was generated from the following files:
InDetPerfPlot_Resolution::m_primTrk
bool m_primTrk
Definition: InDetPerfPlot_Resolution.h:80
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
SingleHistogramDefinition::nBinsX
unsigned int nBinsX
Definition: SingleHistogramDefinition.h:47
TH2::Fill
int Fill(double, double)
Definition: rootspy.cxx:382
InDetPerfPlot_Resolution::QOVERPT
@ QOVERPT
Definition: InDetPerfPlot_Resolution.h:43
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
InDetPerfPlot_Resolution::m_resHelperlowpt_pos
TH2 * m_resHelperlowpt_pos[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:130
IDPVM::ResolutionHelper::iterRMS_convergence
@ iterRMS_convergence
Definition: InnerDetector/InDetValidation/InDetPhysValMonitoring/InDetPhysValMonitoring/ResolutionHelper.h:36
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
InDetPerfPlot_Resolution::m_resHelpereta_pos
TH2 * m_resHelpereta_pos[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:126
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
InDetPerfPlot_Resolution::m_sigma_vs_lowpt
TProfile * m_sigma_vs_lowpt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:156
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
InDetPerfPlot_Resolution::m_pullwidth_vs_eta
TH1 * m_pullwidth_vs_eta[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:119
InDetPerfPlot_Resolution::m_pullHelpereta
TH2 * m_pullHelpereta[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:108
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_Resolution::m_pullHelperpt
TH2 * m_pullHelperpt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:109
TCS::KFMET::nEtaBins
constexpr unsigned nEtaBins
Definition: KalmanMETCorrectionConstants.h:18
InDetPerfPlot_Resolution::Z0
@ Z0
Definition: InDetPerfPlot_Resolution.h:43
InDetPerfPlot_Resolution::m_pullmean_vs_eta
TH1 * m_pullmean_vs_eta[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:120
InDetPerfPlot_Resolution::m_trkErrP
float m_trkErrP[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:95
InDetPerfPlot_Resolution::m_resmean_vs_pt_neg
TH1 * m_resmean_vs_pt_neg[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:143
InDetPerfPlot_Resolution::m_reswidth_vs_pt_neg
TH1 * m_reswidth_vs_pt_neg[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:142
InDetPerfPlot_Resolution::PT
@ PT
Definition: InDetPerfPlot_Resolution.h:43
InDetPerfPlot_Resolution::m_PtBins
float m_PtBins[m_nPtBins+1]
Definition: InDetPerfPlot_Resolution.h:66
TH2F
Definition: rootspy.cxx:420
IDPVM::ResolutionHelper::makeResolutions
void makeResolutions(const TH2 *h_input2D, TH1 *hwidth, TH1 *hmean, TH1 *hproj[], bool saveProjections, IDPVM::ResolutionHelper::methods theMethod=IDPVM::ResolutionHelper::iterRMS_convergence)
extract 1D resolution plots from a 2D "residual vs observable" histogram.
Definition: InnerDetector/InDetValidation/InDetPhysValMonitoring/src/ResolutionHelper.cxx:288
InDetPerfPlot_Resolution::m_reswidth_vs_pt_pos
TH1 * m_reswidth_vs_pt_pos[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:135
InDetPerfPlot_Resolution::m_res
TH1 * m_res[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:102
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
InDetPerfPlot_Resolution::m_nLowPtBins
static const int m_nLowPtBins
Definition: InDetPerfPlot_Resolution.h:69
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
plotmaker.hist
hist
Definition: plotmaker.py:148
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
InDetPerfPlot_Resolution::m_resProjections_vs_pt
TH1 * m_resProjections_vs_pt[NPARAMS][m_nPtBins]
Definition: InDetPerfPlot_Resolution.h:150
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
InDetPerfPlot_Resolution::getTrackParameters
void getTrackParameters(const xAOD::TruthParticle &truthprt)
Definition: InDetPerfPlot_Resolution.cxx:425
InDetPerfPlot_Resolution::m_resHelperlowpt
TH2 * m_resHelperlowpt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:107
PlotBase::m_vBookedEfficiencies
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition: PlotBase.h:98
InDetPerfPlot_Resolution::m_resolutionMethod
IDPVM::ResolutionHelper::methods m_resolutionMethod
Definition: InDetPerfPlot_Resolution.h:78
tree
TChain * tree
Definition: tile_monitor.h:30
InDetPerfPlot_Resolution::m_pullwidth_vs_lowpt
TH1 * m_pullwidth_vs_lowpt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:123
InDetPerfPlot_Resolution::m_allTrk
bool m_allTrk
Definition: InDetPerfPlot_Resolution.h:82
InDetPerfPlot_Resolution::m_resHelperpt_pos
TH2 * m_resHelperpt_pos[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:128
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
InDetPerfPlot_Resolution::m_pullProjections_vs_pt
TH1 * m_pullProjections_vs_pt[NPARAMS][m_nPtBins]
Definition: InDetPerfPlot_Resolution.h:147
InDetPerfPlot_Resolution::m_resProjections_vs_lowpt
TH1 * m_resProjections_vs_lowpt[NPARAMS][m_nLowPtBins]
Definition: InDetPerfPlot_Resolution.h:151
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:201
test_pyathena.pt
pt
Definition: test_pyathena.py:11
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
InDetPerfPlot_Resolution::m_sigP
float m_sigP[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:99
InDetPerfPlot_Resolution::m_truetrkP
float m_truetrkP[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:94
InDetPerfPlot_Resolution::m_pullmean_vs_lowpt
TH1 * m_pullmean_vs_lowpt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:124
athena.value
value
Definition: athena.py:122
InDetPerfPlot_Resolution::m_resHelpereta
TH2 * m_resHelpereta[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:105
SG::ConstAccessor< float >
InDetPerfPlot_Resolution::m_secdTrk
bool m_secdTrk
Definition: InDetPerfPlot_Resolution.h:81
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
InDetAccessor::qOverP
@ qOverP
perigee
Definition: InDetAccessor.h:35
InDetPerfPlot_Resolution::m_resolutionHelper
IDPVM::ResolutionHelper m_resolutionHelper
Definition: InDetPerfPlot_Resolution.h:77
InDetPerfPlot_Resolution::m_resmean_vs_lowpt_pos
TH1 * m_resmean_vs_lowpt_pos[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:138
InDetPerfPlot_Resolution::m_pullmean_vs_pt
TH1 * m_pullmean_vs_pt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:122
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
InDetPerfPlot_Resolution::m_resHelperpt
TH2 * m_resHelperpt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:106
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_Resolution::m_LowPtBins
float m_LowPtBins[m_nLowPtBins+1]
Definition: InDetPerfPlot_Resolution.h:73
IDPVM::logLinearBinning
std::vector< double > logLinearBinning(const unsigned int nBins, const double absXmin, const double absXmax, const bool symmetriseAroundZero)
Definition: logLinearBinning.cxx:16
InDetPerfPlot_Resolution::m_pullProjections_vs_eta
TH1 * m_pullProjections_vs_eta[NPARAMS][m_nEtaBins]
Definition: InDetPerfPlot_Resolution.h:149
SingleHistogramDefinition::xAxis
IHistogramDefinitionSvc::axesLimits_t xAxis
Definition: SingleHistogramDefinition.h:50
beamspotnt.labels
list labels
Definition: bin/beamspotnt.py:1447
PlotBase::m_vSubNodes
std::vector< PlotBase * > m_vSubNodes
Definition: PlotBase.h:95
InDetPerfPlot_Resolution::m_resHelperlowpt_neg
TH2 * m_resHelperlowpt_neg[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:131
InDetPerfPlot_Resolution::m_resmean_vs_pt_pos
TH1 * m_resmean_vs_pt_pos[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:136
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
TH3::Fill
int Fill(double, double, double)
Definition: rootspy.cxx:453
HepMC::is_simulation_particle
bool is_simulation_particle(const T &p)
Method to establish if a particle (or barcode) was created during the simulation (TODO update to be s...
Definition: MagicNumbers.h:299
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
InDetPerfPlot_Resolution::m_reswidth_vs_eta
TH1 * m_reswidth_vs_eta[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:112
InDetPerfPlot_Resolution::m_paramProp
std::string m_paramProp[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:75
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
InDetPerfPlot_Resolution::m_sigma
TH1 * m_sigma[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:103
InDetPerfPlot_Resolution::m_resmean_vs_eta
TH1 * m_resmean_vs_eta[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:113
InDetPerfPlot_Resolution::m_reswidth_vs_pt
TH1 * m_reswidth_vs_pt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:114
InDetPerfPlot_Resolution::m_nPtBins
static const int m_nPtBins
Definition: InDetPerfPlot_Resolution.h:62
HepMC::uniqueID
int uniqueID(const T &p)
Definition: MagicNumbers.h:113
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
InDetPerfPlot_Resolution::m_resmean_vs_lowpt
TH1 * m_resmean_vs_lowpt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:117
InDetPerfPlot_Resolution::m_pullHelperlowpt
TH2 * m_pullHelperlowpt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:110
AthenaPoolTestRead.acc
acc
Definition: AthenaPoolTestRead.py:16
InDetPerfPlot_Resolution::m_resHelperpt_neg
TH2 * m_resHelperpt_neg[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:129
InDetPerfPlot_Resolution::m_sigma_vs_pt
TProfile * m_sigma_vs_pt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:155
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,...
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
InDetPerfPlot_Resolution::m_resmean_vs_eta_neg
TH1 * m_resmean_vs_eta_neg[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:141
WritePulseShapeToCool.xlo
xlo
Definition: WritePulseShapeToCool.py:133
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_Resolution::getPlotParameters
void getPlotParameters()
Definition: InDetPerfPlot_Resolution.cxx:358
SingleHistogramDefinition
Almost-a-struct for holding the single histogram definition.
Definition: SingleHistogramDefinition.h:17
beamspotman.dir
string dir
Definition: beamspotman.py:623
InDetPerfPlot_Resolution::m_resmean_vs_pt
TH1 * m_resmean_vs_pt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:115
InDetPerfPlot_Resolution::m_ptMin
const double m_ptMin
Definition: InDetPerfPlot_Resolution.h:63
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
InDetPerfPlot_Resolution::Z0SIN
@ Z0SIN
Definition: InDetPerfPlot_Resolution.h:43
InDetPerfPlot_Resolution::m_resP
float m_resP[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:97
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
pmontree.opt
opt
Definition: pmontree.py:16
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
InDetPerfPlot_Resolution::m_sigma_vs_eta
TProfile * m_sigma_vs_eta[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:154
InDetPerfPlot_Resolution::m_reswidth_vs_eta_pos
TH1 * m_reswidth_vs_eta_pos[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:133
TH3F
Definition: rootspy.cxx:495
InDetPerfPlot_Resolution::m_ptMax
const double m_ptMax
Definition: InDetPerfPlot_Resolution.h:64
TProfile
Definition: rootspy.cxx:515
InDetPerfPlot_Resolution::m_reswidth_vs_lowpt_pos
TH1 * m_reswidth_vs_lowpt_pos[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:137
InDetPlotBase::InDetPlotBase
InDetPlotBase(InDetPlotBase *pParent, const std::string &dirName)
Constructor taking parent node and directory name for plots.
Definition: InDetPlotBase.cxx:40
InDetPerfPlot_Resolution::m_resProjections_vs_eta
TH1 * m_resProjections_vs_eta[NPARAMS][m_nEtaBins]
Definition: InDetPerfPlot_Resolution.h:152
InDetPerfPlot_Resolution::m_pullwidth_vs_pt
TH1 * m_pullwidth_vs_pt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:121
InDetPerfPlot_Resolution::getPlots
void getPlots(float weight=1.0)
Definition: InDetPerfPlot_Resolution.cxx:320
InDetPerfPlot_Resolution::m_pull
TH1 * m_pull[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:101
InDetPerfPlot_Resolution::m_resmean_vs_eta_pos
TH1 * m_resmean_vs_eta_pos[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:134
InDetPerfPlot_Resolution::m_trkP
float m_trkP[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:93
InDetPerfPlot_Resolution::m_pullProjections_vs_lowpt
TH1 * m_pullProjections_vs_lowpt[NPARAMS][m_nLowPtBins]
Definition: InDetPerfPlot_Resolution.h:148
TProfile::Fill
int Fill(double, double)
Definition: rootspy.cxx:523
TH1F
Definition: rootspy.cxx:320
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_Resolution::m_resmean_vs_lowpt_neg
TH1 * m_resmean_vs_lowpt_neg[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:145
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
InDetPerfPlot_Resolution::m_lowPtMin
const double m_lowPtMin
Definition: InDetPerfPlot_Resolution.h:70
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
InDetPerfPlot_Resolution::QOVERP
@ QOVERP
Definition: InDetPerfPlot_Resolution.h:43
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
xAOD::TruthParticle_v1::pt
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Definition: TruthParticle_v1.cxx:166
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
InDetPerfPlot_Resolution::D0
@ D0
Definition: InDetPerfPlot_Resolution.h:43
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
InDetPerfPlot_Resolution::PHI
@ PHI
Definition: InDetPerfPlot_Resolution.h:43
InDetPerfPlot_Resolution::m_reswidth_vs_lowpt
TH1 * m_reswidth_vs_lowpt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:116
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
InDetPerfPlot_Resolution::m_reswidth_vs_eta_neg
TH1 * m_reswidth_vs_eta_neg[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:140
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
InDetPerfPlot_Resolution::m_pullP
float m_pullP[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:98
InDetPerfPlot_Resolution::NPARAMS
@ NPARAMS
Definition: InDetPerfPlot_Resolution.h:43
InDetPerfPlot_Resolution::THETA
@ THETA
Definition: InDetPerfPlot_Resolution.h:43
InDetPerfPlot_Resolution::m_reswidth_vs_lowpt_neg
TH1 * m_reswidth_vs_lowpt_neg[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:144
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
PlotBase::finalizePlots
virtual void finalizePlots()
Definition: PlotBase.h:91
PlotBase::m_vBookedTrees
std::vector< TreeData > m_vBookedTrees
Definition: PlotBase.h:97
readCCLHist.float
float
Definition: readCCLHist.py:83
InDetPerfPlot_Resolution::m_lowPtMax
const double m_lowPtMax
Definition: InDetPerfPlot_Resolution.h:71
SingleHistogramDefinition::nBinsY
unsigned int nBinsY
Definition: SingleHistogramDefinition.h:48
InDetPerfPlot_Resolution::m_resHelpereta_neg
TH2 * m_resHelpereta_neg[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:127