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...
 
const std::string & getDirectory ()
 
bool msgLvl (const MSG::Level lvl) const
 Test the output level. More...
 
MsgStream & msg () const
 The standard message stream. More...
 
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream. More...
 
void setLevel (MSG::Level lvl)
 Change the current logging level. More...
 

Static Public Member Functions

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

Protected Member Functions

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

Protected Attributes

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

Private 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]
 
TH1 * m_pull [NPARAMS]
 
TH1 * m_res [NPARAMS]
 
TH1 * m_sigma [NPARAMS]
 
TH2 * m_resHelpereta [NPARAMS]
 
TH2 * m_resHelperpt [NPARAMS]
 
TH2 * m_resHelperlowpt [NPARAMS]
 
TH2 * m_pullHelpereta [NPARAMS]
 
TH2 * m_pullHelperpt [NPARAMS]
 
TH2 * m_pullHelperlowpt [NPARAMS]
 
TH1 * m_reswidth_vs_eta [NPARAMS]
 
TH1 * m_resmean_vs_eta [NPARAMS]
 
TH1 * m_reswidth_vs_pt [NPARAMS]
 
TH1 * m_resmean_vs_pt [NPARAMS]
 
TH1 * m_reswidth_vs_lowpt [NPARAMS]
 
TH1 * m_resmean_vs_lowpt [NPARAMS]
 
TH1 * m_pullwidth_vs_eta [NPARAMS]
 
TH1 * m_pullmean_vs_eta [NPARAMS]
 
TH1 * m_pullwidth_vs_pt [NPARAMS]
 
TH1 * m_pullmean_vs_pt [NPARAMS]
 
TH1 * m_pullwidth_vs_lowpt [NPARAMS]
 
TH1 * m_pullmean_vs_lowpt [NPARAMS]
 
TH2 * m_resHelpereta_pos [NPARAMS]
 
TH2 * m_resHelpereta_neg [NPARAMS]
 
TH2 * m_resHelperpt_pos [NPARAMS]
 
TH2 * m_resHelperpt_neg [NPARAMS]
 
TH2 * m_resHelperlowpt_pos [NPARAMS]
 
TH2 * m_resHelperlowpt_neg [NPARAMS]
 
TH1 * m_reswidth_vs_eta_pos [NPARAMS]
 
TH1 * m_resmean_vs_eta_pos [NPARAMS]
 
TH1 * m_reswidth_vs_pt_pos [NPARAMS]
 
TH1 * m_resmean_vs_pt_pos [NPARAMS]
 
TH1 * m_reswidth_vs_lowpt_pos [NPARAMS]
 
TH1 * m_resmean_vs_lowpt_pos [NPARAMS]
 
TH1 * m_reswidth_vs_eta_neg [NPARAMS]
 
TH1 * m_resmean_vs_eta_neg [NPARAMS]
 
TH1 * m_reswidth_vs_pt_neg [NPARAMS]
 
TH1 * m_resmean_vs_pt_neg [NPARAMS]
 
TH1 * m_reswidth_vs_lowpt_neg [NPARAMS]
 
TH1 * m_resmean_vs_lowpt_neg [NPARAMS]
 
TH1 * m_pullProjections_vs_pt [NPARAMS][m_nPtBins]
 
TH1 * m_pullProjections_vs_lowpt [NPARAMS][m_nLowPtBins]
 
TH1 * m_pullProjections_vs_eta [NPARAMS][m_nEtaBins]
 
TH1 * m_resProjections_vs_pt [NPARAMS][m_nPtBins]
 
TH1 * m_resProjections_vs_lowpt [NPARAMS][m_nLowPtBins]
 
TH1 * m_resProjections_vs_eta [NPARAMS][m_nEtaBins]
 
TProfile * m_sigma_vs_eta [NPARAMS]
 
TProfile * m_sigma_vs_pt [NPARAMS]
 
TProfile * m_sigma_vs_lowpt [NPARAMS]
 
ServiceHandle< IHistogramDefinitionSvcm_histoDefSvc
 
std::string m_nm
 Message source name. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

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 29 of file InDetPerfPlot_Resolution.cxx.

