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

class holding plots for truth matched vertices More...

#include <InDetPerfPlot_VertexTruthMatching.h>

Inheritance diagram for InDetPerfPlot_VertexTruthMatching:
Collaboration diagram for InDetPerfPlot_VertexTruthMatching:

Public Member Functions

 InDetPerfPlot_VertexTruthMatching (InDetPlotBase *pParent, const std::string &dirName, const int detailLevel=10)
 
void fill (const xAOD::Vertex &vertex, const xAOD::TruthVertex *tvrt=0, float weight=1.0)
 
void fill (const xAOD::Vertex *recoHardScatter, const xAOD::VertexContainer &vertexContainer, const std::vector< const xAOD::TruthVertex * > &truthHSVertices, const std::vector< const xAOD::TruthVertex * > &truthPUVertices, float weight=1.0)
 
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 ()
 
template<typename U , typename V >
float getRadialDiff2 (const U *vtx1, const V *vtx2) const
 
float getLocalPUDensity (const xAOD::TruthVertex *vtxOfInterest, const std::vector< const xAOD::TruthVertex * > &truthHSVertices, const std::vector< const xAOD::TruthVertex * > &truthPUVertices, const float radialWindow=2.0) const
 
const xAOD::TruthVertexgetTruthVertex (const xAOD::Vertex *recoVtx) const
 
void finalizePlots ()
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Static Private Member Functions

static const xAOD::VertexgetHSRecoVertexSumPt2 (const xAOD::VertexContainer &recoVertices)
 
static float getRecoLongitudinalReso (const xAOD::Vertex *recoVtx)
 
static float getRecoTransverseReso (const xAOD::Vertex *recoVtx)
 
static void fillResoHist (TH1 *resoHist, const TH2 *resoHist2D)
 
static std::string constructPrefix (std::string dir, bool prependDir)
 

Private Attributes

int m_detailLevel
 
float m_cutMinTruthRecoRadialDiff = 0.1
 
TH1m_vx_type_truth {}
 truth type More...
 
TH1m_vx_z_diff {}
 
TH1m_vx_z_diff_pull {}
 
TH1m_vx_time_diff {}
 vertex time More...
 
TH1m_vx_time_diff_pull {}
 
TH1m_vx_hs_classification {}
 hardscatter classification More...
 
TProfilem_vx_nReco_vs_nTruth_inclusive
 vertex reco efficiency More...
 
TProfilem_vx_nReco_vs_nTruth_matched
 
TProfilem_vx_nReco_vs_nTruth_merged
 
TProfilem_vx_nReco_vs_nTruth_split
 
TProfilem_vx_nReco_vs_nTruth_fake
 
TProfilem_vx_nReco_vs_nTruth_dummy
 
TProfilem_vx_nReco_vs_nTruth_clean
 
TProfilem_vx_nReco_vs_nTruth_lowpu
 
TProfilem_vx_nReco_vs_nTruth_highpu
 
TProfilem_vx_nReco_vs_nTruth_hssplit
 
TProfilem_vx_nReco_vs_nTruth_none
 
TEfficiency * m_vx_hs_reco_eff
 
TEfficiency * m_vx_hs_sel_eff
 
TEfficiency * m_vx_hs_reco_sel_eff
 
TEfficiency * m_vx_hs_sel_eff_dist
 
TEfficiency * m_vx_hs_reco_eff_vs_ntruth
 
TEfficiency * m_vx_hs_sel_eff_vs_ntruth
 
TEfficiency * m_vx_hs_reco_sel_eff_vs_ntruth
 
TProfilem_vx_hs_reco_long_reso
 
TProfilem_vx_hs_reco_trans_reso
 
TH2m_vx_hs_truth_long_reso_vs_PU
 
TH2m_vx_hs_truth_trans_reso_vs_PU
 
TH1m_vx_hs_truth_long_reso
 
TH1m_vx_hs_truth_trans_reso
 
TH1m_vx_hs_z_pull
 
TH1m_vx_hs_y_pull
 
TH1m_vx_hs_x_pull
 
TH1m_vx_all_z_pull
 
TH1m_vx_all_y_pull
 
TH1m_vx_all_x_pull
 
TH1m_vx_hs_z_res
 
TH1m_vx_hs_y_res
 
TH1m_vx_hs_x_res
 
TH1m_vx_all_z_res
 
TH1m_vx_all_y_res
 
TH1m_vx_all_x_res
 
TH2m_vx_all_truth_z_res_vs_PU
 
TH2m_vx_all_truth_x_res_vs_PU
 
TH2m_vx_all_truth_y_res_vs_PU
 
TH2m_vx_all_truth_z_pull_vs_PU
 
TH2m_vx_all_truth_x_pull_vs_PU
 
TH2m_vx_all_truth_y_pull_vs_PU
 
TH2m_vx_all_truth_z_res_vs_nTrk
 
TH2m_vx_all_truth_x_res_vs_nTrk
 
TH2m_vx_all_truth_y_res_vs_nTrk
 
TH2m_vx_all_truth_z_pull_vs_nTrk
 
TH2m_vx_all_truth_x_pull_vs_nTrk
 
TH2m_vx_all_truth_y_pull_vs_nTrk
 
TH2m_vx_hs_truth_z_res_vs_PU
 
TH2m_vx_hs_truth_x_res_vs_PU
 
TH2m_vx_hs_truth_y_res_vs_PU
 
TH2m_vx_hs_truth_z_pull_vs_PU
 
TH2m_vx_hs_truth_x_pull_vs_PU
 
TH2m_vx_hs_truth_y_pull_vs_PU
 
TH2m_vx_hs_truth_z_res_vs_nTrk
 
TH2m_vx_hs_truth_x_res_vs_nTrk
 
TH2m_vx_hs_truth_y_res_vs_nTrk
 
TH2m_vx_hs_truth_z_pull_vs_nTrk
 
TH2m_vx_hs_truth_x_pull_vs_nTrk
 
TH2m_vx_hs_truth_y_pull_vs_nTrk
 
TH1m_vx_ntracks_matched
 
TH1m_vx_ntracks_merged
 
TH1m_vx_ntracks_split
 
TH1m_vx_ntracks_HS_matched
 
TH1m_vx_ntracks_HS_merged
 
TH1m_vx_ntracks_HS_split
 
TH1m_vx_ntracks_ALL_matched
 
TH1m_vx_ntracks_ALL_merged
 
TH1m_vx_ntracks_ALL_split
 
TH1m_vx_sumpT_matched
 
TH1m_vx_sumpT_merged
 
TH1m_vx_sumpT_split
 
TH1m_vx_sumpT_HS_matched
 
TH1m_vx_sumpT_HS_merged
 
TH1m_vx_sumpT_HS_split
 
TH1m_vx_z_asym_matched
 
TH1m_vx_z_asym_merged
 
TH1m_vx_z_asym_split
 
TH1m_vx_z_asym_HS_matched
 
TH1m_vx_z_asym_HS_merged
 
TH1m_vx_z_asym_HS_split
 
TH1m_vx_z_asym_weighted_matched
 
TH1m_vx_z_asym_weighted_merged
 
TH1m_vx_z_asym_weighted_split
 
TH1m_vx_z_asym_weighted_HS_matched
 
TH1m_vx_z_asym_weighted_HS_merged
 
TH1m_vx_z_asym_weighted_HS_split
 
TH1m_vx_track_weight_matched
 
TH1m_vx_track_weight_merged
 
TH1m_vx_track_weight_split
 
TH1m_vx_track_weight_HS_matched
 
TH1m_vx_track_weight_HS_merged
 
TH1m_vx_track_weight_HS_split
 
TH1m_vx_normalised_track_weight_matched
 
TH1m_vx_normalised_track_weight_merged
 
TH1m_vx_normalised_track_weight_split
 
TH1m_vx_normalised_track_weight_HS_matched
 
TH1m_vx_normalised_track_weight_HS_merged
 
TH1m_vx_normalised_track_weight_HS_split
 
TH1m_vx_chi2Over_ndf_matched
 
TH1m_vx_chi2Over_ndf_merged
 
TH1m_vx_chi2Over_ndf_split
 
TH1m_vx_chi2Over_ndf_HS_matched
 
TH1m_vx_chi2Over_ndf_HS_merged
 
TH1m_vx_chi2Over_ndf_HS_split
 
TH1m_vx_z0_skewness_matched
 
TH1m_vx_z0_skewness_merged
 
TH1m_vx_z0_skewness_split
 
TH1m_vx_z0_skewness_HS_matched
 
TH1m_vx_z0_skewness_HS_merged
 
TH1m_vx_z0_skewness_HS_split
 
TH1m_vx_z0_kurtosis_matched
 
TH1m_vx_z0_kurtosis_merged
 
TH1m_vx_z0_kurtosis_split
 
TH1m_vx_z0_kurtosis_HS_matched
 
TH1m_vx_z0_kurtosis_HS_merged
 
TH1m_vx_z0_kurtosis_HS_split
 
TH1m_vx_sumpT_ALL_matched
 
TH1m_vx_sumpT_ALL_merged
 
TH1m_vx_sumpT_ALL_split
 
TH1m_vx_z_asym_ALL_matched
 
TH1m_vx_z_asym_ALL_merged
 
TH1m_vx_z_asym_ALL_split
 
TH1m_vx_z_asym_weighted_ALL_matched
 
TH1m_vx_z_asym_weighted_ALL_merged
 
TH1m_vx_z_asym_weighted_ALL_split
 
TH1m_vx_track_weight_ALL_matched
 
TH1m_vx_track_weight_ALL_merged
 
TH1m_vx_track_weight_ALL_split
 
TH1m_vx_normalised_track_weight_ALL_matched
 
TH1m_vx_normalised_track_weight_ALL_merged
 
TH1m_vx_normalised_track_weight_ALL_split
 
TH1m_vx_chi2Over_ndf_ALL_matched
 
TH1m_vx_chi2Over_ndf_ALL_merged
 
TH1m_vx_chi2Over_ndf_ALL_split
 
TH1m_vx_z0_skewness_ALL_matched
 
TH1m_vx_z0_skewness_ALL_merged
 
TH1m_vx_z0_skewness_ALL_split
 
TH1m_vx_z0_kurtosis_ALL_matched
 
TH1m_vx_z0_kurtosis_ALL_merged
 
TH1m_vx_z0_kurtosis_ALL_split
 
TH1m_vx_nVertices_ALL_matched
 
TH1m_vx_nVertices_ALL_merged
 
TH1m_vx_nVertices_ALL_split
 
TH1m_vx_nVertices_ALL_fake
 
TH1m_vx_nVertices_HS_matched
 
TH1m_vx_nVertices_HS_merged
 
TH1m_vx_nVertices_HS_split
 
TH1m_vx_nVertices_HS_fake
 
TH1m_vx_nVertices_matched
 
TH1m_vx_nVertices_merged
 
TH1m_vx_nVertices_split
 
TH1m_vx_nVertices_fake
 
TH1m_vx_all_dz
 
TH1m_vx_hs_mindz
 
TH1m_vx_PUdensity
 
TH1m_vx_nTruth
 
IHistogramDefinitionSvcm_histoDefSvc
 
std::string m_nm
 Message source name. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

Detailed Description

class holding plots for truth matched vertices

Definition at line 41 of file InDetPerfPlot_VertexTruthMatching.h.

Constructor & Destructor Documentation

◆ InDetPerfPlot_VertexTruthMatching()

InDetPerfPlot_VertexTruthMatching::InDetPerfPlot_VertexTruthMatching ( InDetPlotBase pParent,
const std::string &  dirName,
const int  detailLevel = 10 
)

Definition at line 21 of file InDetPerfPlot_VertexTruthMatching.cxx.

21  :
22  InDetPlotBase(pParent, sDir),
23  m_detailLevel(detailLevel),
24  m_vx_type_truth(nullptr),
25  m_vx_hs_classification(nullptr),
37  m_vx_hs_reco_eff(nullptr),
38  m_vx_hs_sel_eff(nullptr),
39  m_vx_hs_reco_sel_eff(nullptr),
40  m_vx_hs_sel_eff_dist(nullptr),
44  m_vx_hs_reco_long_reso(nullptr),
45  m_vx_hs_reco_trans_reso(nullptr),
48  m_vx_hs_truth_long_reso(nullptr),
49  m_vx_hs_truth_trans_reso(nullptr),
50  m_vx_hs_z_pull(nullptr),
51  m_vx_hs_y_pull(nullptr),
52  m_vx_hs_x_pull(nullptr),
53  m_vx_all_z_pull(nullptr),
54  m_vx_all_y_pull(nullptr),
55  m_vx_all_x_pull(nullptr),
56  m_vx_hs_z_res(nullptr),
57  m_vx_hs_y_res(nullptr),
58  m_vx_hs_x_res(nullptr),
59  m_vx_all_z_res(nullptr),
60  m_vx_all_y_res(nullptr),
61  m_vx_all_x_res(nullptr),
86  // New Expert Histograms for vertex classifiations
87  m_vx_ntracks_matched(nullptr),
88  m_vx_ntracks_merged(nullptr),
89  m_vx_ntracks_split(nullptr),
90  m_vx_ntracks_HS_matched(nullptr),
91  m_vx_ntracks_HS_merged(nullptr),
92  m_vx_ntracks_HS_split(nullptr),
93  m_vx_ntracks_ALL_matched(nullptr),
94  m_vx_ntracks_ALL_merged(nullptr),
95  m_vx_ntracks_ALL_split(nullptr),
96  m_vx_sumpT_matched(nullptr),
97  m_vx_sumpT_merged(nullptr),
98  m_vx_sumpT_split(nullptr),
99  m_vx_sumpT_HS_matched(nullptr),
100  m_vx_sumpT_HS_merged(nullptr),
101  m_vx_sumpT_HS_split(nullptr),
102 
103  m_vx_z_asym_matched(nullptr),
104  m_vx_z_asym_merged(nullptr),
105  m_vx_z_asym_split(nullptr),
106  m_vx_z_asym_HS_matched(nullptr),
107  m_vx_z_asym_HS_merged(nullptr),
108  m_vx_z_asym_HS_split(nullptr),
115 
116  m_vx_track_weight_matched(nullptr),
117  m_vx_track_weight_merged(nullptr),
118  m_vx_track_weight_split(nullptr),
122 
129 
130  m_vx_chi2Over_ndf_matched(nullptr),
131  m_vx_chi2Over_ndf_merged(nullptr),
132  m_vx_chi2Over_ndf_split(nullptr),
136 
137  m_vx_z0_skewness_matched(nullptr),
138  m_vx_z0_skewness_merged(nullptr),
139  m_vx_z0_skewness_split(nullptr),
142  m_vx_z0_skewness_HS_split(nullptr),
143 
144  m_vx_z0_kurtosis_matched(nullptr),
145  m_vx_z0_kurtosis_merged(nullptr),
146  m_vx_z0_kurtosis_split(nullptr),
149  m_vx_z0_kurtosis_HS_split(nullptr),
150 
151  m_vx_sumpT_ALL_matched(nullptr),
152  m_vx_sumpT_ALL_merged(nullptr),
153  m_vx_sumpT_ALL_split(nullptr),
154  m_vx_z_asym_ALL_matched(nullptr),
155  m_vx_z_asym_ALL_merged(nullptr),
156  m_vx_z_asym_ALL_split(nullptr),
160 
164 
168 
172 
176 
180 
182  m_vx_nVertices_ALL_merged(nullptr),
183  m_vx_nVertices_ALL_split(nullptr),
184  m_vx_nVertices_ALL_fake(nullptr),
185  m_vx_nVertices_HS_matched(nullptr),
186  m_vx_nVertices_HS_merged(nullptr),
187  m_vx_nVertices_HS_split(nullptr),
188  m_vx_nVertices_HS_fake(nullptr),
189  m_vx_nVertices_matched(nullptr),
190  m_vx_nVertices_merged(nullptr),
191  m_vx_nVertices_split(nullptr),
192  m_vx_nVertices_fake(nullptr),
193 
194  m_vx_all_dz(nullptr),
195  m_vx_hs_mindz(nullptr),
196 
197  m_vx_PUdensity(nullptr),
198  m_vx_nTruth(nullptr)
199 
200 
201 {
202  // nop
203 }

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() [1/2]

