CMS 3D CMS Logo

MaterialBudgetHGCalHistos.cc
Go to the documentation of this file.
3 
4 template <class T>
5 const T& max(const T& a, const T& b) {
6  return (b < a) ? a : b; // or: return comp(b,a)?a:b; for the comp version
7 }
8 
9 MaterialBudgetHGCalHistos::MaterialBudgetHGCalHistos(std::shared_ptr<MaterialBudgetData> data,
10  std::shared_ptr<TestHistoMgr> mgr,
11  const std::string& fileName,
12  double minZ,
13  double maxZ,
14  int nintZ,
15  double rMin,
16  double rMax,
17  int nrbin,
18  double etaMin,
19  double etaMax,
20  int netabin,
21  double phiMin,
22  double phiMax,
23  int nphibin,
24  double RMin,
25  double RMax,
26  int nRbin)
28  hmgr(mgr),
29  zMin_(minZ),
30  zMax_(maxZ),
31  nzbin_(nintZ),
32  rMin_(rMin),
33  rMax_(rMax),
34  nrbin_(nrbin),
35  etaMin_(etaMin),
36  etaMax_(etaMax),
37  netabin_(netabin),
38  phiMin_(phiMin),
39  phiMax_(phiMax),
40  nphibin_(nphibin),
41  RMin_(RMin),
42  RMax_(RMax),
43  nRbin_(nRbin)
44 
45 {
47  book();
48 }
49 
51  std::cout << "=== booking user histos ===" << std::endl;
52 
53  // total X0
54  hmgr->addHistoProf1(new TProfile("10", "MB prof Eta;#eta;x/X_{0} ", netabin_, etaMin_, etaMax_));
55  hmgr->addHisto1(new TH1F("11", "Eta ", netabin_, etaMin_, etaMax_));
56  hmgr->addHistoProf1(new TProfile("20", "MB prof Phi;#varphi [rad];x/X_{0} ", nphibin_, phiMin_, phiMax_));
57  hmgr->addHisto1(new TH1F("21", "Phi ", nphibin_, phiMin_, phiMax_));
58  hmgr->addHistoProf2(new TProfile2D(
59  "30", "MB prof Eta Phi;#eta;#varphi;x/X_{0} ", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
60  hmgr->addHisto2(new TH2F("31", "Eta vs Phi ", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
61  hmgr->addHistoProf1(new TProfile("40", "MB prof R;R [mm];x/X_{0} ", nRbin_, RMin_, RMax_));
62  hmgr->addHisto1(new TH1F("41", "R ", nRbin_, RMin_, RMax_));
63  hmgr->addHistoProf2(
64  new TProfile2D("50", "MB prof sum R z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
65  hmgr->addHisto2(new TH2F("999", "Tot track length for MB", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
66  hmgr->addHisto2(new TH2F("51", "R vs z ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
67  hmgr->addHistoProf2(new TProfile2D(
68  "52", "MB ortho prof sum R z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
69  hmgr->addHisto2(
70  new TH2F("60", "MB prof local R z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
71  hmgr->addHistoProf2(
72  new TProfile2D("70", "MB prof local R z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
73  hmgr->addHistoProf2(new TProfile2D(
74  "72", "MB ortho prof local R z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
75 
76  // Copper
77  hmgr->addHistoProf1(new TProfile("110", "MB prof Eta [Copper];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
78  hmgr->addHistoProf1(new TProfile("120", "MB prof Phi [Copper];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
79  hmgr->addHistoProf2(new TProfile2D(
80  "130", "MB prof Eta Phi [Copper];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
81  hmgr->addHistoProf1(new TProfile("140", "MB prof R [Copper];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
82  hmgr->addHistoProf2(new TProfile2D(
83  "150", "MB prof sum R z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
84  hmgr->addHistoProf2(new TProfile2D(
85  "152", "MB ortho prof sum R z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
86  hmgr->addHisto2(new TH2F(
87  "160", "MB prof local R z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
88  hmgr->addHistoProf2(new TProfile2D(
89  "170", "MB prof local R z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
90  hmgr->addHistoProf2(new TProfile2D(
91  "172", "MB ortho prof local R z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
92 
93  // H_Scintillator
94  hmgr->addHistoProf1(new TProfile("210", "MB prof Eta [Scintillator];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
95  hmgr->addHistoProf1(
96  new TProfile("220", "MB prof Phi [Scintillator];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
97  hmgr->addHistoProf2(new TProfile2D("230",
98  "MB prof Eta Phi [Scintillator];#eta;#varphi;x/X_{0}",
99  netabin_,
100  etaMin_,
101  etaMax_,
102  nphibin_,
103  phiMin_,
104  phiMax_));
105  hmgr->addHistoProf1(new TProfile("240", "MB prof R [Scintillator];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
106  hmgr->addHistoProf2(new TProfile2D(
107  "250", "MB prof sum R z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
108  hmgr->addHistoProf2(new TProfile2D(
109  "252", "MB ortho prof sum R z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
110  hmgr->addHisto2(new TH2F(
111  "260", "MB prof local R z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
112  hmgr->addHistoProf2(new TProfile2D(
113  "270", "MB prof local R z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
114  hmgr->addHistoProf2(new TProfile2D("272",
115  "MB ortho prof local R z [Scintillator];z [mm];R [mm];x/X_{0} ",
116  nzbin_,
117  zMin_,
118  zMax_,
119  nrbin_,
120  rMin_,
121  rMax_));
122 
123  // Cables
124  hmgr->addHistoProf1(new TProfile("310", "MB prof Eta [Cables];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
125  hmgr->addHistoProf1(new TProfile("320", "MB prof Phi [Cables];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
126  hmgr->addHistoProf2(new TProfile2D(
127  "330", "MB prof Eta Phi [Cables];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
128  hmgr->addHistoProf1(new TProfile("340", "MB prof R [Cables];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
129  hmgr->addHistoProf2(new TProfile2D(
130  "350", "MB prof sum R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
131  hmgr->addHistoProf2(new TProfile2D(
132  "352", "MB ortho prof sum R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
133  hmgr->addHisto2(new TH2F(
134  "360", "MB prof local R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
135  hmgr->addHistoProf2(new TProfile2D(
136  "370", "MB prof local R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
137  hmgr->addHistoProf2(new TProfile2D(
138  "372", "MB ortho prof local R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
139 
140  // HGC_G10_FR4
141  hmgr->addHistoProf1(new TProfile("410", "MB prof Eta [HGC_G10_FR4];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
142  hmgr->addHistoProf1(
143  new TProfile("420", "MB prof Phi [HGC_G10_FR4];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
144  hmgr->addHistoProf2(new TProfile2D("430",
145  "MB prof Eta Phi [HGC_G10_FR4];#eta;#varphi;x/X_{0}",
146  netabin_,
147  etaMin_,
148  etaMax_,
149  nphibin_,
150  phiMin_,
151  phiMax_));
152  hmgr->addHistoProf1(new TProfile("440", "MB prof R [HGC_G10_FR4];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
153  hmgr->addHistoProf2(new TProfile2D(
154  "450", "MB prof sum R z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
155  hmgr->addHistoProf2(new TProfile2D(
156  "452", "MB ortho prof sum R z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
157  hmgr->addHisto2(new TH2F(
158  "460", "MB prof local R z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
159  hmgr->addHistoProf2(new TProfile2D(
160  "470", "MB prof local R z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
161  hmgr->addHistoProf2(new TProfile2D("472",
162  "MB ortho prof local R z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ",
163  nzbin_,
164  zMin_,
165  zMax_,
166  nrbin_,
167  rMin_,
168  rMax_));
169 
170  // Silicon
171  hmgr->addHistoProf1(new TProfile("510", "MB prof Eta [Silicon];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
172  hmgr->addHistoProf1(new TProfile("520", "MB prof Phi [Silicon];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
173  hmgr->addHistoProf2(new TProfile2D(
174  "530", "MB prof Eta Phi [Silicon];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
175  hmgr->addHistoProf1(new TProfile("540", "MB prof R [Silicon];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
176  hmgr->addHistoProf2(new TProfile2D(
177  "550", "MB prof sum R z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
178  hmgr->addHistoProf2(new TProfile2D(
179  "552", "MB ortho prof sum R z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
180  hmgr->addHisto2(new TH2F(
181  "560", "MB prof local R z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
182  hmgr->addHistoProf2(new TProfile2D(
183  "570", "MB prof local R z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
184  hmgr->addHistoProf2(new TProfile2D(
185  "572", "MB ortho prof local R z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
186 
187  // Other
188  hmgr->addHistoProf1(new TProfile("610", "MB prof Eta [Other];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
189  hmgr->addHistoProf1(new TProfile("620", "MB prof Phi [Other];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
190  hmgr->addHistoProf2(new TProfile2D(
191  "630", "MB prof Eta Phi [Other];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
192  hmgr->addHistoProf1(new TProfile("640", "MB prof R [Other];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
193  hmgr->addHistoProf2(new TProfile2D(
194  "650", "MB prof sum R z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
195  hmgr->addHistoProf2(new TProfile2D(
196  "652", "MB ortho prof sum R z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
197  hmgr->addHisto2(
198  new TH2F("660", "MB prof local R z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
199  hmgr->addHistoProf2(new TProfile2D(
200  "670", "MB prof local R z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
201  hmgr->addHistoProf2(new TProfile2D(
202  "672", "MB ortho prof local R z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
203 
204  // Air
205  hmgr->addHistoProf1(new TProfile("710", "MB prof Eta [Air];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
206  hmgr->addHistoProf1(new TProfile("720", "MB prof Phi [Air];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
207  hmgr->addHistoProf2(new TProfile2D(
208  "730", "MB prof Eta Phi [Air];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
209  hmgr->addHistoProf1(new TProfile("740", "MB prof R [Air];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
210  hmgr->addHistoProf2(new TProfile2D(
211  "750", "MB prof sum R z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
212  hmgr->addHistoProf2(new TProfile2D(
213  "752", "MB ortho prof sum R z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
214  hmgr->addHisto2(
215  new TH2F("760", "MB prof local R z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
216  hmgr->addHistoProf2(new TProfile2D(
217  "770", "MB prof local R z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
218  hmgr->addHistoProf2(new TProfile2D(
219  "772", "MB ortho prof local R z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
220 
221  //StainlessSteel
222  hmgr->addHistoProf1(new TProfile("810", "MB prof Eta [StainlessSteel];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
223  hmgr->addHistoProf1(
224  new TProfile("820", "MB prof Phi [StainlessSteel];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
225  hmgr->addHistoProf2(new TProfile2D("830",
226  "MB prof Eta Phi [StainlessSteel];#eta;#varphi;x/X_{0}",
227  netabin_,
228  etaMin_,
229  etaMax_,
230  nphibin_,
231  phiMin_,
232  phiMax_));
233  hmgr->addHistoProf1(new TProfile("840", "MB prof R [StainlessSteel];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
234  hmgr->addHistoProf2(new TProfile2D(
235  "850", "MB prof sum R z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
236  hmgr->addHistoProf2(new TProfile2D("852",
237  "MB ortho prof sum R z [StainlessSteel];z [mm];R [mm];x/X_{0} ",
238  nzbin_,
239  zMin_,
240  zMax_,
241  nrbin_,
242  rMin_,
243  rMax_));
244  hmgr->addHisto2(new TH2F(
245  "860", "MB prof local R z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
246  hmgr->addHistoProf2(new TProfile2D(
247  "870", "MB prof local R z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
248  hmgr->addHistoProf2(new TProfile2D("872",
249  "MB ortho prof local R z [StainlessSteel];z [mm];R [mm];x/X_{0} ",
250  nzbin_,
251  zMin_,
252  zMax_,
253  nrbin_,
254  rMin_,
255  rMax_));
256 
257  //WCu
258  hmgr->addHistoProf1(new TProfile("910", "MB prof Eta [WCu];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
259  hmgr->addHistoProf1(new TProfile("920", "MB prof Phi [WCu];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
260  hmgr->addHistoProf2(new TProfile2D(
261  "930", "MB prof Eta Phi [WCu];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
262  hmgr->addHistoProf1(new TProfile("940", "MB prof R [WCu];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
263  hmgr->addHistoProf2(new TProfile2D(
264  "950", "MB prof sum R z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
265  hmgr->addHistoProf2(new TProfile2D(
266  "952", "MB ortho prof sum R z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
267  hmgr->addHisto2(
268  new TH2F("960", "MB prof local R z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
269  hmgr->addHistoProf2(new TProfile2D(
270  "970", "MB prof local R z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
271  hmgr->addHistoProf2(new TProfile2D(
272  "972", "MB ortho prof local R z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
273 
274  // Lead
275  hmgr->addHistoProf1(new TProfile("1010", "MB prof Eta [Lead];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
276  hmgr->addHistoProf1(new TProfile("1020", "MB prof Phi [Lead];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
277  hmgr->addHistoProf2(new TProfile2D(
278  "1030", "MB prof Eta Phi [Lead];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
279  hmgr->addHistoProf1(new TProfile("1040", "MB prof R [Lead];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
280  hmgr->addHistoProf2(new TProfile2D(
281  "1050", "MB prof sum R z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
282  hmgr->addHistoProf2(new TProfile2D(
283  "1052", "MB ortho prof sum R z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
284  hmgr->addHisto2(
285  new TH2F("1060", "MB prof local R z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
286  hmgr->addHistoProf2(new TProfile2D(
287  "1070", "MB prof local R z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
288  hmgr->addHistoProf2(new TProfile2D(
289  "1072", "MB ortho prof local R z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
290 
291  // Epoxy
292  hmgr->addHistoProf1(new TProfile("1110", "MB prof Eta [Epoxy];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
293  hmgr->addHistoProf1(new TProfile("1120", "MB prof Phi [Epoxy];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
294  hmgr->addHistoProf2(new TProfile2D(
295  "1130", "MB prof Eta Phi [Epoxy];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
296  hmgr->addHistoProf1(new TProfile("1140", "MB prof R [Epoxy];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
297  hmgr->addHistoProf2(new TProfile2D(
298  "1150", "MB prof sum R z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
299  hmgr->addHistoProf2(new TProfile2D(
300  "1152", "MB ortho prof sum R z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
301  hmgr->addHisto2(new TH2F(
302  "1160", "MB prof local R z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
303  hmgr->addHistoProf2(new TProfile2D(
304  "1170", "MB prof local R z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
305  hmgr->addHistoProf2(new TProfile2D(
306  "1172", "MB ortho prof local R z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
307 
308  // Kapton
309  hmgr->addHistoProf1(new TProfile("1210", "MB prof Eta [Kapton];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
310  hmgr->addHistoProf1(new TProfile("1220", "MB prof Phi [Kapton];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
311  hmgr->addHistoProf2(new TProfile2D(
312  "1230", "MB prof Eta Phi [Kapton];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
313  hmgr->addHistoProf1(new TProfile("1240", "MB prof R [Kapton];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
314  hmgr->addHistoProf2(new TProfile2D(
315  "1250", "MB prof sum R z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
316  hmgr->addHistoProf2(new TProfile2D(
317  "1252", "MB ortho prof sum R z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
318  hmgr->addHisto2(new TH2F(
319  "1260", "MB prof local R z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
320  hmgr->addHistoProf2(new TProfile2D(
321  "1270", "MB prof local R z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
322  hmgr->addHistoProf2(new TProfile2D(
323  "1272", "MB ortho prof local R z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
324 
325  // Aluminium
326  hmgr->addHistoProf1(new TProfile("1310", "MB prof Eta [Aluminium];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
327  hmgr->addHistoProf1(
328  new TProfile("1320", "MB prof Phi [Aluminium];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
329  hmgr->addHistoProf2(new TProfile2D("1330",
330  "MB prof Eta Phi [Aluminium];#eta;#varphi;x/X_{0}",
331  netabin_,
332  etaMin_,
333  etaMax_,
334  nphibin_,
335  phiMin_,
336  phiMax_));
337  hmgr->addHistoProf1(new TProfile("1340", "MB prof R [Aluminium];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
338  hmgr->addHistoProf2(new TProfile2D(
339  "1350", "MB prof sum R z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
340  hmgr->addHistoProf2(new TProfile2D(
341  "1352", "MB ortho prof sum R z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
342  hmgr->addHisto2(new TH2F(
343  "1360", "MB prof local R z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
344  hmgr->addHistoProf2(new TProfile2D(
345  "1370", "MB prof local R z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
346  hmgr->addHistoProf2(new TProfile2D(
347  "1372", "MB ortho prof local R z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
348 
349  //=========================================================================================================
350  // total Lambda0
351  hmgr->addHistoProf1(new TProfile("10010", "IL prof Eta;#eta;#lambda/#lambda_{0} ", netabin_, etaMin_, etaMax_));
352  hmgr->addHistoProf1(
353  new TProfile("10020", "IL prof Phi;#varphi [rad];#lambda/#lambda_{0} ", nphibin_, phiMin_, phiMax_));
354  hmgr->addHistoProf2(new TProfile2D("10030",
355  "IL prof Eta Phi;#eta;#varphi;#lambda/#lambda_{0} ",
356  netabin_,
357  etaMin_,
358  etaMax_,
359  nphibin_,
360  phiMin_,
361  phiMax_));
362 
363  // rr
364  hmgr->addHistoProf1(new TProfile("10040", "IL prof R;R [mm];#lambda/#lambda_{0} ", nrbin_, RMin_, RMax_));
365  hmgr->addHistoProf2(new TProfile2D(
366  "10050", "IL prof sum R z;z [mm];R [mm];#lambda/#lambda_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
367  hmgr->addHistoProf2(new TProfile2D(
368  "10052", "IL ortho prof sum R z;z [mm];R [mm];#lambda/#lambda_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
369  hmgr->addHisto2(new TH2F("1999", "Tot track length for l0", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
370  hmgr->addHisto2(
371  new TH2F("10060", "IL prof local R z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
372  hmgr->addHistoProf2(new TProfile2D(
373  "10070", "IL prof local R z;z [mm];R [mm];#lambda/#lambda_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
374  hmgr->addHistoProf2(new TProfile2D("10072",
375  "IL ortho prof local R z;z [mm];R [mm];#lambda/#lambda_{0} ",
376  nzbin_,
377  zMin_,
378  zMax_,
379  nrbin_,
380  rMin_,
381  rMax_));
382 
383  // Copper
384  hmgr->addHistoProf1(
385  new TProfile("10110", "IL prof Eta [Copper];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
386  hmgr->addHistoProf1(
387  new TProfile("10120", "IL prof Phi [Copper];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
388  hmgr->addHistoProf2(new TProfile2D("10130",
389  "IL prof Eta Phi [Copper];#eta;#varphi;#lambda/#lambda_{0}",
390  netabin_,
391  etaMin_,
392  etaMax_,
393  nphibin_,
394  phiMin_,
395  phiMax_));
396  hmgr->addHistoProf1(new TProfile("10140", "IL prof R [Copper];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
397  hmgr->addHistoProf2(new TProfile2D(
398  "10150", "IL prof sum R z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
399  hmgr->addHistoProf2(new TProfile2D(
400  "10152", "IL ortho prof sum R z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
401  hmgr->addHisto2(new TH2F(
402  "10160", "IL prof local R z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
403  hmgr->addHistoProf2(new TProfile2D(
404  "10170", "IL prof local R z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
405  hmgr->addHistoProf2(new TProfile2D(
406  "10172", "IL ortho prof local R z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
407 
408  // H_Scintillator
409  hmgr->addHistoProf1(
410  new TProfile("10210", "IL prof Eta [Scintillator];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
411  hmgr->addHistoProf1(new TProfile(
412  "10220", "IL prof Phi [Scintillator];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
413  hmgr->addHistoProf2(new TProfile2D("10230",
414  "IL prof Eta Phi [Scintillator];#eta;#varphi;#lambda/#lambda_{0}",
415  netabin_,
416  etaMin_,
417  etaMax_,
418  nphibin_,
419  phiMin_,
420  phiMax_));
421  hmgr->addHistoProf1(
422  new TProfile("10240", "IL prof R [Scintillator];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
423  hmgr->addHistoProf2(new TProfile2D(
424  "10250", "IL prof sum R z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
425  hmgr->addHistoProf2(new TProfile2D("10252",
426  "IL ortho prof sum R z [Scintillator];z [mm];R [mm];x/X_{0} ",
427  nzbin_,
428  zMin_,
429  zMax_,
430  nrbin_,
431  rMin_,
432  rMax_));
433  hmgr->addHisto2(new TH2F(
434  "10260", "IL prof local R z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
435  hmgr->addHistoProf2(new TProfile2D(
436  "10270", "IL prof local R z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
437  hmgr->addHistoProf2(new TProfile2D("10272",
438  "IL ortho prof local R z [Scintillator];z [mm];R [mm];x/X_{0} ",
439  nzbin_,
440  zMin_,
441  zMax_,
442  nrbin_,
443  rMin_,
444  rMax_));
445 
446  // Cables
447  hmgr->addHistoProf1(
448  new TProfile("10310", "IL prof Eta [Cables];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
449  hmgr->addHistoProf1(
450  new TProfile("10320", "IL prof Phi [Cables];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
451  hmgr->addHistoProf2(new TProfile2D("10330",
452  "IL prof Eta Phi [Cables];#eta;#varphi;#lambda/#lambda_{0}",
453  netabin_,
454  etaMin_,
455  etaMax_,
456  nphibin_,
457  phiMin_,
458  phiMax_));
459  hmgr->addHistoProf1(new TProfile("10340", "IL prof R [Cables];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
460  hmgr->addHistoProf2(new TProfile2D(
461  "10350", "IL prof sum R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
462  hmgr->addHistoProf2(new TProfile2D(
463  "10352", "IL ortho prof sum R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
464  hmgr->addHisto2(new TH2F(
465  "10360", "IL prof local R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
466  hmgr->addHistoProf2(new TProfile2D(
467  "10370", "IL prof local R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
468  hmgr->addHistoProf2(new TProfile2D(
469  "10372", "IL ortho prof local R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
470 
471  // HGC_G10_FR4
472  hmgr->addHistoProf1(
473  new TProfile("10410", "IL prof Eta [HGC_G10_FR4];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
474  hmgr->addHistoProf1(
475  new TProfile("10420", "IL prof Phi [HGC_G10_FR4];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
476  hmgr->addHistoProf2(new TProfile2D("10430",
477  "IL prof Eta Phi [HGC_G10_FR4];#eta;#varphi;#lambda/#lambda_{0}",
478  netabin_,
479  etaMin_,
480  etaMax_,
481  nphibin_,
482  phiMin_,
483  phiMax_));
484  hmgr->addHistoProf1(
485  new TProfile("10440", "IL prof R [HGC_G10_FR4];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
486  hmgr->addHistoProf2(new TProfile2D(
487  "10450", "IL prof sum R z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
488  hmgr->addHistoProf2(new TProfile2D("10452",
489  "IL ortho prof sum R z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ",
490  nzbin_,
491  zMin_,
492  zMax_,
493  nrbin_,
494  rMin_,
495  rMax_));
496  hmgr->addHisto2(new TH2F(
497  "10460", "IL prof local R z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
498  hmgr->addHistoProf2(new TProfile2D(
499  "10470", "IL prof local R z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
500  hmgr->addHistoProf2(new TProfile2D("10472",
501  "IL ortho prof local R z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ",
502  nzbin_,
503  zMin_,
504  zMax_,
505  nrbin_,
506  rMin_,
507  rMax_));
508 
509  // Silicon
510  hmgr->addHistoProf1(
511  new TProfile("10510", "IL prof Eta [Silicon];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
512  hmgr->addHistoProf1(
513  new TProfile("10520", "IL prof Phi [Silicon];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
514  hmgr->addHistoProf2(new TProfile2D("10530",
515  "IL prof Eta Phi [Silicon];#eta;#varphi;#lambda/#lambda_{0}",
516  netabin_,
517  etaMin_,
518  etaMax_,
519  nphibin_,
520  phiMin_,
521  phiMax_));
522  hmgr->addHistoProf1(new TProfile("10540", "IL prof R [Silicon];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
523  hmgr->addHistoProf2(new TProfile2D(
524  "10550", "IL prof sum R z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
525  hmgr->addHistoProf2(new TProfile2D(
526  "10552", "IL ortho prof sum R z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
527  hmgr->addHisto2(new TH2F(
528  "10560", "IL prof local R z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
529  hmgr->addHistoProf2(new TProfile2D(
530  "10570", "IL prof local R z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
531  hmgr->addHistoProf2(new TProfile2D(
532  "10572", "IL ortho prof local R z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
533 
534  // Other
535  hmgr->addHistoProf1(
536  new TProfile("10610", "IL prof Eta [Other];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
537  hmgr->addHistoProf1(
538  new TProfile("10620", "IL prof Phi [Other];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
539  hmgr->addHistoProf2(new TProfile2D("10630",
540  "IL prof Eta Phi [Other];#eta;#varphi;#lambda/#lambda_{0}",
541  netabin_,
542  etaMin_,
543  etaMax_,
544  nphibin_,
545  phiMin_,
546  phiMax_));
547  hmgr->addHistoProf1(new TProfile("10640", "IL prof R [Other];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
548  hmgr->addHistoProf2(new TProfile2D(
549  "10650", "IL prof sum R z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
550  hmgr->addHistoProf2(new TProfile2D(
551  "10652", "IL ortho prof sum R z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
552  hmgr->addHisto2(new TH2F(
553  "10660", "IL prof local R z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
554  hmgr->addHistoProf2(new TProfile2D(
555  "10670", "IL prof local R z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
556  hmgr->addHistoProf2(new TProfile2D(
557  "10672", "IL ortho prof local R z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
558 
559  // Air
560  hmgr->addHistoProf1(new TProfile("10710", "IL prof Eta [Air];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
561  hmgr->addHistoProf1(
562  new TProfile("10720", "IL prof Phi [Air];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
563  hmgr->addHistoProf2(new TProfile2D("10730",
564  "IL prof Eta Phi [Air];#eta;#varphi;#lambda/#lambda_{0}",
565  netabin_,
566  etaMin_,
567  etaMax_,
568  nphibin_,
569  phiMin_,
570  phiMax_));
571  hmgr->addHistoProf1(new TProfile("10740", "IL prof R [Air];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
572  hmgr->addHistoProf2(new TProfile2D(
573  "10750", "IL prof sum R z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
574  hmgr->addHistoProf2(new TProfile2D(
575  "10752", "IL ortho prof sum R z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
576  hmgr->addHisto2(
577  new TH2F("10760", "IL prof local R z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
578  hmgr->addHistoProf2(new TProfile2D(
579  "10770", "IL prof local R z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
580  hmgr->addHistoProf2(new TProfile2D(
581  "10772", "IL ortho prof local R z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
582 
583  //StainlessSteel
584  hmgr->addHistoProf1(
585  new TProfile("10810", "IL prof Eta [StainlessSteel];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
586  hmgr->addHistoProf1(new TProfile(
587  "10820", "IL prof Phi [StainlessSteel];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
588  hmgr->addHistoProf2(new TProfile2D("10830",
589  "IL prof Eta Phi [StainlessSteel];#eta;#varphi;#lambda/#lambda_{0}",
590  netabin_,
591  etaMin_,
592  etaMax_,
593  nphibin_,
594  phiMin_,
595  phiMax_));
596  hmgr->addHistoProf1(
597  new TProfile("10840", "IL prof R [StainlessSteel];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
598  hmgr->addHistoProf2(new TProfile2D(
599  "10850", "IL prof sum R z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
600  hmgr->addHistoProf2(new TProfile2D("10852",
601  "IL ortho prof sum R z [StainlessSteel];z [mm];R [mm];x/X_{0} ",
602  nzbin_,
603  zMin_,
604  zMax_,
605  nrbin_,
606  rMin_,
607  rMax_));
608  hmgr->addHisto2(new TH2F(
609  "10860", "IL prof local R z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
610  hmgr->addHistoProf2(new TProfile2D(
611  "10870", "IL prof local R z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
612  hmgr->addHistoProf2(new TProfile2D("10872",
613  "IL ortho prof local R z [StainlessSteel];z [mm];R [mm];x/X_{0} ",
614  nzbin_,
615  zMin_,
616  zMax_,
617  nrbin_,
618  rMin_,
619  rMax_));
620 
621  //WCu
622  hmgr->addHistoProf1(new TProfile("10910", "IL prof Eta [WCu];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
623  hmgr->addHistoProf1(
624  new TProfile("10920", "IL prof Phi [WCu];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
625  hmgr->addHistoProf2(new TProfile2D("10930",
626  "IL prof Eta Phi [WCu];#eta;#varphi;#lambda/#lambda_{0}",
627  netabin_,
628  etaMin_,
629  etaMax_,
630  nphibin_,
631  phiMin_,
632  phiMax_));
633  hmgr->addHistoProf1(new TProfile("10940", "IL prof R [WCu];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
634  hmgr->addHistoProf2(new TProfile2D(
635  "10950", "IL prof sum R z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
636  hmgr->addHistoProf2(new TProfile2D(
637  "10952", "IL ortho prof sum R z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
638  hmgr->addHisto2(
639  new TH2F("10960", "IL prof local R z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
640  hmgr->addHistoProf2(new TProfile2D(
641  "10970", "IL prof local R z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
642  hmgr->addHistoProf2(new TProfile2D(
643  "10972", "IL ortho prof local R z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
644 
645  // Lead
646  hmgr->addHistoProf1(new TProfile("11010", "IL prof Eta [Lead];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
647  hmgr->addHistoProf1(
648  new TProfile("11020", "IL prof Phi [Lead];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
649  hmgr->addHistoProf2(new TProfile2D("11030",
650  "IL prof Eta Phi [Lead];#eta;#varphi;#lambda/#lambda_{0}",
651  netabin_,
652  etaMin_,
653  etaMax_,
654  nphibin_,
655  phiMin_,
656  phiMax_));
657  hmgr->addHistoProf1(new TProfile("11040", "IL prof R [Lead];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
658  hmgr->addHistoProf2(new TProfile2D(
659  "11050", "IL prof sum R z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
660  hmgr->addHistoProf2(new TProfile2D(
661  "11052", "IL ortho prof sum R z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
662  hmgr->addHisto2(new TH2F(
663  "11060", "IL prof local R z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
664  hmgr->addHistoProf2(new TProfile2D(
665  "11070", "IL prof local R z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
666  hmgr->addHistoProf2(new TProfile2D(
667  "11072", "IL ortho prof local R z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
668 
669  // Epoxy
670  hmgr->addHistoProf1(
671  new TProfile("11110", "IL prof Eta [Epoxy];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
672  hmgr->addHistoProf1(
673  new TProfile("11120", "IL prof Phi [Epoxy];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
674  hmgr->addHistoProf2(new TProfile2D("11130",
675  "IL prof Eta Phi [Epoxy];#eta;#varphi;#lambda/#lambda_{0}",
676  netabin_,
677  etaMin_,
678  etaMax_,
679  nphibin_,
680  phiMin_,
681  phiMax_));
682  hmgr->addHistoProf1(new TProfile("11140", "IL prof R [Epoxy];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
683  hmgr->addHistoProf2(new TProfile2D(
684  "11150", "IL prof sum R z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
685  hmgr->addHistoProf2(new TProfile2D(
686  "11152", "IL ortho prof sum R z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
687  hmgr->addHisto2(new TH2F(
688  "11160", "IL prof local R z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
689  hmgr->addHistoProf2(new TProfile2D(
690  "11170", "IL prof local R z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
691  hmgr->addHistoProf2(new TProfile2D(
692  "11172", "IL ortho prof local R z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
693 
694  // Kapton
695  hmgr->addHistoProf1(
696  new TProfile("11210", "IL prof Eta [Kapton];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
697  hmgr->addHistoProf1(
698  new TProfile("11220", "IL prof Phi [Kapton];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
699  hmgr->addHistoProf2(new TProfile2D("11230",
700  "IL prof Eta Phi [Kapton];#eta;#varphi;#lambda/#lambda_{0}",
701  netabin_,
702  etaMin_,
703  etaMax_,
704  nphibin_,
705  phiMin_,
706  phiMax_));
707  hmgr->addHistoProf1(new TProfile("11240", "IL prof R [Kapton];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
708  hmgr->addHistoProf2(new TProfile2D(
709  "11250", "IL prof sum R z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
710  hmgr->addHistoProf2(new TProfile2D(
711  "11252", "IL ortho prof sum R z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
712  hmgr->addHisto2(new TH2F(
713  "11260", "IL prof local R z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
714  hmgr->addHistoProf2(new TProfile2D(
715  "11270", "IL prof local R z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
716  hmgr->addHistoProf2(new TProfile2D(
717  "11272", "IL ortho prof local R z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
718 
719  // Aluminium
720  hmgr->addHistoProf1(
721  new TProfile("11310", "IL prof Eta [Aluminium];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
722  hmgr->addHistoProf1(
723  new TProfile("11320", "IL prof Phi [Aluminium];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
724  hmgr->addHistoProf2(new TProfile2D("11330",
725  "IL prof Eta Phi [Aluminium];#eta;#varphi;#lambda/#lambda_{0}",
726  netabin_,
727  etaMin_,
728  etaMax_,
729  nphibin_,
730  phiMin_,
731  phiMax_));
732  hmgr->addHistoProf1(new TProfile("11340", "IL prof R [Aluminium];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
733  hmgr->addHistoProf2(new TProfile2D(
734  "11350", "IL prof sum R z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
735  hmgr->addHistoProf2(new TProfile2D(
736  "11352", "IL ortho prof sum R z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
737  hmgr->addHisto2(new TH2F(
738  "11360", "IL prof local R z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
739  hmgr->addHistoProf2(new TProfile2D(
740  "11370", "IL prof local R z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
741  hmgr->addHistoProf2(new TProfile2D("11372",
742  "IL ortho prof local R z [Aluminium];z [mm];R [mm];x/X_{0} ",
743  nzbin_,
744  zMin_,
745  zMax_,
746  nrbin_,
747  rMin_,
748  rMax_));
749 
750  std::cout << "=== booking user histos done ===" << std::endl;
751 }
752 
754 
756 
758  //
759  // fill histograms and profiles only if the material has been crossed
760  //
761 
762  if (theData->getNumberOfSteps() != 0) {
763  // Total X0
764  hmgr->getHisto1(11)->Fill(theData->getEta());
765  hmgr->getHisto1(21)->Fill(theData->getPhi());
766  hmgr->getHisto2(31)->Fill(theData->getEta(), theData->getPhi());
767 
768  hmgr->getHistoProf1(10)->Fill(theData->getEta(), theData->getTotalMB());
769  hmgr->getHistoProf1(20)->Fill(theData->getPhi(), theData->getTotalMB());
770  hmgr->getHistoProf2(30)->Fill(theData->getEta(), theData->getPhi(), theData->getTotalMB());
771 
772  // rr
773 
774  // Copper
775  hmgr->getHistoProf1(110)->Fill(theData->getEta(), theData->getCopperMB());
776  hmgr->getHistoProf1(120)->Fill(theData->getPhi(), theData->getCopperMB());
777  hmgr->getHistoProf2(130)->Fill(theData->getEta(), theData->getPhi(), theData->getCopperMB());
778 
779  // H_Scintillator
780  hmgr->getHistoProf1(210)->Fill(theData->getEta(), theData->getH_ScintillatorMB());
781  hmgr->getHistoProf1(220)->Fill(theData->getPhi(), theData->getH_ScintillatorMB());
782  hmgr->getHistoProf2(230)->Fill(theData->getEta(), theData->getPhi(), theData->getH_ScintillatorMB());
783 
784  // Cables
785  hmgr->getHistoProf1(310)->Fill(theData->getEta(), theData->getCablesMB());
786  hmgr->getHistoProf1(320)->Fill(theData->getPhi(), theData->getCablesMB());
787  hmgr->getHistoProf2(330)->Fill(theData->getEta(), theData->getPhi(), theData->getCablesMB());
788 
789  // HGC_G10_FR4
790  hmgr->getHistoProf1(410)->Fill(theData->getEta(), theData->getHGC_G10_FR4MB());
791  hmgr->getHistoProf1(420)->Fill(theData->getPhi(), theData->getHGC_G10_FR4MB());
792  hmgr->getHistoProf2(430)->Fill(theData->getEta(), theData->getPhi(), theData->getHGC_G10_FR4MB());
793 
794  // Silicon
795  hmgr->getHistoProf1(510)->Fill(theData->getEta(), theData->getSiliconMB());
796  hmgr->getHistoProf1(520)->Fill(theData->getPhi(), theData->getSiliconMB());
797  hmgr->getHistoProf2(530)->Fill(theData->getEta(), theData->getPhi(), theData->getSiliconMB());
798 
799  // Other
800  hmgr->getHistoProf1(610)->Fill(theData->getEta(), theData->getOtherMB());
801  hmgr->getHistoProf1(620)->Fill(theData->getPhi(), theData->getOtherMB());
802  hmgr->getHistoProf2(630)->Fill(theData->getEta(), theData->getPhi(), theData->getOtherMB());
803 
804  // Air
805  hmgr->getHistoProf1(710)->Fill(theData->getEta(), theData->getAirMB());
806  hmgr->getHistoProf1(720)->Fill(theData->getPhi(), theData->getAirMB());
807  hmgr->getHistoProf2(730)->Fill(theData->getEta(), theData->getPhi(), theData->getAirMB());
808 
809  // StainlessSteel
810  hmgr->getHistoProf1(810)->Fill(theData->getEta(), theData->getStainlessSteelMB());
811  hmgr->getHistoProf1(820)->Fill(theData->getPhi(), theData->getStainlessSteelMB());
812  hmgr->getHistoProf2(830)->Fill(theData->getEta(), theData->getPhi(), theData->getStainlessSteelMB());
813 
814  // WCu
815  hmgr->getHistoProf1(910)->Fill(theData->getEta(), theData->getWCuMB());
816  hmgr->getHistoProf1(920)->Fill(theData->getPhi(), theData->getWCuMB());
817  hmgr->getHistoProf2(930)->Fill(theData->getEta(), theData->getPhi(), theData->getWCuMB());
818 
819  // Lead
820  hmgr->getHistoProf1(1010)->Fill(theData->getEta(), theData->getLeadMB());
821  hmgr->getHistoProf1(1020)->Fill(theData->getPhi(), theData->getLeadMB());
822  hmgr->getHistoProf2(1030)->Fill(theData->getEta(), theData->getPhi(), theData->getLeadMB());
823 
824  // Epoxy
825  hmgr->getHistoProf1(1110)->Fill(theData->getEta(), theData->getEpoxyMB());
826  hmgr->getHistoProf1(1120)->Fill(theData->getPhi(), theData->getEpoxyMB());
827  hmgr->getHistoProf2(1130)->Fill(theData->getEta(), theData->getPhi(), theData->getEpoxyMB());
828 
829  // Kapton
830  hmgr->getHistoProf1(1210)->Fill(theData->getEta(), theData->getKaptonMB());
831  hmgr->getHistoProf1(1220)->Fill(theData->getPhi(), theData->getKaptonMB());
832  hmgr->getHistoProf2(1230)->Fill(theData->getEta(), theData->getPhi(), theData->getKaptonMB());
833 
834  // Kapton
835  hmgr->getHistoProf1(1310)->Fill(theData->getEta(), theData->getAluminiumMB());
836  hmgr->getHistoProf1(1320)->Fill(theData->getPhi(), theData->getAluminiumMB());
837  hmgr->getHistoProf2(1330)->Fill(theData->getEta(), theData->getPhi(), theData->getAluminiumMB());
838  //
839  // Compute the total x/X0 crossed at each step radius for each path
840  //
841  //
842  float theTotalMB_TOT = 0.0;
843  float theTotalMB_COP = 0.0;
844  float theTotalMB_SCI = 0.0;
845  float theTotalMB_CAB = 0.0;
846  float theTotalMB_HGF = 0.0;
847  float theTotalMB_NIM = 0.0;
848  float theTotalMB_OTH = 0.0;
849  float theTotalMB_AIR = 0.0;
850  float theTotalMB_SST = 0.0;
851  float theTotalMB_WCU = 0.0;
852  float theTotalMB_LEA = 0.0;
853  float theTotalMB_EPX = 0.0;
854  float theTotalMB_KAP = 0.0;
855  float theTotalMB_ALU = 0.0;
856  for (int iStep = 0; iStep < theData->getNumberOfSteps(); iStep++) {
857  theTotalMB_TOT += theData->getStepDmb(iStep);
858  theTotalMB_COP += theData->getCopperDmb(iStep);
859  theTotalMB_SCI += theData->getH_ScintillatorDmb(iStep);
860  theTotalMB_CAB += theData->getCablesDmb(iStep);
861  theTotalMB_HGF += theData->getHGC_G10_FR4Dmb(iStep);
862  theTotalMB_NIM += theData->getSiliconDmb(iStep);
863  theTotalMB_OTH += theData->getOtherDmb(iStep);
864  theTotalMB_AIR += theData->getAirDmb(iStep);
865  theTotalMB_SST += theData->getStainlessSteelDmb(iStep);
866  theTotalMB_WCU += theData->getWCuDmb(iStep);
867  theTotalMB_LEA += theData->getLeadDmb(iStep);
868  theTotalMB_EPX += theData->getEpoxyDmb(iStep);
869  theTotalMB_KAP += theData->getKaptonDmb(iStep);
870  theTotalMB_ALU += theData->getAluminiumDmb(iStep);
871 
872  int iCop = 0;
873  int iSci = 0;
874  int iCab = 0;
875  int iHgf = 0;
876  int iSil = 0;
877  int iOth = 0;
878  int iAir = 0;
879  int iSst = 0;
880  int iWcu = 0;
881  int iLea = 0;
882  int iEpx = 0;
883  int iKap = 0;
884  int iAlu = 0;
885  if (theData->getCopperDmb(iStep) > 0.) {
886  iCop = 1;
887  }
888  if (theData->getH_ScintillatorDmb(iStep) > 0.) {
889  iSci = 1;
890  }
891  if (theData->getCablesDmb(iStep) > 0.) {
892  iCab = 1;
893  }
894  if (theData->getHGC_G10_FR4Dmb(iStep) > 0.) {
895  iHgf = 1;
896  }
897  if (theData->getSiliconDmb(iStep) > 0.) {
898  iSil = 1;
899  }
900  if (theData->getOtherDmb(iStep) > 0.) {
901  iOth = 1;
902  }
903  if (theData->getAirDmb(iStep) > 0.) {
904  iAir = 1;
905  }
906  if (theData->getStainlessSteelDmb(iStep) > 0.) {
907  iSst = 1;
908  }
909  if (theData->getWCuDmb(iStep) > 0.) {
910  iWcu = 1;
911  }
912  if (theData->getLeadDmb(iStep) > 0.) {
913  iLea = 1;
914  }
915  if (theData->getEpoxyDmb(iStep) > 0.) {
916  iEpx = 1;
917  }
918  if (theData->getKaptonDmb(iStep) > 0.) {
919  iKap = 1;
920  }
921  if (theData->getAluminiumDmb(iStep) > 0.) {
922  iAlu = 1;
923  }
924 
925  float deltaRadius = sqrt(pow(theData->getStepFinalX(iStep) - theData->getStepInitialX(iStep), 2) +
926  pow(theData->getStepFinalY(iStep) - theData->getStepInitialY(iStep), 2));
927  float deltaz = theData->getStepFinalZ(iStep) - theData->getStepInitialZ(iStep);
928 
929  float deltaeta = theData->getStepFinalEta(iStep) - theData->getStepInitialEta(iStep);
930 
931  // float deltaphi = theData->getStepFinalPhi(iStep)-theData->getStepInitialPhi(iStep) ;
932 
933  float x0 = theData->getStepMaterialX0(iStep);
934 
935  int nSubStep = 2;
936  float boxWidth = 0.1;
937  if ((deltaRadius > boxWidth) || (fabs(deltaz) > boxWidth)) {
938  nSubStep = static_cast<int>(max(ceil(deltaRadius / boxWidth / 2.) * 2, ceil(fabs(deltaz) / boxWidth / 2.) * 2));
939  }
940 
941  for (int iSubStep = 1; iSubStep < nSubStep; iSubStep += 2) {
942  float subdeltaRadius = deltaRadius / nSubStep;
943  float polarRadius = sqrt(pow(theData->getStepInitialX(iStep), 2) + pow(theData->getStepInitialY(iStep), 2)) +
944  iSubStep * subdeltaRadius;
945 
946  float subdeltaz = deltaz / nSubStep;
947  float z = theData->getStepInitialZ(iStep) + iSubStep * subdeltaz;
948 
949  float subdeltaeta = deltaeta / nSubStep;
950  float eta = theData->getStepInitialEta(iStep) + iSubStep * subdeltaeta;
951 
952  // float subdeltaphi = deltaphi/nSubStep;
953  // float phi = theData->getStepInitialPhi(iStep) + iSubStep*subdeltaphi;
954 
955  float subdelta = sqrt(pow(subdeltaRadius, 2) + pow(subdeltaz, 2));
956 
957  float fillValue = subdelta / x0;
958 
959  float costhetacorrection = cos(2 * atan(exp(-fabs(eta))));
960  // Average length
961  hmgr->getHisto2(999)->Fill(z, polarRadius, subdelta);
962  // Total
963  hmgr->getHisto1(41)->Fill(polarRadius);
964  hmgr->getHistoProf1(40)->Fill(polarRadius, theTotalMB_TOT);
965  hmgr->getHisto2(51)->Fill(z, polarRadius);
966  hmgr->getHistoProf2(50)->Fill(z, polarRadius, theTotalMB_TOT);
967  hmgr->getHistoProf2(52)->Fill(z, polarRadius, theTotalMB_TOT * costhetacorrection);
968  hmgr->getHisto2(60)->Fill(z, polarRadius, fillValue);
969  hmgr->getHistoProf2(70)->Fill(z, polarRadius, fillValue);
970  hmgr->getHistoProf2(72)->Fill(z, polarRadius, fillValue * costhetacorrection);
971 
972  // Copper
973  hmgr->getHistoProf1(140)->Fill(polarRadius, theTotalMB_COP);
974  hmgr->getHistoProf2(150)->Fill(z, polarRadius, theTotalMB_COP);
975  hmgr->getHistoProf2(152)->Fill(z, polarRadius, theTotalMB_COP * costhetacorrection);
976  hmgr->getHisto2(160)->Fill(z, polarRadius, iCop * fillValue);
977  hmgr->getHistoProf2(170)->Fill(z, polarRadius, iCop * fillValue);
978  hmgr->getHistoProf2(172)->Fill(z, polarRadius, iCop * fillValue * costhetacorrection);
979 
980  // H_Scintillator
981  hmgr->getHistoProf1(240)->Fill(polarRadius, theTotalMB_SCI);
982  hmgr->getHistoProf2(250)->Fill(z, polarRadius, theTotalMB_SCI);
983  hmgr->getHistoProf2(252)->Fill(z, polarRadius, theTotalMB_SCI * costhetacorrection);
984  hmgr->getHisto2(260)->Fill(z, polarRadius, iSci * fillValue);
985  hmgr->getHistoProf2(270)->Fill(z, polarRadius, iSci * fillValue);
986  hmgr->getHistoProf2(272)->Fill(z, polarRadius, iSci * fillValue * costhetacorrection);
987 
988  // Cables
989  hmgr->getHistoProf1(340)->Fill(polarRadius, theTotalMB_CAB);
990  hmgr->getHistoProf2(350)->Fill(z, polarRadius, theTotalMB_CAB);
991  hmgr->getHistoProf2(352)->Fill(z, polarRadius, theTotalMB_CAB * costhetacorrection);
992  hmgr->getHisto2(360)->Fill(z, polarRadius, iCab * fillValue);
993  hmgr->getHistoProf2(370)->Fill(z, polarRadius, iCab * fillValue);
994  hmgr->getHistoProf2(372)->Fill(z, polarRadius, iCab * fillValue * costhetacorrection);
995 
996  // HGC_G10_FR4
997  hmgr->getHistoProf1(440)->Fill(polarRadius, theTotalMB_HGF);
998  hmgr->getHistoProf2(450)->Fill(z, polarRadius, theTotalMB_HGF);
999  hmgr->getHistoProf2(452)->Fill(z, polarRadius, theTotalMB_HGF * costhetacorrection);
1000  hmgr->getHisto2(460)->Fill(z, polarRadius, iHgf * fillValue);
1001  hmgr->getHistoProf2(470)->Fill(z, polarRadius, iHgf * fillValue);
1002  hmgr->getHistoProf2(472)->Fill(z, polarRadius, iHgf * fillValue * costhetacorrection);
1003 
1004  // Silicon
1005  hmgr->getHistoProf1(540)->Fill(polarRadius, theTotalMB_NIM);
1006  hmgr->getHistoProf2(550)->Fill(z, polarRadius, theTotalMB_NIM);
1007  hmgr->getHistoProf2(552)->Fill(z, polarRadius, theTotalMB_NIM * costhetacorrection);
1008  hmgr->getHisto2(560)->Fill(z, polarRadius, iSil * fillValue);
1009  hmgr->getHistoProf2(570)->Fill(z, polarRadius, iSil * fillValue);
1010  hmgr->getHistoProf2(572)->Fill(z, polarRadius, iSil * fillValue * costhetacorrection);
1011 
1012  // Other
1013  hmgr->getHistoProf1(640)->Fill(polarRadius, theTotalMB_OTH);
1014  hmgr->getHistoProf2(650)->Fill(z, polarRadius, theTotalMB_OTH);
1015  hmgr->getHistoProf2(652)->Fill(z, polarRadius, theTotalMB_OTH * costhetacorrection);
1016  hmgr->getHisto2(660)->Fill(z, polarRadius, iOth * fillValue);
1017  hmgr->getHistoProf2(670)->Fill(z, polarRadius, iOth * fillValue);
1018  hmgr->getHistoProf2(672)->Fill(z, polarRadius, iOth * fillValue * costhetacorrection);
1019 
1020  // Air
1021  hmgr->getHistoProf1(740)->Fill(polarRadius, theTotalMB_AIR);
1022  hmgr->getHistoProf2(750)->Fill(z, polarRadius, theTotalMB_AIR);
1023  hmgr->getHistoProf2(752)->Fill(z, polarRadius, theTotalMB_AIR * costhetacorrection);
1024  hmgr->getHisto2(760)->Fill(z, polarRadius, iAir * fillValue);
1025  hmgr->getHistoProf2(770)->Fill(z, polarRadius, iAir * fillValue);
1026  hmgr->getHistoProf2(772)->Fill(z, polarRadius, iAir * fillValue * costhetacorrection);
1027 
1028  // StainlessSteel
1029  hmgr->getHistoProf1(840)->Fill(polarRadius, theTotalMB_SST);
1030  hmgr->getHistoProf2(850)->Fill(z, polarRadius, theTotalMB_SST);
1031  hmgr->getHistoProf2(852)->Fill(z, polarRadius, theTotalMB_SST * costhetacorrection);
1032  hmgr->getHisto2(860)->Fill(z, polarRadius, iSst * fillValue);
1033  hmgr->getHistoProf2(870)->Fill(z, polarRadius, iSst * fillValue);
1034  hmgr->getHistoProf2(872)->Fill(z, polarRadius, iSst * fillValue * costhetacorrection);
1035 
1036  // WCu
1037  hmgr->getHistoProf1(940)->Fill(polarRadius, theTotalMB_WCU);
1038  hmgr->getHistoProf2(950)->Fill(z, polarRadius, theTotalMB_WCU);
1039  hmgr->getHistoProf2(952)->Fill(z, polarRadius, theTotalMB_WCU * costhetacorrection);
1040  hmgr->getHisto2(960)->Fill(z, polarRadius, iWcu * fillValue);
1041  hmgr->getHistoProf2(970)->Fill(z, polarRadius, iWcu * fillValue);
1042  hmgr->getHistoProf2(972)->Fill(z, polarRadius, iWcu * fillValue * costhetacorrection);
1043 
1044  // Lead
1045  hmgr->getHistoProf1(1040)->Fill(polarRadius, theTotalMB_LEA);
1046  hmgr->getHistoProf2(1050)->Fill(z, polarRadius, theTotalMB_LEA);
1047  hmgr->getHistoProf2(1052)->Fill(z, polarRadius, theTotalMB_LEA * costhetacorrection);
1048  hmgr->getHisto2(1060)->Fill(z, polarRadius, iLea * fillValue);
1049  hmgr->getHistoProf2(1070)->Fill(z, polarRadius, iLea * fillValue);
1050  hmgr->getHistoProf2(1072)->Fill(z, polarRadius, iLea * fillValue * costhetacorrection);
1051 
1052  // Epoxy
1053  hmgr->getHistoProf1(1140)->Fill(polarRadius, theTotalMB_EPX);
1054  hmgr->getHistoProf2(1150)->Fill(z, polarRadius, theTotalMB_EPX);
1055  hmgr->getHistoProf2(1152)->Fill(z, polarRadius, theTotalMB_EPX * costhetacorrection);
1056  hmgr->getHisto2(1160)->Fill(z, polarRadius, iEpx * fillValue);
1057  hmgr->getHistoProf2(1170)->Fill(z, polarRadius, iEpx * fillValue);
1058  hmgr->getHistoProf2(1172)->Fill(z, polarRadius, iEpx * fillValue * costhetacorrection);
1059 
1060  // Kapton
1061  hmgr->getHistoProf1(1240)->Fill(polarRadius, theTotalMB_KAP);
1062  hmgr->getHistoProf2(1250)->Fill(z, polarRadius, theTotalMB_KAP);
1063  hmgr->getHistoProf2(1252)->Fill(z, polarRadius, theTotalMB_KAP * costhetacorrection);
1064  hmgr->getHisto2(1260)->Fill(z, polarRadius, iKap * fillValue);
1065  hmgr->getHistoProf2(1270)->Fill(z, polarRadius, iKap * fillValue);
1066  hmgr->getHistoProf2(1272)->Fill(z, polarRadius, iKap * fillValue * costhetacorrection);
1067 
1068  // Aluminium
1069  hmgr->getHistoProf1(1340)->Fill(polarRadius, theTotalMB_ALU);
1070  hmgr->getHistoProf2(1350)->Fill(z, polarRadius, theTotalMB_ALU);
1071  hmgr->getHistoProf2(1352)->Fill(z, polarRadius, theTotalMB_ALU * costhetacorrection);
1072  hmgr->getHisto2(1360)->Fill(z, polarRadius, iAlu * fillValue);
1073  hmgr->getHistoProf2(1370)->Fill(z, polarRadius, iAlu * fillValue);
1074  hmgr->getHistoProf2(1372)->Fill(z, polarRadius, iAlu * fillValue * costhetacorrection);
1075  }
1076  }
1077 
1078  //============================================================================================
1079  // Total Lambda0
1080  hmgr->getHistoProf1(10010)->Fill(theData->getEta(), theData->getTotalIL());
1081  hmgr->getHistoProf1(10020)->Fill(theData->getPhi(), theData->getTotalIL());
1082  hmgr->getHistoProf2(10030)->Fill(theData->getEta(), theData->getPhi(), theData->getTotalIL());
1083 
1084  // Copper
1085  hmgr->getHistoProf1(10110)->Fill(theData->getEta(), theData->getCopperIL());
1086  hmgr->getHistoProf1(10120)->Fill(theData->getPhi(), theData->getCopperIL());
1087  hmgr->getHistoProf2(10130)->Fill(theData->getEta(), theData->getPhi(), theData->getCopperIL());
1088 
1089  // H_Scintillator
1090  hmgr->getHistoProf1(10210)->Fill(theData->getEta(), theData->getH_ScintillatorIL());
1091  hmgr->getHistoProf1(10220)->Fill(theData->getPhi(), theData->getH_ScintillatorIL());
1092  hmgr->getHistoProf2(10230)->Fill(theData->getEta(), theData->getPhi(), theData->getH_ScintillatorIL());
1093 
1094  // Cables
1095  hmgr->getHistoProf1(10310)->Fill(theData->getEta(), theData->getCablesIL());
1096  hmgr->getHistoProf1(10320)->Fill(theData->getPhi(), theData->getCablesIL());
1097  hmgr->getHistoProf2(10330)->Fill(theData->getEta(), theData->getPhi(), theData->getCablesIL());
1098 
1099  // HGC_G10_FR4
1100  hmgr->getHistoProf1(10410)->Fill(theData->getEta(), theData->getHGC_G10_FR4IL());
1101  hmgr->getHistoProf1(10420)->Fill(theData->getPhi(), theData->getHGC_G10_FR4IL());
1102  hmgr->getHistoProf2(10430)->Fill(theData->getEta(), theData->getPhi(), theData->getHGC_G10_FR4IL());
1103 
1104  // Silicon
1105  hmgr->getHistoProf1(10510)->Fill(theData->getEta(), theData->getSiliconIL());
1106  hmgr->getHistoProf1(10520)->Fill(theData->getPhi(), theData->getSiliconIL());
1107  hmgr->getHistoProf2(10530)->Fill(theData->getEta(), theData->getPhi(), theData->getSiliconIL());
1108 
1109  // Other
1110  hmgr->getHistoProf1(10610)->Fill(theData->getEta(), theData->getOtherIL());
1111  hmgr->getHistoProf1(10620)->Fill(theData->getPhi(), theData->getOtherIL());
1112  hmgr->getHistoProf2(10630)->Fill(theData->getEta(), theData->getPhi(), theData->getOtherIL());
1113 
1114  // Air
1115  hmgr->getHistoProf1(10710)->Fill(theData->getEta(), theData->getAirIL());
1116  hmgr->getHistoProf1(10720)->Fill(theData->getPhi(), theData->getAirIL());
1117  hmgr->getHistoProf2(10730)->Fill(theData->getEta(), theData->getPhi(), theData->getAirIL());
1118 
1119  // StainlessSteel
1120  hmgr->getHistoProf1(10810)->Fill(theData->getEta(), theData->getStainlessSteelIL());
1121  hmgr->getHistoProf1(10820)->Fill(theData->getPhi(), theData->getStainlessSteelIL());
1122  hmgr->getHistoProf2(10830)->Fill(theData->getEta(), theData->getPhi(), theData->getStainlessSteelIL());
1123 
1124  // WCu
1125  hmgr->getHistoProf1(10910)->Fill(theData->getEta(), theData->getWCuIL());
1126  hmgr->getHistoProf1(10920)->Fill(theData->getPhi(), theData->getWCuIL());
1127  hmgr->getHistoProf2(10930)->Fill(theData->getEta(), theData->getPhi(), theData->getWCuIL());
1128 
1129  // Lead
1130  hmgr->getHistoProf1(11010)->Fill(theData->getEta(), theData->getLeadIL());
1131  hmgr->getHistoProf1(11020)->Fill(theData->getPhi(), theData->getLeadIL());
1132  hmgr->getHistoProf2(11030)->Fill(theData->getEta(), theData->getPhi(), theData->getLeadIL());
1133 
1134  // Epoxy
1135  hmgr->getHistoProf1(11110)->Fill(theData->getEta(), theData->getEpoxyIL());
1136  hmgr->getHistoProf1(11120)->Fill(theData->getPhi(), theData->getEpoxyIL());
1137  hmgr->getHistoProf2(11130)->Fill(theData->getEta(), theData->getPhi(), theData->getEpoxyIL());
1138 
1139  // Kapton
1140  hmgr->getHistoProf1(11210)->Fill(theData->getEta(), theData->getKaptonIL());
1141  hmgr->getHistoProf1(11220)->Fill(theData->getPhi(), theData->getKaptonIL());
1142  hmgr->getHistoProf2(11230)->Fill(theData->getEta(), theData->getPhi(), theData->getKaptonIL());
1143 
1144  // Aluminium
1145  hmgr->getHistoProf1(11310)->Fill(theData->getEta(), theData->getAluminiumIL());
1146  hmgr->getHistoProf1(11320)->Fill(theData->getPhi(), theData->getAluminiumIL());
1147  hmgr->getHistoProf2(11330)->Fill(theData->getEta(), theData->getPhi(), theData->getAluminiumIL());
1148 
1149  // Compute the total l/l0 crossed at each step radius for each path
1150  float theTotalIL_TOT = 0.0;
1151  float theTotalIL_COP = 0.0;
1152  float theTotalIL_SCI = 0.0;
1153  float theTotalIL_CAB = 0.0;
1154  float theTotalIL_HGF = 0.0;
1155  float theTotalIL_NIM = 0.0;
1156  float theTotalIL_OTH = 0.0;
1157  float theTotalIL_AIR = 0.0;
1158  float theTotalIL_SST = 0.0;
1159  float theTotalIL_WCU = 0.0;
1160  float theTotalIL_LEA = 0.0;
1161  float theTotalIL_EPX = 0.0;
1162  float theTotalIL_KAP = 0.0;
1163  float theTotalIL_ALU = 0.0;
1164  for (int iStep = 0; iStep < theData->getNumberOfSteps(); iStep++) {
1165  theTotalIL_TOT += theData->getStepDil(iStep);
1166  theTotalIL_COP += theData->getCopperDil(iStep);
1167  theTotalIL_SCI += theData->getH_ScintillatorDil(iStep);
1168  theTotalIL_CAB += theData->getCablesDil(iStep);
1169  theTotalIL_HGF += theData->getHGC_G10_FR4Dil(iStep);
1170  theTotalIL_NIM += theData->getSiliconDil(iStep);
1171  theTotalIL_OTH += theData->getOtherDil(iStep);
1172  theTotalIL_AIR += theData->getAirDil(iStep);
1173  theTotalIL_SST += theData->getStainlessSteelDil(iStep);
1174  theTotalIL_WCU += theData->getWCuDil(iStep);
1175  theTotalIL_LEA += theData->getLeadDil(iStep);
1176  theTotalIL_EPX += theData->getEpoxyDil(iStep);
1177  theTotalIL_KAP += theData->getKaptonDil(iStep);
1178  theTotalIL_ALU += theData->getAluminiumDil(iStep);
1179 
1180  int iCop = 0;
1181  int iSci = 0;
1182  int iCab = 0;
1183  int iHgf = 0;
1184  int iSil = 0;
1185  int iOth = 0;
1186  int iAir = 0;
1187  int iSst = 0;
1188  int iWcu = 0;
1189  int iLea = 0;
1190  int iEpx = 0;
1191  int iKap = 0;
1192  int iAlu = 0;
1193 
1194  if (theData->getCopperDil(iStep) > 0.) {
1195  iCop = 1;
1196  }
1197  if (theData->getH_ScintillatorDil(iStep) > 0.) {
1198  iSci = 1;
1199  }
1200  if (theData->getCablesDil(iStep) > 0.) {
1201  iCab = 1;
1202  }
1203  if (theData->getHGC_G10_FR4Dil(iStep) > 0.) {
1204  iHgf = 1;
1205  }
1206  if (theData->getSiliconDil(iStep) > 0.) {
1207  iSil = 1;
1208  }
1209  if (theData->getOtherDil(iStep) > 0.) {
1210  iOth = 1;
1211  }
1212  if (theData->getAirDil(iStep) > 0.) {
1213  iAir = 1;
1214  }
1215  if (theData->getStainlessSteelDil(iStep) > 0.) {
1216  iSst = 1;
1217  }
1218  if (theData->getWCuDil(iStep) > 0.) {
1219  iWcu = 1;
1220  }
1221  if (theData->getLeadDil(iStep) > 0.) {
1222  iLea = 1;
1223  }
1224  if (theData->getEpoxyDil(iStep) > 0.) {
1225  iEpx = 1;
1226  }
1227  if (theData->getKaptonDil(iStep) > 0.) {
1228  iKap = 1;
1229  }
1230  if (theData->getAluminiumDil(iStep) > 0.) {
1231  iAlu = 1;
1232  }
1233 
1234  float deltaRadius = sqrt(pow(theData->getStepFinalX(iStep) - theData->getStepInitialX(iStep), 2) +
1235  pow(theData->getStepFinalY(iStep) - theData->getStepInitialY(iStep), 2));
1236  float deltaz = theData->getStepFinalZ(iStep) - theData->getStepInitialZ(iStep);
1237 
1238  float deltaeta = theData->getStepFinalEta(iStep) - theData->getStepInitialEta(iStep);
1239 
1240  // float deltaphi = theData->getStepFinalPhi(iStep)-theData->getStepInitialPhi(iStep) ;
1241 
1242  float il = theData->getStepMaterialLambda0(iStep);
1243 
1244  int nSubStep = 2;
1245  float boxWidth = 0.1;
1246  if ((deltaRadius > boxWidth) || (fabs(deltaz) > boxWidth)) {
1247  nSubStep = static_cast<int>(max(ceil(deltaRadius / boxWidth / 2.) * 2, ceil(fabs(deltaz) / boxWidth / 2.) * 2));
1248  }
1249 
1250  for (int iSubStep = 1; iSubStep < nSubStep; iSubStep += 2) {
1251  float subdeltaRadius = deltaRadius / nSubStep;
1252  float polarRadius = sqrt(pow(theData->getStepInitialX(iStep), 2) + pow(theData->getStepInitialY(iStep), 2)) +
1253  iSubStep * subdeltaRadius;
1254 
1255  float subdeltaz = deltaz / nSubStep;
1256  float z = theData->getStepInitialZ(iStep) + iSubStep * subdeltaz;
1257 
1258  float subdeltaeta = deltaeta / nSubStep;
1259  float eta = theData->getStepInitialEta(iStep) + iSubStep * subdeltaeta;
1260 
1261  // float subdeltaphi = deltaphi/nSubStep;
1262  // float phi = theData->getStepInitialPhi(iStep) + iSubStep*subdeltaphi;
1263 
1264  float subdelta = sqrt(pow(subdeltaRadius, 2) + pow(subdeltaz, 2));
1265 
1266  float fillValue = subdelta / il;
1267 
1268  float costhetacorrection = cos(2 * atan(exp(-fabs(eta))));
1269  // Average length
1270  hmgr->getHisto2(1999)->Fill(z, polarRadius, subdelta);
1271  // Total
1272  hmgr->getHistoProf1(10040)->Fill(polarRadius, theTotalIL_TOT);
1273  hmgr->getHistoProf2(10050)->Fill(z, polarRadius, theTotalIL_TOT);
1274  hmgr->getHistoProf2(10052)->Fill(z, polarRadius, theTotalIL_TOT * costhetacorrection);
1275  hmgr->getHisto2(10060)->Fill(z, polarRadius, fillValue);
1276  hmgr->getHistoProf2(10070)->Fill(z, polarRadius, fillValue);
1277  hmgr->getHistoProf2(10072)->Fill(z, polarRadius, fillValue * costhetacorrection);
1278 
1279  // Copper
1280  hmgr->getHistoProf1(10140)->Fill(polarRadius, theTotalIL_COP);
1281  hmgr->getHistoProf2(10150)->Fill(z, polarRadius, theTotalIL_COP);
1282  hmgr->getHistoProf2(10152)->Fill(z, polarRadius, theTotalIL_COP * costhetacorrection);
1283  hmgr->getHisto2(10160)->Fill(z, polarRadius, iCop * fillValue);
1284  hmgr->getHistoProf2(10170)->Fill(z, polarRadius, iCop * fillValue);
1285  hmgr->getHistoProf2(10172)->Fill(z, polarRadius, iCop * fillValue * costhetacorrection);
1286 
1287  // H_Scintillator
1288  hmgr->getHistoProf1(10240)->Fill(polarRadius, theTotalIL_SCI);
1289  hmgr->getHistoProf2(10250)->Fill(z, polarRadius, theTotalIL_SCI);
1290  hmgr->getHistoProf2(10252)->Fill(z, polarRadius, theTotalIL_SCI * costhetacorrection);
1291  hmgr->getHisto2(10260)->Fill(z, polarRadius, iSci * fillValue);
1292  hmgr->getHistoProf2(10270)->Fill(z, polarRadius, iSci * fillValue);
1293  hmgr->getHistoProf2(10272)->Fill(z, polarRadius, iSci * fillValue * costhetacorrection);
1294 
1295  // Cables
1296  hmgr->getHistoProf1(10340)->Fill(polarRadius, theTotalIL_CAB);
1297  hmgr->getHistoProf2(10350)->Fill(z, polarRadius, theTotalIL_CAB);
1298  hmgr->getHistoProf2(10352)->Fill(z, polarRadius, theTotalIL_CAB * costhetacorrection);
1299  hmgr->getHisto2(10360)->Fill(z, polarRadius, iCab * fillValue);
1300  hmgr->getHistoProf2(10370)->Fill(z, polarRadius, iCab * fillValue);
1301  hmgr->getHistoProf2(10372)->Fill(z, polarRadius, iCab * fillValue * costhetacorrection);
1302 
1303  // HGC_G10_FR4
1304  hmgr->getHistoProf1(10440)->Fill(polarRadius, theTotalIL_HGF);
1305  hmgr->getHistoProf2(10450)->Fill(z, polarRadius, theTotalIL_HGF);
1306  hmgr->getHistoProf2(10452)->Fill(z, polarRadius, theTotalIL_HGF * costhetacorrection);
1307  hmgr->getHisto2(10460)->Fill(z, polarRadius, iHgf * fillValue);
1308  hmgr->getHistoProf2(10470)->Fill(z, polarRadius, iHgf * fillValue);
1309  hmgr->getHistoProf2(10472)->Fill(z, polarRadius, iHgf * fillValue * costhetacorrection);
1310 
1311  // Silicon
1312  hmgr->getHistoProf1(10540)->Fill(polarRadius, theTotalIL_NIM);
1313  hmgr->getHistoProf2(10550)->Fill(z, polarRadius, theTotalIL_NIM);
1314  hmgr->getHistoProf2(10552)->Fill(z, polarRadius, theTotalIL_NIM * costhetacorrection);
1315  hmgr->getHisto2(10560)->Fill(z, polarRadius, iSil * fillValue);
1316  hmgr->getHistoProf2(10570)->Fill(z, polarRadius, iSil * fillValue);
1317  hmgr->getHistoProf2(10572)->Fill(z, polarRadius, iSil * fillValue * costhetacorrection);
1318 
1319  // Other
1320  hmgr->getHistoProf1(10640)->Fill(polarRadius, theTotalIL_OTH);
1321  hmgr->getHistoProf2(10650)->Fill(z, polarRadius, theTotalIL_OTH);
1322  hmgr->getHistoProf2(10652)->Fill(z, polarRadius, theTotalIL_OTH * costhetacorrection);
1323  hmgr->getHisto2(10660)->Fill(z, polarRadius, iOth * fillValue);
1324  hmgr->getHistoProf2(10670)->Fill(z, polarRadius, iOth * fillValue);
1325  hmgr->getHistoProf2(10672)->Fill(z, polarRadius, iOth * fillValue * costhetacorrection);
1326 
1327  // Air
1328  hmgr->getHistoProf1(10740)->Fill(polarRadius, theTotalIL_AIR);
1329  hmgr->getHistoProf2(10750)->Fill(z, polarRadius, theTotalIL_AIR);
1330  hmgr->getHistoProf2(10752)->Fill(z, polarRadius, theTotalIL_AIR * costhetacorrection);
1331  hmgr->getHisto2(10760)->Fill(z, polarRadius, iAir * fillValue);
1332  hmgr->getHistoProf2(10770)->Fill(z, polarRadius, iAir * fillValue);
1333  hmgr->getHistoProf2(10772)->Fill(z, polarRadius, iAir * fillValue * costhetacorrection);
1334 
1335  // StainlessSteel
1336  hmgr->getHistoProf1(10840)->Fill(polarRadius, theTotalIL_SST);
1337  hmgr->getHistoProf2(10850)->Fill(z, polarRadius, theTotalIL_SST);
1338  hmgr->getHistoProf2(10852)->Fill(z, polarRadius, theTotalIL_SST * costhetacorrection);
1339  hmgr->getHisto2(10860)->Fill(z, polarRadius, iSst * fillValue);
1340  hmgr->getHistoProf2(10870)->Fill(z, polarRadius, iSst * fillValue);
1341  hmgr->getHistoProf2(10872)->Fill(z, polarRadius, iSst * fillValue * costhetacorrection);
1342 
1343  // WCu
1344  hmgr->getHistoProf1(10940)->Fill(polarRadius, theTotalIL_WCU);
1345  hmgr->getHistoProf2(10950)->Fill(z, polarRadius, theTotalIL_WCU);
1346  hmgr->getHistoProf2(10952)->Fill(z, polarRadius, theTotalIL_WCU * costhetacorrection);
1347  hmgr->getHisto2(10960)->Fill(z, polarRadius, iWcu * fillValue);
1348  hmgr->getHistoProf2(10970)->Fill(z, polarRadius, iWcu * fillValue);
1349  hmgr->getHistoProf2(10972)->Fill(z, polarRadius, iWcu * fillValue * costhetacorrection);
1350 
1351  // Lead
1352  hmgr->getHistoProf1(11040)->Fill(polarRadius, theTotalIL_LEA);
1353  hmgr->getHistoProf2(11050)->Fill(z, polarRadius, theTotalIL_LEA);
1354  hmgr->getHistoProf2(11052)->Fill(z, polarRadius, theTotalIL_LEA * costhetacorrection);
1355  hmgr->getHisto2(11060)->Fill(z, polarRadius, iLea * fillValue);
1356  hmgr->getHistoProf2(11070)->Fill(z, polarRadius, iLea * fillValue);
1357  hmgr->getHistoProf2(11072)->Fill(z, polarRadius, iLea * fillValue * costhetacorrection);
1358 
1359  // Epoxy
1360  hmgr->getHistoProf1(11140)->Fill(polarRadius, theTotalIL_EPX);
1361  hmgr->getHistoProf2(11150)->Fill(z, polarRadius, theTotalIL_EPX);
1362  hmgr->getHistoProf2(11152)->Fill(z, polarRadius, theTotalIL_EPX * costhetacorrection);
1363  hmgr->getHisto2(11160)->Fill(z, polarRadius, iEpx * fillValue);
1364  hmgr->getHistoProf2(11170)->Fill(z, polarRadius, iEpx * fillValue);
1365  hmgr->getHistoProf2(11172)->Fill(z, polarRadius, iEpx * fillValue * costhetacorrection);
1366 
1367  // Kapton
1368  hmgr->getHistoProf1(11240)->Fill(polarRadius, theTotalIL_KAP);
1369  hmgr->getHistoProf2(11250)->Fill(z, polarRadius, theTotalIL_KAP);
1370  hmgr->getHistoProf2(11252)->Fill(z, polarRadius, theTotalIL_KAP * costhetacorrection);
1371  hmgr->getHisto2(11260)->Fill(z, polarRadius, iKap * fillValue);
1372  hmgr->getHistoProf2(11270)->Fill(z, polarRadius, iKap * fillValue);
1373  hmgr->getHistoProf2(11272)->Fill(z, polarRadius, iKap * fillValue * costhetacorrection);
1374 
1375  // Aluminium
1376  hmgr->getHistoProf1(11340)->Fill(polarRadius, theTotalIL_ALU);
1377  hmgr->getHistoProf2(11350)->Fill(z, polarRadius, theTotalIL_ALU);
1378  hmgr->getHistoProf2(11352)->Fill(z, polarRadius, theTotalIL_ALU * costhetacorrection);
1379  hmgr->getHisto2(11360)->Fill(z, polarRadius, iAlu * fillValue);
1380  hmgr->getHistoProf2(11370)->Fill(z, polarRadius, iAlu * fillValue);
1381  hmgr->getHistoProf2(11372)->Fill(z, polarRadius, iAlu * fillValue * costhetacorrection);
1382  }
1383  }
1384 
1385  // rr
1386  } else {
1387  std::cout << "*** WARNING This event is out of the acceptance *** " << std::endl;
1388  std::cout << "eta = " << theData->getEta() << "\t phi = " << theData->getPhi()
1389  << "\t x/X0 = " << theData->getTotalMB() << "\t l/l0 = " << theData->getTotalIL()
1390  << "\t steps = " << theData->getNumberOfSteps() << std::endl;
1391  std::cout << "***" << std::endl;
1392  }
1393 }
1394 
1396  hmgr->getHisto2(60)->Divide(hmgr->getHisto2(999));
1397  hmgr->getHisto2(160)->Divide(hmgr->getHisto2(999));
1398  hmgr->getHisto2(260)->Divide(hmgr->getHisto2(999));
1399  hmgr->getHisto2(360)->Divide(hmgr->getHisto2(999));
1400  hmgr->getHisto2(460)->Divide(hmgr->getHisto2(999));
1401  hmgr->getHisto2(560)->Divide(hmgr->getHisto2(999));
1402  hmgr->getHisto2(660)->Divide(hmgr->getHisto2(999));
1403  hmgr->getHisto2(760)->Divide(hmgr->getHisto2(999));
1404  hmgr->getHisto2(860)->Divide(hmgr->getHisto2(999));
1405  hmgr->getHisto2(960)->Divide(hmgr->getHisto2(999));
1406  hmgr->getHisto2(1060)->Divide(hmgr->getHisto2(999));
1407  hmgr->getHisto2(1160)->Divide(hmgr->getHisto2(999));
1408  hmgr->getHisto2(1260)->Divide(hmgr->getHisto2(999));
1409  hmgr->getHisto2(1360)->Divide(hmgr->getHisto2(999));
1410 
1411  hmgr->getHisto2(10060)->Divide(hmgr->getHisto2(1999));
1412  hmgr->getHisto2(10160)->Divide(hmgr->getHisto2(1999));
1413  hmgr->getHisto2(10260)->Divide(hmgr->getHisto2(1999));
1414  hmgr->getHisto2(10360)->Divide(hmgr->getHisto2(1999));
1415  hmgr->getHisto2(10460)->Divide(hmgr->getHisto2(1999));
1416  hmgr->getHisto2(10560)->Divide(hmgr->getHisto2(1999));
1417  hmgr->getHisto2(10660)->Divide(hmgr->getHisto2(1999));
1418  hmgr->getHisto2(10760)->Divide(hmgr->getHisto2(1999));
1419  hmgr->getHisto2(10860)->Divide(hmgr->getHisto2(1999));
1420  hmgr->getHisto2(10960)->Divide(hmgr->getHisto2(1999));
1421  hmgr->getHisto2(11060)->Divide(hmgr->getHisto2(1999));
1422  hmgr->getHisto2(11160)->Divide(hmgr->getHisto2(1999));
1423  hmgr->getHisto2(11260)->Divide(hmgr->getHisto2(1999));
1424  hmgr->getHisto2(11360)->Divide(hmgr->getHisto2(1999));
1425 
1426  std::cout << "=== save user histos ===" << std::endl;
1427  hmgr->save(theFileName);
1428 }
MaterialBudgetHGCalHistos::MaterialBudgetHGCalHistos
MaterialBudgetHGCalHistos(std::shared_ptr< MaterialBudgetData > data, std::shared_ptr< TestHistoMgr > mgr, const std::string &fileName)
MaterialBudgetFormat::theData
std::shared_ptr< MaterialBudgetData > theData
Definition: MaterialBudgetFormat.h:20
photonAnalyzer_cfi.rMax
rMax
Definition: photonAnalyzer_cfi.py:91
ALCARECOTkAlBeamHalo_cff.etaMin
etaMin
GeV.
Definition: ALCARECOTkAlBeamHalo_cff.py:32
MaterialBudgetHGCalHistos::zMin_
double zMin_
Definition: MaterialBudgetHGCalHistos.h:47
MaterialBudgetHGCalHistos::nRbin_
int nRbin_
Definition: MaterialBudgetHGCalHistos.h:56
MaterialBudgetHGCalHistos::nphibin_
int nphibin_
Definition: MaterialBudgetHGCalHistos.h:54
MaterialBudgetHGCalHistos::zMax_
double zMax_
Definition: MaterialBudgetHGCalHistos.h:47
MaterialBudgetHGCalHistos::fillPerStep
void fillPerStep() override
Definition: MaterialBudgetHGCalHistos.cc:755
gather_cfg.cout
cout
Definition: gather_cfg.py:144
MaterialBudgetHGCalHistos::RMin_
double RMin_
Definition: MaterialBudgetHGCalHistos.h:55
MaterialBudgetHGCalHistos::endOfRun
void endOfRun() override
Definition: MaterialBudgetHGCalHistos.cc:1395
MaterialBudgetHGCalHistos::rMin_
double rMin_
Definition: MaterialBudgetHGCalHistos.h:49
max
const T & max(const T &a, const T &b)
Definition: MaterialBudgetHGCalHistos.cc:5
MaterialBudgetHGCalHistos::fillStartTrack
void fillStartTrack() override
Definition: MaterialBudgetHGCalHistos.cc:753
MaterialBudgetHGCalHistos::netabin_
int netabin_
Definition: MaterialBudgetHGCalHistos.h:52
MillePedeFileConverter_cfg.fileName
fileName
Definition: MillePedeFileConverter_cfg.py:32
MaterialBudgetHGCalHistos::book
virtual void book()
Definition: MaterialBudgetHGCalHistos.cc:50
MaterialBudgetFormat::theFileName
std::string theFileName
Definition: MaterialBudgetFormat.h:21
CosmicsPD_Skims.maxZ
maxZ
Definition: CosmicsPD_Skims.py:136
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
reco::ceil
constexpr int32_t ceil(float num)
Definition: constexpr_cmath.h:7
HGVHistoProducerAlgoBlock_cfi.nintZ
nintZ
Definition: HGVHistoProducerAlgoBlock_cfi.py:165
PVValHelper::eta
Definition: PVValidationHelpers.h:69
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
AlignmentTrackSelector_cfi.phiMin
phiMin
Definition: AlignmentTrackSelector_cfi.py:18
DDAxes::z
AlignmentTrackSelector_cfi.phiMax
phiMax
Definition: AlignmentTrackSelector_cfi.py:17
b
double b
Definition: hdecay.h:118
MaterialBudgetHGCalHistos::hmgr
std::shared_ptr< TestHistoMgr > hmgr
Definition: MaterialBudgetHGCalHistos.h:45
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
a
double a
Definition: hdecay.h:119
MaterialBudgetHGCalHistos::nrbin_
int nrbin_
Definition: MaterialBudgetHGCalHistos.h:50
MaterialBudgetHGCalHistos::phiMin_
double phiMin_
Definition: MaterialBudgetHGCalHistos.h:53
MaterialBudgetHGCalHistos::fillEndTrack
void fillEndTrack() override
Definition: MaterialBudgetHGCalHistos.cc:757
MaterialBudgetHGCalHistos.h
MaterialBudgetData.h
MaterialBudgetHGCalHistos::nzbin_
int nzbin_
Definition: MaterialBudgetHGCalHistos.h:48
T
long double T
Definition: Basic3DVectorLD.h:48
ALCARECOTkAlBeamHalo_cff.etaMax
etaMax
Definition: ALCARECOTkAlBeamHalo_cff.py:33
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
photonAnalyzer_cfi.rMin
rMin
Definition: photonAnalyzer_cfi.py:90
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
MaterialBudgetHGCalHistos::etaMin_
double etaMin_
Definition: MaterialBudgetHGCalHistos.h:51
JetChargeProducer_cfi.exp
exp
Definition: JetChargeProducer_cfi.py:6
MaterialBudgetHGCalHistos::rMax_
double rMax_
Definition: MaterialBudgetHGCalHistos.h:49
MaterialBudgetFormat
Definition: MaterialBudgetFormat.h:9
MaterialBudgetHGCalHistos::etaMax_
double etaMax_
Definition: MaterialBudgetHGCalHistos.h:51
MaterialBudgetHGCalHistos::RMax_
double RMax_
Definition: MaterialBudgetHGCalHistos.h:55
CosmicGenFilterHelix_cff.minZ
minZ
i.e.
Definition: CosmicGenFilterHelix_cff.py:9
MaterialBudgetHGCalHistos::phiMax_
double phiMax_
Definition: MaterialBudgetHGCalHistos.h:53