ATLAS Offline Software
StepHistogram.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "StepHistogram.h"
6 
7 #include "GaudiKernel/IDataProviderSvc.h"
8 #include "GaudiKernel/INTupleSvc.h"
9 #include "GaudiKernel/NTuple.h"
10 #include "GaudiKernel/SmartDataPtr.h"
11 #include "GaudiKernel/Bootstrap.h"
12 #include "GaudiKernel/ISvcLocator.h"
13 #include "GaudiKernel/IMessageSvc.h"
14 
16 
17 #include "G4Step.hh"
18 #include "G4StepPoint.hh"
19 #include "G4VProcess.hh"
20 
21 #include <cmath>
22 #include <iostream>
23 
24 namespace G4UA{
25 
27  AthMessaging(Gaudi::svcLocator()->service<IMessageSvc>("MessageSvc"),"StepHistogram"),
28  m_config(config),
29  m_initialKineticEnergyOfStep(),
30  m_initialVolume(),
31  m_initialMaterial(),
32  m_initialProcess()
33  {}
34 
35  void StepHistogram::UserSteppingAction(const G4Step * aStep){
36 
37  // track
38  G4Track *tr = aStep->GetTrack();
39 
40  // pre-step point
41  G4StepPoint *PreStepPoint = aStep->GetPreStepPoint();
42 
43  // post-step point
44  G4StepPoint *PostStepPoint = aStep->GetPostStepPoint();
45 
46  // pre-step kinetic energy
47  double stepKinetic = PreStepPoint->GetKineticEnergy();
48 
49  // post-step kinetic energy
50  double postStepKinetic = PostStepPoint->GetKineticEnergy();
51 
52  // pre-step position
53  const G4ThreeVector& myPos = PreStepPoint->GetPosition();
54 
55  // particle name
56  G4String particleName = "nucleus";
57  if (!(tr->GetDefinition()->GetParticleType() == "nucleus"))
58  particleName = G4DebuggingHelpers::ClassifyParticle(tr->GetParticleDefinition());
59 
60  // pre-step volume
61  G4String volumeName = PreStepPoint->GetPhysicalVolume()->GetName();
62  volumeName = G4DebuggingHelpers::ClassifyVolume(volumeName);
63 
64  // pre-step material
65  G4String materialName = PreStepPoint->GetMaterial()->GetName();
66  materialName = G4DebuggingHelpers::ClassifyMaterial(materialName);
67 
68  // process name (uses post-step point)
69  G4String processName = PostStepPoint->GetProcessDefinedStep() ?
70  PostStepPoint->GetProcessDefinedStep()->GetProcessName() : "Unknown";
71 
72  // secondaries
73  const std::vector<const G4Track*>* secondaries = aStep->GetSecondaryInCurrentStep();
74 
75  // 2D map
77  float DepositedE = aStep->GetTotalEnergyDeposit();
79  2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), 1.);
81  2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), 1.);
83  2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), 1.);
85  2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), DepositedE);
87  2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), DepositedE);
88  }
89 
90  // step length
92  1000, -12, 4, log10(aStep->GetStepLength()), 1.);
94  1000, -12, 4, log10(aStep->GetStepLength()), 1.);
96  1000, -12, 4, log10(aStep->GetStepLength()), 1.);
97 
98  // step pseudorapidity
100  200, -10, 10, myPos.eta(), 1.);
101  InitializeFillHistogram(m_report.histoMapMap_mat_stepPseudorapidity, "mat_stepPseudorapidity", particleName, materialName,
102  200, -10, 10, myPos.eta(), 1.);
104  200, -10, 10, myPos.eta(), 1.);
105 
106  // step kinetic energy
108  1000, -9, 7, log10(stepKinetic), 1.);
109  InitializeFillHistogram(m_report.histoMapMap_mat_stepKineticEnergy, "mat_stepKineticEnergy", particleName, materialName,
110  1000, -9, 7, log10(stepKinetic), 1.);
112  1000, -9, 7, log10(stepKinetic), 1.);
113  InitializeFillHistogram(m_report.histoMapMap_stepKinetic, "stepKineticEnergy", particleName, "AllATLAS",
114  1000, -9, 7, log10(stepKinetic), 1.);
115 
116  // post step kinetic energy
118  1000, -9, 7, log10(postStepKinetic), 1.);
119  InitializeFillHistogram(m_report.histoMapMap_mat_postStepKineticEnergy, "mat_postStepKineticEnergy", particleName, materialName,
120  1000, -9, 7, log10(postStepKinetic), 1.);
121  InitializeFillHistogram(m_report.histoMapMap_prc_postStepKineticEnergy, "prc_postStepKineticEnergy", particleName, processName,
122  1000, -9, 7, log10(postStepKinetic), 1.);
123  InitializeFillHistogram(m_report.histoMapMap_postStepKinetic, "postStepKineticEnergy", particleName, "AllATLAS",
124  1000, -9, 7, log10(postStepKinetic), 1.);
125 
126  // step energy deposit
128  1000, -11, 3, log10(aStep->GetTotalEnergyDeposit()), 1.);
129  InitializeFillHistogram(m_report.histoMapMap_mat_stepEnergyDeposit, "mat_stepEnergyDeposit", particleName, materialName,
130  1000, -11, 3, log10(aStep->GetTotalEnergyDeposit()), 1.);
132  1000, -11, 3, log10(aStep->GetTotalEnergyDeposit()), 1.);
133 
134  // step non-ionizing energy deposit
135  InitializeFillHistogram(m_report.histoMapMap_vol_stepEnergyNonIonDeposit, "vol_stepEnergyNonIonDeposit", particleName, volumeName,
136  1000, -11, 1, log10(aStep->GetNonIonizingEnergyDeposit()), 1.);
137  InitializeFillHistogram(m_report.histoMapMap_mat_stepEnergyNonIonDeposit, "mat_stepEnergyNonIonDeposit", particleName, materialName,
138  1000, -11, 1, log10(aStep->GetNonIonizingEnergyDeposit()), 1.);
139  InitializeFillHistogram(m_report.histoMapMap_prc_stepEnergyNonIonDeposit, "prc_stepEnergyNonIonDeposit", particleName, processName,
140  1000, -11, 1, log10(aStep->GetNonIonizingEnergyDeposit()), 1.);
141 
142  // secondary kinetic energy
143  for (const auto &track : *secondaries) {
144  G4String secondary_particleName = G4DebuggingHelpers::ClassifyParticle(track->GetParticleDefinition());
145  InitializeFillHistogram(m_report.histoMapMap_vol_stepSecondaryKinetic, "vol_stepSecondaryKinetic", secondary_particleName, volumeName,
146  1000, -7, 5, log10(track->GetKineticEnergy()), 1.);
147  InitializeFillHistogram(m_report.histoMapMap_mat_stepSecondaryKinetic, "mat_stepSecondaryKinetic", secondary_particleName, materialName,
148  1000, -7, 5, log10(track->GetKineticEnergy()), 1.);
149  InitializeFillHistogram(m_report.histoMapMap_prc_stepSecondaryKinetic, "prc_stepSecondaryKinetic", secondary_particleName, processName,
150  1000, -7, 5, log10(track->GetKineticEnergy()), 1.);
151  }
152 
153  // stop here if 'general' histograms not activated
154  // _______________________________________________
156  return;
157 
158  // first step (after initial step)
159  if (tr->GetCurrentStepNumber()==1) {
160  // initial kinetic energy
161  m_initialKineticEnergyOfStep = stepKinetic;
162 
163  // initial volume/material/processes
164  m_initialVolume = volumeName;
165  m_initialMaterial = materialName;
166  m_initialProcess = processName;
167 
168  // save track ID for checking if we later have the same track
169  m_trackID = tr->GetTrackID();
170 
171  // initial energy
173  1000, -9, 7, std::log10(m_initialKineticEnergyOfStep), 1.0);
175  1000, -9, 7, std::log10(m_initialKineticEnergyOfStep), 1.0);
177  1000, -9, 7, std::log10(m_initialKineticEnergyOfStep), 1.0);
179  1000, -9, 7, std::log10(m_initialKineticEnergyOfStep), 1.0);
180  }
181 
182  // last step
183  if ( tr->GetTrackStatus() == 2 ) {
184  // assert to check if we have the correct track
185  if (not (tr->GetTrackID() == m_trackID)) {
186  ATH_MSG_ERROR("Track ID changed between the assumed first step and the last.");
187  throw std::exception();
188  }
189  // number of steps
190  int nSteps = tr->GetCurrentStepNumber() + 1;
192  10000, 0.5, 10000.5, nSteps, 1.);
194  10000, 0.5, 10000.5, nSteps, 1.);
196  10000, 0.5, 10000.5, nSteps, 1.);
198  10000, 0.5, 10000.5, nSteps, 1.);
199  // number of steps vs initial energy
201  1000, -9, 7, std::log10(m_initialKineticEnergyOfStep), nSteps);
203  1000, -9, 7, std::log10(m_initialKineticEnergyOfStep), nSteps);
205  1000, -9, 7, std::log10(m_initialKineticEnergyOfStep), nSteps);
207  1000, -9, 7, std::log10(m_initialKineticEnergyOfStep), nSteps);
208  // track length vs initial energy
210  1000, -9, 7, log10(tr->GetTrackLength()), 1.);
212  1000, -9, 7, log10(tr->GetTrackLength()), 1.);
214  1000, -9, 7, log10(tr->GetTrackLength()), 1.);
216  1000, -9, 7, log10(tr->GetTrackLength()), 1.);
217  }
218  }
219 
221  const G4String& particleName, const G4String& vol,
222  int nbinsx, double xmin, double xmax,
223  int nbinsy, double ymin, double ymax,
224  double valuex, double valuey, double weight)
225  {
226  const auto& [pStringMapPair, inserted] = hMapMap.try_emplace(vol,HistoMap_t());
227  HistoMap_t &hMap = pStringMapPair->second;
228  if ( hMap.find(particleName) == hMap.end() ) {
229  // initialize histogram if not yet exist
230  std::ostringstream stringStream;
231  stringStream << vol << "_" << particleName << "_" << suffix;
232  hMap[particleName] = new TH2F(stringStream.str().c_str(), stringStream.str().c_str(), nbinsx, xmin, xmax, nbinsy, ymin, ymax);
233  }
234  ((TH2*)hMap[particleName])->Fill(valuex, valuey, weight);
235  }
236 
238  const G4String& particleName, const G4String& vol,
239  int nbins, double xmin, double xmax, double value, double weight)
240  {
241  const auto& [pStringMapPair, inserted] = hMapMap.try_emplace(vol,HistoMap_t());
242  HistoMap_t &hMap = pStringMapPair->second;
243  if ( hMap.find(particleName) == hMap.end() ) {
244  // initialize histogram if not yet exist
245  std::ostringstream stringStream;
246  stringStream << vol << "_" << particleName << "_" << suffix;
247  hMap[particleName] = new TH1F(stringStream.str().c_str(), stringStream.str().c_str(), nbins, xmin, xmax);
248  }
249  hMap[particleName]->Fill(value, weight);
250  }
251 
253  const G4String& particleName, const G4String& vol,
254  int nbins, double *edges, double value, double weight)
255  {
256  const auto& [pStringMapPair, inserted] = hMapMap.try_emplace(vol,HistoMap_t());
257  HistoMap_t &hMap = pStringMapPair->second;
258  if ( hMap.find(particleName) == hMap.end() ) {
259  // initialize histogram if not yet exist
260  std::ostringstream stringStream;
261  stringStream << vol << "_" << particleName << "_" << suffix;
262  hMap[particleName] = new TH1F(stringStream.str().c_str(), stringStream.str().c_str(), nbins, edges);
263  }
264  hMap[particleName]->Fill(value, weight);
265  }
266 
268  for (auto const& [g4String, histoMap] : refMap){
269  const auto& [pStringMapPair, inserted] = selfMap.try_emplace(g4String, histoMap);
270  if (not inserted){
271  HistoMap_t &target = pStringMapPair->second;
272  for (auto const& hm : histoMap){
273  if ( target.find(hm.first) == target.end() ) {
274  // histogram does not yet exist
275  target.emplace(hm.first, hm.second);
276  }
277  else {
278  // add histograms
279  target[hm.first]->Add(hm.second);
280  }
281  }
282  }
283  }
284  }
285 
287  mergeMaps(histoMapMap_vol_stepSize, rep.histoMapMap_vol_stepSize);
288  mergeMaps(histoMapMap_vol_stepKineticEnergy, rep.histoMapMap_vol_stepKineticEnergy);
289  mergeMaps(histoMapMap_vol_postStepKineticEnergy, rep.histoMapMap_vol_postStepKineticEnergy);
290  mergeMaps(histoMapMap_vol_stepPseudorapidity, rep.histoMapMap_vol_stepPseudorapidity);
291  mergeMaps(histoMapMap_vol_stepEnergyDeposit, rep.histoMapMap_vol_stepEnergyDeposit);
292  mergeMaps(histoMapMap_vol_stepEnergyNonIonDeposit, rep.histoMapMap_vol_stepEnergyNonIonDeposit);
293  mergeMaps(histoMapMap_vol_stepSecondaryKinetic, rep.histoMapMap_vol_stepSecondaryKinetic);
294 
295  mergeMaps(histoMapMap_mat_stepSize, rep.histoMapMap_mat_stepSize);
296  mergeMaps(histoMapMap_mat_stepKineticEnergy, rep.histoMapMap_mat_stepKineticEnergy);
297  mergeMaps(histoMapMap_mat_postStepKineticEnergy, rep.histoMapMap_mat_postStepKineticEnergy);
298  mergeMaps(histoMapMap_mat_stepPseudorapidity, rep.histoMapMap_mat_stepPseudorapidity);
299  mergeMaps(histoMapMap_mat_stepEnergyDeposit, rep.histoMapMap_mat_stepEnergyDeposit);
300  mergeMaps(histoMapMap_mat_stepEnergyNonIonDeposit, rep.histoMapMap_mat_stepEnergyNonIonDeposit);
301  mergeMaps(histoMapMap_mat_stepSecondaryKinetic, rep.histoMapMap_mat_stepSecondaryKinetic);
302 
303  mergeMaps(histoMapMap_prc_stepSize, rep.histoMapMap_prc_stepSize);
304  mergeMaps(histoMapMap_prc_stepKineticEnergy, rep.histoMapMap_prc_stepKineticEnergy);
305  mergeMaps(histoMapMap_prc_postStepKineticEnergy, rep.histoMapMap_prc_postStepKineticEnergy);
306  mergeMaps(histoMapMap_prc_stepPseudorapidity, rep.histoMapMap_prc_stepPseudorapidity);
307  mergeMaps(histoMapMap_prc_stepEnergyDeposit, rep.histoMapMap_prc_stepEnergyDeposit);
308  mergeMaps(histoMapMap_prc_stepEnergyNonIonDeposit, rep.histoMapMap_prc_stepEnergyNonIonDeposit);
309  mergeMaps(histoMapMap_prc_stepSecondaryKinetic, rep.histoMapMap_prc_stepSecondaryKinetic);
310 
311  mergeMaps(histoMapMap_numberOfSteps, rep.histoMapMap_numberOfSteps);
312  mergeMaps(histoMapMap_vol_numberOfSteps, rep.histoMapMap_vol_numberOfSteps);
313  mergeMaps(histoMapMap_mat_numberOfSteps, rep.histoMapMap_mat_numberOfSteps);
314  mergeMaps(histoMapMap_prc_numberOfSteps, rep.histoMapMap_prc_numberOfSteps);
315  mergeMaps(histoMapMap_numberOfStepsPerInitialE, rep.histoMapMap_numberOfStepsPerInitialE);
316  mergeMaps(histoMapMap_vol_numberOfStepsPerInitialE, rep.histoMapMap_vol_numberOfStepsPerInitialE);
317  mergeMaps(histoMapMap_mat_numberOfStepsPerInitialE, rep.histoMapMap_mat_numberOfStepsPerInitialE);
318  mergeMaps(histoMapMap_prc_numberOfStepsPerInitialE, rep.histoMapMap_prc_numberOfStepsPerInitialE);
319  mergeMaps(histoMapMap_trackLengthPerInitialE, rep.histoMapMap_trackLengthPerInitialE);
320  mergeMaps(histoMapMap_vol_trackLengthPerInitialE, rep.histoMapMap_vol_trackLengthPerInitialE);
321  mergeMaps(histoMapMap_mat_trackLengthPerInitialE, rep.histoMapMap_mat_trackLengthPerInitialE);
322  mergeMaps(histoMapMap_prc_trackLengthPerInitialE, rep.histoMapMap_prc_trackLengthPerInitialE);
323  mergeMaps(histoMapMap_InitialE, rep.histoMapMap_InitialE);
324  mergeMaps(histoMapMap_vol_InitialE, rep.histoMapMap_vol_InitialE);
325  mergeMaps(histoMapMap_mat_InitialE, rep.histoMapMap_mat_InitialE);
326  mergeMaps(histoMapMap_prc_InitialE, rep.histoMapMap_prc_InitialE);
327  mergeMaps(histoMapMap_stepKinetic, rep.histoMapMap_stepKinetic);
328  mergeMaps(histoMapMap_postStepKinetic, rep.histoMapMap_postStepKinetic);
329 
330  mergeMaps(histoMapMap2D_vol_RZ, rep.histoMapMap2D_vol_RZ);
331  mergeMaps(histoMapMap2D_mat_RZ, rep.histoMapMap2D_mat_RZ);
332  mergeMaps(histoMapMap2D_prc_RZ, rep.histoMapMap2D_prc_RZ);
333  mergeMaps(histoMapMap2D_vol_RZ_E, rep.histoMapMap2D_vol_RZ_E);
334  mergeMaps(histoMapMap2D_mat_RZ_E, rep.histoMapMap2D_mat_RZ_E);
335  }
336 
337 } // namespace G4UA
G4UA::StepHistogram::Report::histoMapMap_mat_stepSize
HistoMapMap_t histoMapMap_mat_stepSize
Definition: StepHistogram.h:58
G4UA::StepHistogram::Report::histoMapMap_mat_stepKineticEnergy
HistoMapMap_t histoMapMap_mat_stepKineticEnergy
Definition: StepHistogram.h:59
G4UA::StepHistogram::HistoMap_t
std::map< G4String, TH1 * > HistoMap_t
Definition: StepHistogram.h:38
G4UA::StepHistogram::Report
this holds all the data from individual threads that needs to be merged at EoR
Definition: StepHistogram.h:43
G4UA::StepHistogram::Report::histoMapMap_prc_numberOfStepsPerInitialE
HistoMapMap_t histoMapMap_prc_numberOfStepsPerInitialE
Definition: StepHistogram.h:79
ymin
double ymin
Definition: listroot.cxx:63
G4UA::StepHistogram::Report::histoMapMap_trackLengthPerInitialE
HistoMapMap_t histoMapMap_trackLengthPerInitialE
Definition: StepHistogram.h:86
G4UA::StepHistogram::Report::histoMapMap_prc_numberOfSteps
HistoMapMap_t histoMapMap_prc_numberOfSteps
Definition: StepHistogram.h:78
hotSpotInTAG.suffix
string suffix
Definition: hotSpotInTAG.py:186
G4DebuggingHelpers::ClassifyParticle
const G4String ClassifyParticle(const G4ParticleDefinition *def)
Definition: G4DebuggingHelper.cxx:24
G4UA::StepHistogram::m_initialMaterial
G4String m_initialMaterial
Definition: StepHistogram.h:141
G4DebuggingHelpers::ClassifyVolume
const G4String ClassifyVolume(const G4String &nom)
Definition: G4DebuggingHelper.cxx:74
G4UA::StepHistogram::UserSteppingAction
virtual void UserSteppingAction(const G4Step *) override
the hooks for G4 UA handling
Definition: StepHistogram.cxx:35
G4UA
for nSW
Definition: CalibrationDefaultProcessing.h:19
G4UA::StepHistogram::HistoMapMap_t
std::map< G4String, HistoMap_t > HistoMapMap_t
Definition: StepHistogram.h:39
G4UA::StepHistogram::m_config
Config m_config
configuration data
Definition: StepHistogram.h:122
G4UA::StepHistogram::Report::histoMapMap_mat_numberOfSteps
HistoMapMap_t histoMapMap_mat_numberOfSteps
Definition: StepHistogram.h:65
make_hlt_rep.rep
rep
Definition: make_hlt_rep.py:32
G4UA::StepHistogram::Report::histoMapMap_mat_stepEnergyDeposit
HistoMapMap_t histoMapMap_mat_stepEnergyDeposit
Definition: StepHistogram.h:62
G4UA::StepHistogram::Report::histoMapMap_stepKinetic
HistoMapMap_t histoMapMap_stepKinetic
Definition: StepHistogram.h:88
G4UA::StepHistogram::Config::do2DHistograms
bool do2DHistograms
Definition: StepHistogram.h:108
G4UA::StepHistogram::Report::merge
void merge(const Report &rep)
Definition: StepHistogram.cxx:286
ServiceAccessor.h
athena.value
value
Definition: athena.py:122
G4UA::StepHistogram::Report::histoMapMap_mat_numberOfStepsPerInitialE
HistoMapMap_t histoMapMap_mat_numberOfStepsPerInitialE
Definition: StepHistogram.h:66
G4UA::StepHistogram::Report::histoMapMap_vol_InitialE
HistoMapMap_t histoMapMap_vol_InitialE
Definition: StepHistogram.h:55
G4UA::StepHistogram::m_trackID
int m_trackID
Definition: StepHistogram.h:143
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
G4UA::StepHistogram::Report::histoMapMap_vol_postStepKineticEnergy
HistoMapMap_t histoMapMap_vol_postStepKineticEnergy
Definition: StepHistogram.h:47
G4UA::StepHistogram::StepHistogram
StepHistogram(const Config &)
ctor
Definition: StepHistogram.cxx:26
G4UA::StepHistogram::Report::histoMapMap_prc_trackLengthPerInitialE
HistoMapMap_t histoMapMap_prc_trackLengthPerInitialE
Definition: StepHistogram.h:80
G4UA::StepHistogram::Report::histoMapMap_vol_stepKineticEnergy
HistoMapMap_t histoMapMap_vol_stepKineticEnergy
Definition: StepHistogram.h:46
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
G4UA::StepHistogram::Report::histoMapMap_prc_stepEnergyDeposit
HistoMapMap_t histoMapMap_prc_stepEnergyDeposit
Definition: StepHistogram.h:75
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
G4UA::StepHistogram::Report::histoMapMap_vol_numberOfStepsPerInitialE
HistoMapMap_t histoMapMap_vol_numberOfStepsPerInitialE
Definition: StepHistogram.h:53
SCT_CalibAlgs::nbins
@ nbins
Definition: SCT_CalibNumbers.h:10
G4UA::StepHistogram::Report::histoMapMap_prc_postStepKineticEnergy
HistoMapMap_t histoMapMap_prc_postStepKineticEnergy
Definition: StepHistogram.h:73
G4UA::StepHistogram::Report::histoMapMap_vol_stepSecondaryKinetic
HistoMapMap_t histoMapMap_vol_stepSecondaryKinetic
Definition: StepHistogram.h:51
G4UA::StepHistogram::Report::histoMapMap_vol_stepEnergyDeposit
HistoMapMap_t histoMapMap_vol_stepEnergyDeposit
Definition: StepHistogram.h:49
G4StepHelper::particleName
std::string particleName(const G4Step *theStep)
TODO.
Definition: StepHelper.cxx:24
G4UA::StepHistogram::Report::histoMapMap_vol_stepPseudorapidity
HistoMapMap_t histoMapMap_vol_stepPseudorapidity
Definition: StepHistogram.h:48
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
G4UA::StepHistogram::Report::histoMapMap_mat_InitialE
HistoMapMap_t histoMapMap_mat_InitialE
Definition: StepHistogram.h:68
xmin
double xmin
Definition: listroot.cxx:60
calibdata.exception
exception
Definition: calibdata.py:496
G4UA::StepHistogram::Report::histoMapMap_mat_trackLengthPerInitialE
HistoMapMap_t histoMapMap_mat_trackLengthPerInitialE
Definition: StepHistogram.h:67
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
G4UA::StepHistogram::Report::histoMapMap_postStepKinetic
HistoMapMap_t histoMapMap_postStepKinetic
Definition: StepHistogram.h:89
checkCorrelInHIST.nSteps
int nSteps
Definition: checkCorrelInHIST.py:458
TH2
Definition: rootspy.cxx:373
G4UA::StepHistogram::Report::histoMapMap2D_mat_RZ
HistoMapMap_t histoMapMap2D_mat_RZ
Definition: StepHistogram.h:93
G4UA::StepHistogram::Report::histoMapMap_vol_trackLengthPerInitialE
HistoMapMap_t histoMapMap_vol_trackLengthPerInitialE
Definition: StepHistogram.h:54
G4UA::StepHistogram::Config
Definition: StepHistogram.h:107
G4UA::StepHistogram::Report::histoMapMap2D_mat_RZ_E
HistoMapMap_t histoMapMap2D_mat_RZ_E
Definition: StepHistogram.h:96
G4UA::StepHistogram::Report::histoMapMap_prc_stepSecondaryKinetic
HistoMapMap_t histoMapMap_prc_stepSecondaryKinetic
Definition: StepHistogram.h:77
G4UA::StepHistogram::Report::histoMapMap_vol_stepEnergyNonIonDeposit
HistoMapMap_t histoMapMap_vol_stepEnergyNonIonDeposit
Definition: StepHistogram.h:50
G4UA::StepHistogram::Report::histoMapMap_mat_stepPseudorapidity
HistoMapMap_t histoMapMap_mat_stepPseudorapidity
Definition: StepHistogram.h:61
G4UA::StepHistogram::Report::histoMapMap_prc_stepSize
HistoMapMap_t histoMapMap_prc_stepSize
Definition: StepHistogram.h:71
G4UA::StepHistogram::Report::histoMapMap_numberOfStepsPerInitialE
HistoMapMap_t histoMapMap_numberOfStepsPerInitialE
Definition: StepHistogram.h:85
G4UA::StepHistogram::Report::histoMapMap_prc_InitialE
HistoMapMap_t histoMapMap_prc_InitialE
Definition: StepHistogram.h:81
G4UA::StepHistogram::Report::mergeMaps
void mergeMaps(HistoMapMap_t &selfMap, const HistoMapMap_t &refMap)
Definition: StepHistogram.cxx:267
G4UA::StepHistogram::Report::histoMapMap_prc_stepKineticEnergy
HistoMapMap_t histoMapMap_prc_stepKineticEnergy
Definition: StepHistogram.h:72
G4UA::StepHistogram::Report::histoMapMap_vol_numberOfSteps
HistoMapMap_t histoMapMap_vol_numberOfSteps
Definition: StepHistogram.h:52
G4UA::StepHistogram::InitializeFillHistogram2D
void InitializeFillHistogram2D(HistoMapMap_t &hMapMap, const char *suffix, const G4String &pdgId, const G4String &vol, int nbinsx, double xmin, double xmax, int nbinsy, double ymin, double ymax, double valuex, double valuey, double weight)
Definition: StepHistogram.cxx:220
G4DebuggingHelpers::ClassifyMaterial
const G4String ClassifyMaterial(const G4String &nom)
Definition: G4DebuggingHelper.cxx:40
G4UA::StepHistogram::Config::doGeneralHistograms
bool doGeneralHistograms
Definition: StepHistogram.h:109
xmax
double xmax
Definition: listroot.cxx:61
Gaudi
=============================================================================
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:273
G4UA::StepHistogram::m_initialVolume
G4String m_initialVolume
Definition: StepHistogram.h:140
G4UA::StepHistogram::Report::histoMapMap_numberOfSteps
HistoMapMap_t histoMapMap_numberOfSteps
Definition: StepHistogram.h:84
G4UA::StepHistogram::Report::histoMapMap2D_vol_RZ_E
HistoMapMap_t histoMapMap2D_vol_RZ_E
Definition: StepHistogram.h:95
G4UA::StepHistogram::m_report
Report m_report
Definition: StepHistogram.h:119
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
G4UA::StepHistogram::Report::histoMapMap2D_prc_RZ
HistoMapMap_t histoMapMap2D_prc_RZ
Definition: StepHistogram.h:94
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
COOLRates.target
target
Definition: COOLRates.py:1106
StepHistogram.h
G4UA::StepHistogram::Report::histoMapMap_vol_stepSize
HistoMapMap_t histoMapMap_vol_stepSize
Definition: StepHistogram.h:45
G4UA::StepHistogram::InitializeFillHistogram
void InitializeFillHistogram(HistoMapMap_t &hMapMap, const char *suffix, const G4String &pdgId, const G4String &vol, int nbins, double xmin, double xmax, double value, double weight)
Definition: StepHistogram.cxx:237
G4UA::StepHistogram::Report::histoMapMap_InitialE
HistoMapMap_t histoMapMap_InitialE
Definition: StepHistogram.h:87
G4UA::StepHistogram::Report::histoMapMap2D_vol_RZ
HistoMapMap_t histoMapMap2D_vol_RZ
Definition: StepHistogram.h:92
G4UA::StepHistogram::m_initialKineticEnergyOfStep
float m_initialKineticEnergyOfStep
Definition: StepHistogram.h:139
G4UA::StepHistogram::Report::histoMapMap_mat_stepEnergyNonIonDeposit
HistoMapMap_t histoMapMap_mat_stepEnergyNonIonDeposit
Definition: StepHistogram.h:63
G4UA::StepHistogram::Report::histoMapMap_prc_stepEnergyNonIonDeposit
HistoMapMap_t histoMapMap_prc_stepEnergyNonIonDeposit
Definition: StepHistogram.h:76
ymax
double ymax
Definition: listroot.cxx:64
G4UA::StepHistogram::m_initialProcess
G4String m_initialProcess
Definition: StepHistogram.h:142
G4UA::StepHistogram::Report::histoMapMap_prc_stepPseudorapidity
HistoMapMap_t histoMapMap_prc_stepPseudorapidity
Definition: StepHistogram.h:74
G4UA::StepHistogram::Report::histoMapMap_mat_stepSecondaryKinetic
HistoMapMap_t histoMapMap_mat_stepSecondaryKinetic
Definition: StepHistogram.h:64
G4UA::StepHistogram::Report::histoMapMap_mat_postStepKineticEnergy
HistoMapMap_t histoMapMap_mat_postStepKineticEnergy
Definition: StepHistogram.h:60