void InDetPerfPlot_VertexTruthMatching::fill ( const xAOD::Vertex vertex,
const xAOD::TruthVertex tvrt = 0,
float  weight = 1.0 
)

Definition at line 560 of file InDetPerfPlot_VertexTruthMatching.cxx.

560  {
561  // not sure how to deal with this type of histogram
562  if(tvrt){
563  float diff_z=vertex.z()-tvrt->z();
564  const AmgSymMatrix(3)& covariance = vertex.covariancePosition();
565  float err_z = fabs(Amg::error(covariance, 2)) > 1e-7 ? Amg::error(covariance, 2) : 1000.;
566  fillHisto(m_vx_z_diff,diff_z, weight);
567  fillHisto(m_vx_z_diff_pull,diff_z/err_z, weight);
568 
569  static const SG::AuxElement::Accessor<uint8_t> accHasValidTime("hasValidTime");
570  static const SG::AuxElement::Accessor<float> accTime("time");
571  static const SG::AuxElement::Accessor<float> accTimeResolution("timeResolution");
572  if (accHasValidTime.isAvailable(vertex) && accTime.isAvailable(vertex) &&
573  accTimeResolution.isAvailable(vertex)) {
574 
575  if (vertex.hasValidTime()) {
576  float diff_time = vertex.time()-tvrt->t()/Gaudi::Units::c_light;
577  float err_time = vertex.timeResolution();
578  fillHisto(m_vx_time_diff, diff_time, weight);
579  fillHisto(m_vx_time_diff_pull, diff_time/err_time, weight);
580  }
581  }
582  }
583 
584  // Get the match type info for each vertex:
585  const static xAOD::Vertex::Decorator<InDetVertexTruthMatchUtils::VertexMatchType> recoVtxMatchTypeInfo("VertexMatchType");
587  if (recoVtxMatchTypeInfo.isAvailable(vertex)) {
588  try {
589  matchType = recoVtxMatchTypeInfo(vertex);
590  ATH_MSG_DEBUG("VERTEX DECORATOR ======= " << matchType << ", with nTRACKS === " << vertex.nTrackParticles() << ", vertex index = " << vertex.index() << " AT (x, y, z) = (" << vertex.x() << ", " << vertex.y() << ", " << vertex.z() << ")");
591  fillHisto(m_vx_type_truth, matchType, weight);
592  }
593  catch (SG::ExcBadAuxVar &) {
594  ATH_MSG_WARNING("VertexMatchType DECORATOR seems to be available, but may be broken ===========");
595  }
596  }
597  else {
598  ATH_MSG_WARNING("VertexMatchType DECORATOR is NOT available ===========");
599  }
600 
601 } // void InDetPerfPlot_VertexTruthMatching::fill(const xAOD::Vertex& vertex) {

◆ fill() [2/2]

void InDetPerfPlot_VertexTruthMatching::fill ( const xAOD::Vertex recoHardScatter,
const xAOD::VertexContainer vertexContainer,
const std::vector< const xAOD::TruthVertex * > &  truthHSVertices,
const std::vector< const xAOD::TruthVertex * > &  truthPUVertices,
float  weight = 1.0 
)

Definition at line 603 of file InDetPerfPlot_VertexTruthMatching.cxx.

