CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
MaterialBudgetHGCalHistos Class Reference

#include <MaterialBudgetHGCalHistos.h>

Inheritance diagram for MaterialBudgetHGCalHistos:
MaterialBudgetFormat

Public Member Functions

void endOfRun () override
 
void fillEndTrack () override
 
void fillPerStep () override
 
void fillStartTrack () override
 
 MaterialBudgetHGCalHistos (std::shared_ptr< MaterialBudgetData > data, std::shared_ptr< TestHistoMgr > mgr, const std::string &fileName)
 
 MaterialBudgetHGCalHistos (std::shared_ptr< MaterialBudgetData > data, std::shared_ptr< TestHistoMgr > mgr, const std::string &fileName, double minZ, double maxZ, int nintZ, double rMin, double rMax, int nrbin, double etaMin, double etaMax, int netabin, double phiMin, double phiMax, int nphibin, double RMin, double RMax, int nRbin)
 
 ~MaterialBudgetHGCalHistos () override
 
- Public Member Functions inherited from MaterialBudgetFormat
 MaterialBudgetFormat (std::shared_ptr< MaterialBudgetData > data)
 
virtual ~MaterialBudgetFormat ()
 

Private Member Functions

virtual void book ()
 

Private Attributes

double etaMax_
 
double etaMin_
 
std::shared_ptr< TestHistoMgrhmgr
 
int netabin_
 
int nphibin_
 
int nrbin_
 
int nRbin_
 
int nzbin_
 
double phiMax_
 
double phiMin_
 
double rMax_
 
double RMax_
 
double rMin_
 
double RMin_
 
double * theDmb
 
double * theMateId
 
double * theVoluId
 
double * theX
 
double * theY
 
double * theZ
 
double zMax_
 
double zMin_
 

Additional Inherited Members

- Protected Attributes inherited from MaterialBudgetFormat
std::shared_ptr
< MaterialBudgetData
theData
 
std::string theFileName
 

Detailed Description

Definition at line 7 of file MaterialBudgetHGCalHistos.h.

Constructor & Destructor Documentation

MaterialBudgetHGCalHistos::MaterialBudgetHGCalHistos ( std::shared_ptr< MaterialBudgetData data,
std::shared_ptr< TestHistoMgr mgr,
const std::string &  fileName 
)
MaterialBudgetHGCalHistos::MaterialBudgetHGCalHistos ( std::shared_ptr< MaterialBudgetData data,
std::shared_ptr< TestHistoMgr mgr,
const std::string &  fileName,
double  minZ,
double  maxZ,
int  nintZ,
double  rMin,
double  rMax,
int  nrbin,
double  etaMin,
double  etaMax,
int  netabin,
double  phiMin,
double  phiMax,
int  nphibin,
double  RMin,
double  RMax,
int  nRbin 
)

Definition at line 9 of file MaterialBudgetHGCalHistos.cc.

References book(), MillePedeFileConverter_cfg::fileName, and MaterialBudgetFormat::theFileName.

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 }
MaterialBudgetFormat(std::shared_ptr< MaterialBudgetData > data)
tuple etaMin
Definition: Puppi_cff.py:45
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
std::shared_ptr< TestHistoMgr > hmgr
tuple etaMax
Definition: Puppi_cff.py:46
MaterialBudgetHGCalHistos::~MaterialBudgetHGCalHistos ( )
inlineoverride

Definition at line 30 of file MaterialBudgetHGCalHistos.h.

30 {}

Member Function Documentation

void MaterialBudgetHGCalHistos::book ( )
privatevirtual

Definition at line 50 of file MaterialBudgetHGCalHistos.cc.

References gather_cfg::cout, etaMax_, etaMin_, hmgr, netabin_, nphibin_, nrbin_, nRbin_, nzbin_, phiMax_, phiMin_, rMax_, RMax_, rMin_, RMin_, zMax_, and zMin_.

Referenced by MaterialBudgetHGCalHistos().

50  {
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 }
tuple cout
Definition: gather_cfg.py:144
std::shared_ptr< TestHistoMgr > hmgr
void MaterialBudgetHGCalHistos::endOfRun ( )
overridevirtual

