CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
MaterialBudgetAction Class Reference

#include <MaterialBudgetAction.h>

Inheritance diagram for MaterialBudgetAction:
SimWatcher Observer< const BeginOfRun * > Observer< const BeginOfTrack * > Observer< const G4Step * > Observer< const EndOfTrack * > Observer< const EndOfRun * >

Public Member Functions

 MaterialBudgetAction (const edm::ParameterSet &)
 
 ~MaterialBudgetAction () override
 
- Public Member Functions inherited from SimWatcher
const SimWatcheroperator= (const SimWatcher &)=delete
 
 SimWatcher ()
 
 SimWatcher (const SimWatcher &)=delete
 
virtual ~SimWatcher ()
 
- Public Member Functions inherited from Observer< const BeginOfRun * >
 Observer ()
 
void slotForUpdate (const BeginOfRun * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const BeginOfTrack * >
 Observer ()
 
void slotForUpdate (const BeginOfTrack * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const G4Step * >
 Observer ()
 
void slotForUpdate (const G4Step * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfTrack * >
 Observer ()
 
void slotForUpdate (const EndOfTrack * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfRun * >
 Observer ()
 
void slotForUpdate (const EndOfRun * iT)
 
virtual ~Observer ()
 

Private Member Functions

bool CheckTouchableInSelectedVolumes (const G4VTouchable *touch)
 
std::string getPartName (G4StepPoint *aStepPoint)
 
std::string getSubDetectorName (G4StepPoint *aStepPoint)
 
 MaterialBudgetAction (const MaterialBudgetAction &)
 
const MaterialBudgetActionoperator= (const MaterialBudgetAction &)
 
void save (const G4Step *aStep)
 
bool StopAfterProcess (const G4Step *aStep)
 
void update (const BeginOfRun *) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const BeginOfTrack *) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const EndOfRun *) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const EndOfTrack *) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const G4Step *) override
 This routine will be called when the appropriate signal arrives. More...
 

Private Attributes

double Ekin
 
bool firstParticle
 
bool saveToHistos
 
bool saveToTree
 
bool saveToTxt
 
bool storeDecay
 
std::shared_ptr< MaterialBudgetDatatheData
 
std::string theHistoList
 
std::shared_ptr< TestHistoMgrtheHistoMgr
 
std::shared_ptr< MaterialBudgetFormattheHistos
 
G4String theProcessToStop
 
std::shared_ptr< MaterialBudgetTreetheTree
 
std::shared_ptr< MaterialBudgetTxttheTxt
 
std::vector< G4String > theVolumeList
 

Additional Inherited Members

Detailed Description

Definition at line 33 of file MaterialBudgetAction.h.

Constructor & Destructor Documentation

◆ MaterialBudgetAction() [1/2]

MaterialBudgetAction::MaterialBudgetAction ( const edm::ParameterSet iPSet)

Definition at line 32 of file MaterialBudgetAction.cc.

