CMS 3D CMS Logo

EcalDrawUtils.h
Go to the documentation of this file.
1 #include "TH2F.h"
2 #include "TLine.h"
3 
4 inline void DrawEB(TH2F* ebmap, float min, float max) {
5  ebmap->SetXTitle("i#phi");
6  ebmap->SetYTitle("i#eta");
7  ebmap->GetXaxis()->SetNdivisions(-418, kFALSE);
8  ebmap->GetYaxis()->SetNdivisions(-1702, kFALSE);
9  ebmap->GetXaxis()->SetLabelSize(0.03);
10  ebmap->GetYaxis()->SetLabelSize(0.03);
11  ebmap->GetXaxis()->SetTickLength(0.01);
12  ebmap->GetYaxis()->SetTickLength(0.01);
13  ebmap->SetMaximum(max);
14  ebmap->SetMinimum(min);
15  ebmap->Draw("colz");
16  TLine* l = new TLine;
17  l->SetLineWidth(1);
18  for (int i = 0; i < 17; i++) {
19  Double_t x = 20. + (i * 20);
20  l = new TLine(x, -85., x, 85.);
21  l->Draw();
22  }
23  l = new TLine(0., 85., 360., 85.);
24  l->Draw();
25  l = new TLine(0., 0., 360., 0.);
26  l->Draw();
27 } // DrawEB method
28 
29 inline void DrawEE(TH2F* endc, float min, float max) {
30  int ixSectorsEE[202] = {
31  62, 62, 61, 61, 60, 60, 59, 59, 58, 58, 56, 56, 46, 46, 44, 44, 43, 43, 42, 42, 41, 41, 40, 40, 41, 41,
32  42, 42, 43, 43, 44, 44, 46, 46, 56, 56, 58, 58, 59, 59, 60, 60, 61, 61, 62, 62, 0, 101, 101, 98, 98, 96,
33  96, 93, 93, 88, 88, 86, 86, 81, 81, 76, 76, 66, 66, 61, 61, 41, 41, 36, 36, 26, 26, 21, 21, 16, 16, 14,
34  14, 9, 9, 6, 6, 4, 4, 1, 1, 4, 4, 6, 6, 9, 9, 14, 14, 16, 16, 21, 21, 26, 26, 36, 36, 41,
35  41, 61, 61, 66, 66, 76, 76, 81, 81, 86, 86, 88, 88, 93, 93, 96, 96, 98, 98, 101, 101, 0, 62, 66, 66, 71,
36  71, 81, 81, 91, 91, 93, 0, 62, 66, 66, 91, 91, 98, 0, 58, 61, 61, 66, 66, 71, 71, 76, 76, 81, 81, 0,
37  51, 51, 0, 44, 41, 41, 36, 36, 31, 31, 26, 26, 21, 21, 0, 40, 36, 36, 11, 11, 4, 0, 40, 36, 36, 31,
38  31, 21, 21, 11, 11, 9, 0, 46, 46, 41, 41, 36, 36, 0, 56, 56, 61, 61, 66, 66};
39 
40  int iySectorsEE[202] = {51, 56, 56, 58, 58, 59, 59, 60, 60, 61, 61, 62, 62, 61, 61, 60, 60, 59, 59, 58, 58, 56, 56,
41  46, 46, 44, 44, 43, 43, 42, 42, 41, 41, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 46, 46, 51,
42  0, 51, 61, 61, 66, 66, 76, 76, 81, 81, 86, 86, 88, 88, 93, 93, 96, 96, 98, 98, 101, 101, 98,
43  98, 96, 96, 93, 93, 88, 88, 86, 86, 81, 81, 76, 76, 66, 66, 61, 61, 41, 41, 36, 36, 26, 26,
44  21, 21, 16, 16, 14, 14, 9, 9, 6, 6, 4, 4, 1, 1, 4, 4, 6, 6, 9, 9, 14, 14, 16,
45  16, 21, 21, 26, 26, 36, 36, 41, 41, 51, 0, 46, 46, 41, 41, 36, 36, 31, 31, 26, 26, 0, 51,
46  51, 56, 56, 61, 61, 0, 61, 61, 66, 66, 71, 71, 76, 76, 86, 86, 88, 0, 62, 101, 0, 61, 61,
47  66, 66, 71, 71, 76, 76, 86, 86, 88, 0, 51, 51, 56, 56, 61, 61, 0, 46, 46, 41, 41, 36, 36,
48  31, 31, 26, 26, 0, 40, 31, 31, 16, 16, 6, 0, 40, 31, 31, 16, 16, 6};
49 
50  TLine* l = new TLine;
51  l->SetLineWidth(1);
52 
53  endc->SetXTitle("ix");
54  endc->SetYTitle("iy");
55  endc->SetMaximum(max);
56  endc->SetMinimum(min);
57  endc->Draw("colz1");
58  for (int i = 0; i < 201; i = i + 1) {
59  if ((ixSectorsEE[i] != 0 || iySectorsEE[i] != 0) && (ixSectorsEE[i + 1] != 0 || iySectorsEE[i + 1] != 0)) {
60  l->DrawLine(ixSectorsEE[i], iySectorsEE[i], ixSectorsEE[i + 1], iySectorsEE[i + 1]);
61  }
62  }
63 } // DrawEE method
64 
65 inline void DrawEE_Tower(TH2F* endc, TLine* l, double minScale, double maxScale) {
66  endc->SetStats(false);
67  endc->SetMinimum(minScale);
68  endc->SetMaximum(maxScale);
69  endc->Draw("colz");
70 
71  int ixSectorsEE[136] = {8, 14, 14, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 20, 20, 19, 19, 18, 18, 17, 17, 14, 14,
72  8, 8, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 8, 8, 8,
73  9, 9, 10, 10, 12, 12, 13, 13, 12, 12, 10, 10, 9, 9, 10, 10, 0, 11, 11, 0, 10, 9, 9,
74  8, 8, 7, 7, 6, 6, 5, 5, 0, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 0, 9, 8,
75  8, 3, 3, 1, 0, 13, 14, 14, 19, 19, 21, 0, 9, 8, 8, 7, 7, 5, 5, 3, 3, 2, 0,
76  13, 14, 14, 15, 15, 17, 17, 19, 19, 20, 0, 14, 14, 13, 13, 12, 12, 0};
77 
78  int iySectorsEE[136] = {1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 8, 8, 14, 14, 17, 17, 18, 18, 19, 19, 20, 20, 21,
79  21, 20, 20, 19, 19, 18, 18, 17, 17, 14, 14, 8, 8, 5, 5, 4, 4, 3, 3, 2, 2, 1, 4,
80  4, 7, 7, 9, 9, 10, 10, 12, 12, 13, 13, 12, 12, 10, 10, 9, 0, 13, 21, 0, 13, 13, 14,
81  14, 15, 15, 16, 16, 18, 18, 19, 0, 13, 13, 14, 14, 15, 15, 16, 16, 18, 18, 19, 0, 11, 11,
82  12, 12, 13, 13, 0, 11, 11, 12, 12, 13, 13, 0, 10, 10, 9, 9, 8, 8, 7, 7, 6, 6, 0,
83  10, 10, 9, 9, 8, 8, 7, 7, 6, 6, 0, 2, 4, 4, 7, 7, 9, 0};
84 
85  for (int i = 0; i < 136; i = i + 1)
86  if ((ixSectorsEE[i] != 0 || iySectorsEE[i] != 0) && (ixSectorsEE[i + 1] != 0 || iySectorsEE[i + 1] != 0))
87  l->DrawLine(ixSectorsEE[i], iySectorsEE[i], ixSectorsEE[i + 1], iySectorsEE[i + 1]);
88 
89 } //draw EE in case of a tower
90 
91 inline void drawTable(int nbRows, int nbColumns) {
92  TLine* l = new TLine;
93  l->SetLineWidth(1);
94  for (int i = 1; i < nbRows; i++) {
95  double y = (double)i;
96  l = new TLine(0., y, nbColumns, y);
97  l->Draw();
98  }
99 
100  for (int i = 1; i < nbColumns; i++) {
101  double x = (double)i;
102  double y = (double)nbRows;
103  l = new TLine(x, 0., x, y);
104  l->Draw();
105  }
106 }
void DrawEE(TH2F *endc, float min, float max)
Definition: EcalDrawUtils.h:29
void DrawEB(TH2F *ebmap, float min, float max)
Definition: EcalDrawUtils.h:4
void DrawEE_Tower(TH2F *endc, TLine *l, double minScale, double maxScale)
Definition: EcalDrawUtils.h:65
float x
void drawTable(int nbRows, int nbColumns)
Definition: EcalDrawUtils.h:91