Reimplemented from MaterialBudgetFormat.

Definition at line 1395 of file MaterialBudgetHGCalHistos.cc.

References gather_cfg::cout, hmgr, and MaterialBudgetFormat::theFileName.

1395  {
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 }
tuple cout
Definition: gather_cfg.py:144
std::shared_ptr< TestHistoMgr > hmgr
void MaterialBudgetHGCalHistos::fillEndTrack ( )
overridevirtual

Reimplemented from MaterialBudgetFormat.

Definition at line 757 of file MaterialBudgetHGCalHistos.cc.

References reco::ceil(), funct::cos(), gather_cfg::cout, PVValHelper::eta, funct::exp(), hmgr, SiStripPI::max, funct::pow(), mathSSE::sqrt(), MaterialBudgetFormat::theData, and z.

757  {
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 }
constexpr int32_t ceil(float num)
Exp< T >::type exp(const T &t)
Definition: Exp.h:22
T sqrt(T t)
Definition: SSEVec.h:19
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
tuple cout
Definition: gather_cfg.py:144
std::shared_ptr< TestHistoMgr > hmgr
std::shared_ptr< MaterialBudgetData > theData
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
void MaterialBudgetHGCalHistos::fillPerStep ( )
overridevirtual

Reimplemented from MaterialBudgetFormat.

Definition at line 755 of file MaterialBudgetHGCalHistos.cc.

755 {}
void MaterialBudgetHGCalHistos::fillStartTrack ( )
overridevirtual

Reimplemented from MaterialBudgetFormat.

Definition at line 753 of file MaterialBudgetHGCalHistos.cc.

753 {}

Member Data Documentation

double MaterialBudgetHGCalHistos::etaMax_
private

Definition at line 51 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

double MaterialBudgetHGCalHistos::etaMin_
private

Definition at line 51 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

std::shared_ptr<TestHistoMgr> MaterialBudgetHGCalHistos::hmgr
private

Definition at line 45 of file MaterialBudgetHGCalHistos.h.

Referenced by book(), endOfRun(), and fillEndTrack().

int MaterialBudgetHGCalHistos::netabin_
private

Definition at line 52 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

int MaterialBudgetHGCalHistos::nphibin_
private

Definition at line 54 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

int MaterialBudgetHGCalHistos::nrbin_
private

Definition at line 50 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

int MaterialBudgetHGCalHistos::nRbin_
private

Definition at line 56 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

int MaterialBudgetHGCalHistos::nzbin_
private

Definition at line 48 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

double MaterialBudgetHGCalHistos::phiMax_
private

Definition at line 53 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

double MaterialBudgetHGCalHistos::phiMin_
private

Definition at line 53 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

double MaterialBudgetHGCalHistos::rMax_
private

Definition at line 49 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

double MaterialBudgetHGCalHistos::RMax_
private

Definition at line 55 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

double MaterialBudgetHGCalHistos::rMin_
private

Definition at line 49 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

double MaterialBudgetHGCalHistos::RMin_
private

Definition at line 55 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

double* MaterialBudgetHGCalHistos::theDmb
private

Definition at line 38 of file MaterialBudgetHGCalHistos.h.

double* MaterialBudgetHGCalHistos::theMateId
private

Definition at line 43 of file MaterialBudgetHGCalHistos.h.

double* MaterialBudgetHGCalHistos::theVoluId
private

Definition at line 42 of file MaterialBudgetHGCalHistos.h.

double* MaterialBudgetHGCalHistos::theX
private

Definition at line 39 of file MaterialBudgetHGCalHistos.h.

double* MaterialBudgetHGCalHistos::theY
private

Definition at line 40 of file MaterialBudgetHGCalHistos.h.

double* MaterialBudgetHGCalHistos::theZ
private

Definition at line 41 of file MaterialBudgetHGCalHistos.h.

double MaterialBudgetHGCalHistos::zMax_
private

Definition at line 47 of file MaterialBudgetHGCalHistos.h.

Referenced by book().

double MaterialBudgetHGCalHistos::zMin_
private

Definition at line 47 of file MaterialBudgetHGCalHistos.h.

Referenced by book().