29  : InDetPlotBase(pParent, sDir),
31  m_primTrk(false),
32  m_secdTrk(false),
33  m_allTrk(false),
34 
35  m_trkP{},
36  m_truetrkP{},
37  m_trkErrP{},
38 
39  m_resP{},
40  m_pullP{},
41  m_sigP{},
42 
43  m_pull{},
44  m_res{},
45  m_sigma{},
46 
48  m_resHelperpt{},
50  m_pullHelpereta{},
51  m_pullHelperpt{},
53 
60 
67 
74 
81 
88 
95 
97  m_sigma_vs_pt{},
99  {
100 
101  TString tsDir = (TString) sDir;
102 
103  if (tsDir.Contains("Primary")) {
104  m_primTrk = true; // control if sec/prim from init
105  } else if (tsDir.Contains("Secondary")) {
106  m_secdTrk = true;
107  } else {
108  m_allTrk = true;
109  }
110 
111 
112 
113  std::vector<double> ptBins = IDPVM::logLinearBinning(m_nPtBins, m_ptMin, m_ptMax, false);
114  for (int ipt = 0; ipt <= m_nPtBins; ipt++) {
115  m_PtBins[ipt] = (float) ptBins[ipt];
116  }
117 
118  std::vector<double> lowPtBins = IDPVM::logLinearBinning(m_nLowPtBins, m_lowPtMin, m_lowPtMax, false);
119  for (int ipt = 0; ipt <= m_nLowPtBins; ipt++) {
120  m_LowPtBins[ipt] = (float) lowPtBins[ipt];
121  }
122 
123 
124 
125 }

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

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

◆ book() [3/6]

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

Book a TH1 histogram.

Definition at line 43 of file InDetPlotBase.cxx.

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

◆ book() [4/6]

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

Book a 2D histogram (TH2)

Definition at line 63 of file InDetPlotBase.cxx.

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

◆ book() [5/6]

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

Book a TProfile histogram.

Definition at line 49 of file InDetPlotBase.cxx.

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

◆ book() [6/6]

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

Book a TProfile2D histogram.

Definition at line 56 of file InDetPlotBase.cxx.

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

◆ Book1D() [1/2]

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

Book a TH1D histogram.

Definition at line 94 of file PlotBase.cxx.

95  {
96  std::string prefix = constructPrefix(m_sDirectory, prependDir);
97  Bool_t oldstat = TH1::AddDirectoryStatus();
98  TH1::AddDirectory(false);
99  TH1D *hist = new TH1D((prefix + name).c_str(), labels.c_str(), nBins, start, end);
100  TH1::AddDirectory(oldstat);
101 
102  hist->Sumw2();
103  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
104  return hist;
105 }

◆ Book1D() [2/2]

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

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

Definition at line 108 of file PlotBase.cxx.

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

◆ Book2D() [1/3]

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

Book a TH2F histogram with variable x axis binning.

Definition at line 144 of file PlotBase.cxx.

145  {
146  std::string prefix = constructPrefix(m_sDirectory, prependDir);
147  Bool_t oldstat = TH2::AddDirectoryStatus();
148  TH2::AddDirectory(false);
149  TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, startY, endY);
150  hist->Sumw2();
151  TH2::AddDirectory(oldstat);
152  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
153  return hist;
154 }

◆ Book2D() [2/3]

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

Book a TH2F histogram.

Definition at line 123 of file PlotBase.cxx.

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

◆ Book2D() [3/3]

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

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

Definition at line 138 of file PlotBase.cxx.

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

◆ Book3D() [1/2]

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

Book a TH3F histogram.

Definition at line 157 of file PlotBase.cxx.

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

◆ Book3D() [2/2]

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

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

Definition at line 171 of file PlotBase.cxx.

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

◆ BookTEfficiency() [1/2]

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

Book a (1-D) TEfficiency histogram.

Definition at line 257 of file PlotBase.cxx.

257  {
258  std::string prefix = constructPrefix(m_sDirectory, prependDir);
259  //Bool_t oldstat = TEfficiency::AddDirectoryStatus();
260  TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi);
261  //hist->SetAutoSave(0);
262  //hist->SetAtoFlush(0);
263  hist->SetDirectory(nullptr);
264  m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
265  //TEfficiency::AddDirectory(oldstat);
266  return hist;
267 }

◆ BookTEfficiency() [2/2]

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

Book a (2-D) TEfficiency histogram.

Definition at line 270 of file PlotBase.cxx.

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

◆ BookTProfile() [1/2]

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

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

Definition at line 204 of file PlotBase.cxx.

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

◆ BookTProfile() [2/2]

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

Book a TProfile histogram.

Definition at line 186 of file PlotBase.cxx.

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

◆ BookTProfile2D() [1/2]

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

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

Definition at line 231 of file PlotBase.cxx.

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

◆ BookTProfile2D() [2/2]

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

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

Definition at line 245 of file PlotBase.cxx.

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

◆ BookTProfileRangeY()

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

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

Definition at line 217 of file PlotBase.cxx.

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

◆ BookTree()

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

Book a TTree.

Definition at line 281 of file PlotBase.cxx.

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

◆ constructPrefix()

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

