CMS 3D CMS Logo

Phase1PixelMaps.h
Go to the documentation of this file.
1 #ifndef CONDCORE_SIPIXELPLUGINS_PHASE1PIXELMAPS_H
2 #define CONDCORE_SIPIXELPLUGINS_PHASE1PIXELMAPS_H
3 
4 #include "TH2Poly.h"
5 #include "TGraph.h"
6 #include "TH1.h"
7 #include "TH2.h"
8 #include "TStyle.h"
9 #include "TCanvas.h"
10 
11 #include <fstream>
12 #include <boost/tokenizer.hpp>
13 #include <boost/range/adaptor/indexed.hpp>
14 
17 
18 #define MYOUT LogDebug("Phase1PixelMaps")
19 
20 using indexedCorners = std::map<unsigned int, std::pair<std::vector<float>, std::vector<float>>>;
21 
22 /*--------------------------------------------------------------------
23 / Ancillary class to build pixel phase-1 tracker maps
24 /--------------------------------------------------------------------*/
26 public:
27  Phase1PixelMaps(const char* option)
28  : m_option{option},
30  edm::FileInPath("Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml").fullPath())} {
31  // set the rescale to true by default
32  m_autorescale = true;
33 
34  // store the file in path for the corners (BPIX)
35  for (unsigned int i = 1; i <= 4; i++) {
36  m_cornersBPIX.push_back(edm::FileInPath(Form("DQM/SiStripMonitorClient/data/Geometry/vertices_barrel_%i", i)));
37  }
38 
39  // store the file in path for the corners (BPIX)
40  for (int j : {-3, -2, -1, 1, 2, 3}) {
41  m_cornersFPIX.push_back(edm::FileInPath(Form("DQM/SiStripMonitorClient/data/Geometry/vertices_forward_%i", j)));
42  }
43  }
44 
46 
47  // set of no rescale
48  void setNoRescale() { m_autorescale = false; }
49 
50  /*--------------------------------------------------------------------*/
51  const indexedCorners retrieveCorners(const std::vector<edm::FileInPath>& cornerFiles, const unsigned int reads)
52  /*--------------------------------------------------------------------*/
53  {
54  indexedCorners theOutMap;
55 
56  for (const auto& file : cornerFiles) {
57  auto cornerFileName = file.fullPath();
58  std::ifstream cornerFile(cornerFileName.c_str());
59  if (!cornerFile.good()) {
60  throw cms::Exception("FileError") << "Problem opening corner file: " << cornerFileName;
61  }
63  while (std::getline(cornerFile, line)) {
64  if (!line.empty()) {
65  std::istringstream iss(line);
66  unsigned int id;
68  std::vector<std::string> corners(reads, "");
69  std::vector<float> xP, yP;
70 
71  iss >> id >> name;
72  for (unsigned int i = 0; i < reads; ++i) {
73  iss >> corners.at(i);
74  }
75 
76  MYOUT << id << " : ";
77  for (unsigned int i = 0; i < reads; i++) {
78  // remove the leading and trailing " signs in the corners list
79  (corners[i]).erase(std::remove(corners[i].begin(), corners[i].end(), '"'), corners[i].end());
80  MYOUT << corners.at(i) << " ";
81  typedef boost::tokenizer<boost::char_separator<char>> tokenizer;
82  boost::char_separator<char> sep{","};
83  tokenizer tok{corners.at(i), sep};
84  for (const auto& t : tok | boost::adaptors::indexed(0)) {
85  if (t.index() == 0) {
86  xP.push_back(atof((t.value()).c_str()));
87  } else if (t.index() == 1) {
88  yP.push_back(atof((t.value()).c_str()));
89  } else {
90  edm::LogError("LogicError") << "There should not be any token with index " << t.index() << std::endl;
91  }
92  }
93  }
94  MYOUT << std::endl;
95 
96  xP.push_back(xP.front());
97  yP.push_back(yP.front());
98 
99  for (unsigned int i = 0; i < xP.size(); i++) {
100  MYOUT << "x[" << i << "]=" << xP[i] << " y[" << i << "]" << yP[i] << std::endl;
101  }
102 
103  theOutMap[id] = std::make_pair(xP, yP);
104 
105  } // if line is empty
106  } // loop on lines
107  } // loop on files
108  return theOutMap;
109  }
110 
111  /*--------------------------------------------------------------------*/
113  /*--------------------------------------------------------------------*/
114  {
115  hist->SetStats(kFALSE);
116  hist->SetLineWidth(2);
117  hist->GetXaxis()->CenterTitle(true);
118  hist->GetYaxis()->CenterTitle(true);
119  hist->GetXaxis()->SetTitleFont(42);
120  hist->GetYaxis()->SetTitleFont(42);
121  hist->GetXaxis()->SetTitleSize(0.05);
122  hist->GetYaxis()->SetTitleSize(0.05);
123  hist->GetXaxis()->SetTitleOffset(1.1);
124  hist->GetYaxis()->SetTitleOffset(1.3);
125  hist->GetXaxis()->SetLabelFont(42);
126  hist->GetYaxis()->SetLabelFont(42);
127  hist->GetYaxis()->SetLabelSize(.05);
128  hist->GetXaxis()->SetLabelSize(.05);
129 
130  if (hist->InheritsFrom(TH2::Class())) {
131  hist->GetZaxis()->SetLabelFont(42);
132  hist->GetZaxis()->SetLabelFont(42);
133  hist->GetZaxis()->SetLabelSize(.05);
134  hist->GetZaxis()->SetLabelSize(.05);
135  }
136  }
137 
138  /*--------------------------------------------------------------------*/
139  void adjustCanvasMargins(TVirtualPad* pad, float top, float bottom, float left, float right)
140  /*--------------------------------------------------------------------*/
141  {
142  if (top > 0)
143  pad->SetTopMargin(top);
144  if (bottom > 0)
145  pad->SetBottomMargin(bottom);
146  if (left > 0)
147  pad->SetLeftMargin(left);
148  if (right > 0)
149  pad->SetRightMargin(right);
150  }
151 
152  //============================================================================
153  void bookBarrelHistograms(const std::string& currentHistoName, const char* what, const char* zaxis) {
154  std::string histName;
155  std::shared_ptr<TH2Poly> th2p;
156 
157  for (unsigned i = 0; i < 4; ++i) {
158  histName = "barrel_layer_";
159 
160  th2p = std::make_shared<TH2Poly>((histName + std::to_string(i + 1)).c_str(),
161  Form("PXBMap of %s - Layer %i", what, i + 1),
162  -15.0,
163  15.0,
164  0.0,
165  5.0);
166 
167  th2p->SetFloat();
168 
169  th2p->GetXaxis()->SetTitle("z [cm]");
170  th2p->GetYaxis()->SetTitle("ladder");
171  th2p->GetZaxis()->SetTitle(zaxis);
172  th2p->GetZaxis()->CenterTitle();
173  th2p->SetStats(false);
174  th2p->SetOption(m_option);
175  pxbTh2PolyBarrel[currentHistoName].push_back(th2p);
176  }
177 
178  th2p = std::make_shared<TH2Poly>("barrel_summary", "PXBMap", -5.0, 5.0, 0.0, 5.0);
179  th2p->SetFloat();
180 
181  th2p->GetXaxis()->SetTitle("");
182  th2p->GetYaxis()->SetTitle("~ladder");
183  th2p->SetStats(false);
184  th2p->SetOption(m_option);
185  pxbTh2PolyBarrelSummary[currentHistoName] = th2p;
186  }
187 
188  //============================================================================
189  void bookForwardHistograms(const std::string& currentHistoName, const char* what, const char* zaxis) {
190  std::string histName;
191  std::shared_ptr<TH2Poly> th2p;
192 
193  for (unsigned side = 1; side <= 2; ++side) {
194  for (unsigned disk = 1; disk <= 3; ++disk) {
195  histName = "forward_disk_";
196 
197  th2p = std::make_shared<TH2Poly>((histName + std::to_string((side == 1 ? -(int(disk)) : (int)disk))).c_str(),
198  Form("PXFMap of %s - Side %i Disk %i", what, side, disk),
199  -15.0,
200  15.0,
201  -15.0,
202  15.0);
203  th2p->SetFloat();
204  th2p->GetXaxis()->SetTitle("x [cm]");
205  th2p->GetYaxis()->SetTitle("y [cm]");
206  th2p->GetZaxis()->SetTitle(zaxis);
207  th2p->GetZaxis()->CenterTitle();
208  th2p->SetStats(false);
209  th2p->SetOption(m_option);
210  pxfTh2PolyForward[currentHistoName].push_back(th2p);
211  }
212  }
213 
214  th2p = std::make_shared<TH2Poly>("forward_summary", "PXFMap", -40.0, 50.0, -20.0, 90.0);
215  th2p->SetFloat();
216 
217  th2p->GetXaxis()->SetTitle("");
218  th2p->GetYaxis()->SetTitle("");
219  th2p->SetStats(false);
220  th2p->SetOption(m_option);
221  pxfTh2PolyForwardSummary[currentHistoName] = th2p;
222  }
223 
224  //============================================================================
225  void bookBarrelBins(const std::string& currentHistoName) {
226  auto theIndexedCorners = this->retrieveCorners(m_cornersBPIX, 4);
227 
228  for (const auto& entry : theIndexedCorners) {
229  auto id = entry.first;
230  auto detid = DetId(id);
231  if (detid.subdetId() != PixelSubdetector::PixelBarrel)
232  continue;
233 
234  int layer = m_trackerTopo.pxbLayer(detid);
235  int ladder = m_trackerTopo.pxbLadder(detid);
236 
237  auto theVectX = entry.second.first;
238  auto theVectY = entry.second.second;
239 
240  float vertX[] = {theVectX[0], theVectX[1], theVectX[2], theVectX[3], theVectX[4]};
241  float vertY[] = {(ladder - 1.0f), (ladder - 1.0f), (float)ladder, (float)ladder, (ladder - 1.0f)};
242 
243  bins[id] = std::make_shared<TGraph>(5, vertX, vertY);
244  bins[id]->SetName(TString::Format("%u", id));
245 
246  // Summary plot
247  for (unsigned k = 0; k < 5; ++k) {
248  vertX[k] += ((layer == 2 || layer == 3) ? 0.0f : -60.0f);
249  vertY[k] += ((layer > 2) ? 30.0f : 0.0f);
250  }
251 
252  binsSummary[id] = std::make_shared<TGraph>(5, vertX, vertY);
253  binsSummary[id]->SetName(TString::Format("%u", id));
254 
255  if (pxbTh2PolyBarrel.find(currentHistoName) != pxbTh2PolyBarrel.end()) {
256  pxbTh2PolyBarrel[currentHistoName][layer - 1]->AddBin(bins[id]->Clone());
257  } else {
258  throw cms::Exception("LogicError") << currentHistoName << " is not found in the Barrel map! Aborting.";
259  }
260 
261  if (pxbTh2PolyBarrelSummary.find(currentHistoName) != pxbTh2PolyBarrelSummary.end()) {
262  pxbTh2PolyBarrelSummary[currentHistoName]->AddBin(binsSummary[id]->Clone());
263  } else {
264  throw cms::Exception("LocalError") << currentHistoName << " is not found in the Barrel Summary map! Aborting.";
265  }
266  }
267  }
268 
269  //============================================================================
270  void bookForwardBins(const std::string& currentHistoName) {
271  auto theIndexedCorners = this->retrieveCorners(m_cornersFPIX, 3);
272 
273  for (const auto& entry : theIndexedCorners) {
274  auto id = entry.first;
275  auto detid = DetId(id);
276  if (detid.subdetId() != PixelSubdetector::PixelEndcap)
277  continue;
278 
279  int disk = m_trackerTopo.pxfDisk(detid);
280  int side = m_trackerTopo.pxfSide(detid);
281 
282  unsigned mapIdx = disk + (side - 1) * 3 - 1;
283 
284  auto theVectX = entry.second.first;
285  auto theVectY = entry.second.second;
286 
287  float vertX[] = {theVectX[0], theVectX[1], theVectX[2], theVectX[3]};
288  float vertY[] = {theVectY[0], theVectY[1], theVectY[2], theVectY[3]};
289 
290  bins[id] = std::make_shared<TGraph>(4, vertX, vertY);
291  bins[id]->SetName(TString::Format("%u", id));
292 
293  // Summary plot
294  for (unsigned k = 0; k < 4; ++k) {
295  vertX[k] += (float(side) - 1.5f) * 40.0f;
296  vertY[k] += (disk - 1) * 35.0f;
297  }
298 
299  binsSummary[id] = std::make_shared<TGraph>(4, vertX, vertY);
300  binsSummary[id]->SetName(TString::Format("%u", id));
301 
302  if (pxfTh2PolyForward.find(currentHistoName) != pxfTh2PolyForward.end()) {
303  pxfTh2PolyForward[currentHistoName][mapIdx]->AddBin(bins[id]->Clone());
304  } else {
305  throw cms::Exception("LogicError") << currentHistoName << " is not found in the Forward map! Aborting.";
306  }
307 
308  if (pxfTh2PolyForwardSummary.find(currentHistoName) != pxfTh2PolyForwardSummary.end()) {
309  pxfTh2PolyForwardSummary[currentHistoName]->AddBin(binsSummary[id]->Clone());
310  } else {
311  throw cms::Exception("LogicError") << currentHistoName << " is not found in the Forward Summary map! Aborting.";
312  }
313  }
314  }
315 
316  //============================================================================
317  template <typename type>
318  void fillBarrelBin(const std::string& currentHistoName, unsigned int id, type value) {
319  auto detid = DetId(id);
320  if (detid.subdetId() != PixelSubdetector::PixelBarrel) {
321  edm::LogError("Phase1PixelMaps") << "fillBarrelBin() The following detid " << id << " is not Pixel Barrel!"
322  << std::endl;
323  return;
324  }
325  int layer = m_trackerTopo.pxbLayer(id);
326  pxbTh2PolyBarrel[currentHistoName][layer - 1]->Fill(TString::Format("%u", id), value);
327  }
328 
329  //============================================================================
330  template <typename type>
331  void fillForwardBin(const std::string& currentHistoName, unsigned int id, type value) {
332  auto detid = DetId(id);
333  if (detid.subdetId() != PixelSubdetector::PixelEndcap) {
334  edm::LogError("Phase1PixelMaps") << "fillForwardBin() The following detid " << id << " is not Pixel Forward!"
335  << std::endl;
336  return;
337  }
338  int disk = m_trackerTopo.pxfDisk(id);
339  int side = m_trackerTopo.pxfSide(id);
340  unsigned mapIdx = disk + (side - 1) * 3 - 1;
341  pxfTh2PolyForward[currentHistoName][mapIdx]->Fill(TString::Format("%u", id), value);
342  }
343 
344  //============================================================================
346  for (const auto& vec : pxbTh2PolyBarrel) {
347  for (const auto& plot : vec.second) {
348  this->makeNicePlotStyle(plot.get());
349  plot->GetXaxis()->SetTitleOffset(0.9);
350  plot->GetYaxis()->SetTitleOffset(0.9);
351  plot->GetZaxis()->SetTitleOffset(1.2);
352  plot->GetZaxis()->SetTitleSize(0.05);
353  }
354  }
355 
356  for (const auto& vec : pxfTh2PolyForward) {
357  for (const auto& plot : vec.second) {
358  this->makeNicePlotStyle(plot.get());
359  plot->GetXaxis()->SetTitleOffset(0.9);
360  plot->GetYaxis()->SetTitleOffset(0.9);
361  plot->GetZaxis()->SetTitleOffset(1.2);
362  plot->GetZaxis()->SetTitleSize(0.05);
363  }
364  }
365  }
366 
367  //============================================================================
368  void rescaleAllBarrel(const std::string& currentHistoName) {
369  std::vector<float> maxima;
370  std::transform(pxbTh2PolyBarrel[currentHistoName].begin(),
371  pxbTh2PolyBarrel[currentHistoName].end(),
372  std::back_inserter(maxima),
373  [](std::shared_ptr<TH2Poly> thp) -> float { return thp->GetMaximum(); });
374  std::vector<float> minima;
375  std::transform(pxbTh2PolyBarrel[currentHistoName].begin(),
376  pxbTh2PolyBarrel[currentHistoName].end(),
377  std::back_inserter(minima),
378  [](std::shared_ptr<TH2Poly> thp) -> float { return thp->GetMinimum(); });
379 
380  auto globalMax = *std::max_element(maxima.begin(), maxima.end());
381  auto globalMin = *std::min_element(minima.begin(), minima.end());
382 
383  for (auto& histo : pxbTh2PolyBarrel[currentHistoName]) {
384  histo->GetZaxis()->SetRangeUser(globalMin, globalMax);
385  }
386  }
387 
388  //============================================================================
389  void rescaleAllForward(const std::string& currentHistoName) {
390  std::vector<float> maxima;
391  std::transform(pxfTh2PolyForward[currentHistoName].begin(),
392  pxfTh2PolyForward[currentHistoName].end(),
393  std::back_inserter(maxima),
394  [](std::shared_ptr<TH2Poly> thp) -> float { return thp->GetMaximum(); });
395  std::vector<float> minima;
396  std::transform(pxfTh2PolyForward[currentHistoName].begin(),
397  pxfTh2PolyForward[currentHistoName].end(),
398  std::back_inserter(minima),
399  [](std::shared_ptr<TH2Poly> thp) -> float { return thp->GetMinimum(); });
400 
401  auto globalMax = *std::max_element(maxima.begin(), maxima.end());
402  auto globalMin = *std::min_element(minima.begin(), minima.end());
403 
404  for (auto& histo : pxfTh2PolyForward[currentHistoName]) {
405  histo->GetZaxis()->SetRangeUser(globalMin, globalMax);
406  }
407  }
408 
409  //============================================================================
410  void setBarrelScale(const std::string& currentHistoName, std::pair<float, float> extrema) {
411  for (auto& histo : pxbTh2PolyBarrel[currentHistoName]) {
412  histo->GetZaxis()->SetRangeUser(extrema.first, extrema.second);
413  }
414  }
415 
416  //============================================================================
417  void setForwardScale(const std::string& currentHistoName, std::pair<float, float> extrema) {
418  for (auto& histo : pxfTh2PolyForward[currentHistoName]) {
419  histo->GetZaxis()->SetRangeUser(extrema.first, extrema.second);
420  }
421  }
422 
423  //============================================================================
424  void DrawBarrelMaps(const std::string& currentHistoName, TCanvas& canvas) {
425  canvas.Divide(2, 2);
426  for (int i = 1; i <= 4; i++) {
427  canvas.cd(i);
428  if (strcmp(m_option, "text") == 0) {
429  canvas.cd(i)->SetRightMargin(0.02);
430  pxbTh2PolyBarrel[currentHistoName].at(i - 1)->SetMarkerColor(kRed);
431  } else {
432  if (m_autorescale)
433  rescaleAllBarrel(currentHistoName);
434  adjustCanvasMargins(canvas.cd(i), 0.07, 0.12, 0.10, 0.18);
435  }
436  pxbTh2PolyBarrel[currentHistoName].at(i - 1)->Draw();
437  }
438  }
439 
440  //============================================================================
441  void DrawForwardMaps(const std::string& currentHistoName, TCanvas& canvas) {
442  canvas.Divide(3, 2);
443  for (int i = 1; i <= 6; i++) {
444  canvas.cd(i);
445  if (strcmp(m_option, "text") == 0) {
446  canvas.cd(i)->SetRightMargin(0.02);
447  pxfTh2PolyForward[currentHistoName].at(i - 1)->SetMarkerColor(kRed);
448  } else {
449  if (m_autorescale)
450  rescaleAllForward(currentHistoName);
451  adjustCanvasMargins(canvas.cd(i), 0.07, 0.12, 0.10, 0.18);
452  }
453  pxfTh2PolyForward[currentHistoName].at(i - 1)->Draw();
454  }
455  }
456 
457 private:
458  Option_t* m_option;
461 
462  std::map<uint32_t, std::shared_ptr<TGraph>> bins, binsSummary;
463  std::map<std::string, std::vector<std::shared_ptr<TH2Poly>>> pxbTh2PolyBarrel;
464  std::map<std::string, std::shared_ptr<TH2Poly>> pxbTh2PolyBarrelSummary;
465  std::map<std::string, std::vector<std::shared_ptr<TH2Poly>>> pxfTh2PolyForward;
466  std::map<std::string, std::shared_ptr<TH2Poly>> pxfTh2PolyForwardSummary;
467 
468  std::vector<edm::FileInPath> m_cornersBPIX;
469  std::vector<edm::FileInPath> m_cornersFPIX;
470 };
471 
472 #endif
indexedCorners
std::map< unsigned int, std::pair< std::vector< float >, std::vector< float > >> indexedCorners
Definition: Phase1PixelMaps.h:20
svgfig.canvas
def canvas(*sub, **attr)
Definition: svgfig.py:482
Phase1PixelMaps::bins
std::map< uint32_t, std::shared_ptr< TGraph > > bins
Definition: Phase1PixelMaps.h:462
Phase1PixelMaps::m_cornersFPIX
std::vector< edm::FileInPath > m_cornersFPIX
Definition: Phase1PixelMaps.h:469
Phase1PixelMaps::fillBarrelBin
void fillBarrelBin(const std::string &currentHistoName, unsigned int id, type value)
Definition: Phase1PixelMaps.h:318
mps_fire.i
i
Definition: mps_fire.py:428
MessageLogger.h
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
HLT_FULL_cff.Class
Class
Definition: HLT_FULL_cff.py:8427
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
TrackerTopology::pxfSide
unsigned int pxfSide(const DetId &id) const
Definition: TrackerTopology.h:192
Phase1PixelMaps::makeNicePlotStyle
void makeNicePlotStyle(TH1 *hist)
Definition: Phase1PixelMaps.h:112
Phase1PixelMaps::setBarrelScale
void setBarrelScale(const std::string &currentHistoName, std::pair< float, float > extrema)
Definition: Phase1PixelMaps.h:410
Phase1PixelMaps::bookBarrelHistograms
void bookBarrelHistograms(const std::string &currentHistoName, const char *what, const char *zaxis)
Definition: Phase1PixelMaps.h:153
contentValuesFiles.fullPath
fullPath
Definition: contentValuesFiles.py:64
mps_splice.entry
entry
Definition: mps_splice.py:68
TrackerTopology
Definition: TrackerTopology.h:16
TrackerTopology::pxbLadder
unsigned int pxbLadder(const DetId &id) const
Definition: TrackerTopology.h:155
Phase1PixelMaps::pxfTh2PolyForward
std::map< std::string, std::vector< std::shared_ptr< TH2Poly > > > pxfTh2PolyForward
Definition: Phase1PixelMaps.h:465
Phase1PixelMaps::beautifyAllHistograms
void beautifyAllHistograms()
Definition: Phase1PixelMaps.h:345
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:279
Phase1PixelMaps::bookBarrelBins
void bookBarrelBins(const std::string &currentHistoName)
Definition: Phase1PixelMaps.h:225
Phase1PixelMaps::rescaleAllBarrel
void rescaleAllBarrel(const std::string &currentHistoName)
Definition: Phase1PixelMaps.h:368
Phase1PixelMaps::Phase1PixelMaps
Phase1PixelMaps(const char *option)
Definition: Phase1PixelMaps.h:27
plotFactory.plot
plot
Definition: plotFactory.py:109
fileinputsource_cfi.option
option
Definition: fileinputsource_cfi.py:87
LaserClient_cfi.zaxis
zaxis
Definition: LaserClient_cfi.py:91
MYOUT
#define MYOUT
Definition: Phase1PixelMaps.h:18
TrackerTopology::pxbLayer
unsigned int pxbLayer(const DetId &id) const
Definition: TrackerTopology.h:144
Phase1PixelMaps::pxbTh2PolyBarrel
std::map< std::string, std::vector< std::shared_ptr< TH2Poly > > > pxbTh2PolyBarrel
Definition: Phase1PixelMaps.h:463
DetId
Definition: DetId.h:17
edm::FileInPath
Definition: FileInPath.h:64
Phase1PixelMaps::bookForwardBins
void bookForwardBins(const std::string &currentHistoName)
Definition: Phase1PixelMaps.h:270
StandaloneTrackerTopology.h
compare.hist
hist
Definition: compare.py:376
Phase1PixelMaps::DrawForwardMaps
void DrawForwardMaps(const std::string &currentHistoName, TCanvas &canvas)
Definition: Phase1PixelMaps.h:441
mps_fire.end
end
Definition: mps_fire.py:242
HcalDetIdTransform::transform
unsigned transform(const HcalDetId &id, unsigned transformCode)
Definition: HcalDetIdTransform.cc:7
dqmdumpme.k
k
Definition: dqmdumpme.py:60
Phase1PixelMaps
Definition: Phase1PixelMaps.h:25
Phase1PixelMaps::fillForwardBin
void fillForwardBin(const std::string &currentHistoName, unsigned int id, type value)
Definition: Phase1PixelMaps.h:331
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
Phase1PixelMaps::DrawBarrelMaps
void DrawBarrelMaps(const std::string &currentHistoName, TCanvas &canvas)
Definition: Phase1PixelMaps.h:424
Phase1PixelMaps::pxbTh2PolyBarrelSummary
std::map< std::string, std::shared_ptr< TH2Poly > > pxbTh2PolyBarrelSummary
Definition: Phase1PixelMaps.h:464
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
Phase1PixelMaps::bookForwardHistograms
void bookForwardHistograms(const std::string &currentHistoName, const char *what, const char *zaxis)
Definition: Phase1PixelMaps.h:189
Phase1PixelMaps::binsSummary
std::map< uint32_t, std::shared_ptr< TGraph > > binsSummary
Definition: Phase1PixelMaps.h:462
FrontierConditions_GlobalTag_cff.file
file
Definition: FrontierConditions_GlobalTag_cff.py:13
value
Definition: value.py:1
TrackerTopology::pxfDisk
unsigned int pxfDisk(const DetId &id) const
Definition: TrackerTopology.h:446
Phase1PixelMaps::pxfTh2PolyForwardSummary
std::map< std::string, std::shared_ptr< TH2Poly > > pxfTh2PolyForwardSummary
Definition: Phase1PixelMaps.h:466
Phase1PixelMaps::setForwardScale
void setForwardScale(const std::string &currentHistoName, std::pair< float, float > extrema)
Definition: Phase1PixelMaps.h:417
Phase1PixelMaps::rescaleAllForward
void rescaleAllForward(const std::string &currentHistoName)
Definition: Phase1PixelMaps.h:389
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
Phase1PixelMaps::retrieveCorners
const indexedCorners retrieveCorners(const std::vector< edm::FileInPath > &cornerFiles, const unsigned int reads)
Definition: Phase1PixelMaps.h:51
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
Phase1PixelMaps::adjustCanvasMargins
void adjustCanvasMargins(TVirtualPad *pad, float top, float bottom, float left, float right)
Definition: Phase1PixelMaps.h:139
Exception
Definition: hltDiff.cc:246
MatrixUtil.remove
def remove(d, key, TELL=False)
Definition: MatrixUtil.py:219
PVValHelper::ladder
Definition: PVValidationHelpers.h:72
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
Phase1PixelMaps::m_cornersBPIX
std::vector< edm::FileInPath > m_cornersBPIX
Definition: Phase1PixelMaps.h:468
Phase1PixelMaps::m_trackerTopo
TrackerTopology m_trackerTopo
Definition: Phase1PixelMaps.h:460
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
mps_splice.line
line
Definition: mps_splice.py:76
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
Phase1PixelMaps::m_option
Option_t * m_option
Definition: Phase1PixelMaps.h:458
Phase1PixelMaps::setNoRescale
void setNoRescale()
Definition: Phase1PixelMaps.h:48
StandaloneTrackerTopology::fromTrackerParametersXMLFile
TrackerTopology fromTrackerParametersXMLFile(const std::string &xmlFileName)
Definition: StandaloneTrackerTopology.cc:168
Phase1PixelMaps::m_autorescale
bool m_autorescale
Definition: Phase1PixelMaps.h:459
Phase1PixelMaps::~Phase1PixelMaps
~Phase1PixelMaps()
Definition: Phase1PixelMaps.h:45