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

#include <ClusterMomentPlots.h>

Inheritance diagram for PFO::ClusterMomentPlots:
Collaboration diagram for PFO::ClusterMomentPlots:

Public Member Functions

 ClusterMomentPlots (PlotBase *pParent, std::string sDir, SG::ReadHandleKey< xAOD::CaloClusterContainer > &sClusterContainerName)
 
void fill (const xAOD::CaloCluster &cluster, const xAOD::EventInfo &eventInfo)
 
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 ()
 

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 ()
 
virtual void finalizePlots ()
 

Static Private Member Functions

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

Private Attributes

TH1m_LATERAL
 
TH1m_LONGITUDINAL
 
TH1m_SECOND_R
 
TH1m_CENTER_LAMBDA
 
TH1m_FIRST_ENG_DENS
 
TH1m_ENG_FRAC_MAX
 
TH1m_ISOLATION
 
TH1m_ENG_BAD_CELLS
 
TH1m_N_BAD_CELLS
 
TH1m_BADLARQ_FRAC
 
TH1m_ENG_POS
 
TH1m_SIGNIFICANCE
 
TH1m_AVG_LAR_Q
 
TH1m_AVG_TILE_Q
 
TH1m_CELL_SIG_SAMPLING
 
TH1m_ENG_BAD_HV_CELLS
 
TH1m_N_BAD_HV_CELLS
 
TH1m_EM_PROBABILITY
 
SG::ReadHandleKey< xAOD::CaloClusterContainerm_sClusterContainerName
 

Detailed Description

Definition at line 15 of file ClusterMomentPlots.h.

Constructor & Destructor Documentation

◆ ClusterMomentPlots()

PFO::ClusterMomentPlots::ClusterMomentPlots ( PlotBase pParent,
std::string  sDir,
SG::ReadHandleKey< xAOD::CaloClusterContainer > &  sClusterContainerName 
)

Definition at line 9 of file ClusterMomentPlots.cxx.

9  : PlotBase(pParent, sDir), m_sClusterContainerName(sClusterContainerName){
10  m_LATERAL = nullptr;
11  m_LONGITUDINAL = nullptr;
12  m_SECOND_R = nullptr;
13  m_CENTER_LAMBDA = nullptr;
14  m_FIRST_ENG_DENS = nullptr;
15  m_ENG_FRAC_MAX = nullptr;
16  m_ISOLATION = nullptr;
17  m_ENG_BAD_CELLS = nullptr;
18  m_N_BAD_CELLS = nullptr;
19  m_BADLARQ_FRAC = nullptr;
20  m_ENG_POS = nullptr;
21  m_SIGNIFICANCE = nullptr;
22  m_AVG_LAR_Q = nullptr;
23  m_AVG_TILE_Q = nullptr;
24  m_CELL_SIG_SAMPLING = nullptr;
25  m_ENG_BAD_HV_CELLS = nullptr;
26  m_N_BAD_HV_CELLS = nullptr;
27  m_EM_PROBABILITY = nullptr;
28 
29 }

Member Function Documentation

◆ Book1D() [1/2]

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

Book a TH1D histogram.

Definition at line 88 of file PlotBase.cxx.

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

◆ Book1D() [2/2]

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

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

Definition at line 102 of file PlotBase.cxx.

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

◆ Book2D() [1/3]

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

Book a TH2D histogram with variable x axis binning.

Definition at line 138 of file PlotBase.cxx.

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

◆ Book2D() [2/3]

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

Book a TH2D histogram.

Definition at line 117 of file PlotBase.cxx.

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

◆ Book2D() [3/3]

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

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

Definition at line 132 of file PlotBase.cxx.

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

◆ Book3D() [1/2]

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

Book a TH3D histogram.

Definition at line 151 of file PlotBase.cxx.

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

◆ Book3D() [2/2]

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

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

Definition at line 165 of file PlotBase.cxx.

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

◆ BookTEfficiency() [1/2]

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

Book a (1-D) TEfficiency histogram.

Definition at line 251 of file PlotBase.cxx.

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

◆ BookTEfficiency() [2/2]

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

Book a (2-D) TEfficiency histogram.

Definition at line 264 of file PlotBase.cxx.

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

◆ BookTProfile() [1/2]

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

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