603  {
604 
605  if (m_detailLevel >= 200) {
606  // Fill our histograms
607  // Inclusive:
608  int nTruthVertices = (int)(truthHSVertices.size() + truthPUVertices.size());
609  int nRecoVertices = (int)vertexContainer.size();
610  fillHisto(m_vx_nReco_vs_nTruth_inclusive, nTruthVertices, nRecoVertices, weight);
611  fillHisto(m_vx_nTruth, nTruthVertices, weight);
612 
613  // Let's also plot the vertices by vertex match type:
614  const static xAOD::Vertex::Decorator<InDetVertexTruthMatchUtils::VertexMatchType> recoVtxMatchTypeInfo("VertexMatchType");
615  std::map<InDetVertexTruthMatchUtils::VertexMatchType, int> breakdown = {};
621 
622  if (!recoHardScatter){
623  ATH_MSG_INFO("No recoHardScatter vertex - not filling vertex truth matching.");
624  return;
625  }
626 
627  // Get the truth HS vertex
628  const xAOD::TruthVertex* truthHSVtx = nullptr;
629 
630  // Check that we have *exactly* 1 truth HS vertex
631  if (!truthHSVertices.empty()) {
632  if (truthHSVertices.size() != 1) {
633  ATH_MSG_WARNING("Size of truth HS vertex vector is >1 -- only using the first one in the vector.");
634  }
635  truthHSVtx = truthHSVertices.at(0);
636  fillHisto(m_vx_hs_sel_eff_dist, nTruthVertices, getRadialDiff2(recoHardScatter, truthHSVtx) < std::pow(m_cutMinTruthRecoRadialDiff, 2), weight);
637  }
638  else {
639  ATH_MSG_WARNING("Size of truth HS vertex vector is 0 -- assuming truth HS vertex to NOT be reconstructed.");
640  }
641 
642  const xAOD::TruthVertex* truthVtx = nullptr;
643  //Calculating the local PU density around the true HS vertex
644  float localPUDensity = getLocalPUDensity(truthHSVtx, truthHSVertices, truthPUVertices);
645  fillHisto(m_vx_PUdensity, localPUDensity, weight);
646 
647  // Best reco HS vertex identified via truth HS weights
648  const xAOD::Vertex* bestRecoHSVtx_truth = InDetVertexTruthMatchUtils::bestHardScatterMatch(vertexContainer);
649  if (!bestRecoHSVtx_truth){
650  ATH_MSG_INFO("No bestRecoHS vertex - not filling vertex truth matching.");
651  return;
652  }
653 
654  // add code to add protection against non-identified reconstructed HS vertex to avoid crashes in samples with low track multiplicity HS vertex
655  if (!bestRecoHSVtx_truth){
656  ATH_MSG_INFO("No bestRecoHS vertex - not filling vertex truth matching.");
657  return;
658  }
659 
660  // Did we correctly select the best reco HS vertex using sumpt2?
661  truthVtx = getTruthVertex(recoHardScatter);
662  if (!truthVtx){
663  ATH_MSG_INFO("No truth HS - not filling vertex truth matching.");
664  return;
665  }
666  fillHisto(m_vx_hs_sel_eff, localPUDensity, (recoHardScatter == bestRecoHSVtx_truth), weight);
667  fillHisto(m_vx_hs_sel_eff_vs_ntruth, nTruthVertices, (recoHardScatter == bestRecoHSVtx_truth), weight);
668 
669  // Did we successfully reconstruct our truth HS vertex?
670  bool truthHSVtxRecoed = false;
671  float minTruthRecoRadialDiff2 = std::pow(m_cutMinTruthRecoRadialDiff, 2);
672  float truthRecoRadialDiff2 = -1.;
673  if (truthHSVtx) {
674  // If the radial difference between the truth-pkg-selected best reco HS vertex and the truth HS vertex is
675  // less than some cut (e.g., 0.1 mm), then we say the truth HS vertex is reconstructed
676  truthRecoRadialDiff2 = getRadialDiff2(bestRecoHSVtx_truth, truthHSVtx);
677  if (truthRecoRadialDiff2 < minTruthRecoRadialDiff2) {
678  truthHSVtxRecoed = true;
679  minTruthRecoRadialDiff2 = truthRecoRadialDiff2;
680  }
681  }
682 
683  // add variables here so that they are in correct scope (outside loop over vertices)
684  float number_matched = 0;
685  float number_merged = 0;
686  float number_split = 0;
687  float number_fake = 0;
688  float number_matched_HS = 0;
689  float number_merged_HS = 0;
690  float number_split_HS = 0;
691  float number_fake_HS = 0;
692  float number_matched_PU = 0;
693  float number_merged_PU = 0;
694  float number_split_PU = 0;
695  float number_fake_PU = 0;
696 
697  // variables for delta z between the HS and the closest one
698  float vx_hs_mindz=9999.;
699  float min_fabs_dz = 9999.;
700 
701  // Iterate over vertices:
703  for (const auto& vertex : vertexContainer.stdcont()) {
704 
705  // Skip dummy vertex (last one in the container)
706  if (vertex->vertexType() == xAOD::VxType::NoVtx) {
707  continue;
708  }
709 
710  fill(*vertex);
711 
712  matchType = recoVtxMatchTypeInfo(*vertex);
713  breakdown[matchType] += 1;
714 
715 
716  const xAOD::TruthVertex *matchVertex = getTruthVertex(vertex);
717  if(!matchVertex) continue;
718  float residual_z = matchVertex->z() - vertex->z();
719  float residual_x = matchVertex->x() - vertex->x();
720  float residual_y = matchVertex->y() - vertex->y();
721  const AmgSymMatrix(3)& covariance = vertex->covariancePosition();
722  float vtxerr_x = fabs(Amg::error(covariance, 0)) > 1e-7 ? Amg::error(covariance, 0) : 1000.;
723  float vtxerr_y = fabs(Amg::error(covariance, 1)) > 1e-7 ? Amg::error(covariance, 1) : 1000.;
724  float vtxerr_z = fabs(Amg::error(covariance, 2)) > 1e-7 ? Amg::error(covariance, 2) : 1000.;
725  localPUDensity = getLocalPUDensity(matchVertex, truthHSVertices, truthPUVertices);
726 
727  fillHisto(m_vx_all_z_pull, residual_z/vtxerr_z, weight);
728  fillHisto(m_vx_all_y_pull, residual_y/vtxerr_y, weight);
729  fillHisto(m_vx_all_x_pull, residual_x/vtxerr_x, weight);
730 
731  fillHisto(m_vx_all_truth_z_res_vs_PU, localPUDensity, residual_z, weight);
732  fillHisto(m_vx_all_truth_x_res_vs_PU, localPUDensity, residual_x, weight);
733  fillHisto(m_vx_all_truth_y_res_vs_PU, localPUDensity, residual_y, weight);
734 
735  fillHisto(m_vx_all_z_res, residual_z, weight);
736  fillHisto(m_vx_all_y_res, residual_y, weight);
737  fillHisto(m_vx_all_x_res, residual_x, weight);
738 
739  fillHisto(m_vx_all_truth_z_pull_vs_PU, localPUDensity, residual_z/vtxerr_z, weight);
740  fillHisto(m_vx_all_truth_x_pull_vs_PU, localPUDensity, residual_x/vtxerr_x, weight);
741  fillHisto(m_vx_all_truth_y_pull_vs_PU, localPUDensity, residual_y/vtxerr_y, weight);
742 
743  fillHisto(m_vx_all_truth_z_res_vs_nTrk, vertex->nTrackParticles(), residual_z, weight);
744  fillHisto(m_vx_all_truth_x_res_vs_nTrk, vertex->nTrackParticles(), residual_x, weight);
745  fillHisto(m_vx_all_truth_y_res_vs_nTrk, vertex->nTrackParticles(), residual_y, weight);
746 
747  fillHisto(m_vx_all_truth_z_pull_vs_nTrk, vertex->nTrackParticles(), residual_z/vtxerr_z, weight);
748  fillHisto(m_vx_all_truth_x_pull_vs_nTrk, vertex->nTrackParticles(), residual_x/vtxerr_x, weight);
749  fillHisto(m_vx_all_truth_y_pull_vs_nTrk, vertex->nTrackParticles(), residual_y/vtxerr_y, weight);
750 
751 
752 
753 
754  // New Expert histograms for observables for vertex classifications for HS and PU
755  // For each vertex, loop over all tracks and get sumpt and sum of charges
756  // also use this to get the z asymmetry around the vertex.
757 
758  // Declaring variables for the observables
759  const xAOD::TrackParticle* trackTmp = nullptr;
760  float sumPt =0;
761  float minpt = 20000 ; // minimum sum pt required for the 'All' vertices plots - 20 GeV
762  float trackPt = 0;
763 
764  // variables for calculation of delta Z asymmetry and delta d asymmetry
765  float z_asym = 0;
766  float sumDZ = 0;
767  float deltaZ =0;
768  float modsumDZ =0;
769  float weighted_sumDZ = 0;
770  float weighted_deltaZ = 0;
771  float weighted_modsumDZ = 0;
772  float weighted_z_asym =0;
773 
774  // make vector
775  std::vector<float> track_deltaZ;
776  std::vector<float> track_deltaPt;
777  std::vector<float> track_deltaZ_weighted;
778  // loop over tracks
779  for (size_t i = 0; i < vertex->nTrackParticles(); i++) {
780  trackTmp = vertex->trackParticle(i);
781 
782 
783  if (trackTmp) {
784  trackPt = trackTmp->pt(); // MeV
785  sumPt = sumPt + trackPt; // in MeV
786  deltaZ = trackTmp->z0() - vertex->z();
787  track_deltaZ.push_back(deltaZ);
788  // get the track weight for each track to get the deltaZ/trk_weight
789  float trk_weight = vertex->trackWeight(i);
790  weighted_deltaZ = deltaZ*trk_weight;
791  // sum of delta z
792  sumDZ = sumDZ + deltaZ;
793  modsumDZ = modsumDZ + std::abs(deltaZ);
794  weighted_sumDZ = weighted_sumDZ + weighted_deltaZ;
795  weighted_modsumDZ = weighted_modsumDZ + std::abs(weighted_deltaZ);
796 
797  }
798  } // end loop over tracks
799  if (modsumDZ >0) {
800  z_asym = sumDZ/modsumDZ;
801  }
802  if (weighted_modsumDZ >0) {
803  weighted_z_asym = weighted_sumDZ/weighted_modsumDZ;
804  }
805 
806 
807 
808  double mean_Dz =0;
809  mean_Dz=sumDZ/track_deltaZ.size(); //calculate average
810  double number_tracks =0;
811  number_tracks = track_deltaZ.size(); // get number of tracks
812 
813  double z_sd = 0; // standard deviation
814  double z_skew = 0; // skewness of DeltaZ asymmetry
815  double z_kurt = 0; // Kurtosis of DeltaZ asymmetry
816  double z_var=0; // variance of DeltaZ
817  double z_zbar=0; // for use in calculation below
818 
819  for ( auto i : track_deltaZ) {
820 
821  z_zbar = (i - mean_Dz);
822  z_var =(z_var + z_zbar*z_zbar);
823  z_skew =(z_skew + z_zbar*z_zbar*z_zbar);
824  z_kurt =(z_kurt + z_zbar*z_zbar*z_zbar*z_zbar);
825 
826  }
827  z_var = z_var/(number_tracks -1);
828  z_sd = std::sqrt(z_var);
829  z_skew = z_skew/((number_tracks -1)*z_sd*z_sd*z_sd);
830  z_kurt = z_kurt/((number_tracks -1)*z_sd*z_sd*z_sd*z_sd);
831 
832  float ndf = vertex->numberDoF();
833  if (ndf != 0) {
834 
836  if (vertex == bestRecoHSVtx_truth) {
837 
842 
845 
846 
847  for (const float& trkWeight : vertex->trackWeights()) {
849  fillHisto(m_vx_normalised_track_weight_HS_matched, trkWeight/number_tracks,weight);
850  }
851 
852  }
853  else {
854 
859 
862 
863 
864  for (const float& trkWeight : vertex->trackWeights()) {
866  fillHisto(m_vx_normalised_track_weight_matched, trkWeight/number_tracks,weight);
867  }
868  }
869 // fill some histograms that contain both HS and PU above a min pt - say 20GeV
870  if (sumPt > minpt) {
875 
878  for (const float& trkWeight : vertex->trackWeights()) {
881  }
882 
883  }
884  } // end of if matched vertices
885 
887  if (vertex == bestRecoHSVtx_truth) {
888 
893 
896  for (const float& trkWeight : vertex->trackWeights()) {
898  fillHisto(m_vx_normalised_track_weight_HS_merged, trkWeight/number_tracks,weight);
899  }
900 
901 
902 
903  }
904  else {
907  fillHisto(m_vx_z_asym_weighted_merged, weighted_z_asym,weight);
909 
912  for (const float& trkWeight : vertex->trackWeights()) {
914  fillHisto(m_vx_normalised_track_weight_merged, trkWeight/number_tracks,weight);
915  }
916 
917  }
918  if (sumPt > minpt) {
923 
926  for (const float& trkWeight : vertex->trackWeights()) {
928  fillHisto(m_vx_normalised_track_weight_ALL_merged, trkWeight/number_tracks,weight);
929  }
930 
931  }
932  } //end of if merged vertices
933 
935  if (vertex == bestRecoHSVtx_truth) {
940 
943  for (const float& trkWeight : vertex->trackWeights()) {
945  fillHisto(m_vx_normalised_track_weight_HS_split, trkWeight/number_tracks,weight);
946  }
947 
948 
949  }
950  else {
953  fillHisto(m_vx_z_asym_weighted_split, weighted_z_asym,weight);
955 
958  for (const float& trkWeight : vertex->trackWeights()) {
960  fillHisto(m_vx_normalised_track_weight_split, trkWeight/number_tracks,weight);
961  }
962 
963 
964  }
965 
966  if (sumPt > minpt) {
971 
974  for (const float& trkWeight : vertex->trackWeights()) {
976  fillHisto(m_vx_normalised_track_weight_ALL_split, trkWeight/number_tracks,weight);
977  }
978  }
979 
980  } // end of if split vertices
981 
982 // Count the number of vertices for each type per event
983 
984 
986  if (vertex == bestRecoHSVtx_truth) {
987  number_matched_HS++;
988  }
989  else {
990  number_matched_PU++;
991  }
992  if (sumPt > minpt) {
993  number_matched++;
994  }
995  }
996 
998  if (vertex == bestRecoHSVtx_truth) {
999  number_merged_HS++;
1000  }
1001  else {
1002  number_merged_PU++;
1003  }
1004  if (sumPt > minpt) {
1005  number_merged++;
1006  }
1007  }
1008 
1010  if (vertex == bestRecoHSVtx_truth) {
1011  number_split_HS++;
1012  }
1013  else {
1014  number_split_PU++;
1015  }
1016  if (sumPt > minpt) {
1017  number_split++;
1018  }
1019  }
1020 
1021  else if (matchType == InDetVertexTruthMatchUtils::VertexMatchType::FAKE) {
1022  if (vertex == bestRecoHSVtx_truth) {
1023  number_fake_HS++;
1024  }
1025  else {
1026  number_fake_PU++;
1027  }
1028  if (sumPt > minpt) {
1029  number_fake++;
1030  }
1031  }
1032  } // end of if (ndf != 0)
1033 
1034 
1035 
1036 // New histos to check for number of tracks for each vertex type
1037  for (const auto& vertex : vertexContainer.stdcont()) {
1038  if (vertex == bestRecoHSVtx_truth) {
1039 
1040 
1042 
1043  fillHisto(m_vx_ntracks_HS_matched, vertex->nTrackParticles(),weight);
1044  }
1045 
1047  fillHisto(m_vx_ntracks_HS_merged, vertex->nTrackParticles(),weight);
1048 
1049  }
1050 
1052  fillHisto(m_vx_ntracks_HS_split, vertex->nTrackParticles(),weight);
1053  }
1054  }
1055  else {
1056 
1057 
1059 
1060  fillHisto(m_vx_ntracks_matched, vertex->nTrackParticles(),weight);
1061  }
1062 
1064  fillHisto(m_vx_ntracks_merged, vertex->nTrackParticles(),weight);
1065 
1066  }
1067 
1069  fillHisto(m_vx_ntracks_split, vertex->nTrackParticles(),weight);
1070  }
1071 
1072  }
1073  if (sumPt > minpt) {
1075 
1076  fillHisto(m_vx_ntracks_ALL_matched, vertex->nTrackParticles(),weight);
1077  }
1078 
1080  fillHisto(m_vx_ntracks_ALL_merged, vertex->nTrackParticles(),weight);
1081 
1082  }
1083 
1085  fillHisto(m_vx_ntracks_ALL_split, vertex->nTrackParticles(),weight);
1086  }
1087 
1088  }
1089 
1090  }
1091 
1092 // delta z between HS and nearby vertices
1093  float absd_hs_dz = std::abs(bestRecoHSVtx_truth->z() - vertex->z());
1094  if(bestRecoHSVtx_truth != vertex && absd_hs_dz < min_fabs_dz) {
1095  min_fabs_dz = absd_hs_dz;
1096  vx_hs_mindz = bestRecoHSVtx_truth->z() - vertex->z();
1097  }
1098 // loop over vertices again for dz of every vertices pair
1099  for (const auto& vertex2 : vertexContainer.stdcont()) {
1100  if (vertex2->vertexType() == xAOD::VxType::NoVtx) continue;
1101  if(vertex2 == vertex) continue;
1102  fillHisto(m_vx_all_dz, vertex->z() - vertex2->z(), 0.5*weight);
1103  }
1104 
1105  } // end loop over vertices
1106 
1107 // new histos to count number of vertices per event
1108  fillHisto(m_vx_nVertices_ALL_matched, number_matched,weight);
1109  fillHisto(m_vx_nVertices_ALL_merged, number_merged,weight);
1110  fillHisto(m_vx_nVertices_ALL_split, number_split,weight);
1112  fillHisto(m_vx_nVertices_HS_matched, number_matched_HS,weight);
1113  fillHisto(m_vx_nVertices_HS_merged, number_merged_HS,weight);
1114  fillHisto(m_vx_nVertices_HS_split, number_split_HS,weight);
1115  fillHisto(m_vx_nVertices_HS_fake, number_fake_HS,weight);
1116  fillHisto(m_vx_nVertices_matched, number_matched_PU,weight);
1117  fillHisto(m_vx_nVertices_merged, number_merged_PU,weight);
1118  fillHisto(m_vx_nVertices_split, number_split_PU,weight);
1119  fillHisto(m_vx_nVertices_fake, number_fake_PU,weight);
1120 
1121 // new histo to delta z between HS and the closest one
1122  fillHisto(m_vx_hs_mindz, vx_hs_mindz, weight);
1123 
1124  // Now fill plots relating to the reconstruction of our truth HS vertex (efficiency and resolutions)
1125  if (!truthHSVertices.empty()) {
1126  if (truthHSVtxRecoed) {
1127  float residual_z = truthHSVtx->z() - bestRecoHSVtx_truth->z();
1128  float residual_r = std::sqrt(std::pow(truthHSVtx->x() - bestRecoHSVtx_truth->x(), 2) + std::pow(truthHSVtx->y() - bestRecoHSVtx_truth->y(), 2));
1129  float residual_x = truthHSVtx->x() - bestRecoHSVtx_truth->x();
1130  float residual_y = truthHSVtx->y() - bestRecoHSVtx_truth->y();
1131  fillHisto(m_vx_hs_reco_eff, localPUDensity, 1, weight);
1132  fillHisto(m_vx_hs_reco_sel_eff, localPUDensity, (recoHardScatter == bestRecoHSVtx_truth), weight);
1133  fillHisto(m_vx_hs_reco_eff_vs_ntruth, nTruthVertices, 1, weight);
1134  fillHisto(m_vx_hs_reco_sel_eff_vs_ntruth, nTruthVertices, (recoHardScatter == bestRecoHSVtx_truth), weight);
1135  fillHisto(m_vx_hs_reco_long_reso, localPUDensity, getRecoLongitudinalReso(bestRecoHSVtx_truth), weight);
1136  fillHisto(m_vx_hs_reco_trans_reso, localPUDensity, getRecoTransverseReso(bestRecoHSVtx_truth), weight);
1137  fillHisto(m_vx_hs_truth_long_reso_vs_PU, localPUDensity, residual_z, weight);
1138  fillHisto(m_vx_hs_truth_trans_reso_vs_PU, localPUDensity, residual_r, weight);
1139 
1140  const AmgSymMatrix(3)& covariance = bestRecoHSVtx_truth->covariancePosition();
1141  float vtxerr_x = Amg::error(covariance, 0);
1142  float vtxerr_y = Amg::error(covariance, 1);
1143  float vtxerr_z = Amg::error(covariance, 2);
1144 
1145  if(fabs(vtxerr_z) > 1e-7) fillHisto(m_vx_hs_z_pull, residual_z/vtxerr_z, weight);
1146  if(fabs(vtxerr_y) > 1e-7) fillHisto(m_vx_hs_y_pull, residual_y/vtxerr_y, weight);
1147  if(fabs(vtxerr_x) > 1e-7) fillHisto(m_vx_hs_x_pull, residual_x/vtxerr_x, weight);
1148 
1149  fillHisto(m_vx_hs_truth_z_res_vs_PU, localPUDensity, residual_z, weight);
1150  fillHisto(m_vx_hs_truth_x_res_vs_PU, localPUDensity, residual_x, weight);
1151  fillHisto(m_vx_hs_truth_y_res_vs_PU, localPUDensity, residual_y, weight);
1152 
1153  fillHisto(m_vx_hs_z_res, residual_z, weight);
1154  fillHisto(m_vx_hs_y_res, residual_y, weight);
1155  fillHisto(m_vx_hs_x_res, residual_x, weight);
1156 
1157  fillHisto(m_vx_hs_truth_z_pull_vs_PU, localPUDensity, residual_z/vtxerr_z, weight);
1158  fillHisto(m_vx_hs_truth_x_pull_vs_PU, localPUDensity, residual_x/vtxerr_x, weight);
1159  fillHisto(m_vx_hs_truth_y_pull_vs_PU, localPUDensity, residual_y/vtxerr_y, weight);
1160 
1161  fillHisto(m_vx_hs_truth_z_res_vs_nTrk, bestRecoHSVtx_truth->nTrackParticles(), residual_z, weight);
1162  fillHisto(m_vx_hs_truth_x_res_vs_nTrk, bestRecoHSVtx_truth->nTrackParticles(), residual_x, weight);
1163  fillHisto(m_vx_hs_truth_y_res_vs_nTrk, bestRecoHSVtx_truth->nTrackParticles(), residual_y, weight);
1164 
1165  fillHisto(m_vx_hs_truth_z_pull_vs_nTrk, bestRecoHSVtx_truth->nTrackParticles(), residual_z/vtxerr_z, weight);
1166  fillHisto(m_vx_hs_truth_x_pull_vs_nTrk, bestRecoHSVtx_truth->nTrackParticles(), residual_x/vtxerr_x, weight);
1167  fillHisto(m_vx_hs_truth_y_pull_vs_nTrk, bestRecoHSVtx_truth->nTrackParticles(), residual_y/vtxerr_y, weight);
1168 
1169  }
1170  else {
1171  fillHisto(m_vx_hs_reco_eff, localPUDensity, 0, weight);
1172  fillHisto(m_vx_hs_reco_eff_vs_ntruth, nTruthVertices, 0, weight);
1173  }
1174  }
1175 
1181 
1182  // And by hardscatter type:
1185  switch (hsType) {
1187  fillHisto(m_vx_nReco_vs_nTruth_clean, nTruthVertices, nRecoVertices, weight);
1188  break;
1189  }
1191  fillHisto(m_vx_nReco_vs_nTruth_lowpu, nTruthVertices, nRecoVertices, weight);
1192  break;
1193  }
1195  fillHisto(m_vx_nReco_vs_nTruth_highpu, nTruthVertices, nRecoVertices, weight);
1196  break;
1197  }
1199  fillHisto(m_vx_nReco_vs_nTruth_hssplit, nTruthVertices, nRecoVertices, weight);
1200  break;
1201  }
1203  fillHisto(m_vx_nReco_vs_nTruth_none, nTruthVertices, nRecoVertices, weight);
1204  break;
1205  }
1206  default: {
1207  break;
1208  }
1209  } // End of switch
1210  } // end of EXpert plots - (if (m_detailLevel >= 200))
1211 
1212 } // end InDetPerfPlot_VertexTruthMatching::fill(const xAOD::VertexContainer& vertexContainer, const std::vector<const xAOD::TruthVertex*>& truthHSVertices, const std::vector<const xAOD::TruthVertex*>& truthPUVertices)

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

