CMS 3D CMS Logo

MaterialBudgetData.cc
Go to the documentation of this file.
2 
3 #include "G4Step.hh"
4 #include "G4Material.hh"
5 #include "G4EventManager.hh"
6 #include "G4Event.hh"
7 #include "DD4hep/Filter.h"
8 
10  //instantiate categorizer to assign an ID to volumes and materials
12  allStepsToTree = false;
13  isHGCal = false;
14  isMtd = false;
15  densityConvertionFactor = 6.24E18;
16 }
17 
19 
21 
22 void MaterialBudgetData::dataStartTrack(const G4Track* aTrack) {
23  const G4ThreeVector& dir = aTrack->GetMomentum();
24 
25  if (myMaterialBudgetCategorizer == nullptr) {
26  if (isHGCal) {
27  myMaterialBudgetCategorizer = std::make_unique<MaterialBudgetCategorizer>("HGCal");
28  } else if (isMtd) {
29  myMaterialBudgetCategorizer = std::make_unique<MaterialBudgetCategorizer>("Mtd");
30  } else {
31  myMaterialBudgetCategorizer = std::make_unique<MaterialBudgetCategorizer>("Tracker");
32  }
33  }
34 
35  theStepN = 0;
36  theTotalMB = 0;
37  theTotalIL = 0;
38  theEta = 0;
39  thePhi = 0;
40  theID = 0;
41  thePt = 0;
42  theEnergy = 0;
43  theMass = 0;
44 
45  theSupportMB = 0.f;
46  theSensitiveMB = 0.f;
47  theCoolingMB = 0.f;
48  theElectronicsMB = 0.f;
49  theOtherMB = 0.f;
50 
51  //HGCal
52  theAirMB = 0.f;
53  theCablesMB = 0.f;
54  theCopperMB = 0.f;
55  theH_ScintillatorMB = 0.f;
56  theLeadMB = 0.f;
57  theEpoxyMB = 0.f;
58  theKaptonMB = 0.f;
59  theAluminiumMB = 0.f;
60  theHGC_G10_FR4MB = 0.f;
61  theSiliconMB = 0.f;
62  theStainlessSteelMB = 0.f;
63  theWCuMB = 0.f;
64 
65  theSupportIL = 0.f;
66  theSensitiveIL = 0.f;
67  theCoolingIL = 0.f;
68  theElectronicsIL = 0.f;
69  theOtherIL = 0.f;
70 
71  //HGCal
72  theAirIL = 0.f;
73  theCablesIL = 0.f;
74  theCopperIL = 0.f;
75  theH_ScintillatorIL = 0.f;
76  theLeadIL = 0.f;
77  theEpoxyIL = 0.f;
78  theKaptonIL = 0.f;
79  theAluminiumIL = 0.f;
80  theHGC_G10_FR4IL = 0.f;
81  theSiliconIL = 0.f;
82  theStainlessSteelIL = 0.f;
83  theWCuIL = 0.f;
84 
89  theOtherFractionMB = 0.f;
90  //HGCal
91  theAirFractionMB = 0.f;
92  theCablesFractionMB = 0.f;
93  theCopperFractionMB = 0.f;
95  theLeadFractionMB = 0.f;
96  theEpoxyFractionMB = 0.f;
97  theKaptonFractionMB = 0.f;
100  theSiliconFractionMB = 0.f;
102  theWCuFractionMB = 0.f;
103 
104  theSupportFractionIL = 0.f;
106  theCoolingFractionIL = 0.f;
108  theOtherFractionIL = 0.f;
109  //HGCal
110  theAirFractionIL = 0.f;
111  theCablesFractionIL = 0.f;
112  theCopperFractionIL = 0.f;
114  theLeadFractionIL = 0.f;
115  theEpoxyFractionIL = 0.f;
116  theKaptonFractionIL = 0.f;
119  theSiliconFractionIL = 0.f;
121  theWCuFractionIL = 0.f;
122 
123  theID = (int)(aTrack->GetDefinition()->GetPDGEncoding());
124  thePt = dir.perp();
125  if (dir.theta() != 0) {
126  theEta = dir.eta();
127  } else {
128  theEta = -99;
129  }
130  thePhi = dir.phi();
131  theEnergy = aTrack->GetTotalEnergy();
132  theMass = aTrack->GetDefinition()->GetPDGMass();
133 }
134 
135 void MaterialBudgetData::dataEndTrack(const G4Track* aTrack) {
136  LogDebug("MaterialBudget") << "MaterialBudgetData: [OVAL] MaterialBudget "
137  << G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID()
138  << " Eta:" << theEta << " Phi:" << thePhi << " TotalMB" << theTotalMB;
139 
140  LogDebug("MaterialBudget") << "MaterialBudgetData:" << theStepN << "Recorded steps ";
141 
142  if (!isHGCal) {
143  LogDebug("Material Budget") << "MaterialBudgetData: Radiation Length "
144  << G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID() << " Eta"
145  << theEta << " Phi" << thePhi << " TotalMB" << theTotalMB << " SUP " << theSupportMB
146  << " SEN " << theSensitiveMB << " CAB " << theCablesMB << " COL " << theCoolingMB
147  << " ELE " << theElectronicsMB << " other " << theOtherMB << " Air " << theAirMB;
148 
149  LogDebug("Material Budget") << "MaterialBudgetData: Interaction Length "
150  << G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID() << " Eta "
151  << theEta << " Phi " << thePhi << " TotalIL " << theTotalIL << " SUP " << theSupportIL
152  << " SEN " << theSensitiveIL << " CAB " << theCablesIL << " COL " << theCoolingIL
153  << " ELE " << theElectronicsIL << " other " << theOtherIL << " Air " << theAirIL
154  << std::endl;
155 
156  } else {
157  LogDebug("MaterialBudget") << "MaterialBudgetData: HGCal Material Budget: Radiation Length "
158  << G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID() << " Eta "
159  << theEta << " Phi " << thePhi << " TotaLMB" << theTotalMB << " theCopperMB "
160  << theCopperMB << " theH_ScintillatorMB " << theH_ScintillatorMB << " CAB "
161  << theCablesMB << " theLeadMB " << theLeadMB << " theEpoxyMB " << theEpoxyMB
162  << " theKaptonMB " << theKaptonMB << " theAluminiumMB " << theAluminiumMB
163  << " theHGC_G10_FR4MB " << theHGC_G10_FR4MB << " theSiliconMB " << theSiliconMB
164  << " theAirMB " << theAirMB << " theStainlessSteelMB " << theStainlessSteelMB
165  << " theWCuMB " << theWCuMB;
166 
167  LogDebug("MaterialBudget") << "MaterialBudgetData: HGCal Material Budget: Interaction Length "
168  << G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID() << " Eta "
169  << theEta << " Phi " << thePhi << " TotalIL " << theTotalIL << " theCopperIL "
170  << theCopperIL << " theH_ScintillatorIL " << theH_ScintillatorIL << " CAB "
171  << theCablesIL << " theLeadIL " << theLeadIL << " theEpoxyIL " << theEpoxyIL
172  << " theKaptonIL " << theKaptonIL << " theAluminiumIL " << theAluminiumIL
173  << " theHGC_G10_FR4IL " << theHGC_G10_FR4IL << " theSiliconIL " << theSiliconIL
174  << " Air " << theAirIL << " theStainlessSteelIL " << theStainlessSteelIL << " theWCuIL "
175  << theWCuIL << std::endl;
176  }
177 }
178 
179 void MaterialBudgetData::dataPerStep(const G4Step* aStep) {
180  assert(aStep);
181  G4StepPoint* prePoint = aStep->GetPreStepPoint();
182  G4StepPoint* postPoint = aStep->GetPostStepPoint();
183  assert(prePoint);
184  assert(postPoint);
185  G4Material* theMaterialPre = prePoint->GetMaterial();
186  assert(theMaterialPre);
187 
188  CLHEP::Hep3Vector prePos = prePoint->GetPosition();
189  CLHEP::Hep3Vector postPos = postPoint->GetPosition();
190 
191  G4double steplen = aStep->GetStepLength();
192 
193  G4double radlen = theMaterialPre->GetRadlen();
194  G4double intlen = theMaterialPre->GetNuclearInterLength();
195  G4double density = theMaterialPre->GetDensity() / densityConvertionFactor; // always g/cm3
196 
197  G4String materialName = static_cast<std::string>(dd4hep::dd::noNamespace(theMaterialPre->GetName()));
198 
199  LogDebug("MaterialBudget") << "MaterialBudgetData: Material " << materialName << " steplen " << steplen << " radlen "
200  << radlen << " mb " << steplen / radlen;
201 
202  G4String volumeName = static_cast<std::string>(
203  dd4hep::dd::noNamespace(aStep->GetPreStepPoint()->GetTouchable()->GetVolume(0)->GetLogicalVolume()->GetName()));
204 
205  LogDebug("MaterialBudget") << "MaterialBudgetData: Volume " << volumeName << " Material " << materialName;
206 
207  // instantiate the categorizer
209  int volumeID = myMaterialBudgetCategorizer->volume(volumeName);
210  int materialID = myMaterialBudgetCategorizer->material(materialName);
211 
212  LogDebug("MaterialBudget") << "MaterialBudgetData: Volume ID " << volumeID << " Material ID " << materialID;
213 
214  // FIXME: Both volume ID and material ID are zeros, so this part is not executed leaving all
215  // values as zeros.
216 
217  if (!isHGCal) {
218  bool isCtgOk = !myMaterialBudgetCategorizer->x0fraction(materialName).empty() &&
219  !myMaterialBudgetCategorizer->l0fraction(materialName).empty() &&
220  (myMaterialBudgetCategorizer->x0fraction(materialName).size() == 7) /*7 Categories*/
221  && (myMaterialBudgetCategorizer->l0fraction(materialName).size() == 7);
222 
223  if (!isCtgOk) {
224  if (materialName.compare("Air") == 0) {
225  theAirFractionMB = 1.f;
226  theAirFractionIL = 1.f;
227  } else {
228  theOtherFractionMB = 1.f;
229  theOtherFractionIL = 1.f;
230  edm::LogVerbatim("MaterialBudget") << "MaterialBudgetData: Material forced to 'Other': " << materialName
231  << " in volume " << volumeName << ". Check Categorization.";
232  }
233  } else {
234  theSupportFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[0];
235  theSensitiveFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[1];
236  theCablesFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[2];
237  theCoolingFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[3];
238  theElectronicsFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[4];
239  theOtherFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[5];
240  theAirFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[6];
241 
242  if (theOtherFractionMB > 0.f)
243  edm::LogVerbatim("MaterialBudget")
244  << "MaterialBudgetData: Material found with no category: " << materialName << " in volume " << volumeName;
245 
246  theSupportFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[0];
247  theSensitiveFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[1];
248  theCablesFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[2];
249  theCoolingFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[3];
250  theElectronicsFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[4];
251  theOtherFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[5];
252  theAirFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[6];
253 
254  if (theOtherFractionIL > 0.f)
255  edm::LogVerbatim("MaterialBudget")
256  << "MaterialBudgetData: Material found with no category: " << materialName << " in volume " << volumeName;
257  }
258  } else { // isHGCal
259 
260  bool isHGCalx0fractionEmpty = myMaterialBudgetCategorizer->HGCalx0fraction(materialName).empty();
261  bool isHGCall0fractionEmpty = myMaterialBudgetCategorizer->HGCall0fraction(materialName).empty();
262 
263  if (isHGCalx0fractionEmpty && isHGCall0fractionEmpty) {
264  theOtherFractionMB = 1.f;
265  theOtherFractionIL = 1.f;
266 
267  edm::LogVerbatim("MaterialBudget") << "MaterialBudgetData: Material forced to 'Other': " << materialName
268  << " in volume " << volumeName;
269  } else {
270  theAirFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[0];
271  theCablesFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[1];
272  theCopperFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[2];
273  theH_ScintillatorFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[3];
274  theLeadFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[4];
275  theHGC_G10_FR4FractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[5];
276  theSiliconFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[6];
277  theStainlessSteelFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[7];
278  theWCuFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[8];
279  theOtherFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[9];
280  theEpoxyFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[10];
281  theKaptonFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[11];
282  theAluminiumFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[12];
283 
284  if (theOtherFractionMB != 0)
285  // edm::LogVerbatim("MaterialBudget") << "MaterialBudgetData: Material found with no category: " << materialName
286  // << " in volume " << volumeName << std::endl;
287  std::cout << "MaterialBudgetData: Material found with no category: " << materialName << " in volume "
288  << volumeName << std::endl;
289 
290  theAirFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[0];
291  theCablesFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[1];
292  theCopperFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[2];
293  theH_ScintillatorFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[3];
294  theLeadFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[4];
295  theHGC_G10_FR4FractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[5];
296  theSiliconFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[6];
297  theStainlessSteelFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[7];
298  theWCuFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[8];
299  theOtherFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[9];
300  theEpoxyFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[10];
301  theKaptonFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[11];
302  theAluminiumFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[12];
303 
304  if (theOtherFractionIL != 0)
305  edm::LogVerbatim("MaterialBudget") << "MaterialBudgetData: Material found with no category " << materialName
306  << " in volume " << volumeName << std::endl;
307  }
308  }
309 
310  float dmb = steplen / radlen;
311  float dil = steplen / intlen;
312 
313  G4VPhysicalVolume* pv = aStep->GetPreStepPoint()->GetPhysicalVolume();
314  const G4VTouchable* t = aStep->GetPreStepPoint()->GetTouchable();
315  const G4ThreeVector& objectTranslation = t->GetTranslation();
316  const G4RotationMatrix* objectRotation = t->GetRotation();
317  const G4VProcess* interactionPre = prePoint->GetProcessDefinedStep();
318  const G4VProcess* interactionPost = postPoint->GetProcessDefinedStep();
319 
320  G4Track* track = aStep->GetTrack();
321  if (theStepN == 0)
322  LogDebug("MaterialBudget") << "MaterialBudgetData: Simulated Particle " << theID << "\tMass " << theMass
323  << " MeV/c2"
324  << "\tPt = " << thePt << " MeV/c"
325  << "\tEta = " << theEta << "\tPhi = " << thePhi << "\tEnergy = " << theEnergy << " MeV";
326 
327  //fill data per step
328  if (allStepsToTree) {
330  if (theStepN > MAXNUMBERSTEPS)
331  theStepN = MAXNUMBERSTEPS - 1;
332  theDmb[theStepN] = dmb;
333  theDil[theStepN] = dil;
339  //HGCal
352 
358  //HGCal
371 
372  theInitialX[theStepN] = prePos.x();
373  theInitialY[theStepN] = prePos.y();
374  theInitialZ[theStepN] = prePos.z();
375  theFinalX[theStepN] = postPos.x();
376  theFinalY[theStepN] = postPos.y();
377  theFinalZ[theStepN] = postPos.z();
378  theVolumeID[theStepN] = volumeID;
379  theVolumeName[theStepN] = volumeName;
380  theVolumeCopy[theStepN] = pv->GetCopyNo();
381  theVolumeX[theStepN] = objectTranslation.x();
382  theVolumeY[theStepN] = objectTranslation.y();
383  theVolumeZ[theStepN] = objectTranslation.z();
384  theVolumeXaxis1[theStepN] = objectRotation->xx();
385  theVolumeXaxis2[theStepN] = objectRotation->xy();
386  theVolumeXaxis3[theStepN] = objectRotation->xz();
387  theVolumeYaxis1[theStepN] = objectRotation->yx();
388  theVolumeYaxis2[theStepN] = objectRotation->yy();
389  theVolumeYaxis3[theStepN] = objectRotation->yz();
390  theVolumeZaxis1[theStepN] = objectRotation->zx();
391  theVolumeZaxis2[theStepN] = objectRotation->zy();
392  theVolumeZaxis3[theStepN] = objectRotation->zz();
393  theMaterialID[theStepN] = materialID;
394  theMaterialName[theStepN] = materialName;
395  theMaterialX0[theStepN] = radlen;
396  theMaterialLambda0[theStepN] = intlen;
398  theStepID[theStepN] = track->GetDefinition()->GetPDGEncoding();
399  theStepInitialPt[theStepN] = prePoint->GetMomentum().perp();
400  theStepInitialEta[theStepN] = prePoint->GetMomentum().eta();
401  theStepInitialPhi[theStepN] = prePoint->GetMomentum().phi();
402  theStepInitialEnergy[theStepN] = prePoint->GetTotalEnergy();
403  theStepInitialPx[theStepN] = prePoint->GetMomentum().x();
404  theStepInitialPy[theStepN] = prePoint->GetMomentum().y();
405  theStepInitialPz[theStepN] = prePoint->GetMomentum().z();
406  theStepInitialBeta[theStepN] = prePoint->GetBeta();
407  theStepInitialGamma[theStepN] = prePoint->GetGamma();
408  theStepInitialMass[theStepN] = prePoint->GetMass();
409  theStepFinalPt[theStepN] = postPoint->GetMomentum().perp();
410  theStepFinalEta[theStepN] = postPoint->GetMomentum().eta();
411  theStepFinalPhi[theStepN] = postPoint->GetMomentum().phi();
412  theStepFinalEnergy[theStepN] = postPoint->GetTotalEnergy();
413  theStepFinalPx[theStepN] = postPoint->GetMomentum().x();
414  theStepFinalPy[theStepN] = postPoint->GetMomentum().y();
415  theStepFinalPz[theStepN] = postPoint->GetMomentum().z();
416  theStepFinalBeta[theStepN] = postPoint->GetBeta();
417  theStepFinalGamma[theStepN] = postPoint->GetGamma();
418  theStepFinalMass[theStepN] = postPoint->GetMass();
419  int preProcType = -99;
420  int postProcType = -99;
421  if (interactionPre)
422  preProcType = interactionPre->GetProcessType();
423  theStepPreProcess[theStepN] = preProcType;
424  if (interactionPost)
425  postProcType = interactionPost->GetProcessType();
426  theStepPostProcess[theStepN] = postProcType;
427 
428  LogDebug("MaterialBudget") << "MaterialBudgetData: Step " << theStepN << "\tDelta MB = " << theDmb[theStepN]
429  << std::endl
430  << " Support " << theSupportDmb[theStepN] << " Sensitive " << theSensitiveDmb[theStepN]
431  << " Cables " << theCablesDmb[theStepN] << " Cooling " << theCoolingDmb[theStepN]
432  << " Electronics " << theElectronicsDmb[theStepN] << " Other " << theOtherDmb[theStepN]
433  << " Air " << theAirDmb[theStepN] << std::endl
434  << "\tDelta IL = " << theDil[theStepN] << std::endl
435  << " Support " << theSupportDil[theStepN] << " Sensitive " << theSensitiveDil[theStepN]
436  << " Cables " << theCablesDil[theStepN] << " Cooling " << theCoolingDil[theStepN]
437  << " Electronics " << theElectronicsDil[theStepN] << " Other " << theOtherDil[theStepN]
438  << " Air " << theAirDil[theStepN];
439 
440  if (interactionPre)
441  LogDebug("MaterialBudget") << "MaterialBudgetData: Process Pre " << interactionPre->GetProcessName() << " type "
442  << theStepPreProcess[theStepN] << " name "
443  << interactionPre->GetProcessTypeName(G4ProcessType(theStepPreProcess[theStepN]));
444  if (interactionPost)
445  LogDebug("MaterialBudget")
446  << "MaterialBudgetData: Process Post " << interactionPost->GetProcessName() << " type "
447  << theStepPostProcess[theStepN] << " name "
448  << interactionPost->GetProcessTypeName(G4ProcessType(theStepPostProcess[theStepN]))
449  << " Pre x = " << theInitialX[theStepN] << " y = " << theInitialY[theStepN]
450  << " z = " << theInitialZ[theStepN]
451  << " Polar Radius = " << sqrt(prePos.x() * prePos.x() + prePos.y() * prePos.y())
452  << " Pt = " << theStepInitialPt[theStepN] << " Energy = " << theStepInitialEnergy[theStepN] << " Final: "
453  << " Post x = " << theFinalX[theStepN] << " y = " << theFinalY[theStepN] << " z = " << theFinalZ[theStepN]
454  << " Polar Radius = " << sqrt(postPos.x() * postPos.x() + postPos.y() * postPos.y())
455  << " Pt = " << theStepFinalPt[theStepN] << " Energy = " << theStepFinalEnergy[theStepN] << std::endl
456  << " Volume " << volumeID << " name " << theVolumeName[theStepN] << " copy number " << theVolumeCopy[theStepN]
457  << " material " << theMaterialID[theStepN] << " " << theMaterialName[theStepN]
458  << " Density = " << theMaterialDensity[theStepN] << " g/cm3"
459  << " X0 = " << theMaterialX0[theStepN] << " mm"
460  << " Lambda0 = " << theMaterialLambda0[theStepN] << " mm" << std::endl
461  << " Particle " << theStepID[theStepN] << " Initial Pt = " << theStepInitialPt[theStepN] << " MeV/c"
462  << " eta = " << theStepInitialEta[theStepN] << " phi = " << theStepInitialPhi[theStepN]
463  << " Energy = " << theStepInitialEnergy[theStepN] << " MeV"
464  << " Mass = " << theStepInitialMass[theStepN] << " MeV/c2"
465  << " Beta = " << theStepInitialBeta[theStepN] << " Gamma = " << theStepInitialGamma[theStepN] << std::endl
466  << " Particle " << theStepID[theStepN] << " Final Pt = " << theStepFinalPt[theStepN] << " MeV/c"
467  << " eta = " << theStepFinalEta[theStepN] << " phi = " << theStepFinalPhi[theStepN]
468  << " Energy = " << theStepFinalEnergy[theStepN] << " MeV"
469  << " Mass = " << theStepFinalMass[theStepN] << " MeV/c2"
470  << " Beta = " << theStepFinalBeta[theStepN] << " Gamma = " << theStepFinalGamma[theStepN] << std::endl
471  << " Volume Centre x = " << theVolumeX[theStepN] << " y = " << theVolumeY[theStepN]
472  << " z = " << theVolumeZ[theStepN] << "Polar Radius = "
474  << std::endl
475  << " x axis = (" << theVolumeXaxis1[theStepN] << "," << theVolumeXaxis2[theStepN] << ","
476  << theVolumeXaxis3[theStepN] << ")" << std::endl
477  << " y axis = (" << theVolumeYaxis1[theStepN] << "," << theVolumeYaxis2[theStepN] << ","
478  << theVolumeYaxis3[theStepN] << ")" << std::endl
479  << " z axis = (" << theVolumeZaxis1[theStepN] << "," << theVolumeZaxis2[theStepN] << ","
480  << theVolumeZaxis3[theStepN] << ")" << std::endl
481  << " Secondaries" << std::endl;
482 
483  for (G4TrackVector::const_iterator iSec = aStep->GetSecondary()->begin(); iSec != aStep->GetSecondary()->end();
484  iSec++) {
485  LogDebug("MaterialBudget") << "MaterialBudgetData: tid " << (*iSec)->GetDefinition()->GetPDGEncoding()
486  << " created through process type " << (*iSec)->GetCreatorProcess()->GetProcessType()
487  << (*iSec)->GetCreatorProcess()->GetProcessTypeName(
488  G4ProcessType((*iSec)->GetCreatorProcess()->GetProcessType()));
489  }
490  }
491 
492  theTrkLen = aStep->GetTrack()->GetTrackLength();
493  thePVname = static_cast<std::string>(dd4hep::dd::noNamespace(pv->GetName()));
494  thePVcopyNo = pv->GetCopyNo();
495  theRadLen = radlen;
496  theIntLen = intlen;
497  theTotalMB += dmb;
498  theTotalIL += dil;
499 
504  theOtherMB += (dmb * theOtherFractionMB);
505 
506  //HGCal
507  theAirMB += (dmb * theAirFractionMB);
508  theCablesMB += (dmb * theCablesFractionMB);
509  theCopperMB += (dmb * theCopperFractionMB);
511  theLeadMB += (dmb * theLeadFractionMB);
512  theEpoxyMB += (dmb * theEpoxyFractionMB);
513  theKaptonMB += (dmb * theKaptonFractionMB);
518  theWCuMB += (dmb * theWCuFractionMB);
519 
524  theOtherIL += (dil * theOtherFractionIL);
525  //HGCal
526  theAirIL += (dil * theAirFractionIL);
527  theCablesIL += (dil * theCablesFractionIL);
528  theCopperIL += (dil * theCopperFractionIL);
530  theLeadIL += (dil * theLeadFractionIL);
531  theEpoxyIL += (dil * theEpoxyFractionIL);
532  theKaptonIL += (dil * theKaptonFractionIL);
537  theWCuIL += (dil * theWCuFractionIL);
538 
539  // rr
540 
541  theStepN++;
542 }
MaterialBudgetData::theAirDmb
std::array< float, MAXNUMBERSTEPS > theAirDmb
Definition: MaterialBudgetData.h:321
MaterialBudgetData::theCoolingIL
float theCoolingIL
Definition: MaterialBudgetData.h:278
MaterialBudgetData::theMaterialLambda0
std::array< float, MAXNUMBERSTEPS > theMaterialLambda0
Definition: MaterialBudgetData.h:371
MaterialBudgetData::theAirIL
float theAirIL
Definition: MaterialBudgetData.h:281
MaterialBudgetData::theSiliconMB
float theSiliconMB
Definition: MaterialBudgetData.h:271
MaterialBudgetData::theStepInitialEnergy
std::array< float, MAXNUMBERSTEPS > theStepInitialEnergy
Definition: MaterialBudgetData.h:378
MaterialBudgetData::theAluminiumIL
float theAluminiumIL
Definition: MaterialBudgetData.h:299
MaterialBudgetData::theLeadDmb
std::array< float, MAXNUMBERSTEPS > theLeadDmb
Definition: MaterialBudgetData.h:324
MaterialBudgetData::theLeadFractionMB
float theLeadFractionMB
Definition: MaterialBudgetData.h:256
MaterialBudgetData::theEpoxyDil
std::array< float, MAXNUMBERSTEPS > theEpoxyDil
Definition: MaterialBudgetData.h:344
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11724
MaterialBudgetData::dataEndTrack
void dataEndTrack(const G4Track *aTrack)
Definition: MaterialBudgetData.cc:135
MaterialBudgetData::theCoolingMB
float theCoolingMB
Definition: MaterialBudgetData.h:248
MaterialBudgetData::theKaptonFractionMB
float theKaptonFractionMB
Definition: MaterialBudgetData.h:258
MaterialBudgetData::theCablesDmb
std::array< float, MAXNUMBERSTEPS > theCablesDmb
Definition: MaterialBudgetData.h:317
MaterialBudgetData::theStainlessSteelFractionIL
float theStainlessSteelFractionIL
Definition: MaterialBudgetData.h:292
MaterialBudgetData::theAluminiumMB
float theAluminiumMB
Definition: MaterialBudgetData.h:269
MaterialBudgetData::dataPerStep
void dataPerStep(const G4Step *aStep)
Definition: MaterialBudgetData.cc:179
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
MaterialBudgetData::theAluminiumDmb
std::array< float, MAXNUMBERSTEPS > theAluminiumDmb
Definition: MaterialBudgetData.h:327
MaterialBudgetData::theStepInitialMass
std::array< float, MAXNUMBERSTEPS > theStepInitialMass
Definition: MaterialBudgetData.h:384
MaterialBudgetData::theDmb
std::array< float, MAXNUMBERSTEPS > theDmb
Definition: MaterialBudgetData.h:314
MaterialBudgetData::theSensitiveFractionIL
float theSensitiveFractionIL
Definition: MaterialBudgetData.h:239
MaterialBudgetData::theVolumeZaxis2
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis2
Definition: MaterialBudgetData.h:365
MaterialBudgetData::theH_ScintillatorFractionMB
float theH_ScintillatorFractionMB
Definition: MaterialBudgetData.h:255
MaterialBudgetData::theSupportFractionMB
float theSupportFractionMB
Definition: MaterialBudgetData.h:231
MaterialBudgetData::isHGCal
bool isHGCal
Definition: MaterialBudgetData.h:410
MaterialBudgetData::theSensitiveMB
float theSensitiveMB
Definition: MaterialBudgetData.h:246
MaterialBudgetData::theKaptonDmb
std::array< float, MAXNUMBERSTEPS > theKaptonDmb
Definition: MaterialBudgetData.h:326
MaterialBudgetData::theSensitiveDil
std::array< float, MAXNUMBERSTEPS > theSensitiveDil
Definition: MaterialBudgetData.h:335
MaterialBudgetData::theCoolingDmb
std::array< float, MAXNUMBERSTEPS > theCoolingDmb
Definition: MaterialBudgetData.h:318
gather_cfg.cout
cout
Definition: gather_cfg.py:144
MaterialBudgetData::theMaterialDensity
std::array< float, MAXNUMBERSTEPS > theMaterialDensity
Definition: MaterialBudgetData.h:372
MaterialBudgetData::theVolumeID
std::array< int, MAXNUMBERSTEPS > theVolumeID
Definition: MaterialBudgetData.h:352
MaterialBudgetData::theVolumeXaxis1
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis1
Definition: MaterialBudgetData.h:358
MaterialBudgetData::theStepInitialBeta
std::array< float, MAXNUMBERSTEPS > theStepInitialBeta
Definition: MaterialBudgetData.h:382
cms::cuda::assert
assert(be >=bs)
MaterialBudgetData::theCopperFractionMB
float theCopperFractionMB
Definition: MaterialBudgetData.h:254
MaterialBudgetData::theH_ScintillatorIL
float theH_ScintillatorIL
Definition: MaterialBudgetData.h:295
MaterialBudgetData::theCablesFractionIL
float theCablesFractionIL
Definition: MaterialBudgetData.h:240
MaterialBudgetData::theMaterialName
std::array< std::string, MAXNUMBERSTEPS > theMaterialName
Definition: MaterialBudgetData.h:369
MaterialBudgetData::theOtherIL
float theOtherIL
Definition: MaterialBudgetData.h:280
MaterialBudgetData::theTotalMB
float theTotalMB
Definition: MaterialBudgetData.h:223
MaterialBudgetData::theInitialZ
std::array< double, MAXNUMBERSTEPS > theInitialZ
Definition: MaterialBudgetData.h:308
MaterialBudgetData::theWCuFractionMB
float theWCuFractionMB
Definition: MaterialBudgetData.h:263
MaterialBudgetData::theOtherDil
std::array< float, MAXNUMBERSTEPS > theOtherDil
Definition: MaterialBudgetData.h:339
MaterialBudgetData::theOtherDmb
std::array< float, MAXNUMBERSTEPS > theOtherDmb
Definition: MaterialBudgetData.h:320
MaterialBudgetData::theStepFinalBeta
std::array< float, MAXNUMBERSTEPS > theStepFinalBeta
Definition: MaterialBudgetData.h:392
MaterialBudgetData::theStepFinalPy
std::array< float, MAXNUMBERSTEPS > theStepFinalPy
Definition: MaterialBudgetData.h:390
MaterialBudgetData::theAluminiumDil
std::array< float, MAXNUMBERSTEPS > theAluminiumDil
Definition: MaterialBudgetData.h:346
MaterialBudgetData::theVolumeYaxis1
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis1
Definition: MaterialBudgetData.h:361
MaterialBudgetData::theCopperDil
std::array< float, MAXNUMBERSTEPS > theCopperDil
Definition: MaterialBudgetData.h:341
MaterialBudgetData::theStepN
int theStepN
Definition: MaterialBudgetData.h:305
MaterialBudgetData::theAirFractionMB
float theAirFractionMB
Definition: MaterialBudgetData.h:237
MaterialBudgetData::theLeadIL
float theLeadIL
Definition: MaterialBudgetData.h:296
MaterialBudgetData::theOtherFractionIL
float theOtherFractionIL
Definition: MaterialBudgetData.h:243
MaterialBudgetData::theStainlessSteelIL
float theStainlessSteelIL
Definition: MaterialBudgetData.h:302
MaterialBudgetData::theSupportFractionIL
float theSupportFractionIL
Definition: MaterialBudgetData.h:238
MaterialBudgetData::densityConvertionFactor
double densityConvertionFactor
Definition: MaterialBudgetData.h:413
MaterialBudgetData::myMaterialBudgetCategorizer
std::unique_ptr< MaterialBudgetCategorizer > myMaterialBudgetCategorizer
Definition: MaterialBudgetData.h:404
MaterialBudgetData::allStepsToTree
bool allStepsToTree
Definition: MaterialBudgetData.h:409
MaterialBudgetData::theSensitiveIL
float theSensitiveIL
Definition: MaterialBudgetData.h:276
MaterialBudgetData::theStepFinalEta
std::array< float, MAXNUMBERSTEPS > theStepFinalEta
Definition: MaterialBudgetData.h:386
MaterialBudgetData::theVolumeYaxis2
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis2
Definition: MaterialBudgetData.h:362
MaterialBudgetData::theHGC_G10_FR4MB
float theHGC_G10_FR4MB
Definition: MaterialBudgetData.h:270
MaterialBudgetData::theEpoxyIL
float theEpoxyIL
Definition: MaterialBudgetData.h:297
MaterialBudgetData::theVolumeX
std::array< float, MAXNUMBERSTEPS > theVolumeX
Definition: MaterialBudgetData.h:355
MaterialBudgetData::thePt
float thePt
Definition: MaterialBudgetData.h:227
MaterialBudgetData::thePhi
float thePhi
Definition: MaterialBudgetData.h:225
MaterialBudgetData::theStepID
std::array< int, MAXNUMBERSTEPS > theStepID
Definition: MaterialBudgetData.h:374
MaterialBudgetData::theSensitiveFractionMB
float theSensitiveFractionMB
Definition: MaterialBudgetData.h:232
MaterialBudgetData::theStepPostProcess
std::array< int, MAXNUMBERSTEPS > theStepPostProcess
Definition: MaterialBudgetData.h:396
MaterialBudgetData::theEpoxyFractionIL
float theEpoxyFractionIL
Definition: MaterialBudgetData.h:287
MaterialBudgetData::theEpoxyMB
float theEpoxyMB
Definition: MaterialBudgetData.h:267
MaterialBudgetData::theStepFinalEnergy
std::array< float, MAXNUMBERSTEPS > theStepFinalEnergy
Definition: MaterialBudgetData.h:388
MaterialBudgetData::theSiliconDmb
std::array< float, MAXNUMBERSTEPS > theSiliconDmb
Definition: MaterialBudgetData.h:329
MaterialBudgetData::theCopperDmb
std::array< float, MAXNUMBERSTEPS > theCopperDmb
Definition: MaterialBudgetData.h:322
MaterialBudgetData::theHGC_G10_FR4FractionIL
float theHGC_G10_FR4FractionIL
Definition: MaterialBudgetData.h:290
MaterialBudgetData::theTotalIL
float theTotalIL
Definition: MaterialBudgetData.h:274
MaterialBudgetData::dataStartTrack
void dataStartTrack(const G4Track *aTrack)
Definition: MaterialBudgetData.cc:22
MaterialBudgetData::theCablesDil
std::array< float, MAXNUMBERSTEPS > theCablesDil
Definition: MaterialBudgetData.h:336
MaterialBudgetData::theWCuDil
std::array< float, MAXNUMBERSTEPS > theWCuDil
Definition: MaterialBudgetData.h:350
MaterialBudgetData::theElectronicsIL
float theElectronicsIL
Definition: MaterialBudgetData.h:279
MaterialBudgetData::theVolumeCopy
std::array< int, MAXNUMBERSTEPS > theVolumeCopy
Definition: MaterialBudgetData.h:354
MaterialBudgetData::theVolumeName
std::array< std::string, MAXNUMBERSTEPS > theVolumeName
Definition: MaterialBudgetData.h:353
MaterialBudgetData::theStepInitialPhi
std::array< float, MAXNUMBERSTEPS > theStepInitialPhi
Definition: MaterialBudgetData.h:377
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
MaterialBudgetData::theCopperIL
float theCopperIL
Definition: MaterialBudgetData.h:294
MaterialBudgetData::theSiliconFractionMB
float theSiliconFractionMB
Definition: MaterialBudgetData.h:261
MaterialBudgetData::theInitialX
std::array< double, MAXNUMBERSTEPS > theInitialX
Definition: MaterialBudgetData.h:306
MaterialBudgetData::theID
int theID
Definition: MaterialBudgetData.h:228
MaterialBudgetData::theCoolingFractionIL
float theCoolingFractionIL
Definition: MaterialBudgetData.h:241
MaterialBudgetData::theCoolingFractionMB
float theCoolingFractionMB
Definition: MaterialBudgetData.h:234
MaterialBudgetData::theH_ScintillatorDmb
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDmb
Definition: MaterialBudgetData.h:323
MaterialBudgetData::theStepInitialGamma
std::array< float, MAXNUMBERSTEPS > theStepInitialGamma
Definition: MaterialBudgetData.h:383
MaterialBudgetData::theHGC_G10_FR4IL
float theHGC_G10_FR4IL
Definition: MaterialBudgetData.h:300
MaterialBudgetData::theElectronicsDil
std::array< float, MAXNUMBERSTEPS > theElectronicsDil
Definition: MaterialBudgetData.h:338
MaterialBudgetData::theAirDil
std::array< float, MAXNUMBERSTEPS > theAirDil
Definition: MaterialBudgetData.h:340
MaterialBudgetData::theElectronicsDmb
std::array< float, MAXNUMBERSTEPS > theElectronicsDmb
Definition: MaterialBudgetData.h:319
MaterialBudgetData::theH_ScintillatorDil
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDil
Definition: MaterialBudgetData.h:342
MaterialBudgetData::theSensitiveDmb
std::array< float, MAXNUMBERSTEPS > theSensitiveDmb
Definition: MaterialBudgetData.h:316
MaterialBudgetData::~MaterialBudgetData
~MaterialBudgetData()
MaterialBudgetData::theVolumeZ
std::array< float, MAXNUMBERSTEPS > theVolumeZ
Definition: MaterialBudgetData.h:357
MaterialBudgetData::theSiliconIL
float theSiliconIL
Definition: MaterialBudgetData.h:301
MaterialBudgetData::MaterialBudgetData
MaterialBudgetData()
Definition: MaterialBudgetData.cc:9
MaterialBudgetData::theMaterialX0
std::array< float, MAXNUMBERSTEPS > theMaterialX0
Definition: MaterialBudgetData.h:370
MaterialBudgetData::theCablesFractionMB
float theCablesFractionMB
Definition: MaterialBudgetData.h:233
MaterialBudgetData::theElectronicsFractionIL
float theElectronicsFractionIL
Definition: MaterialBudgetData.h:242
MaterialBudgetData::theVolumeXaxis2
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis2
Definition: MaterialBudgetData.h:359
MaterialBudgetData::theAirFractionIL
float theAirFractionIL
Definition: MaterialBudgetData.h:244
MaterialBudgetData::theAluminiumFractionIL
float theAluminiumFractionIL
Definition: MaterialBudgetData.h:289
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
MaterialBudgetData::theMaterialID
std::array< int, MAXNUMBERSTEPS > theMaterialID
Definition: MaterialBudgetData.h:368
MaterialBudgetData::theLeadMB
float theLeadMB
Definition: MaterialBudgetData.h:266
MaterialBudgetData::theIntLen
float theIntLen
Definition: MaterialBudgetData.h:407
MaterialBudgetData::thePVcopyNo
int thePVcopyNo
Definition: MaterialBudgetData.h:402
MaterialBudgetData::theAluminiumFractionMB
float theAluminiumFractionMB
Definition: MaterialBudgetData.h:259
MaterialBudgetData::theStainlessSteelFractionMB
float theStainlessSteelFractionMB
Definition: MaterialBudgetData.h:262
MaterialBudgetData::theStepFinalPt
std::array< float, MAXNUMBERSTEPS > theStepFinalPt
Definition: MaterialBudgetData.h:385
MaterialBudgetData::theStainlessSteelMB
float theStainlessSteelMB
Definition: MaterialBudgetData.h:272
MaterialBudgetData::theRadLen
float theRadLen
Definition: MaterialBudgetData.h:406
MaterialBudgetData::theElectronicsMB
float theElectronicsMB
Definition: MaterialBudgetData.h:249
MaterialBudgetData::theVolumeZaxis3
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis3
Definition: MaterialBudgetData.h:366
MaterialBudgetData::theKaptonIL
float theKaptonIL
Definition: MaterialBudgetData.h:298
MaterialBudgetData::theVolumeY
std::array< float, MAXNUMBERSTEPS > theVolumeY
Definition: MaterialBudgetData.h:356
createfilelist.int
int
Definition: createfilelist.py:10
MetAnalyzer.pv
def pv(vc)
Definition: MetAnalyzer.py:7
MaterialBudgetData::theStainlessSteelDmb
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDmb
Definition: MaterialBudgetData.h:330
MaterialBudgetData::theH_ScintillatorMB
float theH_ScintillatorMB
Definition: MaterialBudgetData.h:265
MaterialBudgetData::thePVname
std::string thePVname
Definition: MaterialBudgetData.h:400
MaterialBudgetData::theStepInitialPy
std::array< float, MAXNUMBERSTEPS > theStepInitialPy
Definition: MaterialBudgetData.h:380
MaterialBudgetData::theKaptonDil
std::array< float, MAXNUMBERSTEPS > theKaptonDil
Definition: MaterialBudgetData.h:345
MaterialBudgetData::theSupportDil
std::array< float, MAXNUMBERSTEPS > theSupportDil
Definition: MaterialBudgetData.h:334
MaterialBudgetData::MAXNUMBERSTEPS
static constexpr int MAXNUMBERSTEPS
Definition: MaterialBudgetData.h:221
MaterialBudgetData::theAirMB
float theAirMB
Definition: MaterialBudgetData.h:251
MaterialBudgetData::theHGC_G10_FR4Dmb
std::array< float, MAXNUMBERSTEPS > theHGC_G10_FR4Dmb
Definition: MaterialBudgetData.h:328
MaterialBudgetData::SetAllStepsToTree
void SetAllStepsToTree()
Definition: MaterialBudgetData.cc:20
MaterialBudgetData::theOtherFractionMB
float theOtherFractionMB
Definition: MaterialBudgetData.h:236
MaterialBudgetData::theEpoxyFractionMB
float theEpoxyFractionMB
Definition: MaterialBudgetData.h:257
MaterialBudgetData::theEpoxyDmb
std::array< float, MAXNUMBERSTEPS > theEpoxyDmb
Definition: MaterialBudgetData.h:325
MaterialBudgetData::theHGC_G10_FR4Dil
std::array< float, MAXNUMBERSTEPS > theHGC_G10_FR4Dil
Definition: MaterialBudgetData.h:347
MaterialBudgetData::theCopperFractionIL
float theCopperFractionIL
Definition: MaterialBudgetData.h:284
MaterialBudgetData::theVolumeZaxis1
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis1
Definition: MaterialBudgetData.h:364
MaterialBudgetData::theStepInitialPx
std::array< float, MAXNUMBERSTEPS > theStepInitialPx
Definition: MaterialBudgetData.h:379
MaterialBudgetData::theStepInitialPt
std::array< float, MAXNUMBERSTEPS > theStepInitialPt
Definition: MaterialBudgetData.h:375
MaterialBudgetData::theDil
std::array< float, MAXNUMBERSTEPS > theDil
Definition: MaterialBudgetData.h:333
MaterialBudgetData.h
MaterialBudgetData::theSupportMB
float theSupportMB
Definition: MaterialBudgetData.h:245
MaterialBudgetData::theKaptonFractionIL
float theKaptonFractionIL
Definition: MaterialBudgetData.h:288
MaterialBudgetData::theSupportDmb
std::array< float, MAXNUMBERSTEPS > theSupportDmb
Definition: MaterialBudgetData.h:315
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
MaterialBudgetData::theSupportIL
float theSupportIL
Definition: MaterialBudgetData.h:275
MaterialBudgetData::theCoolingDil
std::array< float, MAXNUMBERSTEPS > theCoolingDil
Definition: MaterialBudgetData.h:337
MaterialBudgetData::theStepFinalPx
std::array< float, MAXNUMBERSTEPS > theStepFinalPx
Definition: MaterialBudgetData.h:389
MaterialBudgetData::theLeadDil
std::array< float, MAXNUMBERSTEPS > theLeadDil
Definition: MaterialBudgetData.h:343
MaterialBudgetData::theEnergy
float theEnergy
Definition: MaterialBudgetData.h:229
MaterialBudgetData::theOtherMB
float theOtherMB
Definition: MaterialBudgetData.h:250
MaterialBudgetData::theWCuIL
float theWCuIL
Definition: MaterialBudgetData.h:303
MaterialBudgetData::isMtd
bool isMtd
Definition: MaterialBudgetData.h:411
MaterialBudgetData::theCablesMB
float theCablesMB
Definition: MaterialBudgetData.h:247
MaterialBudgetData::theStepFinalPhi
std::array< float, MAXNUMBERSTEPS > theStepFinalPhi
Definition: MaterialBudgetData.h:387
MaterialBudgetData::theWCuFractionIL
float theWCuFractionIL
Definition: MaterialBudgetData.h:293
MaterialBudgetData::theKaptonMB
float theKaptonMB
Definition: MaterialBudgetData.h:268
MaterialBudgetData::theStepInitialPz
std::array< float, MAXNUMBERSTEPS > theStepInitialPz
Definition: MaterialBudgetData.h:381
MaterialBudgetData::theStepFinalGamma
std::array< float, MAXNUMBERSTEPS > theStepFinalGamma
Definition: MaterialBudgetData.h:393
MaterialBudgetData::theLeadFractionIL
float theLeadFractionIL
Definition: MaterialBudgetData.h:286
MaterialBudgetData::theSiliconFractionIL
float theSiliconFractionIL
Definition: MaterialBudgetData.h:291
MaterialBudgetData::theInitialY
std::array< double, MAXNUMBERSTEPS > theInitialY
Definition: MaterialBudgetData.h:307
MaterialBudgetData::theStepFinalPz
std::array< float, MAXNUMBERSTEPS > theStepFinalPz
Definition: MaterialBudgetData.h:391
MaterialBudgetData::theVolumeXaxis3
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis3
Definition: MaterialBudgetData.h:360
MaterialBudgetData::theStepPreProcess
std::array< int, MAXNUMBERSTEPS > theStepPreProcess
Definition: MaterialBudgetData.h:395
MaterialBudgetData::theCopperMB
float theCopperMB
Definition: MaterialBudgetData.h:264
MaterialBudgetData::theFinalZ
std::array< double, MAXNUMBERSTEPS > theFinalZ
Definition: MaterialBudgetData.h:312
MaterialBudgetData::theHGC_G10_FR4FractionMB
float theHGC_G10_FR4FractionMB
Definition: MaterialBudgetData.h:260
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
MaterialBudgetData::theStainlessSteelDil
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDil
Definition: MaterialBudgetData.h:349
MaterialBudgetData::theMass
float theMass
Definition: MaterialBudgetData.h:230
MaterialBudgetData::theCablesIL
float theCablesIL
Definition: MaterialBudgetData.h:277
MaterialBudgetData::theFinalY
std::array< double, MAXNUMBERSTEPS > theFinalY
Definition: MaterialBudgetData.h:311
MaterialBudgetData::theEta
float theEta
Definition: MaterialBudgetData.h:224
MaterialBudgetData::theSiliconDil
std::array< float, MAXNUMBERSTEPS > theSiliconDil
Definition: MaterialBudgetData.h:348
MaterialBudgetData::theStepInitialEta
std::array< float, MAXNUMBERSTEPS > theStepInitialEta
Definition: MaterialBudgetData.h:376
MaterialBudgetData::theTrkLen
float theTrkLen
Definition: MaterialBudgetData.h:398
MaterialBudgetData::theStepFinalMass
std::array< float, MAXNUMBERSTEPS > theStepFinalMass
Definition: MaterialBudgetData.h:394
MaterialBudgetData::theWCuDmb
std::array< float, MAXNUMBERSTEPS > theWCuDmb
Definition: MaterialBudgetData.h:331
MaterialBudgetData::theFinalX
std::array< double, MAXNUMBERSTEPS > theFinalX
Definition: MaterialBudgetData.h:310
fastSimProducer_cff.density
density
Definition: fastSimProducer_cff.py:61
MaterialBudgetData::theH_ScintillatorFractionIL
float theH_ScintillatorFractionIL
Definition: MaterialBudgetData.h:285
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
MaterialBudgetData::theVolumeYaxis3
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis3
Definition: MaterialBudgetData.h:363
MaterialBudgetData::theElectronicsFractionMB
float theElectronicsFractionMB
Definition: MaterialBudgetData.h:235
MaterialBudgetData::theWCuMB
float theWCuMB
Definition: MaterialBudgetData.h:273