Definition at line 198 of file PlotBase.cxx.

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

◆ BookTProfile() [2/2]

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

Book a TProfile histogram.

Definition at line 180 of file PlotBase.cxx.

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

◆ BookTProfile2D() [1/2]

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

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

Definition at line 225 of file PlotBase.cxx.

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

◆ BookTProfile2D() [2/2]

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

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

Definition at line 239 of file PlotBase.cxx.

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

◆ BookTProfileRangeY()

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

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

Definition at line 211 of file PlotBase.cxx.

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

◆ BookTree()

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

Book a TTree.

Definition at line 275 of file PlotBase.cxx.

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

◆ constructPrefix()

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

Definition at line 287 of file PlotBase.cxx.

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

◆ fill()

void PFO::ClusterMomentPlots::fill ( const xAOD::CaloCluster cluster,
const xAOD::EventInfo eventInfo 
)

Definition at line 54 of file ClusterMomentPlots.cxx.

54  {
55 
56  double moment_LATERAL = 0.0;
57  bool gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::LATERAL,moment_LATERAL);
58  if (true == gotMoment) m_LATERAL->Fill(moment_LATERAL,eventInfo.beamSpotWeight());
59  else m_LATERAL->Fill(-1.0,eventInfo.beamSpotWeight());
60 
61  double moment_LONGITUDINAL = 0.0;
62  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::LONGITUDINAL,moment_LONGITUDINAL);
63  if (true == gotMoment) m_LONGITUDINAL->Fill(moment_LONGITUDINAL,eventInfo.beamSpotWeight());
64  else m_LONGITUDINAL->Fill(-1.0,eventInfo.beamSpotWeight());
65 
66  double moment_SECOND_R = 0.0;
67  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::SECOND_R,moment_SECOND_R);
68  if (true == gotMoment) m_SECOND_R->Fill(moment_SECOND_R,eventInfo.beamSpotWeight());
69  else m_SECOND_R->Fill(-1.0,eventInfo.beamSpotWeight());
70 
71  double moment_CENTER_LAMBDA = 0.0;
72  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::CENTER_LAMBDA,moment_CENTER_LAMBDA);
73  if (true == gotMoment) m_CENTER_LAMBDA->Fill(moment_CENTER_LAMBDA,eventInfo.beamSpotWeight());
74  else m_CENTER_LAMBDA->Fill(-1.0,eventInfo.beamSpotWeight());
75 
76  double moment_FIRST_ENG_DENS = 0.0;
77  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::FIRST_ENG_DENS,moment_FIRST_ENG_DENS);
78  if (true == gotMoment) m_FIRST_ENG_DENS->Fill(moment_FIRST_ENG_DENS,eventInfo.beamSpotWeight());
79  else m_FIRST_ENG_DENS->Fill(-1.0,eventInfo.beamSpotWeight());
80 
81  double moment_ENG_FRAC_MAX = 0.0;
82  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::ENG_FRAC_MAX,moment_ENG_FRAC_MAX);
83  if (true == gotMoment) m_ENG_FRAC_MAX->Fill(moment_ENG_FRAC_MAX,eventInfo.beamSpotWeight());
84  else m_ENG_FRAC_MAX->Fill(-1.0,eventInfo.beamSpotWeight());
85 
86  double moment_ISOLATION = 0.0;
87  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::ISOLATION,moment_ISOLATION);
88  if (true == gotMoment) m_ISOLATION->Fill(moment_ISOLATION,eventInfo.beamSpotWeight());
89  else m_ISOLATION->Fill(-1.0,eventInfo.beamSpotWeight());
90 
91  double moment_ENG_BAD_CELLS = 0.0;
92  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::ENG_BAD_CELLS,moment_ENG_BAD_CELLS);
93  if (true == gotMoment) m_ENG_BAD_CELLS->Fill(moment_ENG_BAD_CELLS,eventInfo.beamSpotWeight());
94  else m_ENG_BAD_CELLS->Fill(-1.0,eventInfo.beamSpotWeight());
95 
96  double moment_N_BAD_CELLS = 0.0;
97  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::N_BAD_CELLS,moment_N_BAD_CELLS);
98  if (true == gotMoment) m_N_BAD_CELLS->Fill(moment_N_BAD_CELLS,eventInfo.beamSpotWeight());
99  else m_N_BAD_CELLS->Fill(-1.0,eventInfo.beamSpotWeight());
100 
101  double moment_BADLARQ_FRAC = 0.0;
102  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::BADLARQ_FRAC,moment_BADLARQ_FRAC);
103  if (true == gotMoment) m_BADLARQ_FRAC->Fill(moment_BADLARQ_FRAC,eventInfo.beamSpotWeight());
104  else m_BADLARQ_FRAC->Fill(-1.0,eventInfo.beamSpotWeight());
105 
106  double moment_ENG_POS = 0.0;
107  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::ENG_POS,moment_ENG_POS);
108  if (true == gotMoment) m_ENG_POS->Fill(moment_ENG_POS,eventInfo.beamSpotWeight());
109  else m_ENG_POS->Fill(-1.0,eventInfo.beamSpotWeight());
110 
111  double moment_SIGNIFICANCE = 0.0;
112  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::SIGNIFICANCE,moment_SIGNIFICANCE);
113  if (true == gotMoment) m_SIGNIFICANCE->Fill(moment_SIGNIFICANCE,eventInfo.beamSpotWeight());
114  else m_SIGNIFICANCE->Fill(-1.0,eventInfo.beamSpotWeight());
115 
116  double moment_AVG_LAR_Q = 0.0;
117  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::AVG_LAR_Q,moment_AVG_LAR_Q);
118  if (true == gotMoment) m_AVG_LAR_Q->Fill(moment_AVG_LAR_Q,eventInfo.beamSpotWeight());
119  else m_AVG_LAR_Q->Fill(-1.0,eventInfo.beamSpotWeight());
120 
121  double moment_AVG_TILE_Q = 0.0;
122  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::AVG_TILE_Q,moment_AVG_TILE_Q);
123  if (true == gotMoment) m_AVG_TILE_Q->Fill(moment_AVG_TILE_Q,eventInfo.beamSpotWeight());
124  else m_AVG_TILE_Q->Fill(-1.0,eventInfo.beamSpotWeight());
125 
126  double moment_CELL_SIG_SAMPLING = 0;
127  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::CELL_SIG_SAMPLING,moment_CELL_SIG_SAMPLING);
128  if (true == gotMoment) m_CELL_SIG_SAMPLING->Fill(moment_CELL_SIG_SAMPLING,eventInfo.beamSpotWeight());
129  else m_CELL_SIG_SAMPLING->Fill(-1.0,eventInfo.beamSpotWeight());
130 
131  double moment_ENG_BAD_HV_CELLS = 0.0;
132  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::ENG_BAD_HV_CELLS,moment_ENG_BAD_HV_CELLS);
133  if (true == gotMoment) m_ENG_BAD_HV_CELLS->Fill(moment_ENG_BAD_HV_CELLS,eventInfo.beamSpotWeight());
134  else m_ENG_BAD_HV_CELLS->Fill(-1.0,eventInfo.beamSpotWeight());
135 
136  double moment_N_BAD_HV_CELLS = 0.0;
137  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::N_BAD_HV_CELLS,moment_N_BAD_HV_CELLS);
138  if (true == gotMoment) m_N_BAD_HV_CELLS->Fill(moment_N_BAD_HV_CELLS,eventInfo.beamSpotWeight());
139  else m_N_BAD_HV_CELLS->Fill(-1.0,eventInfo.beamSpotWeight());
140 
141  double moment_EM_PROBABILITY = 0.0;
142  gotMoment = cluster.retrieveMoment(xAOD::CaloCluster::EM_PROBABILITY,moment_EM_PROBABILITY);
143  if (true == gotMoment) m_EM_PROBABILITY->Fill(moment_EM_PROBABILITY,eventInfo.beamSpotWeight());
144  else m_EM_PROBABILITY->Fill(-1.0,eventInfo.beamSpotWeight());
145 
146  }

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 41 of file PlotBase.cxx.

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