32  {
33  theData = std::make_shared<MaterialBudgetData>();
34 
35  edm::ParameterSet m_Anal = iPSet.getParameter<edm::ParameterSet>("MaterialBudgetAction");
36 
37  //---- Accumulate material budget only inside selected volumes
38  std::string theHistoList = m_Anal.getParameter<std::string>("HistogramList");
39  std::vector<std::string> volList = m_Anal.getParameter<std::vector<std::string> >("SelectedVolumes");
40 
41  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction: List of the selected volumes:";
42  for (const auto& it : volList) {
43  if (it != "None") {
44  theVolumeList.push_back(it);
45  edm::LogInfo("MaterialBudget") << it;
46  }
47  }
48 
49  // log
50  if (theHistoList == "Tracker") {
51  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction: running in Tracker Mode";
52  } else if (theHistoList == "ECAL") {
53  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction: running in Ecal Mode";
54  } else if (theHistoList == "Mtd") {
55  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction: running in Mtd Mode";
56  } else if (theHistoList == "HGCal") {
57  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction: running in HGCal Mode";
58  } else {
59  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction: running in General Mode";
60  }
61 
62  //---- Stop track when a process occurs
63  theProcessToStop = m_Anal.getParameter<std::string>("StopAfterProcess");
64  LogDebug("MaterialBudget") << "MaterialBudgetAction: stop at process " << theProcessToStop;
65 
66  //---- Save histos to ROOT file
67  std::string saveToHistosFile = m_Anal.getParameter<std::string>("HistosFile");
68  if (saveToHistosFile != "None") {
69  saveToHistos = true;
70  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction: saving histograms to " << saveToHistosFile;
71  theHistoMgr = std::make_shared<TestHistoMgr>();
72  if (theHistoList == "Tracker") {
73  theHistos = std::make_shared<MaterialBudgetTrackerHistos>(theData, theHistoMgr, saveToHistosFile);
74  } else if (theHistoList == "ECAL") {
75  theHistos = std::make_shared<MaterialBudgetEcalHistos>(theData, theHistoMgr, saveToHistosFile);
76  } else if (theHistoList == "Mtd") {
77  theHistos = std::make_shared<MaterialBudgetMtdHistos>(theData, theHistoMgr, saveToHistosFile);
78  theData->setMtdmode(true);
79  } else if (theHistoList == "HGCal") {
80  theHistos = std::make_shared<MaterialBudgetHGCalHistos>(theData,
82  saveToHistosFile,
83  m_Anal.getParameter<double>("minZ"),
84  m_Anal.getParameter<double>("maxZ"),
85  m_Anal.getParameter<int>("nintZ"),
86  m_Anal.getParameter<double>("rMin"),
87  m_Anal.getParameter<double>("rMax"),
88  m_Anal.getParameter<int>("nrbin"),
89  m_Anal.getParameter<double>("etaMin"),
90  m_Anal.getParameter<double>("etaMax"),
91  m_Anal.getParameter<int>("netabin"),
92  m_Anal.getParameter<double>("phiMin"),
93  m_Anal.getParameter<double>("phiMax"),
94  m_Anal.getParameter<int>("nphibin"),
95  m_Anal.getParameter<double>("RMin"),
96  m_Anal.getParameter<double>("RMax"),
97  m_Anal.getParameter<int>("nRbin"));
98  //In HGCal mode, so tell data class
99  theData->setHGCalmode(true);
100  } else {
101  theHistos = std::make_shared<MaterialBudgetHistos>(theData, theHistoMgr, saveToHistosFile);
102  }
103  } else {
104  edm::LogWarning("MaterialBudget") << "MaterialBudgetAction: No histograms file specified";
105  saveToHistos = false;
106  }
107 
108  //---- Save material budget info to TEXT file
109  std::string saveToTxtFile = m_Anal.getParameter<std::string>("TextFile");
110  if (saveToTxtFile != "None") {
111  saveToTxt = true;
112  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction: saving text info to " << saveToTxtFile;
113  theTxt = std::make_shared<MaterialBudgetTxt>(theData, saveToTxtFile);
114  } else {
115  saveToTxt = false;
116  }
117 
118  //---- Compute all the steps even if not stored on file
119  bool allSteps = m_Anal.getParameter<bool>("AllStepsToTree");
120  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction: all steps are computed " << allSteps;
121  if (allSteps)
122  theData->SetAllStepsToTree();
123 
124  //---- Save tree to ROOT file
125  std::string saveToTreeFile = m_Anal.getParameter<std::string>("TreeFile");
126  if (saveToTreeFile != "None") {
127  saveToTree = true;
128  theTree = std::make_shared<MaterialBudgetTree>(theData, saveToTreeFile);
129  } else {
130  saveToTree = false;
131  }
132  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction: saving ROOT TTree to " << saveToTreeFile;
133 
134  //---- Track the first decay products of the main particle
135  // if their kinetic energy is greater than Ekin
136  storeDecay = m_Anal.getUntrackedParameter<bool>("storeDecay", false);
137  Ekin = m_Anal.getUntrackedParameter<double>("EminDecayProd", 1000.0); // MeV
138  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction: decay products steps are stored (" << storeDecay
139  << ") if their kinetic energy is greater than " << Ekin << " MeV";
140  firstParticle = false;
141 }

References Ekin, firstParticle, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), LogDebug, saveToHistos, saveToTree, saveToTxt, storeDecay, AlCaHLTBitMon_QueryRunRegistry::string, theData, theHistoList, theHistoMgr, theHistos, theProcessToStop, theTree, theTxt, and theVolumeList.

◆ ~MaterialBudgetAction()

MaterialBudgetAction::~MaterialBudgetAction ( )
override

Definition at line 144 of file MaterialBudgetAction.cc.

144 {}

◆ MaterialBudgetAction() [2/2]

MaterialBudgetAction::MaterialBudgetAction ( const MaterialBudgetAction )
private

Member Function Documentation

◆ CheckTouchableInSelectedVolumes()

bool MaterialBudgetAction::CheckTouchableInSelectedVolumes ( const G4VTouchable *  touch)
private

Definition at line 324 of file MaterialBudgetAction.cc.