Definition at line 293 of file PlotBase.cxx.

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

◆ fill()

void InDetPerfPlot_Resolution::fill ( const xAOD::TrackParticle trkprt,
const xAOD::TruthParticle truthprt,
float  weight 
)

Definition at line 292 of file InDetPerfPlot_Resolution.cxx.

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

◆ fillHisto() [1/9]

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

Definition at line 142 of file InDetPlotBase.cxx.

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

◆ fillHisto() [2/9]

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

Definition at line 134 of file InDetPlotBase.cxx.

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

◆ fillHisto() [3/9]

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

Definition at line 97 of file InDetPlotBase.cxx.

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

◆ fillHisto() [4/9]

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

Definition at line 104 of file InDetPlotBase.cxx.

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

◆ fillHisto() [5/9]

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

Definition at line 112 of file InDetPlotBase.cxx.

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

◆ fillHisto() [6/9]

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

Definition at line 120 of file InDetPlotBase.cxx.

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

◆ fillHisto() [7/9]

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

Definition at line 127 of file InDetPlotBase.cxx.

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

◆ fillHisto() [8/9]

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

Definition at line 82 of file InDetPlotBase.cxx.

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

◆ fillHisto() [9/9]

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

Definition at line 89 of file InDetPlotBase.cxx.

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

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 47 of file PlotBase.cxx.

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

◆ finalizePlots()

void InDetPerfPlot_Resolution::finalizePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 472 of file InDetPerfPlot_Resolution.cxx.

472  {
473 
474  bool saveProjections = (m_iDetailLevel > 200);
475  for (unsigned int iparam = 0; iparam < NPARAMS; iparam++) {
476  if(iparam == PT) continue;
477  //
478  //Only save vert detailed information if... high detail level
479  //Reduces output for ART / PhysVal
480  //
481  if(m_iDetailLevel >= 200){
483  (saveProjections ? m_resProjections_vs_eta[iparam] : nullptr), saveProjections, m_resolutionMethod);
485  (saveProjections ? m_resProjections_vs_pt[iparam] : nullptr), saveProjections, m_resolutionMethod);
487  (saveProjections ? m_resProjections_vs_lowpt[iparam] : nullptr), saveProjections, m_resolutionMethod);
489  (saveProjections ? m_pullProjections_vs_pt[iparam] : nullptr), saveProjections, m_resolutionMethod);
491  (saveProjections ? m_pullProjections_vs_lowpt[iparam] : nullptr), saveProjections, m_resolutionMethod);
493  (saveProjections ? m_pullProjections_vs_eta[iparam] : nullptr), saveProjections, m_resolutionMethod);
500  } else {
507  }
508 
509  }
510 
511 }

◆ getDirectory()

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

Definition at line 88 of file PlotBase.h.

88 {return m_sDirectory;}

◆ getPlotParameters()

void InDetPerfPlot_Resolution::getPlotParameters ( )
private

Definition at line 362 of file InDetPerfPlot_Resolution.cxx.

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

◆ getPlots()

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

Definition at line 324 of file InDetPerfPlot_Resolution.cxx.

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

◆ getTrackParameters() [1/2]

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

Definition at line 384 of file InDetPerfPlot_Resolution.cxx.

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

◆ getTrackParameters() [2/2]

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

Definition at line 435 of file InDetPerfPlot_Resolution.cxx.

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

◆ initialize()

void PlotBase::initialize ( )
inherited

Definition at line 39 of file PlotBase.cxx.

39  {
40  for (auto *subNode: m_vSubNodes) {
41  subNode->initialize();
42  }
44 }

◆ initializePlots()

void InDetPerfPlot_Resolution::initializePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 128 of file InDetPerfPlot_Resolution.cxx.

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

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

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

◆ mBook()

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

book, for use by macro

Definition at line 83 of file InDetPlotBase.h.

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

◆ msg() [1/2]

MsgStream & AthMessaging::msg ( ) const
inlineinherited

The standard message stream.

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

Definition at line 164 of file AthMessaging.h.

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

◆ msg() [2/2]

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

The standard message stream.

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

Definition at line 179 of file AthMessaging.h.

180 { return msg() << lvl; }

◆ msgLvl()

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

Test the output level.

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

Definition at line 151 of file AthMessaging.h.

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

◆ RegisterSubPlot()

void PlotBase::RegisterSubPlot ( PlotBase pPlotBase)
inlineinherited

Definition at line 41 of file PlotBase.h.

41 {m_vSubNodes.push_back(pPlotBase);}

◆ retrieveBookedEfficiencies()

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

Retrieve all booked efficiency objects.

Definition at line 83 of file PlotBase.cxx.

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

