4 template <
class T>
const T&
max (
const T&
a,
const T&
b ) {
11 std::shared_ptr<TestHistoMgr> mgr,
24 std::cout <<
"=== booking user histos ===" << std::endl;
35 hmgr->addHistoProf1(
new TProfile(
"10",
"MB prof Eta;#eta;x/X_{0} ", 250, -5., 5. ) );
36 hmgr->addHisto1(
new TH1F(
"11",
"Eta " , 501, -5., 5. ) );
37 hmgr->addHistoProf1(
new TProfile(
"20",
"MB prof Phi;#varphi [rad];x/X_{0} ", 180, -3.1416, 3.1416 ) );
38 hmgr->addHisto1(
new TH1F(
"21",
"Phi " , 180, -3.1416, 3.1416 ) );
39 hmgr->addHistoProf2(
new TProfile2D(
"30",
"MB prof Eta Phi;#eta;#varphi;x/X_{0} ", 250, -5., 5., 180, -3.1416, 3.1416 ) );
40 hmgr->addHisto2(
new TH2F(
"31",
"Eta vs Phi " , 501, -5., 5., 180, -3.1416, 3.1416 ) );
41 hmgr->addHistoProf1(
new TProfile(
"40",
"MB prof R;R [mm];x/X_{0} ", 200, 0., 2000. ) );
42 hmgr->addHisto1(
new TH1F(
"41",
"R " , 200, 0., 2000. ) );
43 hmgr->addHistoProf2(
new TProfile2D(
"50",
"MB prof sum R z;z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
44 hmgr->addHisto2(
new TH2F(
"999",
"Tot track length for MB", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
45 hmgr->addHisto2(
new TH2F(
"51",
"R vs z " , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
46 hmgr->addHisto2(
new TH2F(
"60",
"MB prof local R z;z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
47 hmgr->addHisto2(
new TH2F(
"61",
"R vs z " , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
50 hmgr->addHistoProf1(
new TProfile(
"110",
"MB prof Eta [Support];#eta;x/X_{0}", 250, -5.0, 5.0 ) );
51 hmgr->addHisto1(
new TH1F(
"111",
"Eta [Support]" , 501, -5., 5. ) );
52 hmgr->addHistoProf1(
new TProfile(
"120",
"MB prof Phi [Support];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) );
53 hmgr->addHisto1(
new TH1F(
"121",
"Phi [Support]" , 180, -3.1416, 3.1416 ) );
54 hmgr->addHistoProf2(
new TProfile2D(
"130",
"MB prof Eta Phi [Support];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
55 hmgr->addHisto2(
new TH2F(
"131",
"Eta vs Phi [Support]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
56 hmgr->addHistoProf1(
new TProfile(
"140",
"MB prof R [Support];R [mm];x/X_{0}", 200, 0., 2000. ) );
57 hmgr->addHisto1(
new TH1F(
"141",
"R [Support]" , 200, 0., 2000. ) );
58 hmgr->addHistoProf2(
new TProfile2D(
"150",
"MB prof sum R z [Support];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
59 hmgr->addHisto2(
new TH2F(
"151",
"R vs z [Support]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
60 hmgr->addHisto2(
new TH2F(
"160",
"MB prof local R z [Support];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
61 hmgr->addHisto2(
new TH2F(
"161",
"R vs z [Support]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
63 hmgr->addHistoProf1(
new TProfile(
"210",
"MB prof Eta [Sensitive];#eta;x/X_{0}", 250, -5.0, 5.0 ) );
64 hmgr->addHisto1(
new TH1F(
"211",
"Eta [Sensitive]" , 501, -5., 5. ) );
65 hmgr->addHistoProf1(
new TProfile(
"220",
"MB prof Phi [Sensitive];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) );
66 hmgr->addHisto1(
new TH1F(
"221",
"Phi [Sensitive]" , 180, -3.1416, 3.1416 ) );
67 hmgr->addHistoProf2(
new TProfile2D(
"230",
"MB prof Eta Phi [Sensitive];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
68 hmgr->addHisto2(
new TH2F(
"231",
"Eta vs Phi [Sensitive]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
69 hmgr->addHistoProf1(
new TProfile(
"240",
"MB prof R [Sensitive];R [mm];x/X_{0}", 200, 0., 2000. ) );
70 hmgr->addHisto1(
new TH1F(
"241",
"R [Sensitive]" , 200, 0., 2000. ) );
71 hmgr->addHistoProf2(
new TProfile2D(
"250",
"MB prof sum R z [Sensitive];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
72 hmgr->addHisto2(
new TH2F(
"251",
"R vs z [Sensitive]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
73 hmgr->addHisto2(
new TH2F(
"260",
"MB prof local R z [Sensitive];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
74 hmgr->addHisto2(
new TH2F(
"261",
"R vs z [Sensitive]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
76 hmgr->addHistoProf1(
new TProfile(
"310",
"MB prof Eta [Cables];#eta;x/X_{0}", 250, -5.0, 5.0 ) );
77 hmgr->addHisto1(
new TH1F(
"311",
"Eta [Cables]" , 501, -5., 5. ) );
78 hmgr->addHistoProf1(
new TProfile(
"320",
"MB prof Phi [Cables];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) );
79 hmgr->addHisto1(
new TH1F(
"321",
"Phi [Cables]" , 180, -3.1416, 3.1416 ) );
80 hmgr->addHistoProf2(
new TProfile2D(
"330",
"MB prof Eta Phi [Cables];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
81 hmgr->addHisto2(
new TH2F(
"331",
"Eta vs Phi [Cables]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
82 hmgr->addHistoProf1(
new TProfile(
"340",
"MB prof R [Cables];R [mm];x/X_{0}", 200, 0., 2000. ) );
83 hmgr->addHisto1(
new TH1F(
"341",
"R [Cables]" , 200, 0., 2000. ) );
84 hmgr->addHistoProf2(
new TProfile2D(
"350",
"MB prof sum R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
85 hmgr->addHisto2(
new TH2F(
"351",
"R vs z [Cables]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
86 hmgr->addHisto2(
new TH2F(
"360",
"MB prof local R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
87 hmgr->addHisto2(
new TH2F(
"361",
"R vs z [Cables]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
89 hmgr->addHistoProf1(
new TProfile(
"410",
"MB prof Eta [Cooling];#eta;x/X_{0}", 250, -5.0, 5.0 ) );
90 hmgr->addHisto1(
new TH1F(
"411",
"Eta [Cooling]" , 501, -5., 5. ) );
91 hmgr->addHistoProf1(
new TProfile(
"420",
"MB prof Phi [Cooling];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) );
92 hmgr->addHisto1(
new TH1F(
"421",
"Phi [Cooling]" , 180, -3.1416, 3.1416 ) );
93 hmgr->addHistoProf2(
new TProfile2D(
"430",
"MB prof Eta Phi [Cooling];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
94 hmgr->addHisto2(
new TH2F(
"431",
"Eta vs Phi [Cooling]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
95 hmgr->addHistoProf1(
new TProfile(
"440",
"MB prof R [Cooling];R [mm];x/X_{0}", 200, 0., 2000. ) );
96 hmgr->addHisto1(
new TH1F(
"441",
"R [Cooling]" , 200, 0., 2000. ) );
97 hmgr->addHistoProf2(
new TProfile2D(
"450",
"MB prof sum R z [Cooling];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
98 hmgr->addHisto2(
new TH2F(
"451",
"R vs z [Cooling]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
99 hmgr->addHisto2(
new TH2F(
"460",
"MB prof local R z [Cooling];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
100 hmgr->addHisto2(
new TH2F(
"461",
"R vs z [Cooling]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
102 hmgr->addHistoProf1(
new TProfile(
"510",
"MB prof Eta [Electronics];#eta;x/X_{0}", 250, -5.0, 5.0 ) );
103 hmgr->addHisto1(
new TH1F(
"511",
"Eta [Electronics]" , 501, -5., 5. ) );
104 hmgr->addHistoProf1(
new TProfile(
"520",
"MB prof Phi [Electronics];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) );
105 hmgr->addHisto1(
new TH1F(
"521",
"Phi [Electronics]" , 180, -3.1416, 3.1416 ) );
106 hmgr->addHistoProf2(
new TProfile2D(
"530",
"MB prof Eta Phi [Electronics];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
107 hmgr->addHisto2(
new TH2F(
"531",
"Eta vs Phi [Electronics]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
108 hmgr->addHistoProf1(
new TProfile(
"540",
"MB prof R [Electronics];R [mm];x/X_{0}", 200, 0., 2000. ) );
109 hmgr->addHisto1(
new TH1F(
"541",
"R [Electronics]" , 200, 0., 2000. ) );
110 hmgr->addHistoProf2(
new TProfile2D(
"550",
"MB prof sum R z [Electronics];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
111 hmgr->addHisto2(
new TH2F(
"551",
"R vs z [Electronics]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
112 hmgr->addHisto2(
new TH2F(
"560",
"MB prof local R z [Electronics];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
113 hmgr->addHisto2(
new TH2F(
"561",
"R vs z [Electronics]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
115 hmgr->addHistoProf1(
new TProfile(
"610",
"MB prof Eta [Other];#eta;x/X_{0}", 250, -5.0, 5.0 ) );
116 hmgr->addHisto1(
new TH1F(
"611",
"Eta [Other]" , 501, -5., 5. ) );
117 hmgr->addHistoProf1(
new TProfile(
"620",
"MB prof Phi [Other];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) );
118 hmgr->addHisto1(
new TH1F(
"621",
"Phi [Other]" , 180, -3.1416, 3.1416 ) );
119 hmgr->addHistoProf2(
new TProfile2D(
"630",
"MB prof Eta Phi [Other];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
120 hmgr->addHisto2(
new TH2F(
"631",
"Eta vs Phi [Other]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
121 hmgr->addHistoProf1(
new TProfile(
"640",
"MB prof R [Other];R [mm];x/X_{0}", 200, 0., 2000. ) );
122 hmgr->addHisto1(
new TH1F(
"641",
"R [Other]" , 200, 0., 2000. ) );
123 hmgr->addHistoProf2(
new TProfile2D(
"650",
"MB prof sum R z [Other];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
124 hmgr->addHisto2(
new TH2F(
"651",
"R vs z [Other]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
125 hmgr->addHisto2(
new TH2F(
"660",
"MB prof local R z [Other];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
126 hmgr->addHisto2(
new TH2F(
"661",
"R vs z [Other]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
128 hmgr->addHistoProf1(
new TProfile(
"710",
"MB prof Eta [Air];#eta;x/X_{0}", 250, -5.0, 5.0 ) );
129 hmgr->addHisto1(
new TH1F(
"711",
"Eta [Air]" , 501, -5., 5. ) );
130 hmgr->addHistoProf1(
new TProfile(
"720",
"MB prof Phi [Air];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) );
131 hmgr->addHisto1(
new TH1F(
"721",
"Phi [Air]" , 180, -3.1416, 3.1416 ) );
132 hmgr->addHistoProf2(
new TProfile2D(
"730",
"MB prof Eta Phi [Air];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
133 hmgr->addHisto2(
new TH2F(
"731",
"Eta vs Phi [Air]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
134 hmgr->addHistoProf1(
new TProfile(
"740",
"MB prof R [Air];R [mm];x/X_{0}", 200, 0., 2000. ) );
135 hmgr->addHisto1(
new TH1F(
"741",
"R [Air]" , 200, 0., 2000. ) );
136 hmgr->addHistoProf2(
new TProfile2D(
"750",
"MB prof sum R z [Air];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
137 hmgr->addHisto2(
new TH2F(
"751",
"R vs z [Air]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
138 hmgr->addHisto2(
new TH2F(
"760",
"MB prof local R z [Air];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
139 hmgr->addHisto2(
new TH2F(
"761",
"R vs z [Air]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
143 hmgr->addHistoProf1(
new TProfile(
"1010",
"MB prof Eta;#eta;#lambda/#lambda_{0} ", 250, -5., 5. ) );
144 hmgr->addHisto1(
new TH1F(
"1011",
"Eta " , 501, -5., 5. ) );
145 hmgr->addHistoProf1(
new TProfile(
"1020",
"MB prof Phi;#varphi [rad];#lambda/#lambda_{0} ", 180, -3.1416, 3.1416 ) );
146 hmgr->addHisto1(
new TH1F(
"1021",
"Phi " , 180, -3.1416, 3.1416 ) );
147 hmgr->addHistoProf2(
new TProfile2D(
"1030",
"MB prof Eta Phi;#eta;#varphi;#lambda/#lambda_{0} ", 250, -5., 5., 180, -3.1416, 3.1416 ) );
148 hmgr->addHisto2(
new TH2F(
"1031",
"Eta vs Phi " , 501, -5., 5., 180, -3.1416, 3.1416 ) );
151 hmgr->addHistoProf1(
new TProfile(
"1040",
"MB prof R;R [mm];#lambda/#lambda_{0} ", 200, 0., 2000. ) );
152 hmgr->addHisto1(
new TH1F(
"1041",
"R " , 200, 0., 2000. ) );
153 hmgr->addHistoProf2(
new TProfile2D(
"1050",
"MB prof sum R z;z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
154 hmgr->addHisto2(
new TH2F(
"1999",
"Tot track length for l0", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
155 hmgr->addHisto2(
new TH2F(
"1051",
"R vs z " , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
156 hmgr->addHisto2(
new TH2F(
"1060",
"MB prof local R z;z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
157 hmgr->addHisto2(
new TH2F(
"1061",
"R vs z " , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
160 hmgr->addHistoProf1(
new TProfile(
"1110",
"MB prof Eta [Support];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) );
161 hmgr->addHisto1(
new TH1F(
"1111",
"Eta [Support]" , 501, -5., 5. ) );
162 hmgr->addHistoProf1(
new TProfile(
"1120",
"MB prof Phi [Support];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) );
163 hmgr->addHisto1(
new TH1F(
"1121",
"Phi [Support]" , 180, -3.1416, 3.1416 ) );
164 hmgr->addHistoProf2(
new TProfile2D(
"1130",
"MB prof Eta Phi [Support];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
165 hmgr->addHisto2(
new TH2F(
"1131",
"Eta vs Phi [Support]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
166 hmgr->addHistoProf1(
new TProfile(
"1140",
"MB prof R [Support];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) );
167 hmgr->addHisto1(
new TH1F(
"1141",
"R [Support]" , 200, 0., 2000. ) );
168 hmgr->addHistoProf2(
new TProfile2D(
"1150",
"MB prof sum R z [Support];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
169 hmgr->addHisto2(
new TH2F(
"1151",
"R vs z [Support]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
170 hmgr->addHisto2(
new TH2F(
"1160",
"MB prof local R z [Support];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
171 hmgr->addHisto2(
new TH2F(
"1161",
"R vs z [Support]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
173 hmgr->addHistoProf1(
new TProfile(
"1210",
"MB prof Eta [Sensitive];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) );
174 hmgr->addHisto1(
new TH1F(
"1211",
"Eta [Sensitive]" , 501, -5., 5. ) );
175 hmgr->addHistoProf1(
new TProfile(
"1220",
"MB prof Phi [Sensitive];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) );
176 hmgr->addHisto1(
new TH1F(
"1221",
"Phi [Sensitive]" , 180, -3.1416, 3.1416 ) );
177 hmgr->addHistoProf2(
new TProfile2D(
"1230",
"MB prof Eta Phi [Sensitive];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
178 hmgr->addHisto2(
new TH2F(
"1231",
"Eta vs Phi [Sensitive]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
179 hmgr->addHistoProf1(
new TProfile(
"1240",
"MB prof R [Sensitive];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) );
180 hmgr->addHisto1(
new TH1F(
"1241",
"R [Sensitive]" , 200, 0., 2000. ) );
181 hmgr->addHistoProf2(
new TProfile2D(
"1250",
"MB prof sum R z [Sensitive];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
182 hmgr->addHisto2(
new TH2F(
"1251",
"R vs z [Sensitive]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
183 hmgr->addHisto2(
new TH2F(
"1260",
"MB prof local R z [Sensitive];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
184 hmgr->addHisto2(
new TH2F(
"1261",
"R vs z [Sensitive]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
186 hmgr->addHistoProf1(
new TProfile(
"1310",
"MB prof Eta [Cables];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) );
187 hmgr->addHisto1(
new TH1F(
"1311",
"Eta [Cables]" , 501, -5., 5. ) );
188 hmgr->addHistoProf1(
new TProfile(
"1320",
"MB prof Phi [Cables];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) );
189 hmgr->addHisto1(
new TH1F(
"1321",
"Phi [Cables]" , 180, -3.1416, 3.1416 ) );
190 hmgr->addHistoProf2(
new TProfile2D(
"1330",
"MB prof Eta Phi [Cables];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
191 hmgr->addHisto2(
new TH2F(
"1331",
"Eta vs Phi [Cables]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
192 hmgr->addHistoProf1(
new TProfile(
"1340",
"MB prof R [Cables];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) );
193 hmgr->addHisto1(
new TH1F(
"1341",
"R [Cables]" , 200, 0., 2000. ) );
194 hmgr->addHistoProf2(
new TProfile2D(
"1350",
"MB prof sum R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
195 hmgr->addHisto2(
new TH2F(
"1351",
"R vs z [Cables]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
196 hmgr->addHisto2(
new TH2F(
"1360",
"MB prof local R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
197 hmgr->addHisto2(
new TH2F(
"1361",
"R vs z [Cables]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
199 hmgr->addHistoProf1(
new TProfile(
"1410",
"MB prof Eta [Cooling];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) );
200 hmgr->addHisto1(
new TH1F(
"1411",
"Eta [Cooling]" , 501, -5., 5. ) );
201 hmgr->addHistoProf1(
new TProfile(
"1420",
"MB prof Phi [Cooling];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) );
202 hmgr->addHisto1(
new TH1F(
"1421",
"Phi [Cooling]" , 180, -3.1416, 3.1416 ) );
203 hmgr->addHistoProf2(
new TProfile2D(
"1430",
"MB prof Eta Phi [Cooling];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
204 hmgr->addHisto2(
new TH2F(
"1431",
"Eta vs Phi [Cooling]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
205 hmgr->addHistoProf1(
new TProfile(
"1440",
"MB prof R [Cooling];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) );
206 hmgr->addHisto1(
new TH1F(
"1441",
"R [Cooling]" , 200, 0., 2000. ) );
207 hmgr->addHistoProf2(
new TProfile2D(
"1450",
"MB prof sum R z [Cooling];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
208 hmgr->addHisto2(
new TH2F(
"1451",
"R vs z [Cooling]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
209 hmgr->addHisto2(
new TH2F(
"1460",
"MB prof local R z [Cooling];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
210 hmgr->addHisto2(
new TH2F(
"1461",
"R vs z [Cooling]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
212 hmgr->addHistoProf1(
new TProfile(
"1510",
"MB prof Eta [Electronics];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) );
213 hmgr->addHisto1(
new TH1F(
"1511",
"Eta [Electronics]" , 501, -5., 5. ) );
214 hmgr->addHistoProf1(
new TProfile(
"1520",
"MB prof Phi [Electronics];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) );
215 hmgr->addHisto1(
new TH1F(
"1521",
"Phi [Electronics]" , 180, -3.1416, 3.1416 ) );
216 hmgr->addHistoProf2(
new TProfile2D(
"1530",
"MB prof Eta Phi [Electronics];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
217 hmgr->addHisto2(
new TH2F(
"1531",
"Eta vs Phi [Electronics]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
218 hmgr->addHistoProf1(
new TProfile(
"1540",
"MB prof R [Electronics];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) );
219 hmgr->addHisto1(
new TH1F(
"1541",
"R [Electronics]" , 200, 0., 2000. ) );
220 hmgr->addHistoProf2(
new TProfile2D(
"1550",
"MB prof sum R z [Electronics];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
221 hmgr->addHisto2(
new TH2F(
"1551",
"R vs z [Electronics]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
222 hmgr->addHisto2(
new TH2F(
"1560",
"MB prof local R z [Electronics];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
223 hmgr->addHisto2(
new TH2F(
"1561",
"R vs z [Electronics]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
225 hmgr->addHistoProf1(
new TProfile(
"1610",
"MB prof Eta [Other];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) );
226 hmgr->addHisto1(
new TH1F(
"1611",
"Eta [Other]" , 501, -5., 5. ) );
227 hmgr->addHistoProf1(
new TProfile(
"1620",
"MB prof Phi [Other];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) );
228 hmgr->addHisto1(
new TH1F(
"1621",
"Phi [Other]" , 180, -3.1416, 3.1416 ) );
229 hmgr->addHistoProf2(
new TProfile2D(
"1630",
"MB prof Eta Phi [Other];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
230 hmgr->addHisto2(
new TH2F(
"1631",
"Eta vs Phi [Other]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
231 hmgr->addHistoProf1(
new TProfile(
"1640",
"MB prof R [Other];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) );
232 hmgr->addHisto1(
new TH1F(
"1641",
"R [Other]" , 200, 0., 2000. ) );
233 hmgr->addHistoProf2(
new TProfile2D(
"1650",
"MB prof sum R z [Other];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
234 hmgr->addHisto2(
new TH2F(
"1651",
"R vs z [Other]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
235 hmgr->addHisto2(
new TH2F(
"1660",
"MB prof local R z [Other];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
236 hmgr->addHisto2(
new TH2F(
"1661",
"R vs z [Other]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
238 hmgr->addHistoProf1(
new TProfile(
"1710",
"MB prof Eta [Air];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) );
239 hmgr->addHisto1(
new TH1F(
"1711",
"Eta [Air]" , 501, -5., 5. ) );
240 hmgr->addHistoProf1(
new TProfile(
"1720",
"MB prof Phi [Air];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) );
241 hmgr->addHisto1(
new TH1F(
"1721",
"Phi [Air]" , 180, -3.1416, 3.1416 ) );
242 hmgr->addHistoProf2(
new TProfile2D(
"1730",
"MB prof Eta Phi [Air];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) );
243 hmgr->addHisto2(
new TH2F(
"1731",
"Eta vs Phi [Air]" , 501, -5., 5., 180, -3.1416, 3.1416 ) );
244 hmgr->addHistoProf1(
new TProfile(
"1740",
"MB prof R [Air];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) );
245 hmgr->addHisto1(
new TH1F(
"1741",
"R [Air]" , 200, 0., 2000. ) );
246 hmgr->addHistoProf2(
new TProfile2D(
"1750",
"MB prof sum R z [Air];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
247 hmgr->addHisto2(
new TH2F(
"1751",
"R vs z [Air]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
248 hmgr->addHisto2(
new TH2F(
"1760",
"MB prof local R z [Air];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) );
249 hmgr->addHisto2(
new TH2F(
"1761",
"R vs z [Air]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) );
254 std::cout <<
"=== booking user histos done ===" << std::endl;
277 if(
theData->getNumberOfSteps() != 0 ) {
357 float theTotalMB_TOT = 0.0;
358 float theTotalMB_SUP = 0.0;
359 float theTotalMB_SEN = 0.0;
360 float theTotalMB_CAB = 0.0;
361 float theTotalMB_COL = 0.0;
362 float theTotalMB_ELE = 0.0;
363 float theTotalMB_OTH = 0.0;
364 float theTotalMB_AIR = 0.0;
365 for(
int iStep = 0; iStep <
theData->getNumberOfSteps(); iStep++) {
366 theTotalMB_TOT +=
theData->getStepDmb(iStep);
367 theTotalMB_SUP +=
theData->getSupportDmb(iStep);
368 theTotalMB_SEN +=
theData->getSensitiveDmb(iStep);
369 theTotalMB_CAB +=
theData->getCablesDmb(iStep);
370 theTotalMB_COL +=
theData->getCoolingDmb(iStep);
371 theTotalMB_ELE +=
theData->getElectronicsDmb(iStep);
372 theTotalMB_OTH +=
theData->getOtherDmb(iStep);
373 theTotalMB_AIR +=
theData->getAirDmb(iStep);
382 if(
theData->getSupportDmb(iStep)>0. ) { iSup = 1; }
383 if(
theData->getSensitiveDmb(iStep)>0. ) { iSen = 1; }
384 if(
theData->getCablesDmb(iStep)>0. ) { iCab = 1; }
385 if(
theData->getCoolingDmb(iStep)>0. ) { iCol = 1; }
386 if(
theData->getElectronicsDmb(iStep)>0. ) { iEle = 1; }
387 if(
theData->getOtherDmb(iStep)>0. ) { iOth = 1; }
388 if(
theData->getAirDmb(iStep)>0. ) { iAir = 1; }
390 float deltaRadius =
sqrt(
395 float deltaz =
theData->getStepFinalZ(iStep)-
theData->getStepInitialZ(iStep) ;
397 float x0 =
theData->getStepMaterialX0(iStep);
400 float boxWidth = 0.1;
401 if( (deltaRadius>boxWidth) || (fabs(deltaz)>boxWidth) ) {
402 nSubStep =
static_cast<int>(
max(
403 ceil(deltaRadius/boxWidth/2.)*2,
404 ceil(fabs(deltaz)/boxWidth/2.)*2
408 for(
int iSubStep = 1; iSubStep < nSubStep; iSubStep+=2) {
410 float subdeltaRadius = deltaRadius/nSubStep;
411 float polarRadius =
sqrt(
415 ) + iSubStep*subdeltaRadius;
417 float subdeltaz = deltaz/nSubStep;
418 float z =
theData->getStepInitialZ(iStep) + iSubStep*subdeltaz;
420 float subdelta =
sqrt(
421 pow ( subdeltaRadius,2 ) +
pow( subdeltaz,2 )
424 float fillValue=subdelta/x0;
428 hmgr->getHisto2(999)->Fill(z,polarRadius,subdelta);
430 hmgr->getHisto1(41)->Fill(polarRadius);
431 hmgr->getHistoProf1(40)->Fill(polarRadius,theTotalMB_TOT);
432 hmgr->getHisto2(51)->Fill(z,polarRadius);
433 hmgr->getHistoProf2(50)->Fill(z,polarRadius,theTotalMB_TOT);
434 hmgr->getHisto2(61)->Fill(z,polarRadius);
435 hmgr->getHisto2(60)->Fill(z,polarRadius,fillValue);
437 hmgr->getHisto1(141)->Fill(polarRadius);
438 hmgr->getHistoProf1(140)->Fill(polarRadius,theTotalMB_SUP);
439 hmgr->getHisto2(151)->Fill(z,polarRadius);
440 hmgr->getHistoProf2(150)->Fill(z,polarRadius,theTotalMB_SUP);
441 hmgr->getHisto2(161)->Fill(z,polarRadius);
442 hmgr->getHisto2(160)->Fill(z,polarRadius,iSup*fillValue);
444 hmgr->getHisto1(241)->Fill(polarRadius);
445 hmgr->getHistoProf1(240)->Fill(polarRadius,theTotalMB_SEN);
446 hmgr->getHisto2(251)->Fill(z,polarRadius);
447 hmgr->getHistoProf2(250)->Fill(z,polarRadius,theTotalMB_SEN);
448 hmgr->getHisto2(261)->Fill(z,polarRadius);
449 hmgr->getHisto2(260)->Fill(z,polarRadius,iSen*fillValue);
451 hmgr->getHisto1(341)->Fill(polarRadius);
452 hmgr->getHistoProf1(340)->Fill(polarRadius,theTotalMB_CAB);
453 hmgr->getHisto2(351)->Fill(z,polarRadius);
454 hmgr->getHistoProf2(350)->Fill(z,polarRadius,theTotalMB_CAB);
455 hmgr->getHisto2(361)->Fill(z,polarRadius);
456 hmgr->getHisto2(360)->Fill(z,polarRadius,iCab*fillValue);
458 hmgr->getHisto1(441)->Fill(polarRadius);
459 hmgr->getHistoProf1(440)->Fill(polarRadius,theTotalMB_COL);
460 hmgr->getHisto2(451)->Fill(z,polarRadius);
461 hmgr->getHistoProf2(450)->Fill(z,polarRadius,theTotalMB_COL);
462 hmgr->getHisto2(461)->Fill(z,polarRadius);
463 hmgr->getHisto2(460)->Fill(z,polarRadius,iCol*fillValue);
465 hmgr->getHisto1(541)->Fill(polarRadius);
466 hmgr->getHistoProf1(540)->Fill(polarRadius,theTotalMB_ELE);
467 hmgr->getHisto2(551)->Fill(z,polarRadius);
468 hmgr->getHistoProf2(550)->Fill(z,polarRadius,theTotalMB_ELE);
469 hmgr->getHisto2(561)->Fill(z,polarRadius);
470 hmgr->getHisto2(560)->Fill(z,polarRadius,iEle*fillValue);
472 hmgr->getHisto1(641)->Fill(polarRadius);
473 hmgr->getHistoProf1(640)->Fill(polarRadius,theTotalMB_OTH);
474 hmgr->getHisto2(651)->Fill(z,polarRadius);
475 hmgr->getHistoProf2(650)->Fill(z,polarRadius,theTotalMB_OTH);
476 hmgr->getHisto2(661)->Fill(z,polarRadius);
477 hmgr->getHisto2(660)->Fill(z,polarRadius,iOth*fillValue);
479 hmgr->getHisto1(741)->Fill(polarRadius);
480 hmgr->getHistoProf1(740)->Fill(polarRadius,theTotalMB_AIR);
481 hmgr->getHisto2(751)->Fill(z,polarRadius);
482 hmgr->getHistoProf2(750)->Fill(z,polarRadius,theTotalMB_AIR);
483 hmgr->getHisto2(761)->Fill(z,polarRadius);
484 hmgr->getHisto2(760)->Fill(z,polarRadius,iAir*fillValue);
569 float theTotalIL_TOT = 0.0;
570 float theTotalIL_SUP = 0.0;
571 float theTotalIL_SEN = 0.0;
572 float theTotalIL_CAB = 0.0;
573 float theTotalIL_COL = 0.0;
574 float theTotalIL_ELE = 0.0;
575 float theTotalIL_OTH = 0.0;
576 float theTotalIL_AIR = 0.0;
577 for(
int iStep = 0; iStep <
theData->getNumberOfSteps(); iStep++) {
578 theTotalIL_TOT +=
theData->getStepDil(iStep);
579 theTotalIL_SUP +=
theData->getSupportDil(iStep);
580 theTotalIL_SEN +=
theData->getSensitiveDil(iStep);
581 theTotalIL_CAB +=
theData->getCablesDil(iStep);
582 theTotalIL_COL +=
theData->getCoolingDil(iStep);
583 theTotalIL_ELE +=
theData->getElectronicsDil(iStep);
584 theTotalIL_OTH +=
theData->getOtherDil(iStep);
585 theTotalIL_AIR +=
theData->getAirDil(iStep);
594 if(
theData->getSupportDil(iStep)>0. ) { iSup = 1; }
595 if(
theData->getSensitiveDil(iStep)>0. ) { iSen = 1; }
596 if(
theData->getCablesDil(iStep)>0. ) { iCab = 1; }
597 if(
theData->getCoolingDil(iStep)>0. ) { iCol = 1; }
598 if(
theData->getElectronicsDil(iStep)>0. ) { iEle = 1; }
599 if(
theData->getOtherDil(iStep)>0. ) { iOth = 1; }
600 if(
theData->getAirDil(iStep)>0. ) { iAir = 1; }
602 float deltaRadius =
sqrt(
607 float deltaz =
theData->getStepFinalZ(iStep)-
theData->getStepInitialZ(iStep) ;
609 float il =
theData->getStepMaterialLambda0(iStep);
612 float boxWidth = 0.1;
613 if( (deltaRadius>boxWidth) || (fabs(deltaz)>boxWidth) ) {
614 nSubStep =
static_cast<int>(
max(
615 ceil(deltaRadius/boxWidth/2.)*2,
616 ceil(fabs(deltaz)/boxWidth/2.)*2
620 for(
int iSubStep = 1; iSubStep < nSubStep; iSubStep+=2) {
622 float subdeltaRadius = deltaRadius/nSubStep;
623 float polarRadius =
sqrt(
627 ) + iSubStep*subdeltaRadius;
629 float subdeltaz = deltaz/nSubStep;
630 float z =
theData->getStepInitialZ(iStep) + iSubStep*subdeltaz;
632 float subdelta =
sqrt(
633 pow ( subdeltaRadius,2 ) +
pow( subdeltaz,2 )
636 float fillValue=subdelta/il;
640 hmgr->getHisto2(1999)->Fill(z,polarRadius,subdelta);
642 hmgr->getHisto1(1041)->Fill(polarRadius);
643 hmgr->getHistoProf1(1040)->Fill(polarRadius,theTotalIL_TOT);
644 hmgr->getHisto2(1051)->Fill(z,polarRadius);
645 hmgr->getHistoProf2(1050)->Fill(z,polarRadius,theTotalIL_TOT);
646 hmgr->getHisto2(1061)->Fill(z,polarRadius);
647 hmgr->getHisto2(1060)->Fill(z,polarRadius,fillValue);
649 hmgr->getHisto1(1141)->Fill(polarRadius);
650 hmgr->getHistoProf1(1140)->Fill(polarRadius,theTotalIL_SUP);
651 hmgr->getHisto2(1151)->Fill(z,polarRadius);
652 hmgr->getHistoProf2(1150)->Fill(z,polarRadius,theTotalIL_SUP);
653 hmgr->getHisto2(1161)->Fill(z,polarRadius);
654 hmgr->getHisto2(1160)->Fill(z,polarRadius,iSup*fillValue);
656 hmgr->getHisto1(1241)->Fill(polarRadius);
657 hmgr->getHistoProf1(1240)->Fill(polarRadius,theTotalIL_SEN);
658 hmgr->getHisto2(1251)->Fill(z,polarRadius);
659 hmgr->getHistoProf2(1250)->Fill(z,polarRadius,theTotalIL_SEN);
660 hmgr->getHisto2(1261)->Fill(z,polarRadius);
661 hmgr->getHisto2(1260)->Fill(z,polarRadius,iSen*fillValue);
663 hmgr->getHisto1(1341)->Fill(polarRadius);
664 hmgr->getHistoProf1(1340)->Fill(polarRadius,theTotalIL_CAB);
665 hmgr->getHisto2(1351)->Fill(z,polarRadius);
666 hmgr->getHistoProf2(1350)->Fill(z,polarRadius,theTotalIL_CAB);
667 hmgr->getHisto2(1361)->Fill(z,polarRadius);
668 hmgr->getHisto2(1360)->Fill(z,polarRadius,iCab*fillValue);
670 hmgr->getHisto1(1441)->Fill(polarRadius);
671 hmgr->getHistoProf1(1440)->Fill(polarRadius,theTotalIL_COL);
672 hmgr->getHisto2(1451)->Fill(z,polarRadius);
673 hmgr->getHistoProf2(1450)->Fill(z,polarRadius,theTotalIL_COL);
674 hmgr->getHisto2(1461)->Fill(z,polarRadius);
675 hmgr->getHisto2(1460)->Fill(z,polarRadius,iCol*fillValue);
677 hmgr->getHisto1(1541)->Fill(polarRadius);
678 hmgr->getHistoProf1(1540)->Fill(polarRadius,theTotalIL_ELE);
679 hmgr->getHisto2(1551)->Fill(z,polarRadius);
680 hmgr->getHistoProf2(1550)->Fill(z,polarRadius,theTotalIL_ELE);
681 hmgr->getHisto2(1561)->Fill(z,polarRadius);
682 hmgr->getHisto2(1560)->Fill(z,polarRadius,iEle*fillValue);
684 hmgr->getHisto1(1641)->Fill(polarRadius);
685 hmgr->getHistoProf1(1640)->Fill(polarRadius,theTotalIL_OTH);
686 hmgr->getHisto2(1651)->Fill(z,polarRadius);
687 hmgr->getHistoProf2(1650)->Fill(z,polarRadius,theTotalIL_OTH);
688 hmgr->getHisto2(1661)->Fill(z,polarRadius);
689 hmgr->getHisto2(1660)->Fill(z,polarRadius,iOth*fillValue);
691 hmgr->getHisto1(1741)->Fill(polarRadius);
692 hmgr->getHistoProf1(1740)->Fill(polarRadius,theTotalIL_AIR);
693 hmgr->getHisto2(1751)->Fill(z,polarRadius);
694 hmgr->getHistoProf2(1750)->Fill(z,polarRadius,theTotalIL_AIR);
695 hmgr->getHisto2(1761)->Fill(z,polarRadius);
696 hmgr->getHisto2(1760)->Fill(z,polarRadius,iAir*fillValue);
704 std::cout <<
"*** WARNING This event is out of the acceptance *** " << std::endl;
706 <<
"\t phi = " <<
theData->getPhi()
707 <<
"\t x/X0 = " <<
theData->getTotalMB()
708 <<
"\t l/l0 = " <<
theData->getTotalIL()
709 <<
"\t steps = " <<
theData->getNumberOfSteps()
720 hmgr->getHisto2(60)->Divide(
hmgr->getHisto2(999));
721 hmgr->getHisto2(160)->Divide(
hmgr->getHisto2(999));
722 hmgr->getHisto2(260)->Divide(
hmgr->getHisto2(999));
723 hmgr->getHisto2(360)->Divide(
hmgr->getHisto2(999));
724 hmgr->getHisto2(460)->Divide(
hmgr->getHisto2(999));
725 hmgr->getHisto2(560)->Divide(
hmgr->getHisto2(999));
726 hmgr->getHisto2(660)->Divide(
hmgr->getHisto2(999));
727 hmgr->getHisto2(760)->Divide(
hmgr->getHisto2(999));
729 hmgr->getHisto2(160)->Divide(
hmgr->getHisto2(1999));
730 hmgr->getHisto2(1160)->Divide(
hmgr->getHisto2(1999));
731 hmgr->getHisto2(1260)->Divide(
hmgr->getHisto2(1999));
732 hmgr->getHisto2(1360)->Divide(
hmgr->getHisto2(1999));
733 hmgr->getHisto2(1460)->Divide(
hmgr->getHisto2(1999));
734 hmgr->getHisto2(1560)->Divide(
hmgr->getHisto2(1999));
735 hmgr->getHisto2(1660)->Divide(
hmgr->getHisto2(1999));
736 hmgr->getHisto2(1760)->Divide(
hmgr->getHisto2(1999));
738 std::cout <<
"=== save user histos ===" << std::endl;
void fillPerStep() override
void fillEndTrack() override
std::shared_ptr< TestHistoMgr > hmgr
const T & max(const T &a, const T &b)
MaterialBudgetTrackerHistos(std::shared_ptr< MaterialBudgetData > data, std::shared_ptr< TestHistoMgr > mgr, const std::string &fileName)
void fillStartTrack() override
char data[epos_bytes_allocation]
Power< A, B >::type pow(const A &a, const B &b)