◆ finalizePlots()

virtual void PlotBase::finalizePlots ( )
inlineprivatevirtualinherited

◆ getDirectory()

std::string PlotBase::getDirectory ( )
inlineinherited

Definition at line 87 of file PlotBase.h.

87 {return m_sDirectory;}

◆ initialize()

void PlotBase::initialize ( )
inherited

Definition at line 33 of file PlotBase.cxx.

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

◆ initializePlots()

void PFO::ClusterMomentPlots::initializePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 31 of file ClusterMomentPlots.cxx.

31  {
32 
33  m_LATERAL = Book1D("PFO_LATERAL",m_sClusterContainerName.key() + "_LATERAL",60,-1.0,2.0);
34  m_LONGITUDINAL = Book1D("PFO_LONGITUDINAL",m_sClusterContainerName.key() + "_LONGITUDINAL",60,-1.0,2.0);
35  m_SECOND_R = Book1D("PFO_SECOND_R",m_sClusterContainerName.key() + "_SECOND_R",60,-1.0,50.0);
36  m_CENTER_LAMBDA = Book1D("PFO_CENTER_LAMBDA",m_sClusterContainerName.key() + "_CENTER_LAMBDA",60,-1.0,3000.0);
37  m_FIRST_ENG_DENS = Book1D("PFO_FIRST_ENG_DENS",m_sClusterContainerName.key() + "_FIRST_ENG_DENS",60,-1.0,2.0);
38  m_ENG_FRAC_MAX = Book1D("PFO_ENG_FRAC_MAX",m_sClusterContainerName.key() + "_ENG_FRAC_MAX",60,-1.0,2.0);
39  m_ISOLATION = Book1D("PFO_ISOLATION",m_sClusterContainerName.key() + "_ISOLATION",60,-1.0,2.0);
40  m_ENG_BAD_CELLS = Book1D("PFO_ENG_BAD_CELLS",m_sClusterContainerName.key() + "_ENG_BAD_CELLS",120,-1.0,100.0);
41  m_N_BAD_CELLS = Book1D("PFO_N_BAD_CELLS",m_sClusterContainerName.key() + "_N_BAD_CELLS",120,-1.0,20.0);
42  m_BADLARQ_FRAC = Book1D("PFO_BADLARQ_FRAC",m_sClusterContainerName.key() + "_BADLARQ_FRAC",140,-3.0,5.0);
43  m_ENG_POS = Book1D("PFO_ENG_POS",m_sClusterContainerName.key() + "_ENG_POS",60,-100.0,10000.0);
44  m_SIGNIFICANCE = Book1D("PFO_SIGNIFICANCE",m_sClusterContainerName.key() + "_SIGNIFICANCE",300,-20.0,20.0);
45  m_AVG_LAR_Q = Book1D("PFO_AVG_LAR_Q",m_sClusterContainerName.key() + "_AVG_LAR_Q",240,-1.0,200.0);
46  m_AVG_TILE_Q = Book1D("PFO_AVG_TILE_Q",m_sClusterContainerName.key() + "_AVG_TILE_Q",240,-1.0,200.0);
47  m_CELL_SIG_SAMPLING = Book1D("PFO_CELL_SIG_SAMPLING",m_sClusterContainerName.key() + "_CELL_SIG_SAMPLING",31,-1.0,30);
48  m_ENG_BAD_HV_CELLS = Book1D("PFO_ENG_BAD_HV_CELLS",m_sClusterContainerName.key() + "_ENG_BAD_HV_CELLS",500,-5000.0,20000.0);
49  m_N_BAD_HV_CELLS = Book1D("PFO_N_BAD_HV_CELLS",m_sClusterContainerName.key() + "_N_BAD_HV_CELLS",50,-1.0,100.0);
50  m_EM_PROBABILITY = Book1D("PFO_EM_PROBABILITY",m_sClusterContainerName.key() + "_EM_PROBABILITY",50,-0.05,1.05);
51 
52  }

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

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