324  {
325  size_t volh = touch->GetHistoryDepth();
326  for (int ii = volh; ii >= 0; ii--) {
327  if (std::find(theVolumeList.begin(), theVolumeList.end(), touch->GetVolume(ii)->GetName()) != theVolumeList.end())
328  return true;
329  }
330  return false;
331 }

References spr::find(), cuy::ii, and theVolumeList.

Referenced by update().

◆ getPartName()

std::string MaterialBudgetAction::getPartName ( G4StepPoint *  aStepPoint)
private

Definition at line 284 of file MaterialBudgetAction.cc.

284  {
285  const G4TouchableHistory* theTouchable = (const G4TouchableHistory*)(aStepPoint->GetTouchable());
286  G4int num_levels = theTouchable->GetHistoryDepth();
287 
288  if (theTouchable->GetVolume()) {
289  return theTouchable->GetVolume(num_levels - 3)->GetName();
290  } else {
291  return "OutOfWorld";
292  }
293 }

◆ getSubDetectorName()

std::string MaterialBudgetAction::getSubDetectorName ( G4StepPoint *  aStepPoint)
private

Definition at line 272 of file MaterialBudgetAction.cc.

272  {
273  const G4TouchableHistory* theTouchable = (const G4TouchableHistory*)(aStepPoint->GetTouchable());
274  G4int num_levels = theTouchable->GetHistoryDepth();
275 
276  if (theTouchable->GetVolume()) {
277  return theTouchable->GetVolume(num_levels - 1)->GetName();
278  } else {
279  return "OutOfWorld";
280  }
281 }

◆ operator=()

const MaterialBudgetAction& MaterialBudgetAction::operator= ( const MaterialBudgetAction )
private

◆ save()

void MaterialBudgetAction::save ( const G4Step *  aStep)
private

◆ StopAfterProcess()

bool MaterialBudgetAction::StopAfterProcess ( const G4Step *  aStep)
private

Definition at line 334 of file MaterialBudgetAction.cc.

334  {
335  if (theProcessToStop.empty())
336  return false;
337 
338  if (aStep->GetPostStepPoint()->GetProcessDefinedStep() == nullptr)
339  return false;
340  if (aStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName() == theProcessToStop) {
341  edm::LogInfo("MaterialBudget") << "MaterialBudgetAction :"
342  << aStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
343  return true;
344  } else {
345  return false;
346  }
347 }

References theProcessToStop.

Referenced by update().

◆ update() [1/5]

void MaterialBudgetAction::update ( const BeginOfRun )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfRun * >.

Definition at line 147 of file MaterialBudgetAction.cc.

147  {
148  //----- Check that selected volumes are indeed part of the geometry
149  const G4LogicalVolumeStore* lvs = G4LogicalVolumeStore::GetInstance();
150 
151  for (const auto& volcite : theVolumeList) {
152  bool volFound = false;
153  for (const auto& lvcite : *lvs) {
154  if (lvcite->GetName() == volcite) {
155  volFound = true;
156  break;
157  }
158  }
159  if (!volFound) {
160  edm::LogWarning("MaterialBudget") << "MaterialBudgetAction: selected volume not found in geometry " << volcite;
161  }
162  }
163 
164  //----- Check process selected is one of the available ones
165  bool procFound = false;
166  if (theProcessToStop == "None") {
167  procFound = true;
168  } else {
169  G4ParticleTable* partTable = G4ParticleTable::GetParticleTable();
170  int siz = partTable->size();
171  for (int ii = 0; ii < siz; ii++) {
172  G4ParticleDefinition* particle = partTable->GetParticle(ii);
173 
174  //--- All processes of this particle
175  G4ProcessManager* pmanager = particle->GetProcessManager();
176  G4ProcessVector* pvect = pmanager->GetProcessList();
177  int sizproc = pvect->size();
178  for (int jj = 0; jj < sizproc; jj++) {
179  if ((*pvect)[jj]->GetProcessName() == theProcessToStop) {
180  procFound = true;
181  break;
182  }
183  }
184  }
185  }
186 
187  if (!procFound) {
188  edm::LogWarning("MaterialBudget") << "MaterialBudgetAction: selected process to stop tracking not found "
189  << theProcessToStop;
190  }
191 }

References cuy::ii, findQualityFiles::jj, theProcessToStop, and theVolumeList.

Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), and MatrixUtil.Steps::overwrite().

◆ update() [2/5]

void MaterialBudgetAction::update ( const BeginOfTrack )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfTrack * >.

Definition at line 194 of file MaterialBudgetAction.cc.