◆ fillResoHist()

void InDetPerfPlot_VertexTruthMatching::fillResoHist ( TH1 resoHist,
const TH2 resoHist2D 
)
staticprivate

Definition at line 461 of file InDetPerfPlot_VertexTruthMatching.cxx.

461  {
462 
463  TH1* projHist = nullptr;
464  int safety_counter;
465  TFitResultPtr fitResult;
466  double mean;
467  double rms;
468  double itr_rms = -1.;
469  double itr_rms_err;
470 
471  for (int i = 1; i < resoHist2D->GetNbinsX() + 1; i++) {
472 
473  projHist = resoHist2D->ProjectionY("projectionY", i, i);
474 
475  if (projHist->GetEntries() == 0.) {
476  resoHist->SetBinContent(i, 0.);
477  resoHist->SetBinError(i, 0.);
478  continue;
479  }
480 
481  safety_counter = 0;
482 
483  fitResult = projHist->Fit("gaus", "QS0");
484  if (!fitResult.Get()) {
485  // Is it necessary to also require fitResult->Status() % 1000 == 0 for a successful fit?
486  // --> fitStatus = migradResult + 10 * minosResult + 100 * hesseResult + 1000 * improveResult
487  resoHist->SetBinContent(i, 0.);
488  resoHist->SetBinError(i, 0.);
489  continue;
490  }
491  mean = fitResult->Parameter(1);
492  rms = fitResult->Parameter(2);
493 
494  while (true) {
495 
496  projHist->SetAxisRange(mean - 3 * rms, mean + 3 * rms, "X");
497 
498  fitResult = projHist->Fit("gaus", "QS0");
499  if (!fitResult.Get()) {
500  itr_rms = 0.;
501  itr_rms_err = 0.;
502  break;
503  }
504  itr_rms = fitResult->Parameter(2);
505  itr_rms_err = fitResult->ParError(2);
506 
507  if ((fabs(itr_rms - rms) < 0.0001) || (safety_counter == 5)) {
508  break;
509  }
510 
511  safety_counter++;
512  mean = fitResult->Parameter(1);
513  rms = itr_rms;
514 
515  }
516 
517  resoHist->SetBinContent(i, itr_rms);
518  resoHist->SetBinError(i, itr_rms_err);
519 
520  }
521 }

◆ 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_VertexTruthMatching::finalizePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 1214 of file InDetPerfPlot_VertexTruthMatching.cxx.

1214  {
1215 
1216  if (m_detailLevel >= 200) {
1217 
1220  }
1221 
1222 } // end InDetPerfPlot_VertexTruthMatching::finalizePlots()

◆ getDirectory()

std::string PlotBase::getDirectory ( )
inlineinherited

Definition at line 87 of file PlotBase.h.

87 {return m_sDirectory;}

◆ getHSRecoVertexSumPt2()

const xAOD::Vertex * InDetPerfPlot_VertexTruthMatching::getHSRecoVertexSumPt2 ( const xAOD::VertexContainer recoVertices)
staticprivate

Definition at line 392 of file InDetPerfPlot_VertexTruthMatching.cxx.

392  {
393  const xAOD::Vertex* recoHSVertex = nullptr;
394  float sumPtMax = -1.;
395  const xAOD::TrackParticle* trackTmp = nullptr;
396  float sumPtTmp;
397  for (const auto& vtx : recoVertices.stdcont()) {
398  if (vtx) {
399  sumPtTmp = 0.;
400  for (size_t i = 0; i < vtx->nTrackParticles(); i++) {
401  trackTmp = vtx->trackParticle(i);
402  if (trackTmp) {
403  sumPtTmp += std::pow(trackTmp->pt(), 2);
404  }
405  }
406  if (sumPtTmp > sumPtMax) {
407  sumPtMax = sumPtTmp;
408  recoHSVertex = vtx;
409  }
410  }
411  }
412  return recoHSVertex;
413 }

◆ getLocalPUDensity()

float InDetPerfPlot_VertexTruthMatching::getLocalPUDensity ( const xAOD::TruthVertex vtxOfInterest,
const std::vector< const xAOD::TruthVertex * > &  truthHSVertices,
const std::vector< const xAOD::TruthVertex * > &  truthPUVertices,
const float  radialWindow = 2.0 
) const
private

Definition at line 421 of file InDetPerfPlot_VertexTruthMatching.cxx.

421  {
422  float radialWindow2 = std::pow(radialWindow, 2);
423  int nTracksInWindow = 0;
424  float localPUDensity;
425  float radialDiff2;
426  for (const auto& vtx : truthHSVertices) {
427  if (vtx != vtxOfInterest) {
428  radialDiff2 = getRadialDiff2(vtxOfInterest, vtx);
429  if (radialDiff2 < radialWindow2) {
430  nTracksInWindow += 1;
431  }
432  }
433  }
434  for (const auto& vtx : truthPUVertices) {
435  if (vtx != vtxOfInterest) {
436  radialDiff2 = getRadialDiff2(vtxOfInterest, vtx);
437  if (radialDiff2 < radialWindow2) {
438  nTracksInWindow += 1;
439  }
440  }
441  }
442  localPUDensity = (float)(nTracksInWindow) / (2 * radialWindow);
443  return localPUDensity;
444 }

◆ getRadialDiff2()

template<typename U , typename V >
float InDetPerfPlot_VertexTruthMatching::getRadialDiff2 ( const U *  vtx1,
const V *  vtx2 
) const
private

Definition at line 417 of file InDetPerfPlot_VertexTruthMatching.cxx.

417  {
418  return (std::pow((vtx1->x() - vtx2->x()), 2) + std::pow((vtx1->y() - vtx2->y()), 2) + std::pow((vtx1->z() - vtx2->z()), 2));
419 }

◆ getRecoLongitudinalReso()

float InDetPerfPlot_VertexTruthMatching::getRecoLongitudinalReso ( const xAOD::Vertex recoVtx)
staticprivate

Definition at line 446 of file InDetPerfPlot_VertexTruthMatching.cxx.

446  {
447  return std::sqrt(recoVtx->covariancePosition()(2, 2));
448 }

◆ getRecoTransverseReso()

float InDetPerfPlot_VertexTruthMatching::getRecoTransverseReso ( const xAOD::Vertex recoVtx)
staticprivate

Definition at line 450 of file InDetPerfPlot_VertexTruthMatching.cxx.

450  {
451  float x = recoVtx->x();
452  float y = recoVtx->y();
453  float xErr2 = recoVtx->covariancePosition()(0, 0);
454  float yErr2 = recoVtx->covariancePosition()(1, 1);
455  float xyCov = recoVtx->covariancePosition()(0, 1);
456  float r2 = std::pow(x, 2) + std::pow(y, 2);
457  return std::sqrt(std::pow(x, 2) / r2 * xErr2 + std::pow(y, 2) / r2 * yErr2 + 2 * x * y / r2 * xyCov);
458 }

◆ getTruthVertex()

const xAOD::TruthVertex * InDetPerfPlot_VertexTruthMatching::getTruthVertex ( const xAOD::Vertex recoVtx) const
private

Definition at line 523 of file InDetPerfPlot_VertexTruthMatching.cxx.

523  {
524  const xAOD::TruthVertex* truthVtx = nullptr;
525  if (recoVtx) {
526  const static xAOD::Vertex::Decorator<std::vector<InDetVertexTruthMatchUtils::VertexTruthMatchInfo>> truthMatchingInfos("TruthEventMatchingInfos");
527  try{
528  if (!truthMatchingInfos.isAvailable(*recoVtx)){
529  ATH_MSG_WARNING("TruthEventMatchingInfos DECORATOR not available -- returning nullptr!");
530  return truthVtx;
531  }
532  const std::vector<InDetVertexTruthMatchUtils::VertexTruthMatchInfo>& truthInfos = truthMatchingInfos(*recoVtx);
533  if (!truthInfos.empty()) {
534  const InDetVertexTruthMatchUtils::VertexTruthMatchInfo& truthInfo = truthInfos.at(0);
535  const ElementLink<xAOD::TruthEventBaseContainer> truthEventLink = std::get<0>(truthInfo);
536  const xAOD::TruthEvent* truthEvent = nullptr;
537  if (truthEventLink.isValid()) {
538  truthEvent = static_cast<const xAOD::TruthEvent*>(*truthEventLink);
539  if (truthEvent) {
540  size_t i_vtx = 0;
541  size_t n_vtx = truthEvent->nTruthVertices();
542  while(!truthVtx && i_vtx<n_vtx){
543  truthVtx = truthEvent->truthVertex(i_vtx);
544  i_vtx++;
545  }
546  }
547  }
548  }
549  else {
550  ATH_MSG_WARNING("TruthEventMatchingInfos DECORATOR yields empty vector -- returning nullptr!");
551  }
552  }
553  catch (SG::ExcBadAuxVar &){
554  ATH_MSG_WARNING("TruthEventMatchingInfos DECORATOR yields empty vector -- returning nullptr!");
555  }
556  }
557  return truthVtx;
558 }

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

Reimplemented from PlotBase.

Definition at line 205 of file InDetPerfPlot_VertexTruthMatching.cxx.