Member Data Documentation

◆ m_AVG_LAR_Q

TH1* PFO::ClusterMomentPlots::m_AVG_LAR_Q
private

Definition at line 37 of file ClusterMomentPlots.h.

◆ m_AVG_TILE_Q

TH1* PFO::ClusterMomentPlots::m_AVG_TILE_Q
private

Definition at line 38 of file ClusterMomentPlots.h.

◆ m_BADLARQ_FRAC

TH1* PFO::ClusterMomentPlots::m_BADLARQ_FRAC
private

Definition at line 34 of file ClusterMomentPlots.h.

◆ m_CELL_SIG_SAMPLING

TH1* PFO::ClusterMomentPlots::m_CELL_SIG_SAMPLING
private

Definition at line 39 of file ClusterMomentPlots.h.

◆ m_CENTER_LAMBDA

TH1* PFO::ClusterMomentPlots::m_CENTER_LAMBDA
private

Definition at line 28 of file ClusterMomentPlots.h.

◆ m_EM_PROBABILITY

TH1* PFO::ClusterMomentPlots::m_EM_PROBABILITY
private

Definition at line 42 of file ClusterMomentPlots.h.

◆ m_ENG_BAD_CELLS

TH1* PFO::ClusterMomentPlots::m_ENG_BAD_CELLS
private