194  {
195  const G4Track* aTrack = (*trk)(); // recover G4 pointer if wanted
196 
197  // that was a temporary action while we're sorting out
198  // about # of secondaries (produced if CutsPerRegion=true)
199 
200  LogDebug("MaterialBudget") << "MaterialBudgetAction: Track ID " << aTrack->GetTrackID() << "Track parent ID "
201  << aTrack->GetParentID() << "PDG Id. = " << aTrack->GetDefinition()->GetPDGEncoding()
202  << "Ekin = " << aTrack->GetKineticEnergy() << " MeV";
203 
204  if (aTrack->GetCreatorProcess())
205  LogDebug("MaterialBudget") << "MaterialBudgetAction: produced through "
206  << aTrack->GetCreatorProcess()->GetProcessType();
207 
208  if (aTrack->GetTrackID() == 1) {
209  firstParticle = true;
210  } else {
211  firstParticle = false;
212  }
213 
214  if (storeDecay) { // if record of the decay is requested
215  if (aTrack->GetCreatorProcess()) {
216  if (aTrack->GetParentID() == 1 &&
217  // aTrack->GetCreatorProcess()->GetProcessType() == 6
218  // &&
219  aTrack->GetKineticEnergy() > Ekin) {
220  // continue
221  } else {
222  G4Track* aTracknc = const_cast<G4Track*>(aTrack);
223  aTracknc->SetTrackStatus(fStopAndKill);
224  return;
225  }
226  } // particles produced from a decay (type=6) of the main particle (ID=1) with Kinetic Energy [MeV] > Ekin
227  } else { // kill all the other particles (take only the main one until it disappears) if decay not stored
228  if (aTrack->GetParentID() != 0) {
229  G4Track* aTracknc = const_cast<G4Track*>(aTrack);
230  aTracknc->SetTrackStatus(fStopAndKill);
231  return;
232  }
233  }
234 
235  theData->dataStartTrack(aTrack);
236 
237  if (saveToTree)
238  theTree->fillStartTrack();
239  if (saveToHistos)
240  theHistos->fillStartTrack();
241  if (saveToTxt)
242  theTxt->fillStartTrack();
243 }

References Ekin, firstParticle, LogDebug, saveToHistos, saveToTree, saveToTxt, storeDecay, theData, theHistos, theTree, and theTxt.

Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), and MatrixUtil.Steps::overwrite().

◆ update() [3/5]

void MaterialBudgetAction::update ( const EndOfRun )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const EndOfRun * >.

Definition at line 309 of file MaterialBudgetAction.cc.

309  {
310  // endOfRun calls TestHistoMgr::save() allowing to write
311  // the ROOT files containing the histograms
312 
313  if (saveToHistos)
314  theHistos->endOfRun();
315  if (saveToTxt)
316  theHistos->endOfRun();
317  if (saveToTree)
318  theTree->endOfRun();
319 
320  return;
321 }

References saveToHistos, saveToTree, saveToTxt, theHistos, and theTree.

Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), and MatrixUtil.Steps::overwrite().

◆ update() [4/5]

void MaterialBudgetAction::update ( const EndOfTrack )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const EndOfTrack * >.

Definition at line 296 of file MaterialBudgetAction.cc.

296  {
297  const G4Track* aTrack = (*trk)(); // recover G4 pointer if wanted
298  theData->dataEndTrack(aTrack);
299 
300  if (saveToTree)
301  theTree->fillEndTrack();
302  if (saveToHistos)
303  theHistos->fillEndTrack();
304  if (saveToTxt)
305  theTxt->fillEndTrack();
306 }

References saveToHistos, saveToTree, saveToTxt, theData, theHistos, theTree, and theTxt.

Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), and MatrixUtil.Steps::overwrite().

◆ update() [5/5]

void MaterialBudgetAction::update ( const G4Step *  )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const G4Step * >.

Definition at line 246 of file MaterialBudgetAction.cc.

246  {
247  //----- Check it is inside one of the volumes selected
248  if (!theVolumeList.empty()) {
249  if (!CheckTouchableInSelectedVolumes(aStep->GetTrack()->GetTouchable()))
250  return;
251  }
252 
253  //---------- each step
254  theData->dataPerStep(aStep);
255  if (saveToTree)
256  theTree->fillPerStep();
257  if (saveToHistos)
258  theHistos->fillPerStep();
259  if (saveToTxt)
260  theTxt->fillPerStep();
261 
262  //----- Stop tracking after selected process
263  if (StopAfterProcess(aStep)) {
264  G4Track* track = aStep->GetTrack();
265  track->SetTrackStatus(fStopAndKill);
266  }
267 
268  return;
269 }