205  {
206 
207  book(m_vx_type_truth,"vx_type_truth");
208  book(m_vx_z_diff,"vx_z_diff");
209  book(m_vx_z_diff_pull,"vx_z_diff_pull");
210  book(m_vx_time_diff,"vx_time_diff");
211  book(m_vx_time_diff_pull,"vx_time_diff_pull");
212  if (m_detailLevel >= 200) {
213  book(m_vx_hs_classification,"vx_hs_classification");
214  book(m_vx_nReco_vs_nTruth_inclusive,"vx_nReco_vs_nTruth_inclusive");
215  book(m_vx_nReco_vs_nTruth_matched,"vx_nReco_vs_nTruth_matched");
216  book(m_vx_nReco_vs_nTruth_merged,"vx_nReco_vs_nTruth_merged");
217  book(m_vx_nReco_vs_nTruth_split,"vx_nReco_vs_nTruth_split");
218  book(m_vx_nReco_vs_nTruth_fake,"vx_nReco_vs_nTruth_fake");
219  book(m_vx_nReco_vs_nTruth_dummy,"vx_nReco_vs_nTruth_dummy");
220  book(m_vx_nReco_vs_nTruth_clean,"vx_nReco_vs_nTruth_clean");
221  book(m_vx_nReco_vs_nTruth_lowpu,"vx_nReco_vs_nTruth_lowpu");
222  book(m_vx_nReco_vs_nTruth_highpu,"vx_nReco_vs_nTruth_highpu");
223  book(m_vx_nReco_vs_nTruth_hssplit,"vx_nReco_vs_nTruth_hssplit");
224  book(m_vx_nReco_vs_nTruth_none,"vx_nReco_vs_nTruth_none");
225  book(m_vx_hs_reco_eff,"vx_hs_reco_eff");
226  book(m_vx_hs_sel_eff,"vx_hs_sel_eff");
227  book(m_vx_hs_reco_sel_eff,"vx_hs_reco_sel_eff");
228  book(m_vx_hs_sel_eff_dist,"vx_hs_sel_eff_dist");
229  book(m_vx_hs_reco_eff_vs_ntruth,"vx_hs_reco_eff_vs_ntruth");
230  book(m_vx_hs_sel_eff_vs_ntruth,"vx_hs_sel_eff_vs_ntruth");
231  book(m_vx_hs_reco_sel_eff_vs_ntruth,"vx_hs_reco_sel_eff_vs_ntruth");
232  book(m_vx_hs_reco_long_reso,"vx_hs_reco_long_reso");
233  book(m_vx_hs_reco_trans_reso,"vx_hs_reco_trans_reso");
234  book(m_vx_hs_truth_long_reso,"vx_hs_truth_long_reso");
235  book(m_vx_hs_truth_trans_reso,"vx_hs_truth_trans_reso");
236  book(m_vx_hs_truth_long_reso_vs_PU,"vx_hs_truth_long_reso_vs_PU");
237  book(m_vx_hs_truth_trans_reso_vs_PU,"vx_hs_truth_trans_reso_vs_PU");
238 
239  book(m_vx_hs_z_pull,"vx_TYPE_z_pull","vx_hs_z_pull");
240  book(m_vx_hs_y_pull,"vx_TYPE_y_pull","vx_hs_y_pull");
241  book(m_vx_hs_x_pull,"vx_TYPE_x_pull","vx_hs_x_pull");
242 
243  book(m_vx_all_z_pull,"vx_TYPE_z_pull","vx_all_z_pull");
244  book(m_vx_all_y_pull,"vx_TYPE_y_pull","vx_all_y_pull");
245  book(m_vx_all_x_pull,"vx_TYPE_x_pull","vx_all_x_pull");
246 
247  book(m_vx_hs_z_res,"vx_TYPE_z_reso","vx_hs_z_res");
248  book(m_vx_hs_y_res,"vx_TYPE_y_reso","vx_hs_y_res");
249  book(m_vx_hs_x_res,"vx_TYPE_x_reso","vx_hs_x_res");
250  book(m_vx_all_z_res,"vx_TYPE_z_reso","vx_all_z_res");
251  book(m_vx_all_y_res,"vx_TYPE_y_reso","vx_all_y_res");
252  book(m_vx_all_x_res,"vx_TYPE_x_reso","vx_all_x_res");
253 
254  book(m_vx_all_truth_z_res_vs_PU, "vx_TYPE_truth_reso_z_vs_PU", "vx_all_truth_reso_z_vs_PU");
255  book(m_vx_all_truth_x_res_vs_PU, "vx_TYPE_truth_reso_x_vs_PU", "vx_all_truth_reso_x_vs_PU");
256  book(m_vx_all_truth_y_res_vs_PU, "vx_TYPE_truth_reso_y_vs_PU", "vx_all_truth_reso_y_vs_PU");
257  book(m_vx_all_truth_z_res_vs_nTrk, "vx_TYPE_truth_reso_z_vs_nTrk", "vx_all_truth_reso_z_vs_nTrk");
258  book(m_vx_all_truth_x_res_vs_nTrk, "vx_TYPE_truth_reso_x_vs_nTrk", "vx_all_truth_reso_x_vs_nTrk");
259  book(m_vx_all_truth_y_res_vs_nTrk, "vx_TYPE_truth_reso_y_vs_nTrk", "vx_all_truth_reso_y_vs_nTrk");
260 
261  book(m_vx_all_truth_z_pull_vs_PU, "vx_TYPE_truth_pull_z_vs_PU", "vx_all_truth_pull_z_vs_PU");
262  book(m_vx_all_truth_x_pull_vs_PU, "vx_TYPE_truth_pull_x_vs_PU", "vx_all_truth_pull_x_vs_PU");
263  book(m_vx_all_truth_y_pull_vs_PU, "vx_TYPE_truth_pull_y_vs_PU", "vx_all_truth_pull_y_vs_PU");
264  book(m_vx_all_truth_z_pull_vs_nTrk, "vx_TYPE_truth_pull_z_vs_nTrk", "vx_all_truth_pull_z_vs_nTrk");
265  book(m_vx_all_truth_x_pull_vs_nTrk, "vx_TYPE_truth_pull_x_vs_nTrk", "vx_all_truth_pull_x_vs_nTrk");
266  book(m_vx_all_truth_y_pull_vs_nTrk, "vx_TYPE_truth_pull_y_vs_nTrk", "vx_all_truth_pull_y_vs_nTrk");
267 
268  book(m_vx_hs_truth_z_res_vs_PU, "vx_TYPE_truth_reso_z_vs_PU", "vx_hs_truth_reso_z_vs_PU");
269  book(m_vx_hs_truth_x_res_vs_PU, "vx_TYPE_truth_reso_x_vs_PU", "vx_hs_truth_reso_x_vs_PU");
270  book(m_vx_hs_truth_y_res_vs_PU, "vx_TYPE_truth_reso_y_vs_PU", "vx_hs_truth_reso_y_vs_PU");
271  book(m_vx_hs_truth_z_res_vs_nTrk, "vx_TYPE_truth_reso_z_vs_nTrk", "vx_hs_truth_reso_z_vs_nTrk");
272  book(m_vx_hs_truth_x_res_vs_nTrk, "vx_TYPE_truth_reso_x_vs_nTrk", "vx_hs_truth_reso_x_vs_nTrk");
273  book(m_vx_hs_truth_y_res_vs_nTrk, "vx_TYPE_truth_reso_y_vs_nTrk", "vx_hs_truth_reso_y_vs_nTrk");
274 
275  book(m_vx_hs_truth_z_pull_vs_PU, "vx_TYPE_truth_pull_z_vs_PU", "vx_hs_truth_pull_z_vs_PU");
276  book(m_vx_hs_truth_x_pull_vs_PU, "vx_TYPE_truth_pull_x_vs_PU", "vx_hs_truth_pull_x_vs_PU");
277  book(m_vx_hs_truth_y_pull_vs_PU, "vx_TYPE_truth_pull_y_vs_PU", "vx_hs_truth_pull_y_vs_PU");
278  book(m_vx_hs_truth_z_pull_vs_nTrk, "vx_TYPE_truth_pull_z_vs_nTrk", "vx_hs_truth_pull_z_vs_nTrk");
279  book(m_vx_hs_truth_x_pull_vs_nTrk, "vx_TYPE_truth_pull_x_vs_nTrk", "vx_hs_truth_pull_x_vs_nTrk");
280  book(m_vx_hs_truth_y_pull_vs_nTrk, "vx_TYPE_truth_pull_y_vs_nTrk", "vx_hs_truth_pull_y_vs_nTrk");
281 
282  // book the new expert histos for vertex classifications
283  book(m_vx_ntracks_matched,"vx_ntracks_matched");
284  book(m_vx_ntracks_merged,"vx_ntracks_merged");
285  book(m_vx_ntracks_split,"vx_ntracks_split");
286  book(m_vx_ntracks_HS_matched,"vx_ntracks_HS_matched");
287  book(m_vx_ntracks_HS_merged,"vx_ntracks_HS_merged");
288  book(m_vx_ntracks_HS_split,"vx_ntracks_HS_split");
289  book(m_vx_ntracks_ALL_matched,"vx_ntracks_ALL_matched");
290  book(m_vx_ntracks_ALL_merged,"vx_ntracks_ALL_merged");
291  book(m_vx_ntracks_ALL_split,"vx_ntracks_ALL_split");
292  book(m_vx_sumpT_matched,"vx_sumpT_matched");
293  book(m_vx_sumpT_merged,"vx_sumpT_merged");
294  book(m_vx_sumpT_split,"vx_sumpT_split");
295  book(m_vx_sumpT_HS_matched,"vx_sumpT_HS_matched");
296  book(m_vx_sumpT_HS_merged,"vx_sumpT_HS_merged");
297  book(m_vx_sumpT_HS_split,"vx_sumpT_HS_split");
298  book(m_vx_sumpT_ALL_matched,"vx_sumpT_ALL_matched");
299  book(m_vx_sumpT_ALL_merged,"vx_sumpT_ALL_merged");
300  book(m_vx_sumpT_ALL_split,"vx_sumpT_ALL_split");
301 
302  book(m_vx_z_asym_matched,"vx_z_asym_matched");
303  book(m_vx_z_asym_merged,"vx_z_asym_merged");
304  book(m_vx_z_asym_split,"vx_z_asym_split");
305  book(m_vx_z_asym_HS_matched,"vx_z_asym_HS_matched");
306  book(m_vx_z_asym_HS_merged,"vx_z_asym_HS_merged");
307  book(m_vx_z_asym_HS_split,"vx_z_asym_HS_split");
308  book(m_vx_z_asym_ALL_matched,"vx_z_asym_ALL_matched");
309  book(m_vx_z_asym_ALL_merged,"vx_z_asym_ALL_merged");
310  book(m_vx_z_asym_ALL_split,"vx_z_asym_ALL_split");
311  book(m_vx_z_asym_weighted_matched,"vx_z_asym_weighted_matched");
312  book(m_vx_z_asym_weighted_merged,"vx_z_asym_weighted_merged");
313  book(m_vx_z_asym_weighted_split,"vx_z_asym_weighted_split");
314  book(m_vx_z_asym_weighted_HS_matched,"vx_z_asym_weighted_HS_matched");
315  book(m_vx_z_asym_weighted_HS_merged,"vx_z_asym_weighted_HS_merged");
316  book(m_vx_z_asym_weighted_HS_split,"vx_z_asym_weighted_HS_split");
317  book(m_vx_z_asym_weighted_ALL_matched,"vx_z_asym_weighted_ALL_matched");
318  book(m_vx_z_asym_weighted_ALL_merged,"vx_z_asym_weighted_ALL_merged");
319  book(m_vx_z_asym_weighted_ALL_split,"vx_z_asym_weighted_ALL_split");
320 
321  book(m_vx_track_weight_matched, "vx_track_weight_matched");
322  book(m_vx_track_weight_merged, "vx_track_weight_merged");
323  book(m_vx_track_weight_split, "vx_track_weight_split");
324  book(m_vx_track_weight_HS_matched, "vx_track_weight_HS_matched");
325  book(m_vx_track_weight_HS_merged, "vx_track_weight_HS_merged");
326  book(m_vx_track_weight_HS_split, "vx_track_weight_HS_split");
327  book(m_vx_track_weight_ALL_matched, "vx_track_weight_ALL_matched");
328  book(m_vx_track_weight_ALL_merged, "vx_track_weight_ALL_merged");
329  book(m_vx_track_weight_ALL_split, "vx_track_weight_ALL_split");
330 
331  book(m_vx_normalised_track_weight_matched, "vx_normalised_track_weight_matched");
332  book(m_vx_normalised_track_weight_merged, "vx_normalised_track_weight_merged");
333  book(m_vx_normalised_track_weight_split, "vx_normalised_track_weight_split");
334  book(m_vx_normalised_track_weight_HS_matched, "vx_normalised_track_weight_HS_matched");
335  book(m_vx_normalised_track_weight_HS_merged, "vx_normalised_track_weight_HS_merged");
336  book(m_vx_normalised_track_weight_HS_split, "vx_normalised_track_weight_HS_split");
337  book(m_vx_normalised_track_weight_ALL_matched, "vx_normalised_track_weight_ALL_matched");
338  book(m_vx_normalised_track_weight_ALL_merged, "vx_normalised_track_weight_ALL_merged");
339  book(m_vx_normalised_track_weight_ALL_split, "vx_normalised_track_weight_ALL_split");
340 
341  book(m_vx_chi2Over_ndf_matched,"vx_chi2Over_ndf_matched");
342  book(m_vx_chi2Over_ndf_merged,"vx_chi2Over_ndf_merged");
343  book(m_vx_chi2Over_ndf_split,"vx_chi2Over_ndf_split");
344  book(m_vx_chi2Over_ndf_HS_matched,"vx_chi2Over_ndf_HS_matched");
345  book(m_vx_chi2Over_ndf_HS_merged,"vx_chi2Over_ndf_HS_merged");
346  book(m_vx_chi2Over_ndf_HS_split,"vx_chi2Over_ndf_HS_split");
347  book(m_vx_chi2Over_ndf_ALL_matched,"vx_chi2Over_ndf_ALL_matched");
348  book(m_vx_chi2Over_ndf_ALL_merged,"vx_chi2Over_ndf_ALL_merged");
349  book(m_vx_chi2Over_ndf_ALL_split,"vx_chi2Over_ndf_ALL_split");
350 
351  book(m_vx_z0_skewness_matched, "vx_z0_skewness_matched");
352  book(m_vx_z0_skewness_merged, "vx_z0_skewness_merged");
353  book(m_vx_z0_skewness_split, "vx_z0_skewness_split");
354  book(m_vx_z0_skewness_HS_matched, "vx_z0_skewness_HS_matched");
355  book(m_vx_z0_skewness_HS_merged, "vx_z0_skewness_HS_merged");
356  book(m_vx_z0_skewness_HS_split, "vx_z0_skewness_HS_split");
357  book(m_vx_z0_skewness_ALL_matched, "vx_z0_skewness_ALL_matched");
358  book(m_vx_z0_skewness_ALL_merged, "vx_z0_skewness_ALL_merged");
359  book(m_vx_z0_skewness_ALL_split, "vx_z0_skewness_ALL_split");
360  book(m_vx_z0_kurtosis_matched,"vx_z0_kurtosis_matched");
361  book(m_vx_z0_kurtosis_merged,"vx_z0_kurtosis_merged");
362  book(m_vx_z0_kurtosis_split,"vx_z0_kurtosis_split");
363  book(m_vx_z0_kurtosis_HS_matched,"vx_z0_kurtosis_HS_matched");
364  book(m_vx_z0_kurtosis_HS_merged,"vx_z0_kurtosis_HS_merged");
365  book(m_vx_z0_kurtosis_HS_split,"vx_z0_kurtosis_HS_split");
366  book(m_vx_z0_kurtosis_ALL_matched,"vx_z0_kurtosis_ALL_matched");
367  book(m_vx_z0_kurtosis_ALL_merged,"vx_z0_kurtosis_ALL_merged");
368  book(m_vx_z0_kurtosis_ALL_split,"vx_z0_kurtosis_ALL_split");
369 
370 
371  book(m_vx_nVertices_matched,"vx_nVertices_matched");
372  book(m_vx_nVertices_merged,"vx_nVertices_merged");
373  book(m_vx_nVertices_split, "vx_nVertices_split");
374  book(m_vx_nVertices_fake, "vx_nVertices_fake");
375  book(m_vx_nVertices_HS_matched,"vx_nVertices_HS_matched");
376  book(m_vx_nVertices_HS_merged,"vx_nVertices_HS_merged");
377  book(m_vx_nVertices_HS_split,"vx_nVertices_HS_split");
378  book(m_vx_nVertices_HS_fake,"vx_nVertices_HS_fake");
379  book(m_vx_nVertices_ALL_matched,"vx_nVertices_ALL_matched");
380  book(m_vx_nVertices_ALL_merged,"vx_nVertices_ALL_merged");
381  book(m_vx_nVertices_ALL_split,"vx_nVertices_ALL_split");
382  book(m_vx_nVertices_ALL_fake,"vx_nVertices_ALL_fake");
383 
384  book(m_vx_hs_mindz,"vx_hs_mindz");
385  book(m_vx_all_dz,"vx_all_dz");
386 
387  book(m_vx_PUdensity,"vx_PUdensity");
388  book(m_vx_nTruth,"vx_nTruth");
389  }
390 
391 }

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

float InDetPerfPlot_VertexTruthMatching::m_cutMinTruthRecoRadialDiff = 0.1
private

Definition at line 48 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_detailLevel

int InDetPerfPlot_VertexTruthMatching::m_detailLevel
private

Definition at line 47 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_histoDefSvc

IHistogramDefinitionSvc* InDetPlotBase::m_histoDefSvc
privateinherited

Definition at line 86 of file InDetPlotBase.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 100 of file PlotBase.h.

◆ m_imsg

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

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_lvl

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

Current logging level.

Definition at line 138 of file AthMessaging.h.

◆ m_msg_tls

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

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

Definition at line 132 of file AthMessaging.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 99 of file PlotBase.h.

◆ m_vBookedEfficiencies

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

Definition at line 98 of file PlotBase.h.

◆ m_vBookedHistograms

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

Definition at line 96 of file PlotBase.h.

◆ m_vBookedTrees

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

Definition at line 97 of file PlotBase.h.

◆ m_vSubNodes

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

Definition at line 95 of file PlotBase.h.

◆ m_vx_all_dz

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_all_dz
private

Definition at line 244 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_x_pull_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_x_pull_vs_nTrk
private

Definition at line 121 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_x_pull_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_x_pull_vs_PU
private

Definition at line 114 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_x_res_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_x_res_vs_nTrk
private

Definition at line 118 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_x_res_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_x_res_vs_PU
private

Definition at line 111 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_y_pull_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_y_pull_vs_nTrk
private