Definition at line 32 of file ClusterMomentPlots.h.

◆ m_ENG_BAD_HV_CELLS

TH1* PFO::ClusterMomentPlots::m_ENG_BAD_HV_CELLS
private

Definition at line 40 of file ClusterMomentPlots.h.

◆ m_ENG_FRAC_MAX

TH1* PFO::ClusterMomentPlots::m_ENG_FRAC_MAX
private

Definition at line 30 of file ClusterMomentPlots.h.

◆ m_ENG_POS

TH1* PFO::ClusterMomentPlots::m_ENG_POS
private

Definition at line 35 of file ClusterMomentPlots.h.

◆ m_FIRST_ENG_DENS

TH1* PFO::ClusterMomentPlots::m_FIRST_ENG_DENS
private

Definition at line 29 of file ClusterMomentPlots.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 100 of file PlotBase.h.

◆ m_ISOLATION

TH1* PFO::ClusterMomentPlots::m_ISOLATION
private

Definition at line 31 of file ClusterMomentPlots.h.

◆ m_LATERAL

TH1* PFO::ClusterMomentPlots::m_LATERAL
private

Definition at line 25 of file ClusterMomentPlots.h.

◆ m_LONGITUDINAL

TH1* PFO::ClusterMomentPlots::m_LONGITUDINAL
private

Definition at line 26 of file ClusterMomentPlots.h.

◆ m_N_BAD_CELLS

TH1* PFO::ClusterMomentPlots::m_N_BAD_CELLS
private

Definition at line 33 of file ClusterMomentPlots.h.

◆ m_N_BAD_HV_CELLS

TH1* PFO::ClusterMomentPlots::m_N_BAD_HV_CELLS
private

Definition at line 41 of file ClusterMomentPlots.h.

◆ m_sClusterContainerName

SG::ReadHandleKey<xAOD::CaloClusterContainer> PFO::ClusterMomentPlots::m_sClusterContainerName
private

Definition at line 45 of file ClusterMomentPlots.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 99 of file PlotBase.h.

◆ m_SECOND_R

TH1* PFO::ClusterMomentPlots::m_SECOND_R
private

Definition at line 27 of file ClusterMomentPlots.h.

◆ m_SIGNIFICANCE

TH1* PFO::ClusterMomentPlots::m_SIGNIFICANCE
private

Definition at line 36 of file ClusterMomentPlots.h.

◆ m_vBookedEfficiencies

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

Definition at line 98 of file PlotBase.h.

◆ m_vBookedHistograms

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

Definition at line 96 of file PlotBase.h.

◆ m_vBookedTrees

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

Definition at line 97 of file PlotBase.h.

◆ m_vSubNodes

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

Definition at line 95 of file PlotBase.h.