References CheckTouchableInSelectedVolumes(), saveToHistos, saveToTree, saveToTxt, StopAfterProcess(), theData, theHistos, theTree, theTxt, theVolumeList, and HLT_FULL_cff::track.

Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), and MatrixUtil.Steps::overwrite().

Member Data Documentation

◆ Ekin

double MaterialBudgetAction::Ekin
private

Definition at line 69 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction(), and update().

◆ firstParticle

bool MaterialBudgetAction::firstParticle
private

Definition at line 70 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction(), and update().

◆ saveToHistos

bool MaterialBudgetAction::saveToHistos
private

Definition at line 67 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction(), and update().

◆ saveToTree

bool MaterialBudgetAction::saveToTree
private

Definition at line 67 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction(), and update().

◆ saveToTxt

bool MaterialBudgetAction::saveToTxt
private

Definition at line 67 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction(), and update().

◆ storeDecay

bool MaterialBudgetAction::storeDecay
private

Definition at line 68 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction(), and update().

◆ theData

std::shared_ptr<MaterialBudgetData> MaterialBudgetAction::theData
private

Definition at line 61 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction(), and update().

◆ theHistoList

std::string MaterialBudgetAction::theHistoList
private

Definition at line 74 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction().

◆ theHistoMgr

std::shared_ptr<TestHistoMgr> MaterialBudgetAction::theHistoMgr
private

Definition at line 65 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction().

◆ theHistos

std::shared_ptr<MaterialBudgetFormat> MaterialBudgetAction::theHistos
private

Definition at line 63 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction(), and update().

◆ theProcessToStop

G4String MaterialBudgetAction::theProcessToStop
private

Definition at line 73 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction(), StopAfterProcess(), and update().

◆ theTree

std::shared_ptr<MaterialBudgetTree> MaterialBudgetAction::theTree
private

Definition at line 62 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction(), and update().

◆ theTxt

std::shared_ptr<MaterialBudgetTxt> MaterialBudgetAction::theTxt
private

Definition at line 64 of file MaterialBudgetAction.h.

Referenced by MaterialBudgetAction(), and update().

◆ theVolumeList

std::vector<G4String> MaterialBudgetAction::theVolumeList
private
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11713
MaterialBudgetAction::theHistos
std::shared_ptr< MaterialBudgetFormat > theHistos
Definition: MaterialBudgetAction.h:63
MaterialBudgetAction::saveToTxt
bool saveToTxt
Definition: MaterialBudgetAction.h:67
MaterialBudgetAction::CheckTouchableInSelectedVolumes
bool CheckTouchableInSelectedVolumes(const G4VTouchable *touch)
Definition: MaterialBudgetAction.cc:324
MaterialBudgetAction::theProcessToStop
G4String theProcessToStop
Definition: MaterialBudgetAction.h:73
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
MaterialBudgetAction::theHistoMgr
std::shared_ptr< TestHistoMgr > theHistoMgr
Definition: MaterialBudgetAction.h:65
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
MaterialBudgetAction::firstParticle
bool firstParticle
Definition: MaterialBudgetAction.h:70
MaterialBudgetAction::saveToTree
bool saveToTree
Definition: MaterialBudgetAction.h:67
MaterialBudgetAction::theData
std::shared_ptr< MaterialBudgetData > theData
Definition: MaterialBudgetAction.h:61
MaterialBudgetAction::theVolumeList
std::vector< G4String > theVolumeList
Definition: MaterialBudgetAction.h:72
MaterialBudgetAction::storeDecay
bool storeDecay
Definition: MaterialBudgetAction.h:68
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
MaterialBudgetAction::saveToHistos
bool saveToHistos
Definition: MaterialBudgetAction.h:67
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
edm::ParameterSet
Definition: ParameterSet.h:47
MaterialBudgetAction::theHistoList
std::string theHistoList
Definition: MaterialBudgetAction.h:74
MaterialBudgetAction::theTxt
std::shared_ptr< MaterialBudgetTxt > theTxt
Definition: MaterialBudgetAction.h:64
MaterialBudgetAction::theTree
std::shared_ptr< MaterialBudgetTree > theTree
Definition: MaterialBudgetAction.h:62
findQualityFiles.jj
string jj
Definition: findQualityFiles.py:188
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
MaterialBudgetAction::StopAfterProcess
bool StopAfterProcess(const G4Step *aStep)
Definition: MaterialBudgetAction.cc:334
cuy.ii
ii
Definition: cuy.py:590
MaterialBudgetAction::Ekin
double Ekin
Definition: MaterialBudgetAction.h:69