Definition at line 122 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_y_pull_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_y_pull_vs_PU
private

Definition at line 115 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_y_res_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_y_res_vs_nTrk
private

Definition at line 119 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_y_res_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_y_res_vs_PU
private

Definition at line 112 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_z_pull_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_z_pull_vs_nTrk
private

Definition at line 120 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_z_pull_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_z_pull_vs_PU
private

Definition at line 113 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_z_res_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_z_res_vs_nTrk
private

Definition at line 117 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_truth_z_res_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_z_res_vs_PU
private

Definition at line 110 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_x_pull

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_all_x_pull
private

Definition at line 101 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_x_res

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_all_x_res
private

Definition at line 108 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_y_pull

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_all_y_pull
private

Definition at line 100 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_y_res

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_all_y_res
private

Definition at line 107 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_z_pull

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_all_z_pull
private

Definition at line 99 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_all_z_res

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_all_z_res
private

Definition at line 106 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_chi2Over_ndf_ALL_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_ALL_matched
private

Definition at line 219 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_chi2Over_ndf_ALL_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_ALL_merged
private

Definition at line 220 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_chi2Over_ndf_ALL_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_ALL_split
private

Definition at line 221 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_chi2Over_ndf_HS_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_HS_matched
private

Definition at line 184 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_chi2Over_ndf_HS_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_HS_merged
private

Definition at line 185 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_chi2Over_ndf_HS_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_HS_split
private

Definition at line 186 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_chi2Over_ndf_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_matched
private

Definition at line 181 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_chi2Over_ndf_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_merged
private

Definition at line 182 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_chi2Over_ndf_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_split
private

Definition at line 183 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_classification

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_hs_classification {}
private

hardscatter classification

Definition at line 59 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_mindz

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_hs_mindz
private

Definition at line 245 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_reco_eff

TEfficiency* InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_eff
private

Definition at line 73 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_reco_eff_vs_ntruth

TEfficiency* InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_eff_vs_ntruth
private

Definition at line 81 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_reco_long_reso

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_long_reso
private

Definition at line 87 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_reco_sel_eff

TEfficiency* InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_sel_eff
private

Definition at line 77 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_reco_sel_eff_vs_ntruth

TEfficiency* InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_sel_eff_vs_ntruth
private

Definition at line 85 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_reco_trans_reso

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_trans_reso
private

Definition at line 88 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_sel_eff

TEfficiency* InDetPerfPlot_VertexTruthMatching::m_vx_hs_sel_eff
private

Definition at line 75 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_sel_eff_dist

TEfficiency* InDetPerfPlot_VertexTruthMatching::m_vx_hs_sel_eff_dist
private

Definition at line 79 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_sel_eff_vs_ntruth

TEfficiency* InDetPerfPlot_VertexTruthMatching::m_vx_hs_sel_eff_vs_ntruth
private

Definition at line 83 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_long_reso

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_long_reso
private

Definition at line 93 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_long_reso_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_long_reso_vs_PU
private

Definition at line 90 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_trans_reso

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_trans_reso
private

Definition at line 94 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_trans_reso_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_trans_reso_vs_PU
private

Definition at line 91 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_x_pull_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_x_pull_vs_nTrk
private

Definition at line 135 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_x_pull_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_x_pull_vs_PU
private

Definition at line 128 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_x_res_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_x_res_vs_nTrk
private

Definition at line 132 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_x_res_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_x_res_vs_PU
private

Definition at line 125 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_y_pull_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_y_pull_vs_nTrk
private

Definition at line 136 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_y_pull_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_y_pull_vs_PU
private

Definition at line 129 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_y_res_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_y_res_vs_nTrk
private

Definition at line 133 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_y_res_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_y_res_vs_PU
private

Definition at line 126 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_z_pull_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_z_pull_vs_nTrk
private

Definition at line 134 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_z_pull_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_z_pull_vs_PU
private

Definition at line 127 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_z_res_vs_nTrk

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_z_res_vs_nTrk
private

Definition at line 131 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_truth_z_res_vs_PU

TH2* InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_z_res_vs_PU
private

Definition at line 124 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_x_pull

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_hs_x_pull
private

Definition at line 98 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_x_res

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_hs_x_res
private

Definition at line 105 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_y_pull

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_hs_y_pull
private

Definition at line 97 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_y_res

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_hs_y_res
private

Definition at line 104 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_z_pull

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_hs_z_pull
private

Definition at line 96 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_hs_z_res

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_hs_z_res
private

Definition at line 103 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_normalised_track_weight_ALL_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_ALL_matched
private

Definition at line 215 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_normalised_track_weight_ALL_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_ALL_merged
private

Definition at line 216 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_normalised_track_weight_ALL_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_ALL_split
private

Definition at line 217 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_normalised_track_weight_HS_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_HS_matched
private

Definition at line 177 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_normalised_track_weight_HS_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_HS_merged
private

Definition at line 178 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_normalised_track_weight_HS_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_HS_split
private

Definition at line 179 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_normalised_track_weight_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_matched
private

Definition at line 174 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_normalised_track_weight_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_merged
private

Definition at line 175 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_normalised_track_weight_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_split
private

Definition at line 176 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nReco_vs_nTruth_clean

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_clean
private

Definition at line 67 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nReco_vs_nTruth_dummy

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_dummy
private

Definition at line 66 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nReco_vs_nTruth_fake

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_fake
private

Definition at line 65 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nReco_vs_nTruth_highpu

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_highpu
private

Definition at line 69 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nReco_vs_nTruth_hssplit

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_hssplit
private

Definition at line 70 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nReco_vs_nTruth_inclusive

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_inclusive
private

vertex reco efficiency

Definition at line 61 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nReco_vs_nTruth_lowpu

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_lowpu
private

Definition at line 68 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nReco_vs_nTruth_matched

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_matched
private

Definition at line 62 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nReco_vs_nTruth_merged

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_merged
private

Definition at line 63 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nReco_vs_nTruth_none

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_none
private

Definition at line 71 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nReco_vs_nTruth_split

TProfile* InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_split
private

Definition at line 64 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_ntracks_ALL_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_ALL_matched
private

Definition at line 144 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_ntracks_ALL_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_ALL_merged
private

Definition at line 145 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_ntracks_ALL_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_ALL_split
private

Definition at line 146 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_ntracks_HS_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_HS_matched
private

Definition at line 141 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_ntracks_HS_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_HS_merged
private

Definition at line 142 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_ntracks_HS_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_HS_split
private

Definition at line 143 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_ntracks_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_matched
private

Definition at line 138 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_ntracks_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_merged
private

Definition at line 139 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_ntracks_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_split
private

Definition at line 140 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nTruth

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nTruth
private

Definition at line 248 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_ALL_fake

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_ALL_fake
private

Definition at line 233 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_ALL_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_ALL_matched
private

Definition at line 230 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_ALL_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_ALL_merged
private

Definition at line 231 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_ALL_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_ALL_split
private

Definition at line 232 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_fake

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_fake
private

Definition at line 241 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_HS_fake

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_HS_fake
private

Definition at line 237 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_HS_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_HS_matched
private

Definition at line 234 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_HS_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_HS_merged
private

Definition at line 235 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_HS_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_HS_split
private

Definition at line 236 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_matched
private

Definition at line 238 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_merged
private

Definition at line 239 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_nVertices_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_split
private

Definition at line 240 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_PUdensity

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_PUdensity
private

Definition at line 247 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_sumpT_ALL_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_ALL_matched
private

Definition at line 202 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_sumpT_ALL_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_ALL_merged
private

Definition at line 203 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_sumpT_ALL_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_ALL_split
private

Definition at line 204 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_sumpT_HS_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_HS_matched
private

Definition at line 150 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_sumpT_HS_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_HS_merged
private

Definition at line 151 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_sumpT_HS_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_HS_split
private

Definition at line 152 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_sumpT_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_matched
private

Definition at line 147 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_sumpT_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_merged
private

Definition at line 148 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_sumpT_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_split
private

Definition at line 149 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_time_diff

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_time_diff {}
private

vertex time

Definition at line 55 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_time_diff_pull

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_time_diff_pull {}
private

Definition at line 56 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_track_weight_ALL_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_ALL_matched
private

Definition at line 212 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_track_weight_ALL_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_ALL_merged
private

Definition at line 213 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_track_weight_ALL_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_ALL_split
private

Definition at line 214 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_track_weight_HS_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_HS_matched
private

Definition at line 170 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_track_weight_HS_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_HS_merged
private

Definition at line 171 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_track_weight_HS_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_HS_split
private

Definition at line 172 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_track_weight_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_matched
private

Definition at line 167 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_track_weight_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_merged
private

Definition at line 168 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_track_weight_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_split
private

Definition at line 169 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_type_truth

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_type_truth {}
private

truth type

Definition at line 50 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_kurtosis_ALL_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_ALL_matched
private

Definition at line 226 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_kurtosis_ALL_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_ALL_merged
private

Definition at line 227 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_kurtosis_ALL_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_ALL_split
private

Definition at line 228 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_kurtosis_HS_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_HS_matched
private

Definition at line 197 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_kurtosis_HS_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_HS_merged
private

Definition at line 198 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_kurtosis_HS_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_HS_split
private

Definition at line 199 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_kurtosis_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_matched
private

Definition at line 194 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_kurtosis_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_merged
private

Definition at line 195 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_kurtosis_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_split
private

Definition at line 196 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_skewness_ALL_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_ALL_matched
private

Definition at line 223 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_skewness_ALL_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_ALL_merged
private

Definition at line 224 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_skewness_ALL_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_ALL_split
private

Definition at line 225 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_skewness_HS_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_HS_matched
private

Definition at line 191 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_skewness_HS_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_HS_merged
private

Definition at line 192 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_skewness_HS_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_HS_split
private

Definition at line 193 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_skewness_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_matched
private

Definition at line 188 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_skewness_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_merged
private

Definition at line 189 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z0_skewness_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_split
private

Definition at line 190 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_ALL_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_ALL_matched
private

Definition at line 206 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_ALL_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_ALL_merged
private

Definition at line 207 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_ALL_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_ALL_split
private

Definition at line 208 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_HS_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_HS_matched
private

Definition at line 157 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_HS_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_HS_merged
private

Definition at line 158 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_HS_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_HS_split
private

Definition at line 159 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_matched
private

Definition at line 154 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_merged
private

Definition at line 155 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_split
private

Definition at line 156 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_weighted_ALL_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_ALL_matched
private

Definition at line 209 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_weighted_ALL_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_ALL_merged
private

Definition at line 210 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_weighted_ALL_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_ALL_split
private

Definition at line 211 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_weighted_HS_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_HS_matched
private

Definition at line 163 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_weighted_HS_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_HS_merged
private

Definition at line 164 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_weighted_HS_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_HS_split
private

Definition at line 165 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_weighted_matched

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_matched
private

Definition at line 160 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_weighted_merged

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_merged
private

Definition at line 161 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_asym_weighted_split

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_split
private

Definition at line 162 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_diff

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_diff {}
private

Definition at line 51 of file InDetPerfPlot_VertexTruthMatching.h.

◆ m_vx_z_diff_pull

TH1* InDetPerfPlot_VertexTruthMatching::m_vx_z_diff_pull {}
private

Definition at line 52 of file InDetPerfPlot_VertexTruthMatching.h.