The documentation for this class was generated from the following files:
xAOD::CaloCluster_v1::SECOND_R
@ SECOND_R
Second Moment in .
Definition: CaloCluster_v1.h:123
PlotBase::constructPrefix
static std::string constructPrefix(std::string dir, bool prependDir)
Definition: PlotBase.cxx:287
WritePulseShapeToCool.yhi
yhi
Definition: WritePulseShapeToCool.py:153
replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition: hcg.cxx:307
PlotBase::m_iDetailLevel
int m_iDetailLevel
Definition: PlotBase.h:100
PlotBase::m_vBookedHistograms
std::vector< HistData > m_vBookedHistograms
Definition: PlotBase.h:96
PlotBase::Book1D
TH1F * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition: PlotBase.cxx:88
xAOD::CaloCluster_v1::EM_PROBABILITY
@ EM_PROBABILITY
Classification probability to be em-like.
Definition: CaloCluster_v1.h:173
PFO::ClusterMomentPlots::m_LATERAL
TH1 * m_LATERAL
Definition: ClusterMomentPlots.h:25
PFO::ClusterMomentPlots::m_N_BAD_CELLS
TH1 * m_N_BAD_CELLS
Definition: ClusterMomentPlots.h:33
xAOD::CaloCluster_v1::ENG_BAD_HV_CELLS
@ ENG_BAD_HV_CELLS
Total em-scale energy of cells with bad HV in this cluster.
Definition: CaloCluster_v1.h:167
TH2F
Definition: rootspy.cxx:420
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
plotmaker.hist
hist
Definition: plotmaker.py:148
xAOD::CaloCluster_v1::AVG_LAR_Q
@ AVG_LAR_Q
Sum(E_cell_LAr^2 Q_cell_LAr)/Sum(E_cell_LAr^2)
Definition: CaloCluster_v1.h:163
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
PlotBase::initializePlots
virtual void initializePlots()
Definition: PlotBase.h:90
PlotBase::m_sDirectory
std::string m_sDirectory
Definition: PlotBase.h:99
PlotBase::m_vBookedEfficiencies
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition: PlotBase.h:98
tree
TChain * tree
Definition: tile_monitor.h:30
PFO::ClusterMomentPlots::m_CENTER_LAMBDA
TH1 * m_CENTER_LAMBDA
Definition: ClusterMomentPlots.h:28
TProfile2D
Definition: rootspy.cxx:531
PFO::ClusterMomentPlots::m_CELL_SIG_SAMPLING
TH1 * m_CELL_SIG_SAMPLING
Definition: ClusterMomentPlots.h:39
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
xAOD::CaloCluster_v1::CENTER_LAMBDA
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.
Definition: CaloCluster_v1.h:136
PFO::ClusterMomentPlots::m_ENG_POS
TH1 * m_ENG_POS
Definition: ClusterMomentPlots.h:35
PFO::ClusterMomentPlots::m_BADLARQ_FRAC
TH1 * m_BADLARQ_FRAC
Definition: ClusterMomentPlots.h:34
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
xAOD::CaloCluster_v1::ENG_FRAC_MAX
@ ENG_FRAC_MAX
Energy fraction of hottest cell.
Definition: CaloCluster_v1.h:140
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
PFO::ClusterMomentPlots::m_ENG_FRAC_MAX
TH1 * m_ENG_FRAC_MAX
Definition: ClusterMomentPlots.h:30
PlotBase::PlotBase
PlotBase(PlotBase *parent, const std::string &sDir)
Definition: PlotBase.cxx:23
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
PFO::ClusterMomentPlots::m_AVG_TILE_Q
TH1 * m_AVG_TILE_Q
Definition: ClusterMomentPlots.h:38
PFO::ClusterMomentPlots::m_SECOND_R
TH1 * m_SECOND_R
Definition: ClusterMomentPlots.h:27
PFO::ClusterMomentPlots::m_EM_PROBABILITY
TH1 * m_EM_PROBABILITY
Definition: ClusterMomentPlots.h:42
beamspotnt.labels
list labels
Definition: bin/beamspotnt.py:1447
PlotBase::m_vSubNodes
std::vector< PlotBase * > m_vSubNodes
Definition: PlotBase.h:95
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
PFO::ClusterMomentPlots::m_ENG_BAD_HV_CELLS
TH1 * m_ENG_BAD_HV_CELLS
Definition: ClusterMomentPlots.h:40
PFO::ClusterMomentPlots::m_LONGITUDINAL
TH1 * m_LONGITUDINAL
Definition: ClusterMomentPlots.h:26
xAOD::CaloCluster_v1::CELL_SIG_SAMPLING
@ CELL_SIG_SAMPLING
CaloSample of the cell with the largest |E|/sig.
Definition: CaloCluster_v1.h:161
ChangeHistoRange.binsY
list binsY
Definition: ChangeHistoRange.py:59
PFO::ClusterMomentPlots::m_ENG_BAD_CELLS
TH1 * m_ENG_BAD_CELLS
Definition: ClusterMomentPlots.h:32
xAOD::CaloCluster_v1::ISOLATION
@ ISOLATION
Energy weighted fraction of non-clustered perimeter cells.
Definition: CaloCluster_v1.h:146
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
xAOD::CaloCluster_v1::retrieveMoment
bool retrieveMoment(MomentType type, double &value) const
Retrieve individual moment.
Definition: CaloCluster_v1.cxx:738
PFO::ClusterMomentPlots::m_AVG_LAR_Q
TH1 * m_AVG_LAR_Q
Definition: ClusterMomentPlots.h:37
PFO::ClusterMomentPlots::m_N_BAD_HV_CELLS
TH1 * m_N_BAD_HV_CELLS
Definition: ClusterMomentPlots.h:41
WritePulseShapeToCool.xlo
xlo
Definition: WritePulseShapeToCool.py:133
xAOD::CaloCluster_v1::FIRST_ENG_DENS
@ FIRST_ENG_DENS
First Moment in E/V.
Definition: CaloCluster_v1.h:143
TH1::Fill
int Fill(double)
Definition: rootspy.cxx:285
WritePulseShapeToCool.ylo
ylo
Definition: WritePulseShapeToCool.py:134
xAOD::CaloCluster_v1::ENG_BAD_CELLS
@ ENG_BAD_CELLS
Total em-scale energy of bad cells in this cluster.
Definition: CaloCluster_v1.h:148
beamspotman.dir
string dir
Definition: beamspotman.py:623
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
pmontree.opt
opt
Definition: pmontree.py:16
TH3F
Definition: rootspy.cxx:495
TProfile
Definition: rootspy.cxx:515
xAOD::CaloCluster_v1::AVG_TILE_Q
@ AVG_TILE_Q
Sum(E_cell_Tile^2 Q_cell_Tile)/Sum(E_cell_Tile^2)
Definition: CaloCluster_v1.h:165
TH1F
Definition: rootspy.cxx:320
xAOD::CaloCluster_v1::SIGNIFICANCE
@ SIGNIFICANCE
Cluster significance.
Definition: CaloCluster_v1.h:157
xAOD::CaloCluster_v1::N_BAD_HV_CELLS
@ N_BAD_HV_CELLS
number of cells with bad HV
Definition: CaloCluster_v1.h:168
PFO::ClusterMomentPlots::m_SIGNIFICANCE
TH1 * m_SIGNIFICANCE
Definition: ClusterMomentPlots.h:36
PFO::ClusterMomentPlots::m_ISOLATION
TH1 * m_ISOLATION
Definition: ClusterMomentPlots.h:31
PFO::ClusterMomentPlots::m_FIRST_ENG_DENS
TH1 * m_FIRST_ENG_DENS
Definition: ClusterMomentPlots.h:29
xAOD::CaloCluster_v1::LATERAL
@ LATERAL
Normalized lateral moment.
Definition: CaloCluster_v1.h:137
ChangeHistoRange.binsX
list binsX
Definition: ChangeHistoRange.py:56
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
xAOD::CaloCluster_v1::LONGITUDINAL
@ LONGITUDINAL
Normalized longitudinal moment.
Definition: CaloCluster_v1.h:138
xAOD::CaloCluster_v1::N_BAD_CELLS
@ N_BAD_CELLS
number of bad cells
Definition: CaloCluster_v1.h:149
PlotBase::finalizePlots
virtual void finalizePlots()
Definition: PlotBase.h:91
xAOD::EventInfo_v1::beamSpotWeight
float beamSpotWeight() const
Weight for beam spot size reweighting.
Definition: EventInfo_v1.cxx:970
PlotBase::m_vBookedTrees
std::vector< TreeData > m_vBookedTrees
Definition: PlotBase.h:97
xAOD::CaloCluster_v1::ENG_POS
@ ENG_POS
Total positive Energy of this cluster.
Definition: CaloCluster_v1.h:156
PFO::ClusterMomentPlots::m_sClusterContainerName
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_sClusterContainerName
Definition: ClusterMomentPlots.h:45
xAOD::CaloCluster_v1::BADLARQ_FRAC
@ BADLARQ_FRAC
Energy fraction of LAr cells with quality larger than a given cut.
Definition: CaloCluster_v1.h:155