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