The documentation for this class was generated from the following files:
InDetVertexTruthMatchUtils::DUMMY
@ DUMMY
Definition: InDetVertexTruthMatchUtils.h:25
InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_merged
TH1 * m_vx_chi2Over_ndf_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:182
InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_matched
TH1 * m_vx_z0_kurtosis_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:194
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
NONE
@ NONE
Definition: sTGCenumeration.h:13
covarianceTool.ndf
ndf
Definition: covarianceTool.py:678
InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_HS_split
TH1 * m_vx_chi2Over_ndf_HS_split
Definition: InDetPerfPlot_VertexTruthMatching.h:186
PlotBase::constructPrefix
static std::string constructPrefix(std::string dir, bool prependDir)
Definition: PlotBase.cxx:287
xAOD::TrackParticle_v1::pt
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Definition: TrackParticle_v1.cxx:73
SingleHistogramDefinition::nBinsX
unsigned int nBinsX
Definition: SingleHistogramDefinition.h:47
InDetVertexTruthMatchUtils::LOWPU
@ LOWPU
Definition: InDetVertexTruthMatchUtils.h:32
TH2::Fill
int Fill(double, double)
Definition: rootspy.cxx:382
InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_ALL_matched
TH1 * m_vx_track_weight_ALL_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:212
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
InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_HS_split
TH1 * m_vx_z0_skewness_HS_split
Definition: InDetPerfPlot_VertexTruthMatching.h:193
InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_split
TH1 * m_vx_z0_kurtosis_split
Definition: InDetPerfPlot_VertexTruthMatching.h:196
PlotBase::m_iDetailLevel
int m_iDetailLevel
Definition: PlotBase.h:100
InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_HS_merged
TH1 * m_vx_z0_kurtosis_HS_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:198
xAOD::Vertex_v1::x
float x() const
Returns the x position.
InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_HS_split
TH1 * m_vx_track_weight_HS_split
Definition: InDetPerfPlot_VertexTruthMatching.h:172
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_HS_merged
TH1 * m_vx_z_asym_weighted_HS_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:164
InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_HS_split
TH1 * m_vx_z0_kurtosis_HS_split
Definition: InDetPerfPlot_VertexTruthMatching.h:199
InDetPerfPlot_VertexTruthMatching::m_vx_hs_classification
TH1 * m_vx_hs_classification
hardscatter classification
Definition: InDetPerfPlot_VertexTruthMatching.h:59
PlotBase::m_vBookedHistograms
std::vector< HistData > m_vBookedHistograms
Definition: PlotBase.h:96
InDetPerfPlot_VertexTruthMatching::m_vx_all_y_pull
TH1 * m_vx_all_y_pull
Definition: InDetPerfPlot_VertexTruthMatching.h:100
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_z_res_vs_nTrk
TH2 * m_vx_hs_truth_z_res_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:131
PlotBase::Book1D
TH1F * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition: PlotBase.cxx:88
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
InDetPerfPlot_VertexTruthMatching::m_vx_all_x_pull
TH1 * m_vx_all_x_pull
Definition: InDetPerfPlot_VertexTruthMatching.h:101
InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_HS_matched
TH1 * m_vx_z0_skewness_HS_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:191
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_y_res_vs_nTrk
TH2 * m_vx_all_truth_y_res_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:119
mean
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
Definition: dependence.cxx:254
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_HS_merged
TH1 * m_vx_z_asym_HS_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:158
InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_matched
TProfile * m_vx_nReco_vs_nTruth_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:62
xAOD::Vertex_v1::nTrackParticles
size_t nTrackParticles() const
Get the number of tracks associated with this vertex.
Definition: Vertex_v1.cxx:270
InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_ALL_merged
TH1 * m_vx_z0_kurtosis_ALL_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:227
InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_matched
TH1 * m_vx_z0_skewness_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:188
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_z_res_vs_PU
TH2 * m_vx_all_truth_z_res_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:110
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_x_res_vs_nTrk
TH2 * m_vx_hs_truth_x_res_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:132
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
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_VertexTruthMatching::m_vx_hs_truth_y_pull_vs_nTrk
TH2 * m_vx_hs_truth_y_pull_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:136
InDetPerfPlot_VertexTruthMatching::getRadialDiff2
float getRadialDiff2(const U *vtx1, const V *vtx2) const
Definition: InDetPerfPlot_VertexTruthMatching.cxx:417
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
InDetPerfPlot_VertexTruthMatching::getLocalPUDensity
float getLocalPUDensity(const xAOD::TruthVertex *vtxOfInterest, const std::vector< const xAOD::TruthVertex * > &truthHSVertices, const std::vector< const xAOD::TruthVertex * > &truthPUVertices, const float radialWindow=2.0) const
Definition: InDetPerfPlot_VertexTruthMatching.cxx:421
InDetVertexTruthMatchUtils::bestHardScatterMatch
const xAOD::Vertex * bestHardScatterMatch(const xAOD::VertexContainer &vxContainer)
Definition: InDetVertexTruthMatchUtils.cxx:20
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:66
InDetPerfPlot_VertexTruthMatching::m_cutMinTruthRecoRadialDiff
float m_cutMinTruthRecoRadialDiff
Definition: InDetPerfPlot_VertexTruthMatching.h:48
InDetPerfPlot_VertexTruthMatching::m_vx_hs_x_pull
TH1 * m_vx_hs_x_pull
Definition: InDetPerfPlot_VertexTruthMatching.h:98
InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_ALL_matched
TH1 * m_vx_nVertices_ALL_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:230
TH2F
Definition: rootspy.cxx:420
InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_highpu
TProfile * m_vx_nReco_vs_nTruth_highpu
Definition: InDetPerfPlot_VertexTruthMatching.h:69
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_ALL_matched
TH1 * m_vx_z_asym_ALL_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:206
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_ALL_matched
TH1 * m_vx_ntracks_ALL_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:144
InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_matched
TH1 * m_vx_track_weight_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:167
plotmaker.hist
hist
Definition: plotmaker.py:148
InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_HS_matched
TH1 * m_vx_normalised_track_weight_HS_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:177
InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_clean
TProfile * m_vx_nReco_vs_nTruth_clean
Definition: InDetPerfPlot_VertexTruthMatching.h:67
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_split
TH1 * m_vx_z_asym_weighted_split
Definition: InDetPerfPlot_VertexTruthMatching.h:162
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_split
TH1 * m_vx_z_asym_split
Definition: InDetPerfPlot_VertexTruthMatching.h:156
InDetPerfPlot_VertexTruthMatching::m_vx_hs_y_res
TH1 * m_vx_hs_y_res
Definition: InDetPerfPlot_VertexTruthMatching.h:104
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
InDetPerfPlot_VertexTruthMatching::m_vx_all_dz
TH1 * m_vx_all_dz
Definition: InDetPerfPlot_VertexTruthMatching.h:244
PlotBase::initializePlots
virtual void initializePlots()
Definition: PlotBase.h:90
PlotBase::m_sDirectory
std::string m_sDirectory
Definition: PlotBase.h:99
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
PlotBase::m_vBookedEfficiencies
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition: PlotBase.h:98
tree
TChain * tree
Definition: tile_monitor.h:30
InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_merged
TH1 * m_vx_normalised_track_weight_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:175
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_ALL_split
TH1 * m_vx_z_asym_weighted_ALL_split
Definition: InDetPerfPlot_VertexTruthMatching.h:211
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
InDetVertexTruthMatchUtils::classifyHardScatter
HardScatterType classifyHardScatter(const xAOD::VertexContainer &vxContainer)
Definition: InDetVertexTruthMatchUtils.cxx:70
InDetPerfPlot_VertexTruthMatching::m_vx_z_diff
TH1 * m_vx_z_diff
Definition: InDetPerfPlot_VertexTruthMatching.h:51
TProfile2D
Definition: rootspy.cxx:531
InDetPerfPlot_VertexTruthMatching::m_vx_time_diff
TH1 * m_vx_time_diff
vertex time
Definition: InDetPerfPlot_VertexTruthMatching.h:55
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_x_pull_vs_PU
TH2 * m_vx_hs_truth_x_pull_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:128
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_z_pull_vs_PU
TH2 * m_vx_all_truth_z_pull_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:113
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_z_pull_vs_nTrk
TH2 * m_vx_hs_truth_z_pull_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:134
bin
Definition: BinsDiffFromStripMedian.h:43
xAOD::TrackParticle_v1::z0
float z0() const
Returns the parameter.
InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_eff
TEfficiency * m_vx_hs_reco_eff
Definition: InDetPerfPlot_VertexTruthMatching.h:73
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_VertexTruthMatching::m_vx_nVertices_HS_matched
TH1 * m_vx_nVertices_HS_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:234
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_x_res_vs_PU
TH2 * m_vx_hs_truth_x_res_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:125
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_y_pull_vs_nTrk
TH2 * m_vx_all_truth_y_pull_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:122
athena.value
value
Definition: athena.py:122
InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_HS_split
TH1 * m_vx_sumpT_HS_split
Definition: InDetPerfPlot_VertexTruthMatching.h:152
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_long_reso_vs_PU
TH2 * m_vx_hs_truth_long_reso_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:90
InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_matched
TH1 * m_vx_sumpT_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:147
InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_ALL_merged
TH1 * m_vx_ntracks_ALL_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:145
InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_ALL_matched
TH1 * m_vx_normalised_track_weight_ALL_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:215
InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_trans_reso
TProfile * m_vx_hs_reco_trans_reso
Definition: InDetPerfPlot_VertexTruthMatching.h:88
InDetPerfPlot_VertexTruthMatching::m_vx_nTruth
TH1 * m_vx_nTruth
Definition: InDetPerfPlot_VertexTruthMatching.h:248
InDetVertexTruthMatchUtils::MATCHED
@ MATCHED
Definition: InDetVertexTruthMatchUtils.h:21
InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_eff_vs_ntruth
TEfficiency * m_vx_hs_reco_eff_vs_ntruth
Definition: InDetPerfPlot_VertexTruthMatching.h:81
InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_split
TH1 * m_vx_chi2Over_ndf_split
Definition: InDetPerfPlot_VertexTruthMatching.h:183
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_long_reso
TH1 * m_vx_hs_truth_long_reso
Definition: InDetPerfPlot_VertexTruthMatching.h:93
InDetPerfPlot_VertexTruthMatching::m_vx_hs_sel_eff_vs_ntruth
TEfficiency * m_vx_hs_sel_eff_vs_ntruth
Definition: InDetPerfPlot_VertexTruthMatching.h:83
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_merged
TH1 * m_vx_z_asym_weighted_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:161
MCP::ScaleSmearParam::r2
@ r2
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
x
#define x
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
xAOD::VxType::NoVtx
@ NoVtx
Dummy vertex. TrackParticle was not used in vertex fit.
Definition: TrackingPrimitives.h:570
InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_merged
TH1 * m_vx_sumpT_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:148
AmgSymMatrix
#define AmgSymMatrix(dim)
Definition: EventPrimitives.h:52
InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_HS_matched
TH1 * m_vx_chi2Over_ndf_HS_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:184
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
xAOD::TruthVertex_v1::y
float y() const
Vertex y displacement.
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
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_x_pull_vs_nTrk
TH2 * m_vx_hs_truth_x_pull_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:135
xAOD::TruthVertex_v1::t
float t() const
Vertex time.
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_x_pull_vs_nTrk
TH2 * m_vx_all_truth_x_pull_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:121
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_y_res_vs_PU
TH2 * m_vx_hs_truth_y_res_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:126
InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_ALL_merged
TH1 * m_vx_track_weight_ALL_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:213
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_HS_merged
TH1 * m_vx_z0_skewness_HS_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:192
InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_split
TH1 * m_vx_z0_skewness_split
Definition: InDetPerfPlot_VertexTruthMatching.h:190
InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_merged
TH1 * m_vx_z0_skewness_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:189
InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_HS_fake
TH1 * m_vx_nVertices_HS_fake
Definition: InDetPerfPlot_VertexTruthMatching.h:237
InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_ALL_matched
TH1 * m_vx_z0_skewness_ALL_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:223
InDetPerfPlot_VertexTruthMatching::m_vx_all_x_res
TH1 * m_vx_all_x_res
Definition: InDetPerfPlot_VertexTruthMatching.h:108
InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_matched
TH1 * m_vx_normalised_track_weight_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:174
InDetVertexTruthMatchUtils::CLEAN
@ CLEAN
Definition: InDetVertexTruthMatchUtils.h:31
InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_dummy
TProfile * m_vx_nReco_vs_nTruth_dummy
Definition: InDetPerfPlot_VertexTruthMatching.h:66
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_ALL_merged
TH1 * m_vx_z_asym_ALL_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:207
InDetVertexTruthMatchUtils::HSSPLIT
@ HSSPLIT
Definition: InDetVertexTruthMatchUtils.h:34
SingleHistogramDefinition::xAxis
IHistogramDefinitionSvc::axesLimits_t xAxis
Definition: SingleHistogramDefinition.h:50
InDetPerfPlot_VertexTruthMatching::m_vx_hs_x_res
TH1 * m_vx_hs_x_res
Definition: InDetPerfPlot_VertexTruthMatching.h:105
InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_HS_matched
TH1 * m_vx_z0_kurtosis_HS_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:197
InDetPerfPlot_VertexTruthMatching::m_vx_hs_mindz
TH1 * m_vx_hs_mindz
Definition: InDetPerfPlot_VertexTruthMatching.h:245
beamspotnt.labels
list labels
Definition: bin/beamspotnt.py:1447
InDetPerfPlot_VertexTruthMatching::m_vx_type_truth
TH1 * m_vx_type_truth
truth type
Definition: InDetPerfPlot_VertexTruthMatching.h:50
PlotBase::m_vSubNodes
std::vector< PlotBase * > m_vSubNodes
Definition: PlotBase.h:95
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_trans_reso_vs_PU
TH2 * m_vx_hs_truth_trans_reso_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:91
InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_lowpu
TProfile * m_vx_nReco_vs_nTruth_lowpu
Definition: InDetPerfPlot_VertexTruthMatching.h:68
InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_ALL_split
TH1 * m_vx_nVertices_ALL_split
Definition: InDetPerfPlot_VertexTruthMatching.h:232
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_ALL_matched
TH1 * m_vx_z_asym_weighted_ALL_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:209
SG::ExcBadAuxVar
Exception — Attempt to retrieve nonexistent aux data item.
Definition: Control/AthContainers/AthContainers/exceptions.h:59
TH3::Fill
int Fill(double, double, double)
Definition: rootspy.cxx:453
SG::Decorator
Helper class to provide type-safe access to aux data.
Definition: Decorator.h:58
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_ALL_split
TH1 * m_vx_z0_kurtosis_ALL_split
Definition: InDetPerfPlot_VertexTruthMatching.h:228
InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_HS_merged
TH1 * m_vx_nVertices_HS_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:235
lumiFormat.i
int i
Definition: lumiFormat.py:92
InDetPerfPlot_VertexTruthMatching::m_detailLevel
int m_detailLevel
Definition: InDetPerfPlot_VertexTruthMatching.h:47
InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_HS_merged
TH1 * m_vx_normalised_track_weight_HS_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:178
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_matched
TH1 * m_vx_chi2Over_ndf_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:181
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_y_res_vs_PU
TH2 * m_vx_all_truth_y_res_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:112
InDetVertexTruthMatchUtils::HIGHPU
@ HIGHPU
Definition: InDetVertexTruthMatchUtils.h:33
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_HS_merged
TH1 * m_vx_track_weight_HS_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:171
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_inclusive
TProfile * m_vx_nReco_vs_nTruth_inclusive
vertex reco efficiency
Definition: InDetPerfPlot_VertexTruthMatching.h:61
ChangeHistoRange.binsY
list binsY
Definition: ChangeHistoRange.py:59
InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_ALL_matched
TH1 * m_vx_chi2Over_ndf_ALL_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:219
InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_matched
TH1 * m_vx_nVertices_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:238
InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_HS_split
TH1 * m_vx_normalised_track_weight_HS_split
Definition: InDetPerfPlot_VertexTruthMatching.h:179
InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_HS_merged
TH1 * m_vx_chi2Over_ndf_HS_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:185
InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_split
TH1 * m_vx_nVertices_split
Definition: InDetPerfPlot_VertexTruthMatching.h:240
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_ALL_merged
TH1 * m_vx_z_asym_weighted_ALL_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:210
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
plotting.yearwise_efficiency.yval
float yval
Definition: yearwise_efficiency.py:43
xAOD::TruthEvent_v1
Class describing a signal truth event in the MC record.
Definition: TruthEvent_v1.h:35
TProfile2D::Fill
int Fill(double, double, double)
Definition: rootspy.cxx:541
InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_HS_matched
TH1 * m_vx_track_weight_HS_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:170
InDetVertexTruthMatchUtils::VertexTruthMatchInfo
std::tuple< ElementLink< xAOD::TruthEventBaseContainer >, float, float > VertexTruthMatchInfo
Definition: InDetVertexTruthMatchUtils.h:17
InDetVertexTruthMatchUtils::VertexMatchType
VertexMatchType
Definition: InDetVertexTruthMatchUtils.h:20
InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_ALL_fake
TH1 * m_vx_nVertices_ALL_fake
Definition: InDetPerfPlot_VertexTruthMatching.h:233
InDetPerfPlot_VertexTruthMatching::fill
void fill(const xAOD::Vertex &vertex, const xAOD::TruthVertex *tvrt=0, float weight=1.0)
Definition: InDetPerfPlot_VertexTruthMatching.cxx:560
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_x_res_vs_nTrk
TH2 * m_vx_all_truth_x_res_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:118
InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_split
TH1 * m_vx_track_weight_split
Definition: InDetPerfPlot_VertexTruthMatching.h:169
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,...
xAOD::Vertex_v1::z
float z() const
Returns the z position.
WritePulseShapeToCool.xlo
xlo
Definition: WritePulseShapeToCool.py:133
InDetPerfPlot_VertexTruthMatching::m_vx_all_z_res
TH1 * m_vx_all_z_res
Definition: InDetPerfPlot_VertexTruthMatching.h:106
TH1::Fill
int Fill(double)
Definition: rootspy.cxx:285
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_HS_matched
TH1 * m_vx_z_asym_weighted_HS_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:163
plotting.yearwise_efficiency.xval
float xval
Definition: yearwise_efficiency.py:42
InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_long_reso
TProfile * m_vx_hs_reco_long_reso
Definition: InDetPerfPlot_VertexTruthMatching.h:87
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_ALL_split
TH1 * m_vx_z_asym_ALL_split
Definition: InDetPerfPlot_VertexTruthMatching.h:208
WritePulseShapeToCool.ylo
ylo
Definition: WritePulseShapeToCool.py:134
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_z_res_vs_PU
TH2 * m_vx_hs_truth_z_res_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:124
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_z_res_vs_nTrk
TH2 * m_vx_all_truth_z_res_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:117
InDetPlotBase::m_histoDefSvc
IHistogramDefinitionSvc * m_histoDefSvc
Definition: InDetPlotBase.h:86
InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_ALL_split
TH1 * m_vx_chi2Over_ndf_ALL_split
Definition: InDetPerfPlot_VertexTruthMatching.h:221
InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_ALL_split
TH1 * m_vx_ntracks_ALL_split
Definition: InDetPerfPlot_VertexTruthMatching.h:146
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_x_pull_vs_PU
TH2 * m_vx_all_truth_x_pull_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:114
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_x_res_vs_PU
TH2 * m_vx_all_truth_x_res_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:111
SingleHistogramDefinition
Almost-a-struct for holding the single histogram definition.
Definition: SingleHistogramDefinition.h:17
TauGNNUtils::Variables::Track::trackPt
bool trackPt(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:470
beamspotman.dir
string dir
Definition: beamspotman.py:623
InDetVertexTruthMatchUtils::MERGED
@ MERGED
Definition: InDetVertexTruthMatchUtils.h:22
InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_split
TH1 * m_vx_normalised_track_weight_split
Definition: InDetPerfPlot_VertexTruthMatching.h:176
InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_split
TH1 * m_vx_ntracks_split
Definition: InDetPerfPlot_VertexTruthMatching.h:140
xAOD::TruthVertex_v1
Class describing a truth vertex in the MC record.
Definition: TruthVertex_v1.h:41
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
InDetPerfPlot_VertexTruthMatching::m_vx_chi2Over_ndf_ALL_merged
TH1 * m_vx_chi2Over_ndf_ALL_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:220
InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_merged
TProfile * m_vx_nReco_vs_nTruth_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:63
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
pmontree.opt
opt
Definition: pmontree.py:16
Amg::error
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
Definition: EventPrimitivesHelpers.h:40
InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_sel_eff
TEfficiency * m_vx_hs_reco_sel_eff
Definition: InDetPerfPlot_VertexTruthMatching.h:77
InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_ALL_split
TH1 * m_vx_sumpT_ALL_split
Definition: InDetPerfPlot_VertexTruthMatching.h:204
TH3F
Definition: rootspy.cxx:495
InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_ALL_merged
TH1 * m_vx_z0_skewness_ALL_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:224
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_z_pull_vs_PU
TH2 * m_vx_hs_truth_z_pull_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:127
TProfile
Definition: rootspy.cxx:515
python.PhysicalConstants.c_light
float c_light
Definition: PhysicalConstants.py:63
internal_poltrig::SPLIT
@ SPLIT
Definition: PolygonTriangulator.cxx:112
InDetPlotBase::InDetPlotBase
InDetPlotBase(InDetPlotBase *pParent, const std::string &dirName)
Constructor taking parent node and directory name for plots.
Definition: InDetPlotBase.cxx:40
InDetPerfPlot_VertexTruthMatching::m_vx_z_diff_pull
TH1 * m_vx_z_diff_pull
Definition: InDetPerfPlot_VertexTruthMatching.h:52
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_trans_reso
TH1 * m_vx_hs_truth_trans_reso
Definition: InDetPerfPlot_VertexTruthMatching.h:94
InDetPerfPlot_VertexTruthMatching::m_vx_hs_sel_eff
TEfficiency * m_vx_hs_sel_eff
Definition: InDetPerfPlot_VertexTruthMatching.h:75
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_y_res_vs_nTrk
TH2 * m_vx_hs_truth_y_res_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:133
InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_split
TH1 * m_vx_sumpT_split
Definition: InDetPerfPlot_VertexTruthMatching.h:149
InDetVertexTruthMatchUtils::HardScatterType
HardScatterType
Definition: InDetVertexTruthMatchUtils.h:30
xAOD::TruthVertex_v1::x
float x() const
Vertex x displacement.
InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_HS_split
TH1 * m_vx_ntracks_HS_split
Definition: InDetPerfPlot_VertexTruthMatching.h:143
InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_HS_merged
TH1 * m_vx_sumpT_HS_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:151
InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_hssplit
TProfile * m_vx_nReco_vs_nTruth_hssplit
Definition: InDetPerfPlot_VertexTruthMatching.h:70
DataVector::stdcont
const PtrVector & stdcont() const
Return the underlying std::vector of the container.
xAOD::TruthEventBase_v1::nTruthVertices
size_t nTruthVertices() const
Get the number of truth vertices.
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_ALL_merged
TH1 * m_vx_nVertices_ALL_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:231
InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_matched
TH1 * m_vx_ntracks_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:138
InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_merged
TH1 * m_vx_ntracks_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:139
InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_ALL_merged
TH1 * m_vx_normalised_track_weight_ALL_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:216
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_split
TProfile * m_vx_nReco_vs_nTruth_split
Definition: InDetPerfPlot_VertexTruthMatching.h:64
y
#define y
TProfile::Fill
int Fill(double, double)
Definition: rootspy.cxx:523
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
TH1F
Definition: rootspy.cxx:320
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_HS_split
TH1 * m_vx_z_asym_weighted_HS_split
Definition: InDetPerfPlot_VertexTruthMatching.h:165
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_none
TProfile * m_vx_nReco_vs_nTruth_none
Definition: InDetPerfPlot_VertexTruthMatching.h:71
InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_ALL_matched
TH1 * m_vx_z0_kurtosis_ALL_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:226
xAOD::TruthVertex_v1::z
float z() const
Vertex longitudinal distance along the beam line form the origin.
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
xAOD::Vertex_v1::y
float y() const
Returns the y position.
InDetPerfPlot_VertexTruthMatching::m_vx_nReco_vs_nTruth_fake
TProfile * m_vx_nReco_vs_nTruth_fake
Definition: InDetPerfPlot_VertexTruthMatching.h:65
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_HS_matched
TH1 * m_vx_z_asym_HS_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:157
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
beamspotnt.rms
rms
Definition: bin/beamspotnt.py:1266
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_merged
TH1 * m_vx_z_asym_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:155
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_z_pull_vs_nTrk
TH2 * m_vx_all_truth_z_pull_vs_nTrk
Definition: InDetPerfPlot_VertexTruthMatching.h:120
SingleHistogramDefinition::name
std::string name
Definition: SingleHistogramDefinition.h:44
CaloCondBlobAlgs_fillNoiseFromASCII.folder
folder
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:56
SingleHistogramDefinition::yAxis
IHistogramDefinitionSvc::axesLimits_t yAxis
Definition: SingleHistogramDefinition.h:51
SingleHistogramDefinition::isValid
bool isValid() const
Is the histogram definition valid.
Definition: SingleHistogramDefinition.cxx:104
InDetPerfPlot_VertexTruthMatching::m_vx_all_y_res
TH1 * m_vx_all_y_res
Definition: InDetPerfPlot_VertexTruthMatching.h:107
InDetPerfPlot_VertexTruthMatching::m_vx_hs_z_pull
TH1 * m_vx_hs_z_pull
Definition: InDetPerfPlot_VertexTruthMatching.h:96
InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_fake
TH1 * m_vx_nVertices_fake
Definition: InDetPerfPlot_VertexTruthMatching.h:241
InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_HS_merged
TH1 * m_vx_ntracks_HS_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:142
InDetVertexTruthMatchUtils::FAKE
@ FAKE
Definition: InDetVertexTruthMatchUtils.h:24
InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_merged
TH1 * m_vx_track_weight_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:168
ChangeHistoRange.binsX
list binsX
Definition: ChangeHistoRange.py:56
InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_merged
TH1 * m_vx_nVertices_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:239
InDetPerfPlot_VertexTruthMatching::m_vx_nVertices_HS_split
TH1 * m_vx_nVertices_HS_split
Definition: InDetPerfPlot_VertexTruthMatching.h:236
InDetPerfPlot_VertexTruthMatching::m_vx_hs_reco_sel_eff_vs_ntruth
TEfficiency * m_vx_hs_reco_sel_eff_vs_ntruth
Definition: InDetPerfPlot_VertexTruthMatching.h:85
SingleHistogramDefinition::allTitles
std::string allTitles
Definition: SingleHistogramDefinition.h:56
InDetPerfPlot_VertexTruthMatching::m_vx_hs_z_res
TH1 * m_vx_hs_z_res
Definition: InDetPerfPlot_VertexTruthMatching.h:103
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_HS_split
TH1 * m_vx_z_asym_HS_split
Definition: InDetPerfPlot_VertexTruthMatching.h:159
InDetPerfPlot_VertexTruthMatching::m_vx_hs_y_pull
TH1 * m_vx_hs_y_pull
Definition: InDetPerfPlot_VertexTruthMatching.h:97
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
InDetPerfPlot_VertexTruthMatching::m_vx_hs_sel_eff_dist
TEfficiency * m_vx_hs_sel_eff_dist
Definition: InDetPerfPlot_VertexTruthMatching.h:79
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
InDetPerfPlot_VertexTruthMatching::m_vx_track_weight_ALL_split
TH1 * m_vx_track_weight_ALL_split
Definition: InDetPerfPlot_VertexTruthMatching.h:214
InDetPerfPlot_VertexTruthMatching::m_vx_hs_truth_y_pull_vs_PU
TH2 * m_vx_hs_truth_y_pull_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:129
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
InDetPerfPlot_VertexTruthMatching::m_vx_all_truth_y_pull_vs_PU
TH2 * m_vx_all_truth_y_pull_vs_PU
Definition: InDetPerfPlot_VertexTruthMatching.h:115
InDetPerfPlot_VertexTruthMatching::getRecoLongitudinalReso
static float getRecoLongitudinalReso(const xAOD::Vertex *recoVtx)
Definition: InDetPerfPlot_VertexTruthMatching.cxx:446
makeComparison.deltaZ
int deltaZ
Definition: makeComparison.py:46
InDetPerfPlot_VertexTruthMatching::m_vx_all_z_pull
TH1 * m_vx_all_z_pull
Definition: InDetPerfPlot_VertexTruthMatching.h:99
AthMessaging::m_msg_tls
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
Definition: AthMessaging.h:132
InDetPlotBase::fillHisto
static void fillHisto(TProfile *pTprofile, const float bin, const float weight, const float weight2=1.0)
Definition: InDetPlotBase.cxx:85
InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_ALL_merged
TH1 * m_vx_sumpT_ALL_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:203
InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_ALL_matched
TH1 * m_vx_sumpT_ALL_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:202
InDetPerfPlot_VertexTruthMatching::getRecoTransverseReso
static float getRecoTransverseReso(const xAOD::Vertex *recoVtx)
Definition: InDetPerfPlot_VertexTruthMatching.cxx:450
InDetPerfPlot_VertexTruthMatching::m_vx_PUdensity
TH1 * m_vx_PUdensity
Definition: InDetPerfPlot_VertexTruthMatching.h:247
InDetPerfPlot_VertexTruthMatching::m_vx_z0_kurtosis_merged
TH1 * m_vx_z0_kurtosis_merged
Definition: InDetPerfPlot_VertexTruthMatching.h:195
InDetPerfPlot_VertexTruthMatching::m_vx_z0_skewness_ALL_split
TH1 * m_vx_z0_skewness_ALL_split
Definition: InDetPerfPlot_VertexTruthMatching.h:225
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
PlotBase::finalizePlots
virtual void finalizePlots()
Definition: PlotBase.h:91
xAOD::TruthEventBase_v1::truthVertex
const TruthVertex * truthVertex(size_t index) const
Get a pointer to one of the truth vertices.
Definition: TruthEventBase_v1.cxx:112
PlotBase::m_vBookedTrees
std::vector< TreeData > m_vBookedTrees
Definition: PlotBase.h:97
readCCLHist.float
float
Definition: readCCLHist.py:83
InDetPerfPlot_VertexTruthMatching::m_vx_normalised_track_weight_ALL_split
TH1 * m_vx_normalised_track_weight_ALL_split
Definition: InDetPerfPlot_VertexTruthMatching.h:217
InDetPerfPlot_VertexTruthMatching::m_vx_time_diff_pull
TH1 * m_vx_time_diff_pull
Definition: InDetPerfPlot_VertexTruthMatching.h:56
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_matched
TH1 * m_vx_z_asym_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:154
InDetPerfPlot_VertexTruthMatching::m_vx_z_asym_weighted_matched
TH1 * m_vx_z_asym_weighted_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:160
SingleHistogramDefinition::nBinsY
unsigned int nBinsY
Definition: SingleHistogramDefinition.h:48
InDetPerfPlot_VertexTruthMatching::fillResoHist
static void fillResoHist(TH1 *resoHist, const TH2 *resoHist2D)
Definition: InDetPerfPlot_VertexTruthMatching.cxx:461
InDetPerfPlot_VertexTruthMatching::m_vx_ntracks_HS_matched
TH1 * m_vx_ntracks_HS_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:141
InDetPerfPlot_VertexTruthMatching::getTruthVertex
const xAOD::TruthVertex * getTruthVertex(const xAOD::Vertex *recoVtx) const
Definition: InDetPerfPlot_VertexTruthMatching.cxx:523
InDetPerfPlot_VertexTruthMatching::m_vx_sumpT_HS_matched
TH1 * m_vx_sumpT_HS_matched
Definition: InDetPerfPlot_VertexTruthMatching.h:150