◆ retrieveBookedHistograms()

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

Retrieve all booked histograms.

Definition at line 63 of file PlotBase.cxx.

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

◆ retrieveBookedTrees()

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

Retrieve all booked trees.

Definition at line 73 of file PlotBase.cxx.

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

◆ retrieveDefinition()

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

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

Definition at line 151 of file InDetPlotBase.cxx.

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

◆ setDetailLevel()

void PlotBase::setDetailLevel ( int  iDetailLevel)
inherited

Definition at line 55 of file PlotBase.cxx.

55  {
56  for (auto *subNode: m_vSubNodes) {
57  subNode->setDetailLevel(iDetailLevel);
58  }
59  m_iDetailLevel = iDetailLevel;
60 }

◆ setLevel()

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

Change the current logging level.

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

Definition at line 28 of file AthMessaging.cxx.

29 {
30  m_lvl = lvl;
31 }

Member Data Documentation

◆ ATLAS_THREAD_SAFE

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

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_allTrk

bool InDetPerfPlot_Resolution::m_allTrk
private

Definition at line 82 of file InDetPerfPlot_Resolution.h.

◆ m_histoDefSvc

ServiceHandle<IHistogramDefinitionSvc> InDetPlotBase::m_histoDefSvc
privateinherited

Definition at line 88 of file InDetPlotBase.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 101 of file PlotBase.h.

◆ m_imsg

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

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_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 100 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 99 of file PlotBase.h.

◆ m_vBookedHistograms

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

Definition at line 97 of file PlotBase.h.

◆ m_vBookedTrees

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

Definition at line 98 of file PlotBase.h.

◆ m_vSubNodes

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

Definition at line 96 of file PlotBase.h.


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:293
SingleHistogramDefinition::nBinsX
unsigned int nBinsX
Definition: SingleHistogramDefinition.h:47
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:101
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:97
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
InDetPerfPlot_Resolution::m_resHelpereta_pos
TH2 * m_resHelpereta_pos[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:126
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
make_coralServer_rep.opt
opt
Definition: make_coralServer_rep.py:19
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
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:83
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:91
PlotBase::m_sDirectory
std::string m_sDirectory
Definition: PlotBase.h:100
InDetPerfPlot_Resolution::m_resProjections_vs_pt
TH1 * m_resProjections_vs_pt[NPARAMS][m_nPtBins]
Definition: InDetPerfPlot_Resolution.h:150
InDetPerfPlot_Resolution::getTrackParameters
void getTrackParameters(const xAOD::TruthParticle &truthprt)
Definition: InDetPerfPlot_Resolution.cxx:435
InDetPerfPlot_Resolution::m_resHelperlowpt
TH2 * m_resHelperlowpt[NPARAMS]
Definition: InDetPerfPlot_Resolution.h:107
PlotBase::m_vBookedEfficiencies
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition: PlotBase.h:99
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:257
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 TH2F histogram.
Definition: PlotBase.cxx:123
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
xAOD::P4Helpers::deltaPhi
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[
Definition: xAODP4Helpers.h:69
athena.value
value
Definition: athena.py:124
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:231
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
PlotBase::Book1D
TH1D * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition: PlotBase.cxx:94
InDetPerfPlot_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:96
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
plotting.yearwise_efficiency_vs_mu.xval
float xval
Definition: yearwise_efficiency_vs_mu.py:35
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:355
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
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:116
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
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
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
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
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
WritePulseShapeToCool.ylo
ylo
Definition: WritePulseShapeToCool.py:134
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
InDetPerfPlot_Resolution::getPlotParameters
void getPlotParameters()
Definition: InDetPerfPlot_Resolution.cxx:362
SingleHistogramDefinition
Almost-a-struct for holding the single histogram definition.
Definition: SingleHistogramDefinition.h:17
InDetPlotBase::m_histoDefSvc
ServiceHandle< IHistogramDefinitionSvc > m_histoDefSvc
Definition: InDetPlotBase.h:88
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:228
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
InDetPerfPlot_Resolution::m_ptMax
const double m_ptMax
Definition: InDetPerfPlot_Resolution.h:64
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:35
plotting.yearwise_efficiency_vs_mu.yval
float yval
Definition: yearwise_efficiency_vs_mu.py:36
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:324
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
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:186
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
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
pow
constexpr int pow(int base, int exp) noexcept
Definition: ap_fixedTest.cxx:15
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
PlotBase::finalizePlots
virtual void finalizePlots()
Definition: PlotBase.h:92
PlotBase::m_vBookedTrees
std::vector< TreeData > m_vBookedTrees
Definition: PlotBase.h:98
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