Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-01-11 23:32:55

0001 #include "Validation/Geometry/interface/MaterialBudgetHGCalHistos.h"
0002 #include "Validation/Geometry/interface/MaterialBudgetData.h"
0003 
0004 template <class T>
0005 const T& max(const T& a, const T& b) {
0006   return (b < a) ? a : b;  // or: return comp(b,a)?a:b; for the comp version
0007 }
0008 
0009 MaterialBudgetHGCalHistos::MaterialBudgetHGCalHistos(std::shared_ptr<MaterialBudgetData> data,
0010                                                      std::shared_ptr<TestHistoMgr> mgr,
0011                                                      const std::string& fileName,
0012                                                      double minZ,
0013                                                      double maxZ,
0014                                                      int nintZ,
0015                                                      double rMin,
0016                                                      double rMax,
0017                                                      int nrbin,
0018                                                      double etaMin,
0019                                                      double etaMax,
0020                                                      int netabin,
0021                                                      double phiMin,
0022                                                      double phiMax,
0023                                                      int nphibin,
0024                                                      double RMin,
0025                                                      double RMax,
0026                                                      int nRbin)
0027     : MaterialBudgetFormat(data),
0028       hmgr(mgr),
0029       zMin_(minZ),
0030       zMax_(maxZ),
0031       nzbin_(nintZ),
0032       rMin_(rMin),
0033       rMax_(rMax),
0034       nrbin_(nrbin),
0035       etaMin_(etaMin),
0036       etaMax_(etaMax),
0037       netabin_(netabin),
0038       phiMin_(phiMin),
0039       phiMax_(phiMax),
0040       nphibin_(nphibin),
0041       RMin_(RMin),
0042       RMax_(RMax),
0043       nRbin_(nRbin)
0044 
0045 {
0046   theFileName = fileName;
0047   book();
0048 }
0049 
0050 void MaterialBudgetHGCalHistos::book() {
0051   std::cout << "=== booking user histos ===" << std::endl;
0052 
0053   // total X0
0054   hmgr->addHistoProf1(new TProfile("10", "MB prof Eta;#eta;x/X_{0} ", netabin_, etaMin_, etaMax_));
0055   hmgr->addHisto1(new TH1F("11", "Eta ", netabin_, etaMin_, etaMax_));
0056   hmgr->addHistoProf1(new TProfile("20", "MB prof Phi;#varphi [rad];x/X_{0} ", nphibin_, phiMin_, phiMax_));
0057   hmgr->addHisto1(new TH1F("21", "Phi ", nphibin_, phiMin_, phiMax_));
0058   hmgr->addHistoProf2(new TProfile2D(
0059       "30", "MB prof Eta  Phi;#eta;#varphi;x/X_{0} ", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
0060   hmgr->addHisto2(new TH2F("31", "Eta vs Phi ", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
0061   hmgr->addHistoProf1(new TProfile("40", "MB prof R;R [mm];x/X_{0} ", nRbin_, RMin_, RMax_));
0062   hmgr->addHisto1(new TH1F("41", "R ", nRbin_, RMin_, RMax_));
0063   hmgr->addHistoProf2(
0064       new TProfile2D("50", "MB prof sum R  z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0065   hmgr->addHisto2(new TH2F("999", "Tot track length for MB", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0066   hmgr->addHisto2(new TH2F("51", "R vs z ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0067   hmgr->addHistoProf2(new TProfile2D(
0068       "52", "MB ortho prof sum R  z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0069   hmgr->addHisto2(
0070       new TH2F("60", "MB prof local R  z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0071   hmgr->addHistoProf2(
0072       new TProfile2D("70", "MB prof local R  z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0073   hmgr->addHistoProf2(new TProfile2D(
0074       "72", "MB ortho prof local R  z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0075 
0076   // Copper
0077   hmgr->addHistoProf1(new TProfile("110", "MB prof Eta [Copper];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0078   hmgr->addHistoProf1(new TProfile("120", "MB prof Phi [Copper];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0079   hmgr->addHistoProf2(new TProfile2D(
0080       "130", "MB prof Eta  Phi [Copper];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
0081   hmgr->addHistoProf1(new TProfile("140", "MB prof R [Copper];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0082   hmgr->addHistoProf2(new TProfile2D(
0083       "150", "MB prof sum R  z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0084   hmgr->addHistoProf2(new TProfile2D(
0085       "152", "MB ortho prof sum R  z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0086   hmgr->addHisto2(new TH2F(
0087       "160", "MB prof local R  z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0088   hmgr->addHistoProf2(new TProfile2D(
0089       "170", "MB prof local R  z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0090   hmgr->addHistoProf2(new TProfile2D(
0091       "172", "MB ortho prof local R  z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0092 
0093   // H_Scintillator
0094   hmgr->addHistoProf1(new TProfile("210", "MB prof Eta [Scintillator];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0095   hmgr->addHistoProf1(
0096       new TProfile("220", "MB prof Phi [Scintillator];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0097   hmgr->addHistoProf2(new TProfile2D("230",
0098                                      "MB prof Eta  Phi [Scintillator];#eta;#varphi;x/X_{0}",
0099                                      netabin_,
0100                                      etaMin_,
0101                                      etaMax_,
0102                                      nphibin_,
0103                                      phiMin_,
0104                                      phiMax_));
0105   hmgr->addHistoProf1(new TProfile("240", "MB prof R [Scintillator];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0106   hmgr->addHistoProf2(new TProfile2D(
0107       "250", "MB prof sum R  z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0108   hmgr->addHistoProf2(new TProfile2D(
0109       "252", "MB ortho prof sum R  z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0110   hmgr->addHisto2(new TH2F(
0111       "260", "MB prof local R  z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0112   hmgr->addHistoProf2(new TProfile2D(
0113       "270", "MB prof local R  z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0114   hmgr->addHistoProf2(new TProfile2D("272",
0115                                      "MB ortho prof local R  z [Scintillator];z [mm];R [mm];x/X_{0} ",
0116                                      nzbin_,
0117                                      zMin_,
0118                                      zMax_,
0119                                      nrbin_,
0120                                      rMin_,
0121                                      rMax_));
0122 
0123   // Cables
0124   hmgr->addHistoProf1(new TProfile("310", "MB prof Eta [Cables];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0125   hmgr->addHistoProf1(new TProfile("320", "MB prof Phi [Cables];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0126   hmgr->addHistoProf2(new TProfile2D(
0127       "330", "MB prof Eta  Phi [Cables];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
0128   hmgr->addHistoProf1(new TProfile("340", "MB prof R [Cables];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0129   hmgr->addHistoProf2(new TProfile2D(
0130       "350", "MB prof sum R  z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0131   hmgr->addHistoProf2(new TProfile2D(
0132       "352", "MB ortho prof sum R  z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0133   hmgr->addHisto2(new TH2F(
0134       "360", "MB prof local R  z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0135   hmgr->addHistoProf2(new TProfile2D(
0136       "370", "MB prof local R  z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0137   hmgr->addHistoProf2(new TProfile2D(
0138       "372", "MB ortho prof local R  z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0139 
0140   // HGC_G10_FR4
0141   hmgr->addHistoProf1(new TProfile("410", "MB prof Eta [HGC_G10_FR4];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0142   hmgr->addHistoProf1(
0143       new TProfile("420", "MB prof Phi [HGC_G10_FR4];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0144   hmgr->addHistoProf2(new TProfile2D("430",
0145                                      "MB prof Eta  Phi [HGC_G10_FR4];#eta;#varphi;x/X_{0}",
0146                                      netabin_,
0147                                      etaMin_,
0148                                      etaMax_,
0149                                      nphibin_,
0150                                      phiMin_,
0151                                      phiMax_));
0152   hmgr->addHistoProf1(new TProfile("440", "MB prof R [HGC_G10_FR4];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0153   hmgr->addHistoProf2(new TProfile2D(
0154       "450", "MB prof sum R  z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0155   hmgr->addHistoProf2(new TProfile2D(
0156       "452", "MB ortho prof sum R  z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0157   hmgr->addHisto2(new TH2F(
0158       "460", "MB prof local R  z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0159   hmgr->addHistoProf2(new TProfile2D(
0160       "470", "MB prof local R  z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0161   hmgr->addHistoProf2(new TProfile2D("472",
0162                                      "MB ortho prof local R  z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ",
0163                                      nzbin_,
0164                                      zMin_,
0165                                      zMax_,
0166                                      nrbin_,
0167                                      rMin_,
0168                                      rMax_));
0169 
0170   // Silicon
0171   hmgr->addHistoProf1(new TProfile("510", "MB prof Eta [Silicon];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0172   hmgr->addHistoProf1(new TProfile("520", "MB prof Phi [Silicon];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0173   hmgr->addHistoProf2(new TProfile2D(
0174       "530", "MB prof Eta  Phi [Silicon];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
0175   hmgr->addHistoProf1(new TProfile("540", "MB prof R [Silicon];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0176   hmgr->addHistoProf2(new TProfile2D(
0177       "550", "MB prof sum R  z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0178   hmgr->addHistoProf2(new TProfile2D(
0179       "552", "MB ortho prof sum R  z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0180   hmgr->addHisto2(new TH2F(
0181       "560", "MB prof local R  z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0182   hmgr->addHistoProf2(new TProfile2D(
0183       "570", "MB prof local R  z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0184   hmgr->addHistoProf2(new TProfile2D(
0185       "572", "MB ortho prof local R  z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0186 
0187   // Other
0188   hmgr->addHistoProf1(new TProfile("610", "MB prof Eta [Other];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0189   hmgr->addHistoProf1(new TProfile("620", "MB prof Phi [Other];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0190   hmgr->addHistoProf2(new TProfile2D(
0191       "630", "MB prof Eta  Phi [Other];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
0192   hmgr->addHistoProf1(new TProfile("640", "MB prof R [Other];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0193   hmgr->addHistoProf2(new TProfile2D(
0194       "650", "MB prof sum R  z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0195   hmgr->addHistoProf2(new TProfile2D(
0196       "652", "MB ortho prof sum R  z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0197   hmgr->addHisto2(
0198       new TH2F("660", "MB prof local R  z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0199   hmgr->addHistoProf2(new TProfile2D(
0200       "670", "MB prof local R  z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0201   hmgr->addHistoProf2(new TProfile2D(
0202       "672", "MB ortho prof local R  z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0203 
0204   // Air
0205   hmgr->addHistoProf1(new TProfile("710", "MB prof Eta [Air];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0206   hmgr->addHistoProf1(new TProfile("720", "MB prof Phi [Air];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0207   hmgr->addHistoProf2(new TProfile2D(
0208       "730", "MB prof Eta  Phi [Air];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
0209   hmgr->addHistoProf1(new TProfile("740", "MB prof R [Air];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0210   hmgr->addHistoProf2(new TProfile2D(
0211       "750", "MB prof sum R  z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0212   hmgr->addHistoProf2(new TProfile2D(
0213       "752", "MB ortho prof sum R  z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0214   hmgr->addHisto2(
0215       new TH2F("760", "MB prof local R  z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0216   hmgr->addHistoProf2(new TProfile2D(
0217       "770", "MB prof local R  z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0218   hmgr->addHistoProf2(new TProfile2D(
0219       "772", "MB ortho prof local R  z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0220 
0221   //StainlessSteel
0222   hmgr->addHistoProf1(new TProfile("810", "MB prof Eta [StainlessSteel];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0223   hmgr->addHistoProf1(
0224       new TProfile("820", "MB prof Phi [StainlessSteel];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0225   hmgr->addHistoProf2(new TProfile2D("830",
0226                                      "MB prof Eta  Phi [StainlessSteel];#eta;#varphi;x/X_{0}",
0227                                      netabin_,
0228                                      etaMin_,
0229                                      etaMax_,
0230                                      nphibin_,
0231                                      phiMin_,
0232                                      phiMax_));
0233   hmgr->addHistoProf1(new TProfile("840", "MB prof R [StainlessSteel];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0234   hmgr->addHistoProf2(new TProfile2D(
0235       "850", "MB prof sum R  z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0236   hmgr->addHistoProf2(new TProfile2D("852",
0237                                      "MB ortho prof sum R  z [StainlessSteel];z [mm];R [mm];x/X_{0} ",
0238                                      nzbin_,
0239                                      zMin_,
0240                                      zMax_,
0241                                      nrbin_,
0242                                      rMin_,
0243                                      rMax_));
0244   hmgr->addHisto2(new TH2F(
0245       "860", "MB prof local R  z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0246   hmgr->addHistoProf2(new TProfile2D(
0247       "870", "MB prof local R  z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0248   hmgr->addHistoProf2(new TProfile2D("872",
0249                                      "MB ortho prof local R  z [StainlessSteel];z [mm];R [mm];x/X_{0} ",
0250                                      nzbin_,
0251                                      zMin_,
0252                                      zMax_,
0253                                      nrbin_,
0254                                      rMin_,
0255                                      rMax_));
0256 
0257   //WCu
0258   hmgr->addHistoProf1(new TProfile("910", "MB prof Eta [WCu];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0259   hmgr->addHistoProf1(new TProfile("920", "MB prof Phi [WCu];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0260   hmgr->addHistoProf2(new TProfile2D(
0261       "930", "MB prof Eta  Phi [WCu];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
0262   hmgr->addHistoProf1(new TProfile("940", "MB prof R [WCu];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0263   hmgr->addHistoProf2(new TProfile2D(
0264       "950", "MB prof sum R  z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0265   hmgr->addHistoProf2(new TProfile2D(
0266       "952", "MB ortho prof sum R  z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0267   hmgr->addHisto2(
0268       new TH2F("960", "MB prof local R  z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0269   hmgr->addHistoProf2(new TProfile2D(
0270       "970", "MB prof local R  z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0271   hmgr->addHistoProf2(new TProfile2D(
0272       "972", "MB ortho prof local R  z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0273 
0274   // Lead
0275   hmgr->addHistoProf1(new TProfile("1010", "MB prof Eta [Lead];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0276   hmgr->addHistoProf1(new TProfile("1020", "MB prof Phi [Lead];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0277   hmgr->addHistoProf2(new TProfile2D(
0278       "1030", "MB prof Eta  Phi [Lead];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
0279   hmgr->addHistoProf1(new TProfile("1040", "MB prof R [Lead];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0280   hmgr->addHistoProf2(new TProfile2D(
0281       "1050", "MB prof sum R  z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0282   hmgr->addHistoProf2(new TProfile2D(
0283       "1052", "MB ortho prof sum R  z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0284   hmgr->addHisto2(
0285       new TH2F("1060", "MB prof local R  z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0286   hmgr->addHistoProf2(new TProfile2D(
0287       "1070", "MB prof local R  z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0288   hmgr->addHistoProf2(new TProfile2D(
0289       "1072", "MB ortho prof local R  z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0290 
0291   // Epoxy
0292   hmgr->addHistoProf1(new TProfile("1110", "MB prof Eta [Epoxy];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0293   hmgr->addHistoProf1(new TProfile("1120", "MB prof Phi [Epoxy];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0294   hmgr->addHistoProf2(new TProfile2D(
0295       "1130", "MB prof Eta  Phi [Epoxy];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
0296   hmgr->addHistoProf1(new TProfile("1140", "MB prof R [Epoxy];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0297   hmgr->addHistoProf2(new TProfile2D(
0298       "1150", "MB prof sum R  z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0299   hmgr->addHistoProf2(new TProfile2D(
0300       "1152", "MB ortho prof sum R  z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0301   hmgr->addHisto2(new TH2F(
0302       "1160", "MB prof local R  z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0303   hmgr->addHistoProf2(new TProfile2D(
0304       "1170", "MB prof local R  z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0305   hmgr->addHistoProf2(new TProfile2D(
0306       "1172", "MB ortho prof local R  z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0307 
0308   // Kapton
0309   hmgr->addHistoProf1(new TProfile("1210", "MB prof Eta [Kapton];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0310   hmgr->addHistoProf1(new TProfile("1220", "MB prof Phi [Kapton];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0311   hmgr->addHistoProf2(new TProfile2D(
0312       "1230", "MB prof Eta  Phi [Kapton];#eta;#varphi;x/X_{0}", netabin_, etaMin_, etaMax_, nphibin_, phiMin_, phiMax_));
0313   hmgr->addHistoProf1(new TProfile("1240", "MB prof R [Kapton];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0314   hmgr->addHistoProf2(new TProfile2D(
0315       "1250", "MB prof sum R  z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0316   hmgr->addHistoProf2(new TProfile2D(
0317       "1252", "MB ortho prof sum R  z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0318   hmgr->addHisto2(new TH2F(
0319       "1260", "MB prof local R  z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0320   hmgr->addHistoProf2(new TProfile2D(
0321       "1270", "MB prof local R  z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0322   hmgr->addHistoProf2(new TProfile2D(
0323       "1272", "MB ortho prof local R  z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0324 
0325   // Aluminium
0326   hmgr->addHistoProf1(new TProfile("1310", "MB prof Eta [Aluminium];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0327   hmgr->addHistoProf1(
0328       new TProfile("1320", "MB prof Phi [Aluminium];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0329   hmgr->addHistoProf2(new TProfile2D("1330",
0330                                      "MB prof Eta  Phi [Aluminium];#eta;#varphi;x/X_{0}",
0331                                      netabin_,
0332                                      etaMin_,
0333                                      etaMax_,
0334                                      nphibin_,
0335                                      phiMin_,
0336                                      phiMax_));
0337   hmgr->addHistoProf1(new TProfile("1340", "MB prof R [Aluminium];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0338   hmgr->addHistoProf2(new TProfile2D(
0339       "1350", "MB prof sum R  z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0340   hmgr->addHistoProf2(new TProfile2D(
0341       "1352", "MB ortho prof sum R  z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0342   hmgr->addHisto2(new TH2F(
0343       "1360", "MB prof local R  z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0344   hmgr->addHistoProf2(new TProfile2D(
0345       "1370", "MB prof local R  z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0346   hmgr->addHistoProf2(new TProfile2D(
0347       "1372", "MB ortho prof local R  z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0348 
0349   // Polystyrene
0350   hmgr->addHistoProf1(new TProfile("1410", "MB prof Eta [Polystyrene];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0351   hmgr->addHistoProf1(
0352       new TProfile("1420", "MB prof Phi [Polystyrene];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0353   hmgr->addHistoProf2(new TProfile2D("1430",
0354                                      "MB prof Eta  Phi [Polystyrene];#eta;#varphi;x/X_{0}",
0355                                      netabin_,
0356                                      etaMin_,
0357                                      etaMax_,
0358                                      nphibin_,
0359                                      phiMin_,
0360                                      phiMax_));
0361   hmgr->addHistoProf1(new TProfile("1440", "MB prof R [Polystyrene];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0362   hmgr->addHistoProf2(new TProfile2D(
0363       "1450", "MB prof sum R  z [Polystyrene];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0364   hmgr->addHistoProf2(new TProfile2D(
0365       "1452", "MB ortho prof sum R  z [Polystyrene];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0366   hmgr->addHisto2(new TH2F(
0367       "1460", "MB prof local R  z [Polystyrene];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0368   hmgr->addHistoProf2(new TProfile2D(
0369       "1470", "MB prof local R  z [Polystyrene];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0370   hmgr->addHistoProf2(new TProfile2D("1472",
0371                                      "MB ortho prof local R  z [Polystyrene];z [mm];R [mm];x/X_{0} ",
0372                                      nzbin_,
0373                                      zMin_,
0374                                      zMax_,
0375                                      nrbin_,
0376                                      rMin_,
0377                                      rMax_));
0378 
0379   // HGC_EEConnector
0380   hmgr->addHistoProf1(new TProfile("1510", "MB prof Eta [HGC_EEConnector];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0381   hmgr->addHistoProf1(
0382       new TProfile("1520", "MB prof Phi [HGC_EEConnector];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0383   hmgr->addHistoProf2(new TProfile2D("1530",
0384                                      "MB prof Eta  Phi [HGC_EEConnector];#eta;#varphi;x/X_{0}",
0385                                      netabin_,
0386                                      etaMin_,
0387                                      etaMax_,
0388                                      nphibin_,
0389                                      phiMin_,
0390                                      phiMax_));
0391   hmgr->addHistoProf1(new TProfile("1540", "MB prof R [HGC_EEConnector];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0392   hmgr->addHistoProf2(new TProfile2D(
0393       "1550", "MB prof sum R  z [HGC_EEConnector];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0394   hmgr->addHistoProf2(new TProfile2D("1552",
0395                                      "MB ortho prof sum R  z [HGC_EEConnector];z [mm];R [mm];x/X_{0} ",
0396                                      nzbin_,
0397                                      zMin_,
0398                                      zMax_,
0399                                      nrbin_,
0400                                      rMin_,
0401                                      rMax_));
0402   hmgr->addHisto2(new TH2F(
0403       "1560", "MB prof local R  z [HGC_EEConnector];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0404   hmgr->addHistoProf2(new TProfile2D(
0405       "1570", "MB prof local R  z [HGC_EEConnector];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0406   hmgr->addHistoProf2(new TProfile2D("1572",
0407                                      "MB ortho prof local R  z [HGC_EEConnector];z [mm];R [mm];x/X_{0} ",
0408                                      nzbin_,
0409                                      zMin_,
0410                                      zMax_,
0411                                      nrbin_,
0412                                      rMin_,
0413                                      rMax_));
0414 
0415   // HGC_HEConnector
0416   hmgr->addHistoProf1(new TProfile("1610", "MB prof Eta [HGC_HEConnector];#eta;x/X_{0}", netabin_, etaMin_, etaMax_));
0417   hmgr->addHistoProf1(
0418       new TProfile("1620", "MB prof Phi [HGC_HEConnector];#varphi [rad];x/X_{0}", nphibin_, phiMin_, phiMax_));
0419   hmgr->addHistoProf2(new TProfile2D("1630",
0420                                      "MB prof Eta  Phi [HGC_HEConnector];#eta;#varphi;x/X_{0}",
0421                                      netabin_,
0422                                      etaMin_,
0423                                      etaMax_,
0424                                      nphibin_,
0425                                      phiMin_,
0426                                      phiMax_));
0427   hmgr->addHistoProf1(new TProfile("1640", "MB prof R [HGC_HEConnector];R [mm];x/X_{0}", nrbin_, RMin_, RMax_));
0428   hmgr->addHistoProf2(new TProfile2D(
0429       "1650", "MB prof sum R  z [HGC_HEConnector];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0430   hmgr->addHistoProf2(new TProfile2D("1652",
0431                                      "MB ortho prof sum R  z [HGC_HEConnector];z [mm];R [mm];x/X_{0} ",
0432                                      nzbin_,
0433                                      zMin_,
0434                                      zMax_,
0435                                      nrbin_,
0436                                      rMin_,
0437                                      rMax_));
0438   hmgr->addHisto2(new TH2F(
0439       "1660", "MB prof local R  z [HGC_HEConnector];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0440   hmgr->addHistoProf2(new TProfile2D(
0441       "1670", "MB prof local R  z [HGC_HEConnector];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0442   hmgr->addHistoProf2(new TProfile2D("1672",
0443                                      "MB ortho prof local R  z [HGC_HEConnector];z [mm];R [mm];x/X_{0} ",
0444                                      nzbin_,
0445                                      zMin_,
0446                                      zMax_,
0447                                      nrbin_,
0448                                      rMin_,
0449                                      rMax_));
0450 
0451   //=========================================================================================================
0452   // total Lambda0
0453   hmgr->addHistoProf1(new TProfile("10010", "IL prof Eta;#eta;#lambda/#lambda_{0} ", netabin_, etaMin_, etaMax_));
0454   hmgr->addHistoProf1(
0455       new TProfile("10020", "IL prof Phi;#varphi [rad];#lambda/#lambda_{0} ", nphibin_, phiMin_, phiMax_));
0456   hmgr->addHistoProf2(new TProfile2D("10030",
0457                                      "IL prof Eta  Phi;#eta;#varphi;#lambda/#lambda_{0} ",
0458                                      netabin_,
0459                                      etaMin_,
0460                                      etaMax_,
0461                                      nphibin_,
0462                                      phiMin_,
0463                                      phiMax_));
0464 
0465   // rr
0466   hmgr->addHistoProf1(new TProfile("10040", "IL prof R;R [mm];#lambda/#lambda_{0} ", nrbin_, RMin_, RMax_));
0467   hmgr->addHistoProf2(new TProfile2D(
0468       "10050", "IL prof sum R  z;z [mm];R [mm];#lambda/#lambda_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0469   hmgr->addHistoProf2(new TProfile2D(
0470       "10052", "IL ortho prof sum R  z;z [mm];R [mm];#lambda/#lambda_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0471   hmgr->addHisto2(new TH2F("1999", "Tot track length for l0", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0472   hmgr->addHisto2(
0473       new TH2F("10060", "IL prof local R  z;z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0474   hmgr->addHistoProf2(new TProfile2D(
0475       "10070", "IL prof local R  z;z [mm];R [mm];#lambda/#lambda_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0476   hmgr->addHistoProf2(new TProfile2D("10072",
0477                                      "IL ortho prof local R  z;z [mm];R [mm];#lambda/#lambda_{0} ",
0478                                      nzbin_,
0479                                      zMin_,
0480                                      zMax_,
0481                                      nrbin_,
0482                                      rMin_,
0483                                      rMax_));
0484 
0485   // Copper
0486   hmgr->addHistoProf1(
0487       new TProfile("10110", "IL prof Eta [Copper];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0488   hmgr->addHistoProf1(
0489       new TProfile("10120", "IL prof Phi [Copper];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0490   hmgr->addHistoProf2(new TProfile2D("10130",
0491                                      "IL prof Eta  Phi [Copper];#eta;#varphi;#lambda/#lambda_{0}",
0492                                      netabin_,
0493                                      etaMin_,
0494                                      etaMax_,
0495                                      nphibin_,
0496                                      phiMin_,
0497                                      phiMax_));
0498   hmgr->addHistoProf1(new TProfile("10140", "IL prof R [Copper];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0499   hmgr->addHistoProf2(new TProfile2D(
0500       "10150", "IL prof sum R  z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0501   hmgr->addHistoProf2(new TProfile2D(
0502       "10152", "IL ortho prof sum R  z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0503   hmgr->addHisto2(new TH2F(
0504       "10160", "IL prof local R  z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0505   hmgr->addHistoProf2(new TProfile2D(
0506       "10170", "IL prof local R  z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0507   hmgr->addHistoProf2(new TProfile2D(
0508       "10172", "IL ortho prof local R  z [Copper];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0509 
0510   // H_Scintillator
0511   hmgr->addHistoProf1(
0512       new TProfile("10210", "IL prof Eta [Scintillator];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0513   hmgr->addHistoProf1(new TProfile(
0514       "10220", "IL prof Phi [Scintillator];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0515   hmgr->addHistoProf2(new TProfile2D("10230",
0516                                      "IL prof Eta  Phi [Scintillator];#eta;#varphi;#lambda/#lambda_{0}",
0517                                      netabin_,
0518                                      etaMin_,
0519                                      etaMax_,
0520                                      nphibin_,
0521                                      phiMin_,
0522                                      phiMax_));
0523   hmgr->addHistoProf1(
0524       new TProfile("10240", "IL prof R [Scintillator];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0525   hmgr->addHistoProf2(new TProfile2D(
0526       "10250", "IL prof sum R  z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0527   hmgr->addHistoProf2(new TProfile2D("10252",
0528                                      "IL ortho prof sum R  z [Scintillator];z [mm];R [mm];x/X_{0} ",
0529                                      nzbin_,
0530                                      zMin_,
0531                                      zMax_,
0532                                      nrbin_,
0533                                      rMin_,
0534                                      rMax_));
0535   hmgr->addHisto2(new TH2F(
0536       "10260", "IL prof local R  z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0537   hmgr->addHistoProf2(new TProfile2D(
0538       "10270", "IL prof local R  z [Scintillator];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0539   hmgr->addHistoProf2(new TProfile2D("10272",
0540                                      "IL ortho prof local R  z [Scintillator];z [mm];R [mm];x/X_{0} ",
0541                                      nzbin_,
0542                                      zMin_,
0543                                      zMax_,
0544                                      nrbin_,
0545                                      rMin_,
0546                                      rMax_));
0547 
0548   // Cables
0549   hmgr->addHistoProf1(
0550       new TProfile("10310", "IL prof Eta [Cables];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0551   hmgr->addHistoProf1(
0552       new TProfile("10320", "IL prof Phi [Cables];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0553   hmgr->addHistoProf2(new TProfile2D("10330",
0554                                      "IL prof Eta  Phi [Cables];#eta;#varphi;#lambda/#lambda_{0}",
0555                                      netabin_,
0556                                      etaMin_,
0557                                      etaMax_,
0558                                      nphibin_,
0559                                      phiMin_,
0560                                      phiMax_));
0561   hmgr->addHistoProf1(new TProfile("10340", "IL prof R [Cables];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0562   hmgr->addHistoProf2(new TProfile2D(
0563       "10350", "IL prof sum R  z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0564   hmgr->addHistoProf2(new TProfile2D(
0565       "10352", "IL ortho prof sum R  z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0566   hmgr->addHisto2(new TH2F(
0567       "10360", "IL prof local R  z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0568   hmgr->addHistoProf2(new TProfile2D(
0569       "10370", "IL prof local R  z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0570   hmgr->addHistoProf2(new TProfile2D(
0571       "10372", "IL ortho prof local R  z [Cables];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0572 
0573   // HGC_G10_FR4
0574   hmgr->addHistoProf1(
0575       new TProfile("10410", "IL prof Eta [HGC_G10_FR4];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0576   hmgr->addHistoProf1(
0577       new TProfile("10420", "IL prof Phi [HGC_G10_FR4];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0578   hmgr->addHistoProf2(new TProfile2D("10430",
0579                                      "IL prof Eta  Phi [HGC_G10_FR4];#eta;#varphi;#lambda/#lambda_{0}",
0580                                      netabin_,
0581                                      etaMin_,
0582                                      etaMax_,
0583                                      nphibin_,
0584                                      phiMin_,
0585                                      phiMax_));
0586   hmgr->addHistoProf1(
0587       new TProfile("10440", "IL prof R [HGC_G10_FR4];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0588   hmgr->addHistoProf2(new TProfile2D(
0589       "10450", "IL prof sum R  z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0590   hmgr->addHistoProf2(new TProfile2D("10452",
0591                                      "IL ortho prof sum R  z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ",
0592                                      nzbin_,
0593                                      zMin_,
0594                                      zMax_,
0595                                      nrbin_,
0596                                      rMin_,
0597                                      rMax_));
0598   hmgr->addHisto2(new TH2F(
0599       "10460", "IL prof local R  z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0600   hmgr->addHistoProf2(new TProfile2D(
0601       "10470", "IL prof local R  z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0602   hmgr->addHistoProf2(new TProfile2D("10472",
0603                                      "IL ortho prof local R  z [HGC_G10_FR4];z [mm];R [mm];x/X_{0} ",
0604                                      nzbin_,
0605                                      zMin_,
0606                                      zMax_,
0607                                      nrbin_,
0608                                      rMin_,
0609                                      rMax_));
0610 
0611   // Silicon
0612   hmgr->addHistoProf1(
0613       new TProfile("10510", "IL prof Eta [Silicon];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0614   hmgr->addHistoProf1(
0615       new TProfile("10520", "IL prof Phi [Silicon];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0616   hmgr->addHistoProf2(new TProfile2D("10530",
0617                                      "IL prof Eta  Phi [Silicon];#eta;#varphi;#lambda/#lambda_{0}",
0618                                      netabin_,
0619                                      etaMin_,
0620                                      etaMax_,
0621                                      nphibin_,
0622                                      phiMin_,
0623                                      phiMax_));
0624   hmgr->addHistoProf1(new TProfile("10540", "IL prof R [Silicon];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0625   hmgr->addHistoProf2(new TProfile2D(
0626       "10550", "IL prof sum R  z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0627   hmgr->addHistoProf2(new TProfile2D(
0628       "10552", "IL ortho prof sum R  z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0629   hmgr->addHisto2(new TH2F(
0630       "10560", "IL prof local R  z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0631   hmgr->addHistoProf2(new TProfile2D(
0632       "10570", "IL prof local R  z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0633   hmgr->addHistoProf2(new TProfile2D(
0634       "10572", "IL ortho prof local R  z [Silicon];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0635 
0636   // Other
0637   hmgr->addHistoProf1(
0638       new TProfile("10610", "IL prof Eta [Other];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0639   hmgr->addHistoProf1(
0640       new TProfile("10620", "IL prof Phi [Other];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0641   hmgr->addHistoProf2(new TProfile2D("10630",
0642                                      "IL prof Eta  Phi [Other];#eta;#varphi;#lambda/#lambda_{0}",
0643                                      netabin_,
0644                                      etaMin_,
0645                                      etaMax_,
0646                                      nphibin_,
0647                                      phiMin_,
0648                                      phiMax_));
0649   hmgr->addHistoProf1(new TProfile("10640", "IL prof R [Other];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0650   hmgr->addHistoProf2(new TProfile2D(
0651       "10650", "IL prof sum R  z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0652   hmgr->addHistoProf2(new TProfile2D(
0653       "10652", "IL ortho prof sum R  z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0654   hmgr->addHisto2(new TH2F(
0655       "10660", "IL prof local R  z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0656   hmgr->addHistoProf2(new TProfile2D(
0657       "10670", "IL prof local R  z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0658   hmgr->addHistoProf2(new TProfile2D(
0659       "10672", "IL ortho prof local R  z [Other];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0660 
0661   // Air
0662   hmgr->addHistoProf1(new TProfile("10710", "IL prof Eta [Air];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0663   hmgr->addHistoProf1(
0664       new TProfile("10720", "IL prof Phi [Air];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0665   hmgr->addHistoProf2(new TProfile2D("10730",
0666                                      "IL prof Eta  Phi [Air];#eta;#varphi;#lambda/#lambda_{0}",
0667                                      netabin_,
0668                                      etaMin_,
0669                                      etaMax_,
0670                                      nphibin_,
0671                                      phiMin_,
0672                                      phiMax_));
0673   hmgr->addHistoProf1(new TProfile("10740", "IL prof R [Air];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0674   hmgr->addHistoProf2(new TProfile2D(
0675       "10750", "IL prof sum R  z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0676   hmgr->addHistoProf2(new TProfile2D(
0677       "10752", "IL ortho prof sum R  z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0678   hmgr->addHisto2(
0679       new TH2F("10760", "IL prof local R  z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0680   hmgr->addHistoProf2(new TProfile2D(
0681       "10770", "IL prof local R  z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0682   hmgr->addHistoProf2(new TProfile2D(
0683       "10772", "IL ortho prof local R  z [Air];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0684 
0685   //StainlessSteel
0686   hmgr->addHistoProf1(
0687       new TProfile("10810", "IL prof Eta [StainlessSteel];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0688   hmgr->addHistoProf1(new TProfile(
0689       "10820", "IL prof Phi [StainlessSteel];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0690   hmgr->addHistoProf2(new TProfile2D("10830",
0691                                      "IL prof Eta  Phi [StainlessSteel];#eta;#varphi;#lambda/#lambda_{0}",
0692                                      netabin_,
0693                                      etaMin_,
0694                                      etaMax_,
0695                                      nphibin_,
0696                                      phiMin_,
0697                                      phiMax_));
0698   hmgr->addHistoProf1(
0699       new TProfile("10840", "IL prof R [StainlessSteel];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0700   hmgr->addHistoProf2(new TProfile2D(
0701       "10850", "IL prof sum R  z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0702   hmgr->addHistoProf2(new TProfile2D("10852",
0703                                      "IL ortho prof sum R  z [StainlessSteel];z [mm];R [mm];x/X_{0} ",
0704                                      nzbin_,
0705                                      zMin_,
0706                                      zMax_,
0707                                      nrbin_,
0708                                      rMin_,
0709                                      rMax_));
0710   hmgr->addHisto2(new TH2F(
0711       "10860", "IL prof local R  z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0712   hmgr->addHistoProf2(new TProfile2D(
0713       "10870", "IL prof local R  z [StainlessSteel];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0714   hmgr->addHistoProf2(new TProfile2D("10872",
0715                                      "IL ortho prof local R  z [StainlessSteel];z [mm];R [mm];x/X_{0} ",
0716                                      nzbin_,
0717                                      zMin_,
0718                                      zMax_,
0719                                      nrbin_,
0720                                      rMin_,
0721                                      rMax_));
0722 
0723   //WCu
0724   hmgr->addHistoProf1(new TProfile("10910", "IL prof Eta [WCu];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0725   hmgr->addHistoProf1(
0726       new TProfile("10920", "IL prof Phi [WCu];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0727   hmgr->addHistoProf2(new TProfile2D("10930",
0728                                      "IL prof Eta  Phi [WCu];#eta;#varphi;#lambda/#lambda_{0}",
0729                                      netabin_,
0730                                      etaMin_,
0731                                      etaMax_,
0732                                      nphibin_,
0733                                      phiMin_,
0734                                      phiMax_));
0735   hmgr->addHistoProf1(new TProfile("10940", "IL prof R [WCu];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0736   hmgr->addHistoProf2(new TProfile2D(
0737       "10950", "IL prof sum R  z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0738   hmgr->addHistoProf2(new TProfile2D(
0739       "10952", "IL ortho prof sum R  z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0740   hmgr->addHisto2(
0741       new TH2F("10960", "IL prof local R  z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0742   hmgr->addHistoProf2(new TProfile2D(
0743       "10970", "IL prof local R  z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0744   hmgr->addHistoProf2(new TProfile2D(
0745       "10972", "IL ortho prof local R  z [WCu];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0746 
0747   // Lead
0748   hmgr->addHistoProf1(new TProfile("11010", "IL prof Eta [Lead];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0749   hmgr->addHistoProf1(
0750       new TProfile("11020", "IL prof Phi [Lead];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0751   hmgr->addHistoProf2(new TProfile2D("11030",
0752                                      "IL prof Eta  Phi [Lead];#eta;#varphi;#lambda/#lambda_{0}",
0753                                      netabin_,
0754                                      etaMin_,
0755                                      etaMax_,
0756                                      nphibin_,
0757                                      phiMin_,
0758                                      phiMax_));
0759   hmgr->addHistoProf1(new TProfile("11040", "IL prof R [Lead];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0760   hmgr->addHistoProf2(new TProfile2D(
0761       "11050", "IL prof sum R  z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0762   hmgr->addHistoProf2(new TProfile2D(
0763       "11052", "IL ortho prof sum R  z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0764   hmgr->addHisto2(new TH2F(
0765       "11060", "IL prof local R  z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0766   hmgr->addHistoProf2(new TProfile2D(
0767       "11070", "IL prof local R  z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0768   hmgr->addHistoProf2(new TProfile2D(
0769       "11072", "IL ortho prof local R  z [Lead];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0770 
0771   // Epoxy
0772   hmgr->addHistoProf1(
0773       new TProfile("11110", "IL prof Eta [Epoxy];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0774   hmgr->addHistoProf1(
0775       new TProfile("11120", "IL prof Phi [Epoxy];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0776   hmgr->addHistoProf2(new TProfile2D("11130",
0777                                      "IL prof Eta  Phi [Epoxy];#eta;#varphi;#lambda/#lambda_{0}",
0778                                      netabin_,
0779                                      etaMin_,
0780                                      etaMax_,
0781                                      nphibin_,
0782                                      phiMin_,
0783                                      phiMax_));
0784   hmgr->addHistoProf1(new TProfile("11140", "IL prof R [Epoxy];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0785   hmgr->addHistoProf2(new TProfile2D(
0786       "11150", "IL prof sum R  z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0787   hmgr->addHistoProf2(new TProfile2D(
0788       "11152", "IL ortho prof sum R  z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0789   hmgr->addHisto2(new TH2F(
0790       "11160", "IL prof local R  z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0791   hmgr->addHistoProf2(new TProfile2D(
0792       "11170", "IL prof local R  z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0793   hmgr->addHistoProf2(new TProfile2D(
0794       "11172", "IL ortho prof local R  z [Epoxy];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0795 
0796   // Kapton
0797   hmgr->addHistoProf1(
0798       new TProfile("11210", "IL prof Eta [Kapton];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0799   hmgr->addHistoProf1(
0800       new TProfile("11220", "IL prof Phi [Kapton];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0801   hmgr->addHistoProf2(new TProfile2D("11230",
0802                                      "IL prof Eta  Phi [Kapton];#eta;#varphi;#lambda/#lambda_{0}",
0803                                      netabin_,
0804                                      etaMin_,
0805                                      etaMax_,
0806                                      nphibin_,
0807                                      phiMin_,
0808                                      phiMax_));
0809   hmgr->addHistoProf1(new TProfile("11240", "IL prof R [Kapton];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0810   hmgr->addHistoProf2(new TProfile2D(
0811       "11250", "IL prof sum R  z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0812   hmgr->addHistoProf2(new TProfile2D(
0813       "11252", "IL ortho prof sum R  z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0814   hmgr->addHisto2(new TH2F(
0815       "11260", "IL prof local R  z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0816   hmgr->addHistoProf2(new TProfile2D(
0817       "11270", "IL prof local R  z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0818   hmgr->addHistoProf2(new TProfile2D(
0819       "11272", "IL ortho prof local R  z [Kapton];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0820 
0821   // Aluminium
0822   hmgr->addHistoProf1(
0823       new TProfile("11310", "IL prof Eta [Aluminium];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0824   hmgr->addHistoProf1(
0825       new TProfile("11320", "IL prof Phi [Aluminium];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0826   hmgr->addHistoProf2(new TProfile2D("11330",
0827                                      "IL prof Eta  Phi [Aluminium];#eta;#varphi;#lambda/#lambda_{0}",
0828                                      netabin_,
0829                                      etaMin_,
0830                                      etaMax_,
0831                                      nphibin_,
0832                                      phiMin_,
0833                                      phiMax_));
0834   hmgr->addHistoProf1(new TProfile("11340", "IL prof R [Aluminium];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0835   hmgr->addHistoProf2(new TProfile2D(
0836       "11350", "IL prof sum R  z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0837   hmgr->addHistoProf2(new TProfile2D(
0838       "11352", "IL ortho prof sum R  z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0839   hmgr->addHisto2(new TH2F(
0840       "11360", "IL prof local R  z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0841   hmgr->addHistoProf2(new TProfile2D(
0842       "11370", "IL prof local R  z [Aluminium];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0843   hmgr->addHistoProf2(new TProfile2D("11372",
0844                                      "IL ortho prof local R  z [Aluminium];z [mm];R [mm];x/X_{0} ",
0845                                      nzbin_,
0846                                      zMin_,
0847                                      zMax_,
0848                                      nrbin_,
0849                                      rMin_,
0850                                      rMax_));
0851 
0852   // Polystyrene
0853   hmgr->addHistoProf1(
0854       new TProfile("11410", "IL prof Eta [Polystyrene];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0855   hmgr->addHistoProf1(
0856       new TProfile("11420", "IL prof Phi [Polystyrene];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0857   hmgr->addHistoProf2(new TProfile2D("11430",
0858                                      "IL prof Eta  Phi [Polystyrene];#eta;#varphi;#lambda/#lambda_{0}",
0859                                      netabin_,
0860                                      etaMin_,
0861                                      etaMax_,
0862                                      nphibin_,
0863                                      phiMin_,
0864                                      phiMax_));
0865   hmgr->addHistoProf1(
0866       new TProfile("11440", "IL prof R [Polystyrene];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0867   hmgr->addHistoProf2(new TProfile2D(
0868       "11450", "IL prof sum R  z [Polystyrene];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0869   hmgr->addHistoProf2(new TProfile2D("11452",
0870                                      "IL ortho prof sum R  z [Polystyrene];z [mm];R [mm];x/X_{0} ",
0871                                      nzbin_,
0872                                      zMin_,
0873                                      zMax_,
0874                                      nrbin_,
0875                                      rMin_,
0876                                      rMax_));
0877   hmgr->addHisto2(new TH2F(
0878       "11460", "IL prof local R  z [Polystyrene];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0879   hmgr->addHistoProf2(new TProfile2D(
0880       "11470", "IL prof local R  z [Polystyrene];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0881   hmgr->addHistoProf2(new TProfile2D("11472",
0882                                      "IL ortho prof local R  z [Polystyrene];z [mm];R [mm];x/X_{0} ",
0883                                      nzbin_,
0884                                      zMin_,
0885                                      zMax_,
0886                                      nrbin_,
0887                                      rMin_,
0888                                      rMax_));
0889 
0890   // HGC_EEConnector
0891   hmgr->addHistoProf1(
0892       new TProfile("11510", "IL prof Eta [HGC_EEConnector];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0893   hmgr->addHistoProf1(new TProfile(
0894       "11520", "IL prof Phi [HGC_EEConnector];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0895   hmgr->addHistoProf2(new TProfile2D("11530",
0896                                      "IL prof Eta  Phi [HGC_EEConnector];#eta;#varphi;#lambda/#lambda_{0}",
0897                                      netabin_,
0898                                      etaMin_,
0899                                      etaMax_,
0900                                      nphibin_,
0901                                      phiMin_,
0902                                      phiMax_));
0903   hmgr->addHistoProf1(
0904       new TProfile("11540", "IL prof R [HGC_EEConnector];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0905   hmgr->addHistoProf2(new TProfile2D(
0906       "11550", "IL prof sum R  z [HGC_EEConnector];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0907   hmgr->addHistoProf2(new TProfile2D("11552",
0908                                      "IL ortho prof sum R  z [HGC_EEConnector];z [mm];R [mm];x/X_{0} ",
0909                                      nzbin_,
0910                                      zMin_,
0911                                      zMax_,
0912                                      nrbin_,
0913                                      rMin_,
0914                                      rMax_));
0915   hmgr->addHisto2(new TH2F("11560",
0916                            "IL prof local R  z [HGC_EEConnector];z [mm];R [mm];x/X_{0} ",
0917                            nzbin_,
0918                            zMin_,
0919                            zMax_,
0920                            nrbin_,
0921                            rMin_,
0922                            rMax_));
0923   hmgr->addHistoProf2(new TProfile2D("11570",
0924                                      "IL prof local R  z [HGC_EEConnector];z [mm];R [mm];x/X_{0} ",
0925                                      nzbin_,
0926                                      zMin_,
0927                                      zMax_,
0928                                      nrbin_,
0929                                      rMin_,
0930                                      rMax_));
0931   hmgr->addHistoProf2(new TProfile2D("11572",
0932                                      "IL ortho prof local R  z [HGC_EEConnector];z [mm];R [mm];x/X_{0} ",
0933                                      nzbin_,
0934                                      zMin_,
0935                                      zMax_,
0936                                      nrbin_,
0937                                      rMin_,
0938                                      rMax_));
0939 
0940   // HGC_HEConnector
0941   hmgr->addHistoProf1(
0942       new TProfile("11610", "IL prof Eta [HGC_HEConnector];#eta;#lambda/#lambda_{0}", netabin_, etaMin_, etaMax_));
0943   hmgr->addHistoProf1(new TProfile(
0944       "11620", "IL prof Phi [HGC_HEConnector];#varphi [rad];#lambda/#lambda_{0}", nphibin_, phiMin_, phiMax_));
0945   hmgr->addHistoProf2(new TProfile2D("11630",
0946                                      "IL prof Eta  Phi [HGC_HEConnector];#eta;#varphi;#lambda/#lambda_{0}",
0947                                      netabin_,
0948                                      etaMin_,
0949                                      etaMax_,
0950                                      nphibin_,
0951                                      phiMin_,
0952                                      phiMax_));
0953   hmgr->addHistoProf1(
0954       new TProfile("11640", "IL prof R [HGC_HEConnector];R [mm];#lambda/#lambda_{0}", nrbin_, RMin_, RMax_));
0955   hmgr->addHistoProf2(new TProfile2D(
0956       "11650", "IL prof sum R  z [HGC_HEConnector];z [mm];R [mm];x/X_{0} ", nzbin_, zMin_, zMax_, nrbin_, rMin_, rMax_));
0957   hmgr->addHistoProf2(new TProfile2D("11652",
0958                                      "IL ortho prof sum R  z [HGC_HEConnector];z [mm];R [mm];x/X_{0} ",
0959                                      nzbin_,
0960                                      zMin_,
0961                                      zMax_,
0962                                      nrbin_,
0963                                      rMin_,
0964                                      rMax_));
0965   hmgr->addHisto2(new TH2F("11660",
0966                            "IL prof local R  z [HGC_HEConnector];z [mm];R [mm];x/X_{0} ",
0967                            nzbin_,
0968                            zMin_,
0969                            zMax_,
0970                            nrbin_,
0971                            rMin_,
0972                            rMax_));
0973   hmgr->addHistoProf2(new TProfile2D("11670",
0974                                      "IL prof local R  z [HGC_HEConnector];z [mm];R [mm];x/X_{0} ",
0975                                      nzbin_,
0976                                      zMin_,
0977                                      zMax_,
0978                                      nrbin_,
0979                                      rMin_,
0980                                      rMax_));
0981   hmgr->addHistoProf2(new TProfile2D("11672",
0982                                      "IL ortho prof local R  z [HGC_HEConnector];z [mm];R [mm];x/X_{0} ",
0983                                      nzbin_,
0984                                      zMin_,
0985                                      zMax_,
0986                                      nrbin_,
0987                                      rMin_,
0988                                      rMax_));
0989 
0990   std::cout << "=== booking user histos done ===" << std::endl;
0991 }
0992 
0993 void MaterialBudgetHGCalHistos::fillStartTrack() {}
0994 
0995 void MaterialBudgetHGCalHistos::fillPerStep() {}
0996 
0997 void MaterialBudgetHGCalHistos::fillEndTrack() {
0998   //
0999   // fill histograms and profiles only if the material has been crossed
1000   //
1001 
1002   if (theData->getNumberOfSteps() != 0) {
1003     // Total X0
1004     hmgr->getHisto1(11)->Fill(theData->getEta());
1005     hmgr->getHisto1(21)->Fill(theData->getPhi());
1006     hmgr->getHisto2(31)->Fill(theData->getEta(), theData->getPhi());
1007 
1008     hmgr->getHistoProf1(10)->Fill(theData->getEta(), theData->getTotalMB());
1009     hmgr->getHistoProf1(20)->Fill(theData->getPhi(), theData->getTotalMB());
1010     hmgr->getHistoProf2(30)->Fill(theData->getEta(), theData->getPhi(), theData->getTotalMB());
1011 
1012     // rr
1013 
1014     // Copper
1015     hmgr->getHistoProf1(110)->Fill(theData->getEta(), theData->getCopperMB());
1016     hmgr->getHistoProf1(120)->Fill(theData->getPhi(), theData->getCopperMB());
1017     hmgr->getHistoProf2(130)->Fill(theData->getEta(), theData->getPhi(), theData->getCopperMB());
1018 
1019     // H_Scintillator
1020     hmgr->getHistoProf1(210)->Fill(theData->getEta(), theData->getH_ScintillatorMB());
1021     hmgr->getHistoProf1(220)->Fill(theData->getPhi(), theData->getH_ScintillatorMB());
1022     hmgr->getHistoProf2(230)->Fill(theData->getEta(), theData->getPhi(), theData->getH_ScintillatorMB());
1023 
1024     // Cables
1025     hmgr->getHistoProf1(310)->Fill(theData->getEta(), theData->getCablesMB());
1026     hmgr->getHistoProf1(320)->Fill(theData->getPhi(), theData->getCablesMB());
1027     hmgr->getHistoProf2(330)->Fill(theData->getEta(), theData->getPhi(), theData->getCablesMB());
1028 
1029     // HGC_G10_FR4
1030     hmgr->getHistoProf1(410)->Fill(theData->getEta(), theData->getHGC_G10_FR4MB());
1031     hmgr->getHistoProf1(420)->Fill(theData->getPhi(), theData->getHGC_G10_FR4MB());
1032     hmgr->getHistoProf2(430)->Fill(theData->getEta(), theData->getPhi(), theData->getHGC_G10_FR4MB());
1033 
1034     // Silicon
1035     hmgr->getHistoProf1(510)->Fill(theData->getEta(), theData->getSiliconMB());
1036     hmgr->getHistoProf1(520)->Fill(theData->getPhi(), theData->getSiliconMB());
1037     hmgr->getHistoProf2(530)->Fill(theData->getEta(), theData->getPhi(), theData->getSiliconMB());
1038 
1039     // Other
1040     hmgr->getHistoProf1(610)->Fill(theData->getEta(), theData->getOtherMB());
1041     hmgr->getHistoProf1(620)->Fill(theData->getPhi(), theData->getOtherMB());
1042     hmgr->getHistoProf2(630)->Fill(theData->getEta(), theData->getPhi(), theData->getOtherMB());
1043 
1044     // Air
1045     hmgr->getHistoProf1(710)->Fill(theData->getEta(), theData->getAirMB());
1046     hmgr->getHistoProf1(720)->Fill(theData->getPhi(), theData->getAirMB());
1047     hmgr->getHistoProf2(730)->Fill(theData->getEta(), theData->getPhi(), theData->getAirMB());
1048 
1049     // StainlessSteel
1050     hmgr->getHistoProf1(810)->Fill(theData->getEta(), theData->getStainlessSteelMB());
1051     hmgr->getHistoProf1(820)->Fill(theData->getPhi(), theData->getStainlessSteelMB());
1052     hmgr->getHistoProf2(830)->Fill(theData->getEta(), theData->getPhi(), theData->getStainlessSteelMB());
1053 
1054     // WCu
1055     hmgr->getHistoProf1(910)->Fill(theData->getEta(), theData->getWCuMB());
1056     hmgr->getHistoProf1(920)->Fill(theData->getPhi(), theData->getWCuMB());
1057     hmgr->getHistoProf2(930)->Fill(theData->getEta(), theData->getPhi(), theData->getWCuMB());
1058 
1059     // Lead
1060     hmgr->getHistoProf1(1010)->Fill(theData->getEta(), theData->getLeadMB());
1061     hmgr->getHistoProf1(1020)->Fill(theData->getPhi(), theData->getLeadMB());
1062     hmgr->getHistoProf2(1030)->Fill(theData->getEta(), theData->getPhi(), theData->getLeadMB());
1063 
1064     // Epoxy
1065     hmgr->getHistoProf1(1110)->Fill(theData->getEta(), theData->getEpoxyMB());
1066     hmgr->getHistoProf1(1120)->Fill(theData->getPhi(), theData->getEpoxyMB());
1067     hmgr->getHistoProf2(1130)->Fill(theData->getEta(), theData->getPhi(), theData->getEpoxyMB());
1068 
1069     // Kapton
1070     hmgr->getHistoProf1(1210)->Fill(theData->getEta(), theData->getKaptonMB());
1071     hmgr->getHistoProf1(1220)->Fill(theData->getPhi(), theData->getKaptonMB());
1072     hmgr->getHistoProf2(1230)->Fill(theData->getEta(), theData->getPhi(), theData->getKaptonMB());
1073 
1074     // Aluminium
1075     hmgr->getHistoProf1(1310)->Fill(theData->getEta(), theData->getAluminiumMB());
1076     hmgr->getHistoProf1(1320)->Fill(theData->getPhi(), theData->getAluminiumMB());
1077     hmgr->getHistoProf2(1330)->Fill(theData->getEta(), theData->getPhi(), theData->getAluminiumMB());
1078 
1079     // Polystyrene
1080     hmgr->getHistoProf1(1410)->Fill(theData->getEta(), theData->getPolystyreneMB());
1081     hmgr->getHistoProf1(1420)->Fill(theData->getPhi(), theData->getPolystyreneMB());
1082     hmgr->getHistoProf2(1430)->Fill(theData->getEta(), theData->getPhi(), theData->getPolystyreneMB());
1083 
1084     // HGC_EEConnector
1085     hmgr->getHistoProf1(1510)->Fill(theData->getEta(), theData->getHGC_EEConnectorMB());
1086     hmgr->getHistoProf1(1520)->Fill(theData->getPhi(), theData->getHGC_EEConnectorMB());
1087     hmgr->getHistoProf2(1530)->Fill(theData->getEta(), theData->getPhi(), theData->getHGC_EEConnectorMB());
1088 
1089     // HGC_HEConnector
1090     hmgr->getHistoProf1(1610)->Fill(theData->getEta(), theData->getHGC_HEConnectorMB());
1091     hmgr->getHistoProf1(1620)->Fill(theData->getPhi(), theData->getHGC_HEConnectorMB());
1092     hmgr->getHistoProf2(1630)->Fill(theData->getEta(), theData->getPhi(), theData->getHGC_HEConnectorMB());
1093 
1094     //
1095     // Compute the total x/X0 crossed at each step radius for each path
1096     //
1097     //
1098     float theTotalMB_TOT = 0.0;
1099     float theTotalMB_COP = 0.0;
1100     float theTotalMB_SCI = 0.0;
1101     float theTotalMB_CAB = 0.0;
1102     float theTotalMB_HGF = 0.0;
1103     float theTotalMB_NIM = 0.0;
1104     float theTotalMB_OTH = 0.0;
1105     float theTotalMB_AIR = 0.0;
1106     float theTotalMB_SST = 0.0;
1107     float theTotalMB_WCU = 0.0;
1108     float theTotalMB_LEA = 0.0;
1109     float theTotalMB_EPX = 0.0;
1110     float theTotalMB_KAP = 0.0;
1111     float theTotalMB_ALU = 0.0;
1112     float theTotalMB_POL = 0.0;
1113     float theTotalMB_EEC = 0.0;
1114     float theTotalMB_HEC = 0.0;
1115     for (int iStep = 0; iStep < theData->getNumberOfSteps(); iStep++) {
1116       theTotalMB_TOT += theData->getStepDmb(iStep);
1117       theTotalMB_COP += theData->getCopperDmb(iStep);
1118       theTotalMB_SCI += theData->getH_ScintillatorDmb(iStep);
1119       theTotalMB_CAB += theData->getCablesDmb(iStep);
1120       theTotalMB_HGF += theData->getHGC_G10_FR4Dmb(iStep);
1121       theTotalMB_NIM += theData->getSiliconDmb(iStep);
1122       theTotalMB_OTH += theData->getOtherDmb(iStep);
1123       theTotalMB_AIR += theData->getAirDmb(iStep);
1124       theTotalMB_SST += theData->getStainlessSteelDmb(iStep);
1125       theTotalMB_WCU += theData->getWCuDmb(iStep);
1126       theTotalMB_LEA += theData->getLeadDmb(iStep);
1127       theTotalMB_EPX += theData->getEpoxyDmb(iStep);
1128       theTotalMB_KAP += theData->getKaptonDmb(iStep);
1129       theTotalMB_ALU += theData->getAluminiumDmb(iStep);
1130       theTotalMB_POL += theData->getPolystyreneDmb(iStep);
1131       theTotalMB_EEC += theData->getHGC_EEConnectorDmb(iStep);
1132       theTotalMB_HEC += theData->getHGC_HEConnectorDmb(iStep);
1133 
1134       int iCop = 0;
1135       int iSci = 0;
1136       int iCab = 0;
1137       int iHgf = 0;
1138       int iSil = 0;
1139       int iOth = 0;
1140       int iAir = 0;
1141       int iSst = 0;
1142       int iWcu = 0;
1143       int iLea = 0;
1144       int iEpx = 0;
1145       int iKap = 0;
1146       int iAlu = 0;
1147       int iPol = 0;
1148       int iEec = 0;
1149       int iHec = 0;
1150       if (theData->getCopperDmb(iStep) > 0.) {
1151         iCop = 1;
1152       }
1153       if (theData->getH_ScintillatorDmb(iStep) > 0.) {
1154         iSci = 1;
1155       }
1156       if (theData->getCablesDmb(iStep) > 0.) {
1157         iCab = 1;
1158       }
1159       if (theData->getHGC_G10_FR4Dmb(iStep) > 0.) {
1160         iHgf = 1;
1161       }
1162       if (theData->getSiliconDmb(iStep) > 0.) {
1163         iSil = 1;
1164       }
1165       if (theData->getOtherDmb(iStep) > 0.) {
1166         iOth = 1;
1167       }
1168       if (theData->getAirDmb(iStep) > 0.) {
1169         iAir = 1;
1170       }
1171       if (theData->getStainlessSteelDmb(iStep) > 0.) {
1172         iSst = 1;
1173       }
1174       if (theData->getWCuDmb(iStep) > 0.) {
1175         iWcu = 1;
1176       }
1177       if (theData->getLeadDmb(iStep) > 0.) {
1178         iLea = 1;
1179       }
1180       if (theData->getEpoxyDmb(iStep) > 0.) {
1181         iEpx = 1;
1182       }
1183       if (theData->getKaptonDmb(iStep) > 0.) {
1184         iKap = 1;
1185       }
1186       if (theData->getAluminiumDmb(iStep) > 0.) {
1187         iAlu = 1;
1188       }
1189       if (theData->getPolystyreneDmb(iStep) > 0.) {
1190         iPol = 1;
1191       }
1192       if (theData->getHGC_EEConnectorDmb(iStep) > 0.) {
1193         iEec = 1;
1194       }
1195       if (theData->getHGC_HEConnectorDmb(iStep) > 0.) {
1196         iHec = 1;
1197       }
1198 
1199       float deltaRadius = sqrt(pow(theData->getStepFinalX(iStep) - theData->getStepInitialX(iStep), 2) +
1200                                pow(theData->getStepFinalY(iStep) - theData->getStepInitialY(iStep), 2));
1201       float deltaz = theData->getStepFinalZ(iStep) - theData->getStepInitialZ(iStep);
1202 
1203       float deltaeta = theData->getStepFinalEta(iStep) - theData->getStepInitialEta(iStep);
1204 
1205       // float deltaphi = theData->getStepFinalPhi(iStep)-theData->getStepInitialPhi(iStep) ;
1206 
1207       float x0 = theData->getStepMaterialX0(iStep);
1208 
1209       int nSubStep = 2;
1210       float boxWidth = 0.1;
1211       if ((deltaRadius > boxWidth) || (fabs(deltaz) > boxWidth)) {
1212         nSubStep = static_cast<int>(max(ceil(deltaRadius / boxWidth / 2.) * 2, ceil(fabs(deltaz) / boxWidth / 2.) * 2));
1213       }
1214 
1215       for (int iSubStep = 1; iSubStep < nSubStep; iSubStep += 2) {
1216         float subdeltaRadius = deltaRadius / nSubStep;
1217         float polarRadius = sqrt(pow(theData->getStepInitialX(iStep), 2) + pow(theData->getStepInitialY(iStep), 2)) +
1218                             iSubStep * subdeltaRadius;
1219 
1220         float subdeltaz = deltaz / nSubStep;
1221         float z = theData->getStepInitialZ(iStep) + iSubStep * subdeltaz;
1222 
1223         float subdeltaeta = deltaeta / nSubStep;
1224         float eta = theData->getStepInitialEta(iStep) + iSubStep * subdeltaeta;
1225 
1226         // float subdeltaphi = deltaphi/nSubStep;
1227         // float phi = theData->getStepInitialPhi(iStep) + iSubStep*subdeltaphi;
1228 
1229         float subdelta = sqrt(pow(subdeltaRadius, 2) + pow(subdeltaz, 2));
1230 
1231         float fillValue = subdelta / x0;
1232 
1233         float costhetacorrection = cos(2 * atan(exp(-fabs(eta))));
1234         // Average length
1235         hmgr->getHisto2(999)->Fill(z, polarRadius, subdelta);
1236         // Total
1237         hmgr->getHisto1(41)->Fill(polarRadius);
1238         hmgr->getHistoProf1(40)->Fill(polarRadius, theTotalMB_TOT);
1239         hmgr->getHisto2(51)->Fill(z, polarRadius);
1240         hmgr->getHistoProf2(50)->Fill(z, polarRadius, theTotalMB_TOT);
1241         hmgr->getHistoProf2(52)->Fill(z, polarRadius, theTotalMB_TOT * costhetacorrection);
1242         hmgr->getHisto2(60)->Fill(z, polarRadius, fillValue);
1243         hmgr->getHistoProf2(70)->Fill(z, polarRadius, fillValue);
1244         hmgr->getHistoProf2(72)->Fill(z, polarRadius, fillValue * costhetacorrection);
1245 
1246         // Copper
1247         hmgr->getHistoProf1(140)->Fill(polarRadius, theTotalMB_COP);
1248         hmgr->getHistoProf2(150)->Fill(z, polarRadius, theTotalMB_COP);
1249         hmgr->getHistoProf2(152)->Fill(z, polarRadius, theTotalMB_COP * costhetacorrection);
1250         hmgr->getHisto2(160)->Fill(z, polarRadius, iCop * fillValue);
1251         hmgr->getHistoProf2(170)->Fill(z, polarRadius, iCop * fillValue);
1252         hmgr->getHistoProf2(172)->Fill(z, polarRadius, iCop * fillValue * costhetacorrection);
1253 
1254         // H_Scintillator
1255         hmgr->getHistoProf1(240)->Fill(polarRadius, theTotalMB_SCI);
1256         hmgr->getHistoProf2(250)->Fill(z, polarRadius, theTotalMB_SCI);
1257         hmgr->getHistoProf2(252)->Fill(z, polarRadius, theTotalMB_SCI * costhetacorrection);
1258         hmgr->getHisto2(260)->Fill(z, polarRadius, iSci * fillValue);
1259         hmgr->getHistoProf2(270)->Fill(z, polarRadius, iSci * fillValue);
1260         hmgr->getHistoProf2(272)->Fill(z, polarRadius, iSci * fillValue * costhetacorrection);
1261 
1262         // Cables
1263         hmgr->getHistoProf1(340)->Fill(polarRadius, theTotalMB_CAB);
1264         hmgr->getHistoProf2(350)->Fill(z, polarRadius, theTotalMB_CAB);
1265         hmgr->getHistoProf2(352)->Fill(z, polarRadius, theTotalMB_CAB * costhetacorrection);
1266         hmgr->getHisto2(360)->Fill(z, polarRadius, iCab * fillValue);
1267         hmgr->getHistoProf2(370)->Fill(z, polarRadius, iCab * fillValue);
1268         hmgr->getHistoProf2(372)->Fill(z, polarRadius, iCab * fillValue * costhetacorrection);
1269 
1270         // HGC_G10_FR4
1271         hmgr->getHistoProf1(440)->Fill(polarRadius, theTotalMB_HGF);
1272         hmgr->getHistoProf2(450)->Fill(z, polarRadius, theTotalMB_HGF);
1273         hmgr->getHistoProf2(452)->Fill(z, polarRadius, theTotalMB_HGF * costhetacorrection);
1274         hmgr->getHisto2(460)->Fill(z, polarRadius, iHgf * fillValue);
1275         hmgr->getHistoProf2(470)->Fill(z, polarRadius, iHgf * fillValue);
1276         hmgr->getHistoProf2(472)->Fill(z, polarRadius, iHgf * fillValue * costhetacorrection);
1277 
1278         // Silicon
1279         hmgr->getHistoProf1(540)->Fill(polarRadius, theTotalMB_NIM);
1280         hmgr->getHistoProf2(550)->Fill(z, polarRadius, theTotalMB_NIM);
1281         hmgr->getHistoProf2(552)->Fill(z, polarRadius, theTotalMB_NIM * costhetacorrection);
1282         hmgr->getHisto2(560)->Fill(z, polarRadius, iSil * fillValue);
1283         hmgr->getHistoProf2(570)->Fill(z, polarRadius, iSil * fillValue);
1284         hmgr->getHistoProf2(572)->Fill(z, polarRadius, iSil * fillValue * costhetacorrection);
1285 
1286         // Other
1287         hmgr->getHistoProf1(640)->Fill(polarRadius, theTotalMB_OTH);
1288         hmgr->getHistoProf2(650)->Fill(z, polarRadius, theTotalMB_OTH);
1289         hmgr->getHistoProf2(652)->Fill(z, polarRadius, theTotalMB_OTH * costhetacorrection);
1290         hmgr->getHisto2(660)->Fill(z, polarRadius, iOth * fillValue);
1291         hmgr->getHistoProf2(670)->Fill(z, polarRadius, iOth * fillValue);
1292         hmgr->getHistoProf2(672)->Fill(z, polarRadius, iOth * fillValue * costhetacorrection);
1293 
1294         // Air
1295         hmgr->getHistoProf1(740)->Fill(polarRadius, theTotalMB_AIR);
1296         hmgr->getHistoProf2(750)->Fill(z, polarRadius, theTotalMB_AIR);
1297         hmgr->getHistoProf2(752)->Fill(z, polarRadius, theTotalMB_AIR * costhetacorrection);
1298         hmgr->getHisto2(760)->Fill(z, polarRadius, iAir * fillValue);
1299         hmgr->getHistoProf2(770)->Fill(z, polarRadius, iAir * fillValue);
1300         hmgr->getHistoProf2(772)->Fill(z, polarRadius, iAir * fillValue * costhetacorrection);
1301 
1302         // StainlessSteel
1303         hmgr->getHistoProf1(840)->Fill(polarRadius, theTotalMB_SST);
1304         hmgr->getHistoProf2(850)->Fill(z, polarRadius, theTotalMB_SST);
1305         hmgr->getHistoProf2(852)->Fill(z, polarRadius, theTotalMB_SST * costhetacorrection);
1306         hmgr->getHisto2(860)->Fill(z, polarRadius, iSst * fillValue);
1307         hmgr->getHistoProf2(870)->Fill(z, polarRadius, iSst * fillValue);
1308         hmgr->getHistoProf2(872)->Fill(z, polarRadius, iSst * fillValue * costhetacorrection);
1309 
1310         // WCu
1311         hmgr->getHistoProf1(940)->Fill(polarRadius, theTotalMB_WCU);
1312         hmgr->getHistoProf2(950)->Fill(z, polarRadius, theTotalMB_WCU);
1313         hmgr->getHistoProf2(952)->Fill(z, polarRadius, theTotalMB_WCU * costhetacorrection);
1314         hmgr->getHisto2(960)->Fill(z, polarRadius, iWcu * fillValue);
1315         hmgr->getHistoProf2(970)->Fill(z, polarRadius, iWcu * fillValue);
1316         hmgr->getHistoProf2(972)->Fill(z, polarRadius, iWcu * fillValue * costhetacorrection);
1317 
1318         // Lead
1319         hmgr->getHistoProf1(1040)->Fill(polarRadius, theTotalMB_LEA);
1320         hmgr->getHistoProf2(1050)->Fill(z, polarRadius, theTotalMB_LEA);
1321         hmgr->getHistoProf2(1052)->Fill(z, polarRadius, theTotalMB_LEA * costhetacorrection);
1322         hmgr->getHisto2(1060)->Fill(z, polarRadius, iLea * fillValue);
1323         hmgr->getHistoProf2(1070)->Fill(z, polarRadius, iLea * fillValue);
1324         hmgr->getHistoProf2(1072)->Fill(z, polarRadius, iLea * fillValue * costhetacorrection);
1325 
1326         // Epoxy
1327         hmgr->getHistoProf1(1140)->Fill(polarRadius, theTotalMB_EPX);
1328         hmgr->getHistoProf2(1150)->Fill(z, polarRadius, theTotalMB_EPX);
1329         hmgr->getHistoProf2(1152)->Fill(z, polarRadius, theTotalMB_EPX * costhetacorrection);
1330         hmgr->getHisto2(1160)->Fill(z, polarRadius, iEpx * fillValue);
1331         hmgr->getHistoProf2(1170)->Fill(z, polarRadius, iEpx * fillValue);
1332         hmgr->getHistoProf2(1172)->Fill(z, polarRadius, iEpx * fillValue * costhetacorrection);
1333 
1334         // Kapton
1335         hmgr->getHistoProf1(1240)->Fill(polarRadius, theTotalMB_KAP);
1336         hmgr->getHistoProf2(1250)->Fill(z, polarRadius, theTotalMB_KAP);
1337         hmgr->getHistoProf2(1252)->Fill(z, polarRadius, theTotalMB_KAP * costhetacorrection);
1338         hmgr->getHisto2(1260)->Fill(z, polarRadius, iKap * fillValue);
1339         hmgr->getHistoProf2(1270)->Fill(z, polarRadius, iKap * fillValue);
1340         hmgr->getHistoProf2(1272)->Fill(z, polarRadius, iKap * fillValue * costhetacorrection);
1341 
1342         // Aluminium
1343         hmgr->getHistoProf1(1340)->Fill(polarRadius, theTotalMB_ALU);
1344         hmgr->getHistoProf2(1350)->Fill(z, polarRadius, theTotalMB_ALU);
1345         hmgr->getHistoProf2(1352)->Fill(z, polarRadius, theTotalMB_ALU * costhetacorrection);
1346         hmgr->getHisto2(1360)->Fill(z, polarRadius, iAlu * fillValue);
1347         hmgr->getHistoProf2(1370)->Fill(z, polarRadius, iAlu * fillValue);
1348         hmgr->getHistoProf2(1372)->Fill(z, polarRadius, iAlu * fillValue * costhetacorrection);
1349 
1350         // Polystyrene
1351         hmgr->getHistoProf1(1440)->Fill(polarRadius, theTotalMB_POL);
1352         hmgr->getHistoProf2(1450)->Fill(z, polarRadius, theTotalMB_POL);
1353         hmgr->getHistoProf2(1452)->Fill(z, polarRadius, theTotalMB_POL * costhetacorrection);
1354         hmgr->getHisto2(1460)->Fill(z, polarRadius, iPol * fillValue);
1355         hmgr->getHistoProf2(1470)->Fill(z, polarRadius, iPol * fillValue);
1356         hmgr->getHistoProf2(1472)->Fill(z, polarRadius, iPol * fillValue * costhetacorrection);
1357 
1358         // HGC_EEConnector
1359         hmgr->getHistoProf1(1540)->Fill(polarRadius, theTotalMB_EEC);
1360         hmgr->getHistoProf2(1550)->Fill(z, polarRadius, theTotalMB_EEC);
1361         hmgr->getHistoProf2(1552)->Fill(z, polarRadius, theTotalMB_EEC * costhetacorrection);
1362         hmgr->getHisto2(1560)->Fill(z, polarRadius, iEec * fillValue);
1363         hmgr->getHistoProf2(1570)->Fill(z, polarRadius, iEec * fillValue);
1364         hmgr->getHistoProf2(1572)->Fill(z, polarRadius, iEec * fillValue * costhetacorrection);
1365 
1366         // HGC_HEConnector
1367         hmgr->getHistoProf1(1640)->Fill(polarRadius, theTotalMB_HEC);
1368         hmgr->getHistoProf2(1650)->Fill(z, polarRadius, theTotalMB_HEC);
1369         hmgr->getHistoProf2(1652)->Fill(z, polarRadius, theTotalMB_HEC * costhetacorrection);
1370         hmgr->getHisto2(1660)->Fill(z, polarRadius, iHec * fillValue);
1371         hmgr->getHistoProf2(1670)->Fill(z, polarRadius, iHec * fillValue);
1372         hmgr->getHistoProf2(1672)->Fill(z, polarRadius, iHec * fillValue * costhetacorrection);
1373       }
1374     }
1375 
1376     //============================================================================================
1377     // Total Lambda0
1378     hmgr->getHistoProf1(10010)->Fill(theData->getEta(), theData->getTotalIL());
1379     hmgr->getHistoProf1(10020)->Fill(theData->getPhi(), theData->getTotalIL());
1380     hmgr->getHistoProf2(10030)->Fill(theData->getEta(), theData->getPhi(), theData->getTotalIL());
1381 
1382     // Copper
1383     hmgr->getHistoProf1(10110)->Fill(theData->getEta(), theData->getCopperIL());
1384     hmgr->getHistoProf1(10120)->Fill(theData->getPhi(), theData->getCopperIL());
1385     hmgr->getHistoProf2(10130)->Fill(theData->getEta(), theData->getPhi(), theData->getCopperIL());
1386 
1387     // H_Scintillator
1388     hmgr->getHistoProf1(10210)->Fill(theData->getEta(), theData->getH_ScintillatorIL());
1389     hmgr->getHistoProf1(10220)->Fill(theData->getPhi(), theData->getH_ScintillatorIL());
1390     hmgr->getHistoProf2(10230)->Fill(theData->getEta(), theData->getPhi(), theData->getH_ScintillatorIL());
1391 
1392     // Cables
1393     hmgr->getHistoProf1(10310)->Fill(theData->getEta(), theData->getCablesIL());
1394     hmgr->getHistoProf1(10320)->Fill(theData->getPhi(), theData->getCablesIL());
1395     hmgr->getHistoProf2(10330)->Fill(theData->getEta(), theData->getPhi(), theData->getCablesIL());
1396 
1397     // HGC_G10_FR4
1398     hmgr->getHistoProf1(10410)->Fill(theData->getEta(), theData->getHGC_G10_FR4IL());
1399     hmgr->getHistoProf1(10420)->Fill(theData->getPhi(), theData->getHGC_G10_FR4IL());
1400     hmgr->getHistoProf2(10430)->Fill(theData->getEta(), theData->getPhi(), theData->getHGC_G10_FR4IL());
1401 
1402     // Silicon
1403     hmgr->getHistoProf1(10510)->Fill(theData->getEta(), theData->getSiliconIL());
1404     hmgr->getHistoProf1(10520)->Fill(theData->getPhi(), theData->getSiliconIL());
1405     hmgr->getHistoProf2(10530)->Fill(theData->getEta(), theData->getPhi(), theData->getSiliconIL());
1406 
1407     // Other
1408     hmgr->getHistoProf1(10610)->Fill(theData->getEta(), theData->getOtherIL());
1409     hmgr->getHistoProf1(10620)->Fill(theData->getPhi(), theData->getOtherIL());
1410     hmgr->getHistoProf2(10630)->Fill(theData->getEta(), theData->getPhi(), theData->getOtherIL());
1411 
1412     // Air
1413     hmgr->getHistoProf1(10710)->Fill(theData->getEta(), theData->getAirIL());
1414     hmgr->getHistoProf1(10720)->Fill(theData->getPhi(), theData->getAirIL());
1415     hmgr->getHistoProf2(10730)->Fill(theData->getEta(), theData->getPhi(), theData->getAirIL());
1416 
1417     // StainlessSteel
1418     hmgr->getHistoProf1(10810)->Fill(theData->getEta(), theData->getStainlessSteelIL());
1419     hmgr->getHistoProf1(10820)->Fill(theData->getPhi(), theData->getStainlessSteelIL());
1420     hmgr->getHistoProf2(10830)->Fill(theData->getEta(), theData->getPhi(), theData->getStainlessSteelIL());
1421 
1422     // WCu
1423     hmgr->getHistoProf1(10910)->Fill(theData->getEta(), theData->getWCuIL());
1424     hmgr->getHistoProf1(10920)->Fill(theData->getPhi(), theData->getWCuIL());
1425     hmgr->getHistoProf2(10930)->Fill(theData->getEta(), theData->getPhi(), theData->getWCuIL());
1426 
1427     // Lead
1428     hmgr->getHistoProf1(11010)->Fill(theData->getEta(), theData->getLeadIL());
1429     hmgr->getHistoProf1(11020)->Fill(theData->getPhi(), theData->getLeadIL());
1430     hmgr->getHistoProf2(11030)->Fill(theData->getEta(), theData->getPhi(), theData->getLeadIL());
1431 
1432     // Epoxy
1433     hmgr->getHistoProf1(11110)->Fill(theData->getEta(), theData->getEpoxyIL());
1434     hmgr->getHistoProf1(11120)->Fill(theData->getPhi(), theData->getEpoxyIL());
1435     hmgr->getHistoProf2(11130)->Fill(theData->getEta(), theData->getPhi(), theData->getEpoxyIL());
1436 
1437     // Kapton
1438     hmgr->getHistoProf1(11210)->Fill(theData->getEta(), theData->getKaptonIL());
1439     hmgr->getHistoProf1(11220)->Fill(theData->getPhi(), theData->getKaptonIL());
1440     hmgr->getHistoProf2(11230)->Fill(theData->getEta(), theData->getPhi(), theData->getKaptonIL());
1441 
1442     // Aluminium
1443     hmgr->getHistoProf1(11310)->Fill(theData->getEta(), theData->getAluminiumIL());
1444     hmgr->getHistoProf1(11320)->Fill(theData->getPhi(), theData->getAluminiumIL());
1445     hmgr->getHistoProf2(11330)->Fill(theData->getEta(), theData->getPhi(), theData->getAluminiumIL());
1446 
1447     // Polystyrene
1448     hmgr->getHistoProf1(11410)->Fill(theData->getEta(), theData->getPolystyreneIL());
1449     hmgr->getHistoProf1(11420)->Fill(theData->getPhi(), theData->getPolystyreneIL());
1450     hmgr->getHistoProf2(11430)->Fill(theData->getEta(), theData->getPhi(), theData->getPolystyreneIL());
1451 
1452     // HGC_EEConnector
1453     hmgr->getHistoProf1(11510)->Fill(theData->getEta(), theData->getHGC_EEConnectorIL());
1454     hmgr->getHistoProf1(11520)->Fill(theData->getPhi(), theData->getHGC_EEConnectorIL());
1455     hmgr->getHistoProf2(11530)->Fill(theData->getEta(), theData->getPhi(), theData->getHGC_EEConnectorIL());
1456 
1457     // HGC_HEConnector
1458     hmgr->getHistoProf1(11610)->Fill(theData->getEta(), theData->getHGC_HEConnectorIL());
1459     hmgr->getHistoProf1(11620)->Fill(theData->getPhi(), theData->getHGC_HEConnectorIL());
1460     hmgr->getHistoProf2(11630)->Fill(theData->getEta(), theData->getPhi(), theData->getHGC_HEConnectorIL());
1461 
1462     // Compute the total l/l0 crossed at each step radius for each path
1463     float theTotalIL_TOT = 0.0;
1464     float theTotalIL_COP = 0.0;
1465     float theTotalIL_SCI = 0.0;
1466     float theTotalIL_CAB = 0.0;
1467     float theTotalIL_HGF = 0.0;
1468     float theTotalIL_NIM = 0.0;
1469     float theTotalIL_OTH = 0.0;
1470     float theTotalIL_AIR = 0.0;
1471     float theTotalIL_SST = 0.0;
1472     float theTotalIL_WCU = 0.0;
1473     float theTotalIL_LEA = 0.0;
1474     float theTotalIL_EPX = 0.0;
1475     float theTotalIL_KAP = 0.0;
1476     float theTotalIL_ALU = 0.0;
1477     float theTotalIL_POL = 0.0;
1478     float theTotalIL_EEC = 0.0;
1479     float theTotalIL_HEC = 0.0;
1480     for (int iStep = 0; iStep < theData->getNumberOfSteps(); iStep++) {
1481       theTotalIL_TOT += theData->getStepDil(iStep);
1482       theTotalIL_COP += theData->getCopperDil(iStep);
1483       theTotalIL_SCI += theData->getH_ScintillatorDil(iStep);
1484       theTotalIL_CAB += theData->getCablesDil(iStep);
1485       theTotalIL_HGF += theData->getHGC_G10_FR4Dil(iStep);
1486       theTotalIL_NIM += theData->getSiliconDil(iStep);
1487       theTotalIL_OTH += theData->getOtherDil(iStep);
1488       theTotalIL_AIR += theData->getAirDil(iStep);
1489       theTotalIL_SST += theData->getStainlessSteelDil(iStep);
1490       theTotalIL_WCU += theData->getWCuDil(iStep);
1491       theTotalIL_LEA += theData->getLeadDil(iStep);
1492       theTotalIL_EPX += theData->getEpoxyDil(iStep);
1493       theTotalIL_KAP += theData->getKaptonDil(iStep);
1494       theTotalIL_ALU += theData->getAluminiumDil(iStep);
1495       theTotalIL_POL += theData->getPolystyreneDil(iStep);
1496       theTotalIL_EEC += theData->getHGC_EEConnectorDil(iStep);
1497       theTotalIL_HEC += theData->getHGC_HEConnectorDil(iStep);
1498 
1499       int iCop = 0;
1500       int iSci = 0;
1501       int iCab = 0;
1502       int iHgf = 0;
1503       int iSil = 0;
1504       int iOth = 0;
1505       int iAir = 0;
1506       int iSst = 0;
1507       int iWcu = 0;
1508       int iLea = 0;
1509       int iEpx = 0;
1510       int iKap = 0;
1511       int iAlu = 0;
1512       int iPol = 0;
1513       int iEec = 0;
1514       int iHec = 0;
1515 
1516       if (theData->getCopperDil(iStep) > 0.) {
1517         iCop = 1;
1518       }
1519       if (theData->getH_ScintillatorDil(iStep) > 0.) {
1520         iSci = 1;
1521       }
1522       if (theData->getCablesDil(iStep) > 0.) {
1523         iCab = 1;
1524       }
1525       if (theData->getHGC_G10_FR4Dil(iStep) > 0.) {
1526         iHgf = 1;
1527       }
1528       if (theData->getSiliconDil(iStep) > 0.) {
1529         iSil = 1;
1530       }
1531       if (theData->getOtherDil(iStep) > 0.) {
1532         iOth = 1;
1533       }
1534       if (theData->getAirDil(iStep) > 0.) {
1535         iAir = 1;
1536       }
1537       if (theData->getStainlessSteelDil(iStep) > 0.) {
1538         iSst = 1;
1539       }
1540       if (theData->getWCuDil(iStep) > 0.) {
1541         iWcu = 1;
1542       }
1543       if (theData->getLeadDil(iStep) > 0.) {
1544         iLea = 1;
1545       }
1546       if (theData->getEpoxyDil(iStep) > 0.) {
1547         iEpx = 1;
1548       }
1549       if (theData->getKaptonDil(iStep) > 0.) {
1550         iKap = 1;
1551       }
1552       if (theData->getAluminiumDil(iStep) > 0.) {
1553         iAlu = 1;
1554       }
1555       if (theData->getPolystyreneDil(iStep) > 0.) {
1556         iPol = 1;
1557       }
1558       if (theData->getHGC_EEConnectorDil(iStep) > 0.) {
1559         iEec = 1;
1560       }
1561       if (theData->getHGC_HEConnectorDil(iStep) > 0.) {
1562         iHec = 1;
1563       }
1564 
1565       float deltaRadius = sqrt(pow(theData->getStepFinalX(iStep) - theData->getStepInitialX(iStep), 2) +
1566                                pow(theData->getStepFinalY(iStep) - theData->getStepInitialY(iStep), 2));
1567       float deltaz = theData->getStepFinalZ(iStep) - theData->getStepInitialZ(iStep);
1568 
1569       float deltaeta = theData->getStepFinalEta(iStep) - theData->getStepInitialEta(iStep);
1570 
1571       // float deltaphi = theData->getStepFinalPhi(iStep)-theData->getStepInitialPhi(iStep) ;
1572 
1573       float il = theData->getStepMaterialLambda0(iStep);
1574 
1575       int nSubStep = 2;
1576       float boxWidth = 0.1;
1577       if ((deltaRadius > boxWidth) || (fabs(deltaz) > boxWidth)) {
1578         nSubStep = static_cast<int>(max(ceil(deltaRadius / boxWidth / 2.) * 2, ceil(fabs(deltaz) / boxWidth / 2.) * 2));
1579       }
1580 
1581       for (int iSubStep = 1; iSubStep < nSubStep; iSubStep += 2) {
1582         float subdeltaRadius = deltaRadius / nSubStep;
1583         float polarRadius = sqrt(pow(theData->getStepInitialX(iStep), 2) + pow(theData->getStepInitialY(iStep), 2)) +
1584                             iSubStep * subdeltaRadius;
1585 
1586         float subdeltaz = deltaz / nSubStep;
1587         float z = theData->getStepInitialZ(iStep) + iSubStep * subdeltaz;
1588 
1589         float subdeltaeta = deltaeta / nSubStep;
1590         float eta = theData->getStepInitialEta(iStep) + iSubStep * subdeltaeta;
1591 
1592         // float subdeltaphi = deltaphi/nSubStep;
1593         // float phi = theData->getStepInitialPhi(iStep) + iSubStep*subdeltaphi;
1594 
1595         float subdelta = sqrt(pow(subdeltaRadius, 2) + pow(subdeltaz, 2));
1596 
1597         float fillValue = subdelta / il;
1598 
1599         float costhetacorrection = cos(2 * atan(exp(-fabs(eta))));
1600         // Average length
1601         hmgr->getHisto2(1999)->Fill(z, polarRadius, subdelta);
1602         // Total
1603         hmgr->getHistoProf1(10040)->Fill(polarRadius, theTotalIL_TOT);
1604         hmgr->getHistoProf2(10050)->Fill(z, polarRadius, theTotalIL_TOT);
1605         hmgr->getHistoProf2(10052)->Fill(z, polarRadius, theTotalIL_TOT * costhetacorrection);
1606         hmgr->getHisto2(10060)->Fill(z, polarRadius, fillValue);
1607         hmgr->getHistoProf2(10070)->Fill(z, polarRadius, fillValue);
1608         hmgr->getHistoProf2(10072)->Fill(z, polarRadius, fillValue * costhetacorrection);
1609 
1610         // Copper
1611         hmgr->getHistoProf1(10140)->Fill(polarRadius, theTotalIL_COP);
1612         hmgr->getHistoProf2(10150)->Fill(z, polarRadius, theTotalIL_COP);
1613         hmgr->getHistoProf2(10152)->Fill(z, polarRadius, theTotalIL_COP * costhetacorrection);
1614         hmgr->getHisto2(10160)->Fill(z, polarRadius, iCop * fillValue);
1615         hmgr->getHistoProf2(10170)->Fill(z, polarRadius, iCop * fillValue);
1616         hmgr->getHistoProf2(10172)->Fill(z, polarRadius, iCop * fillValue * costhetacorrection);
1617 
1618         // H_Scintillator
1619         hmgr->getHistoProf1(10240)->Fill(polarRadius, theTotalIL_SCI);
1620         hmgr->getHistoProf2(10250)->Fill(z, polarRadius, theTotalIL_SCI);
1621         hmgr->getHistoProf2(10252)->Fill(z, polarRadius, theTotalIL_SCI * costhetacorrection);
1622         hmgr->getHisto2(10260)->Fill(z, polarRadius, iSci * fillValue);
1623         hmgr->getHistoProf2(10270)->Fill(z, polarRadius, iSci * fillValue);
1624         hmgr->getHistoProf2(10272)->Fill(z, polarRadius, iSci * fillValue * costhetacorrection);
1625 
1626         // Cables
1627         hmgr->getHistoProf1(10340)->Fill(polarRadius, theTotalIL_CAB);
1628         hmgr->getHistoProf2(10350)->Fill(z, polarRadius, theTotalIL_CAB);
1629         hmgr->getHistoProf2(10352)->Fill(z, polarRadius, theTotalIL_CAB * costhetacorrection);
1630         hmgr->getHisto2(10360)->Fill(z, polarRadius, iCab * fillValue);
1631         hmgr->getHistoProf2(10370)->Fill(z, polarRadius, iCab * fillValue);
1632         hmgr->getHistoProf2(10372)->Fill(z, polarRadius, iCab * fillValue * costhetacorrection);
1633 
1634         // HGC_G10_FR4
1635         hmgr->getHistoProf1(10440)->Fill(polarRadius, theTotalIL_HGF);
1636         hmgr->getHistoProf2(10450)->Fill(z, polarRadius, theTotalIL_HGF);
1637         hmgr->getHistoProf2(10452)->Fill(z, polarRadius, theTotalIL_HGF * costhetacorrection);
1638         hmgr->getHisto2(10460)->Fill(z, polarRadius, iHgf * fillValue);
1639         hmgr->getHistoProf2(10470)->Fill(z, polarRadius, iHgf * fillValue);
1640         hmgr->getHistoProf2(10472)->Fill(z, polarRadius, iHgf * fillValue * costhetacorrection);
1641 
1642         // Silicon
1643         hmgr->getHistoProf1(10540)->Fill(polarRadius, theTotalIL_NIM);
1644         hmgr->getHistoProf2(10550)->Fill(z, polarRadius, theTotalIL_NIM);
1645         hmgr->getHistoProf2(10552)->Fill(z, polarRadius, theTotalIL_NIM * costhetacorrection);
1646         hmgr->getHisto2(10560)->Fill(z, polarRadius, iSil * fillValue);
1647         hmgr->getHistoProf2(10570)->Fill(z, polarRadius, iSil * fillValue);
1648         hmgr->getHistoProf2(10572)->Fill(z, polarRadius, iSil * fillValue * costhetacorrection);
1649 
1650         // Other
1651         hmgr->getHistoProf1(10640)->Fill(polarRadius, theTotalIL_OTH);
1652         hmgr->getHistoProf2(10650)->Fill(z, polarRadius, theTotalIL_OTH);
1653         hmgr->getHistoProf2(10652)->Fill(z, polarRadius, theTotalIL_OTH * costhetacorrection);
1654         hmgr->getHisto2(10660)->Fill(z, polarRadius, iOth * fillValue);
1655         hmgr->getHistoProf2(10670)->Fill(z, polarRadius, iOth * fillValue);
1656         hmgr->getHistoProf2(10672)->Fill(z, polarRadius, iOth * fillValue * costhetacorrection);
1657 
1658         // Air
1659         hmgr->getHistoProf1(10740)->Fill(polarRadius, theTotalIL_AIR);
1660         hmgr->getHistoProf2(10750)->Fill(z, polarRadius, theTotalIL_AIR);
1661         hmgr->getHistoProf2(10752)->Fill(z, polarRadius, theTotalIL_AIR * costhetacorrection);
1662         hmgr->getHisto2(10760)->Fill(z, polarRadius, iAir * fillValue);
1663         hmgr->getHistoProf2(10770)->Fill(z, polarRadius, iAir * fillValue);
1664         hmgr->getHistoProf2(10772)->Fill(z, polarRadius, iAir * fillValue * costhetacorrection);
1665 
1666         // StainlessSteel
1667         hmgr->getHistoProf1(10840)->Fill(polarRadius, theTotalIL_SST);
1668         hmgr->getHistoProf2(10850)->Fill(z, polarRadius, theTotalIL_SST);
1669         hmgr->getHistoProf2(10852)->Fill(z, polarRadius, theTotalIL_SST * costhetacorrection);
1670         hmgr->getHisto2(10860)->Fill(z, polarRadius, iSst * fillValue);
1671         hmgr->getHistoProf2(10870)->Fill(z, polarRadius, iSst * fillValue);
1672         hmgr->getHistoProf2(10872)->Fill(z, polarRadius, iSst * fillValue * costhetacorrection);
1673 
1674         // WCu
1675         hmgr->getHistoProf1(10940)->Fill(polarRadius, theTotalIL_WCU);
1676         hmgr->getHistoProf2(10950)->Fill(z, polarRadius, theTotalIL_WCU);
1677         hmgr->getHistoProf2(10952)->Fill(z, polarRadius, theTotalIL_WCU * costhetacorrection);
1678         hmgr->getHisto2(10960)->Fill(z, polarRadius, iWcu * fillValue);
1679         hmgr->getHistoProf2(10970)->Fill(z, polarRadius, iWcu * fillValue);
1680         hmgr->getHistoProf2(10972)->Fill(z, polarRadius, iWcu * fillValue * costhetacorrection);
1681 
1682         // Lead
1683         hmgr->getHistoProf1(11040)->Fill(polarRadius, theTotalIL_LEA);
1684         hmgr->getHistoProf2(11050)->Fill(z, polarRadius, theTotalIL_LEA);
1685         hmgr->getHistoProf2(11052)->Fill(z, polarRadius, theTotalIL_LEA * costhetacorrection);
1686         hmgr->getHisto2(11060)->Fill(z, polarRadius, iLea * fillValue);
1687         hmgr->getHistoProf2(11070)->Fill(z, polarRadius, iLea * fillValue);
1688         hmgr->getHistoProf2(11072)->Fill(z, polarRadius, iLea * fillValue * costhetacorrection);
1689 
1690         // Epoxy
1691         hmgr->getHistoProf1(11140)->Fill(polarRadius, theTotalIL_EPX);
1692         hmgr->getHistoProf2(11150)->Fill(z, polarRadius, theTotalIL_EPX);
1693         hmgr->getHistoProf2(11152)->Fill(z, polarRadius, theTotalIL_EPX * costhetacorrection);
1694         hmgr->getHisto2(11160)->Fill(z, polarRadius, iEpx * fillValue);
1695         hmgr->getHistoProf2(11170)->Fill(z, polarRadius, iEpx * fillValue);
1696         hmgr->getHistoProf2(11172)->Fill(z, polarRadius, iEpx * fillValue * costhetacorrection);
1697 
1698         // Kapton
1699         hmgr->getHistoProf1(11240)->Fill(polarRadius, theTotalIL_KAP);
1700         hmgr->getHistoProf2(11250)->Fill(z, polarRadius, theTotalIL_KAP);
1701         hmgr->getHistoProf2(11252)->Fill(z, polarRadius, theTotalIL_KAP * costhetacorrection);
1702         hmgr->getHisto2(11260)->Fill(z, polarRadius, iKap * fillValue);
1703         hmgr->getHistoProf2(11270)->Fill(z, polarRadius, iKap * fillValue);
1704         hmgr->getHistoProf2(11272)->Fill(z, polarRadius, iKap * fillValue * costhetacorrection);
1705 
1706         // Aluminium
1707         hmgr->getHistoProf1(11340)->Fill(polarRadius, theTotalIL_ALU);
1708         hmgr->getHistoProf2(11350)->Fill(z, polarRadius, theTotalIL_ALU);
1709         hmgr->getHistoProf2(11352)->Fill(z, polarRadius, theTotalIL_ALU * costhetacorrection);
1710         hmgr->getHisto2(11360)->Fill(z, polarRadius, iAlu * fillValue);
1711         hmgr->getHistoProf2(11370)->Fill(z, polarRadius, iAlu * fillValue);
1712         hmgr->getHistoProf2(11372)->Fill(z, polarRadius, iAlu * fillValue * costhetacorrection);
1713 
1714         // Polystyrene
1715         hmgr->getHistoProf1(11440)->Fill(polarRadius, theTotalIL_POL);
1716         hmgr->getHistoProf2(11450)->Fill(z, polarRadius, theTotalIL_POL);
1717         hmgr->getHistoProf2(11452)->Fill(z, polarRadius, theTotalIL_POL * costhetacorrection);
1718         hmgr->getHisto2(11460)->Fill(z, polarRadius, iPol * fillValue);
1719         hmgr->getHistoProf2(11470)->Fill(z, polarRadius, iPol * fillValue);
1720         hmgr->getHistoProf2(11472)->Fill(z, polarRadius, iPol * fillValue * costhetacorrection);
1721 
1722         // HGC_EEConnector
1723         hmgr->getHistoProf1(11540)->Fill(polarRadius, theTotalIL_EEC);
1724         hmgr->getHistoProf2(11550)->Fill(z, polarRadius, theTotalIL_EEC);
1725         hmgr->getHistoProf2(11552)->Fill(z, polarRadius, theTotalIL_EEC * costhetacorrection);
1726         hmgr->getHisto2(11560)->Fill(z, polarRadius, iEec * fillValue);
1727         hmgr->getHistoProf2(11570)->Fill(z, polarRadius, iEec * fillValue);
1728         hmgr->getHistoProf2(11572)->Fill(z, polarRadius, iEec * fillValue * costhetacorrection);
1729 
1730         // HGC_HEConnector
1731         hmgr->getHistoProf1(11640)->Fill(polarRadius, theTotalIL_HEC);
1732         hmgr->getHistoProf2(11650)->Fill(z, polarRadius, theTotalIL_HEC);
1733         hmgr->getHistoProf2(11652)->Fill(z, polarRadius, theTotalIL_HEC * costhetacorrection);
1734         hmgr->getHisto2(11660)->Fill(z, polarRadius, iHec * fillValue);
1735         hmgr->getHistoProf2(11670)->Fill(z, polarRadius, iHec * fillValue);
1736         hmgr->getHistoProf2(11672)->Fill(z, polarRadius, iHec * fillValue * costhetacorrection);
1737       }
1738     }
1739 
1740     // rr
1741   } else {
1742     std::cout << "*** WARNING This event is out of the acceptance *** " << std::endl;
1743     std::cout << "eta = " << theData->getEta() << "\t phi = " << theData->getPhi()
1744               << "\t x/X0 = " << theData->getTotalMB() << "\t l/l0 = " << theData->getTotalIL()
1745               << "\t steps = " << theData->getNumberOfSteps() << std::endl;
1746     std::cout << "***" << std::endl;
1747   }
1748 }
1749 
1750 void MaterialBudgetHGCalHistos::endOfRun() {
1751   hmgr->getHisto2(60)->Divide(hmgr->getHisto2(999));
1752   hmgr->getHisto2(160)->Divide(hmgr->getHisto2(999));
1753   hmgr->getHisto2(260)->Divide(hmgr->getHisto2(999));
1754   hmgr->getHisto2(360)->Divide(hmgr->getHisto2(999));
1755   hmgr->getHisto2(460)->Divide(hmgr->getHisto2(999));
1756   hmgr->getHisto2(560)->Divide(hmgr->getHisto2(999));
1757   hmgr->getHisto2(660)->Divide(hmgr->getHisto2(999));
1758   hmgr->getHisto2(760)->Divide(hmgr->getHisto2(999));
1759   hmgr->getHisto2(860)->Divide(hmgr->getHisto2(999));
1760   hmgr->getHisto2(960)->Divide(hmgr->getHisto2(999));
1761   hmgr->getHisto2(1060)->Divide(hmgr->getHisto2(999));
1762   hmgr->getHisto2(1160)->Divide(hmgr->getHisto2(999));
1763   hmgr->getHisto2(1260)->Divide(hmgr->getHisto2(999));
1764   hmgr->getHisto2(1360)->Divide(hmgr->getHisto2(999));
1765   hmgr->getHisto2(1460)->Divide(hmgr->getHisto2(999));
1766   hmgr->getHisto2(1560)->Divide(hmgr->getHisto2(999));
1767   hmgr->getHisto2(1660)->Divide(hmgr->getHisto2(999));
1768 
1769   hmgr->getHisto2(10060)->Divide(hmgr->getHisto2(1999));
1770   hmgr->getHisto2(10160)->Divide(hmgr->getHisto2(1999));
1771   hmgr->getHisto2(10260)->Divide(hmgr->getHisto2(1999));
1772   hmgr->getHisto2(10360)->Divide(hmgr->getHisto2(1999));
1773   hmgr->getHisto2(10460)->Divide(hmgr->getHisto2(1999));
1774   hmgr->getHisto2(10560)->Divide(hmgr->getHisto2(1999));
1775   hmgr->getHisto2(10660)->Divide(hmgr->getHisto2(1999));
1776   hmgr->getHisto2(10760)->Divide(hmgr->getHisto2(1999));
1777   hmgr->getHisto2(10860)->Divide(hmgr->getHisto2(1999));
1778   hmgr->getHisto2(10960)->Divide(hmgr->getHisto2(1999));
1779   hmgr->getHisto2(11060)->Divide(hmgr->getHisto2(1999));
1780   hmgr->getHisto2(11160)->Divide(hmgr->getHisto2(1999));
1781   hmgr->getHisto2(11260)->Divide(hmgr->getHisto2(1999));
1782   hmgr->getHisto2(11360)->Divide(hmgr->getHisto2(1999));
1783   hmgr->getHisto2(11460)->Divide(hmgr->getHisto2(1999));
1784   hmgr->getHisto2(11560)->Divide(hmgr->getHisto2(1999));
1785   hmgr->getHisto2(11660)->Divide(hmgr->getHisto2(1999));
1786 
1787   std::cout << "=== save user histos ===" << std::endl;
1788   hmgr->save(theFileName);
1789 }