ATLAS Offline Software
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
ISF::FastCaloSimV2Tool Class Reference

#include <FastCaloSimV2Tool.h>

Inheritance diagram for ISF::FastCaloSimV2Tool:
Collaboration diagram for ISF::FastCaloSimV2Tool:

Public Member Functions

 FastCaloSimV2Tool (const std::string &type, const std::string &name, const IInterface *parent)
 Constructor with parameters. More...
 
virtual ~FastCaloSimV2Tool ()=default
 Destructor. More...
 
virtual StatusCode initialize () override final
 Athena algorithm's interface methods. More...
 
virtual StatusCode simulate (ISFParticle &isp, ISFParticleContainer &, McEventCollection *mcEventCollection) override final
 Simulation Call. More...
 
virtual StatusCode setupEvent (const EventContext &) override final
 Setup Event chain - in case of a begin-of event action is needed. More...
 
virtual StatusCode setupEventST () override final
 Setup Event chain - in case of a begin-of event action is needed (called by ISimulationSvc) More...
 
virtual StatusCode releaseEvent (const EventContext &) override final
 Release Event chain - in case of an end-of event action is needed. More...
 
virtual StatusCode releaseEventST () override final
 Release Event chain - in case of an end-of event action is needed (called by ISimulationSvc) More...
 
virtual SimulationFlavor simFlavor () const override final
 
virtual StatusCode sysInitialize () override
 Gaudi sysInitialize() methods. More...
 
virtual StatusCode simulateVector (const ISFParticleVector &particles, ISFParticleContainer &secondaries, McEventCollection *mcEventCollection, McEventCollection *) override
 Simulation call for vectors of particles. More...
 
const ChronoEntity * chronoStart (const IChronoSvc::ChronoTag &tag)
 wrapper call to start chrono with given tag More...
 
const ChronoEntity * chronoStop (const IChronoSvc::ChronoTag &tag)
 wrapper call to stop chrono with given tag More...
 

Protected Attributes

std::string m_chronoSvcName {"ChronoStatSvc"}
 Name of the timing service - can be set by declareProperty() More...
 
IChronoStatSvc * m_chrono {}
 The timing service for general usage. More...
 

Private Member Functions

StatusCode commonSetup (const EventContext &ctx)
 

Private Attributes

ServiceHandle< IFastCaloSimParamSvcm_paramSvc {this, "ParamSvc", "ISF_FastCaloSimV2ParamSvc"}
 
bool m_doPunchThrough {true}
 
ToolHandle< IPunchThroughToolm_punchThroughTool {this, "PunchThroughTool", ""}
 
PublicToolHandleArray< ICaloCellMakerToolm_caloCellMakerToolsSetup {this, "CaloCellMakerTools_setup", {}, ""}
 
PublicToolHandleArray< ICaloCellMakerToolm_caloCellMakerToolsRelease {this, "CaloCellMakerTools_release", {}, ""}
 
PublicToolHandle< IFastCaloSimCaloExtrapolationm_FastCaloSimCaloExtrapolation {this, "FastCaloSimCaloExtrapolation", "", ""}
 
std::unique_ptr< CaloCellContainerm_theContainer {}
 
CaloCellContainerm_theContainerPtr {}
 
SG::WriteHandleKey< CaloCellContainerm_caloCellKey { this, "CaloCells", "DefaultCaloCellContainer", "The name of the output CaloCellContainer" }
 
ServiceHandle< IAthRNGSvcm_rndmGenSvc {this, "RandomSvc", "AthRNGSvc", ""}
 
Gaudi::Property< std::string > m_randomEngineName {this, "RandomStream", ""}
 
Gaudi::Property< std::string > m_caloCellsOutputName {this, "CaloCellsOutputName", "AllCalo"}
 
ServiceHandle< ISF::ITruthSvcm_truthRecordSvc {this,"ParticleTruthSvc", "ISF_TruthRecordSvc", "ISF Particle Truth Svc"}
 

Detailed Description

Author
Elmar.Ritsch -at- cern.ch, Geraldine.Conti -at- cern.ch, Flavia.Dias -at- cern.ch

Definition at line 42 of file FastCaloSimV2Tool.h.

Constructor & Destructor Documentation

◆ FastCaloSimV2Tool()

ISF::FastCaloSimV2Tool::FastCaloSimV2Tool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Constructor with parameters.

Constructor.

Definition at line 46 of file FastCaloSimV2Tool.cxx.

48 {
49 }

◆ ~FastCaloSimV2Tool()

virtual ISF::FastCaloSimV2Tool::~FastCaloSimV2Tool ( )
virtualdefault

Destructor.

Member Function Documentation

◆ chronoStart()

const ChronoEntity* ISF::BaseSimulatorTool::chronoStart ( const IChronoSvc::ChronoTag &  tag)
inlineinherited

wrapper call to start chrono with given tag

Definition at line 100 of file BaseSimulatorTool.h.

100  {
101  if (m_chrono) return m_chrono->chronoStart( tag);
102  return nullptr;
103  }

◆ chronoStop()

const ChronoEntity* ISF::BaseSimulatorTool::chronoStop ( const IChronoSvc::ChronoTag &  tag)
inlineinherited

wrapper call to stop chrono with given tag

Definition at line 106 of file BaseSimulatorTool.h.

106  {
107  if (m_chrono) return m_chrono->chronoStop( tag);
108  return nullptr;
109  }

◆ commonSetup()

StatusCode ISF::FastCaloSimV2Tool::commonSetup ( const EventContext &  ctx)
private

Definition at line 101 of file FastCaloSimV2Tool.cxx.

102 {
103  // Set the RNGs to use for this event. We need to reset it for MT jobs
104  // because of the mismatch between Gaudi slot-local and G4 thread-local RNG.
105  ATHRNG::RNGWrapper* rngWrapper = m_rndmGenSvc->getEngine(this, m_randomEngineName);
106  rngWrapper->setSeed( m_randomEngineName, ctx );
107 
108  for (const ToolHandle<ICaloCellMakerTool>& tool : m_caloCellMakerToolsSetup)
109  {
110  std::string chronoName=this->name()+"_"+ tool.name();
111  if (m_chrono) m_chrono->chronoStart(chronoName);
112  StatusCode sc = tool->process(m_theContainerPtr, ctx);
113  if (m_chrono) {
114  m_chrono->chronoStop(chronoName);
115  ATH_MSG_DEBUG( "Chrono stop : delta " << m_chrono->chronoDelta (chronoName,IChronoStatSvc::USER) * CLHEP::microsecond / CLHEP::second << " second " );
116  }
117 
118  if (sc.isFailure())
119  {
120  ATH_MSG_ERROR( "Error executing tool " << tool.name() );
121  return StatusCode::FAILURE;
122  }
123  }
124 
125  return StatusCode::SUCCESS;
126 }

◆ initialize()

StatusCode ISF::FastCaloSimV2Tool::initialize ( )
finaloverridevirtual

Athena algorithm's interface methods.

framework methods

Reimplemented from ISF::BaseSimulatorTool.

Definition at line 52 of file FastCaloSimV2Tool.cxx.

53 {
55 
57  ATH_MSG_DEBUG( "Successfully retrieve CaloCellMakerTools: " << m_caloCellMakerToolsSetup );
59 
60  ATH_CHECK(m_rndmGenSvc.retrieve());
61 
62  ATH_CHECK(m_paramSvc.retrieve());
63 
65  if (m_doPunchThrough) {
66  ATH_CHECK(m_punchThroughTool.retrieve());
67  }
68 
69  ATH_CHECK(m_truthRecordSvc.retrieve());
70 
71  // Get FastCaloSimCaloExtrapolation
73 
74  // Output data handle
76 
77  return StatusCode::SUCCESS;
78 }

◆ releaseEvent()

StatusCode ISF::FastCaloSimV2Tool::releaseEvent ( const EventContext &  ctx)
finaloverridevirtual

Release Event chain - in case of an end-of event action is needed.

Reimplemented from ISF::BaseSimulatorTool.

Definition at line 128 of file FastCaloSimV2Tool.cxx.

129 {
130  ATH_MSG_VERBOSE( "FastCaloSimV2Tool " << name() << " releaseEvent() " );
131  // Run the version of releaseEvent that returns the output collection
132  // Run the normal method
133  ATH_CHECK(this->releaseEventST());
134  if ( m_theContainer ) {
135 
136  // Record with WriteHandle
138  ATH_CHECK( caloCellHandle.record( std::move( m_theContainer ) ) );
139  return StatusCode::SUCCESS;
140  }
141  return StatusCode::FAILURE;
142 }

◆ releaseEventST()

StatusCode ISF::FastCaloSimV2Tool::releaseEventST ( )
finaloverridevirtual

Release Event chain - in case of an end-of event action is needed (called by ISimulationSvc)

Reimplemented from ISF::BaseSimulatorTool.

Definition at line 144 of file FastCaloSimV2Tool.cxx.

145 {
146  ATH_MSG_VERBOSE("release Event");
147  const EventContext& ctx = Gaudi::Hive::currentContext();
148 
149  //run release tools in a loop
150  for (const ToolHandle<ICaloCellMakerTool>& tool : m_caloCellMakerToolsRelease)
151  {
152  ATH_MSG_VERBOSE( "Calling tool " << tool.name() );
153 
154  ATH_CHECK(tool->process(m_theContainerPtr, ctx));
155  }
156 
157  return StatusCode::SUCCESS;
158 
159 }

◆ setupEvent()

StatusCode ISF::FastCaloSimV2Tool::setupEvent ( const EventContext &  ctx)
finaloverridevirtual

Setup Event chain - in case of a begin-of event action is needed.

Reimplemented from ISF::BaseSimulatorTool.

Definition at line 92 of file FastCaloSimV2Tool.cxx.

93 {
94  ATH_MSG_DEBUG ("setupEvent");
95 
96  m_theContainer = std::make_unique<CaloCellContainer>(SG::VIEW_ELEMENTS);
98  return this->commonSetup(ctx);
99 }

◆ setupEventST()

StatusCode ISF::FastCaloSimV2Tool::setupEventST ( )
finaloverridevirtual

Setup Event chain - in case of a begin-of event action is needed (called by ISimulationSvc)

Reimplemented from ISF::BaseSimulatorTool.

Definition at line 80 of file FastCaloSimV2Tool.cxx.

81 {
82  ATH_MSG_DEBUG ("setupEventST");
83 
84  m_theContainer = std::make_unique<CaloCellContainer>(SG::VIEW_ELEMENTS);
86  ATH_CHECK(evtStore()->record(std::move(m_theContainer), m_caloCellsOutputName));
87  // NB: m_theContainer is now nullptr
88  const EventContext& ctx = Gaudi::Hive::currentContext();
89  return this->commonSetup(ctx);
90 }

◆ simFlavor()

virtual SimulationFlavor ISF::FastCaloSimV2Tool::simFlavor ( ) const
inlinefinaloverridevirtual

Definition at line 68 of file FastCaloSimV2Tool.h.

68 { return ISF::FastCaloSimV2; };

◆ simulate()

StatusCode ISF::FastCaloSimV2Tool::simulate ( ISF::ISFParticle isfp,
ISFParticleContainer secondaries,
McEventCollection mcEventCollection 
)
finaloverridevirtual

Simulation Call.

for anti protons and anti neutrons the kinetic energy should be calculated as Ekin = E() + M() instead of E() - M() this is achieved by setting an Ekin offset of 2*M() to the truth state

Reimplemented from ISF::BaseSimulatorTool.

Definition at line 162 of file FastCaloSimV2Tool.cxx.

163 {
164 
165  ATH_MSG_VERBOSE("NEW PARTICLE! FastCaloSimV2Tool called with ISFParticle: " << isfp);
166 
167  Amg::Vector3D particle_position = isfp.position();
168  Amg::Vector3D particle_direction(isfp.momentum().x(),isfp.momentum().y(),isfp.momentum().z());
169 
170  ATHRNG::RNGWrapper* rngWrapper = m_rndmGenSvc->getEngine(this, m_randomEngineName); // TODO ideally would pass the event context to this method
171 
172  //Don't simulate particles with total energy below 10 MeV
173  if(isfp.ekin() < 10) {
174  ATH_MSG_VERBOSE("Skipping particle with Ekin: " << isfp.ekin() <<" MeV. Below the 10 MeV threshold.");
175  return StatusCode::SUCCESS;
176  }
177 
178  TFCSTruthState truth;
179  truth.SetPtEtaPhiM(particle_direction.perp(), particle_direction.eta(), particle_direction.phi(), isfp.mass());
180  truth.set_pdgid(isfp.pdgCode());
181  truth.set_vertex(particle_position[Amg::x], particle_position[Amg::y], particle_position[Amg::z]);
182 
186  if(isfp.pdgCode() == -2212 || isfp.pdgCode() == -2112) {
187  truth.set_Ekin_off(2*isfp.mass());
188  ATH_MSG_VERBOSE("Found anti-proton/neutron, setting Ekin offset in TFCSTruthState.");
189  }
190 
192  m_FastCaloSimCaloExtrapolation->extrapolate(extrapol, &truth);
193 
194  ATH_MSG_DEBUG(" particle: " << isfp.pdgCode() << " Ekin: " << isfp.ekin() << " position eta: " << particle_position.eta() << " direction eta: " << particle_direction.eta() << " position phi: " << particle_position.phi() << " direction phi: " << particle_direction.phi());
195 
196  //only simulate if extrapolation to calo surface succeeded
197  if(extrapol.IDCaloBoundary_eta() != -999){
198 
199  TFCSSimulationState simulstate(*rngWrapper);
200 
201  ATH_CHECK(m_paramSvc->simulate(simulstate, &truth, &extrapol));
202 
203  ATH_MSG_DEBUG("Energy returned: " << simulstate.E());
204  ATH_MSG_VERBOSE("Energy fraction for layer: ");
205  for (int s = 0; s < CaloCell_ID_FCS::MaxSample; s++)
206  ATH_MSG_VERBOSE(" Sampling " << s << " energy " << simulstate.E(s));
207 
208  //Now deposit all cell energies into the CaloCellContainer
209  for(const auto& iter : simulstate.cells()) {
210  CaloCell* theCell = (CaloCell*)m_theContainerPtr->findCell(iter.first->calo_hash());
211  theCell->addEnergy(iter.second);
212  }
213 
214  //now perform punch through
215  if (m_doPunchThrough) {
216  int process = 201;
217  // call punch-through simulation
218  const ISF::ISFParticleVector *someSecondaries = m_punchThroughTool->computePunchThroughParticles(isfp, simulstate, *rngWrapper);
219 
220  if (someSecondaries && !someSecondaries->empty()) {
221  //Record truth incident for created punch through particles
222  ISF::ISFTruthIncident truth( const_cast<ISF::ISFParticle&>(isfp),
223  *someSecondaries,
224  process,
225  isfp.nextGeoID(), // inherits from the parent
227 
228  m_truthRecordSvc->registerTruthIncident( truth, true );
229  // At this point we need to update the properties of the
230  // ISFParticles produced in the interaction
231  truth.updateChildParticleProperties();
232 
233  for (auto *secondary : *someSecondaries) {
234  if (secondary->getTruthBinding()) {
235  secondaries.push_back(secondary);
236  }
237  else {
238  ATH_MSG_WARNING("Secondary particle created by PunchThroughTool not written out to truth.\n Parent (" << isfp << ")\n Secondary (" << *secondary <<")");
239  delete secondary;
240  }
241  }
242  delete someSecondaries;
243  }
244  }
245  simulstate.DoAuxInfoCleanup();
246  }
247  else ATH_MSG_DEBUG("Skipping simulation as extrapolation to ID-Calo boundary failed.");
248 
249 
250  return StatusCode::SUCCESS;
251 
252 }

◆ simulateVector()

virtual StatusCode ISF::BaseSimulatorTool::simulateVector ( const ISFParticleVector particles,
ISFParticleContainer secondaries,
McEventCollection mcEventCollection,
McEventCollection  
)
inlineoverridevirtualinherited

Simulation call for vectors of particles.

Reimplemented in ISF::ActsFatrasSimTool, ISF::ParticleKillerSimTool, iGeant4::G4TransportTool, and iGeant4::G4LegacyTransportTool.

Definition at line 77 of file BaseSimulatorTool.h.

78  {
79  // this implementation is a wrapper in case the simulator does
80  // implement particle-vector input
81 
82  // simulate each particle individually
83  for (auto* cisp : particles) {
84  ATH_MSG_VERBOSE( "Starting simulation of particle: " << (*cisp) );
85  ATH_CHECK(this->simulate(*cisp, secondaries, mcEventCollection));
86  }
87  return StatusCode::SUCCESS;
88 
89  }

◆ sysInitialize()

virtual StatusCode ISF::BaseSimulatorTool::sysInitialize ( )
inlineoverridevirtualinherited

Gaudi sysInitialize() methods.

Definition at line 51 of file BaseSimulatorTool.h.

52  {
54  ATH_CHECK( serviceLocator()->service(m_chronoSvcName, m_chrono ) );
55  return StatusCode::SUCCESS;
56  }

Member Data Documentation

◆ m_caloCellKey

SG::WriteHandleKey< CaloCellContainer > ISF::FastCaloSimV2Tool::m_caloCellKey { this, "CaloCells", "DefaultCaloCellContainer", "The name of the output CaloCellContainer" }
private

Definition at line 82 of file FastCaloSimV2Tool.h.

◆ m_caloCellMakerToolsRelease

PublicToolHandleArray<ICaloCellMakerTool> ISF::FastCaloSimV2Tool::m_caloCellMakerToolsRelease {this, "CaloCellMakerTools_release", {}, ""}
private

Definition at line 76 of file FastCaloSimV2Tool.h.

◆ m_caloCellMakerToolsSetup

PublicToolHandleArray<ICaloCellMakerTool> ISF::FastCaloSimV2Tool::m_caloCellMakerToolsSetup {this, "CaloCellMakerTools_setup", {}, ""}
private

Definition at line 75 of file FastCaloSimV2Tool.h.

◆ m_caloCellsOutputName

Gaudi::Property<std::string> ISF::FastCaloSimV2Tool::m_caloCellsOutputName {this, "CaloCellsOutputName", "AllCalo"}
private

Definition at line 86 of file FastCaloSimV2Tool.h.

◆ m_chrono

IChronoStatSvc* ISF::BaseSimulatorTool::m_chrono {}
protectedinherited

The timing service for general usage.

Definition at line 120 of file BaseSimulatorTool.h.

◆ m_chronoSvcName

std::string ISF::BaseSimulatorTool::m_chronoSvcName {"ChronoStatSvc"}
protectedinherited

Name of the timing service - can be set by declareProperty()

Definition at line 117 of file BaseSimulatorTool.h.

◆ m_doPunchThrough

bool ISF::FastCaloSimV2Tool::m_doPunchThrough {true}
private

Definition at line 73 of file FastCaloSimV2Tool.h.

◆ m_FastCaloSimCaloExtrapolation

PublicToolHandle<IFastCaloSimCaloExtrapolation> ISF::FastCaloSimV2Tool::m_FastCaloSimCaloExtrapolation {this, "FastCaloSimCaloExtrapolation", "", ""}
private

Definition at line 78 of file FastCaloSimV2Tool.h.

◆ m_paramSvc

ServiceHandle<IFastCaloSimParamSvc> ISF::FastCaloSimV2Tool::m_paramSvc {this, "ParamSvc", "ISF_FastCaloSimV2ParamSvc"}
private

Definition at line 72 of file FastCaloSimV2Tool.h.

◆ m_punchThroughTool

ToolHandle< IPunchThroughTool > ISF::FastCaloSimV2Tool::m_punchThroughTool {this, "PunchThroughTool", ""}
private

Definition at line 74 of file FastCaloSimV2Tool.h.

◆ m_randomEngineName

Gaudi::Property<std::string> ISF::FastCaloSimV2Tool::m_randomEngineName {this, "RandomStream", ""}
private

Definition at line 85 of file FastCaloSimV2Tool.h.

◆ m_rndmGenSvc

ServiceHandle<IAthRNGSvc> ISF::FastCaloSimV2Tool::m_rndmGenSvc {this, "RandomSvc", "AthRNGSvc", ""}
private

Definition at line 84 of file FastCaloSimV2Tool.h.

◆ m_theContainer

std::unique_ptr<CaloCellContainer> ISF::FastCaloSimV2Tool::m_theContainer {}
private

Definition at line 80 of file FastCaloSimV2Tool.h.

◆ m_theContainerPtr

CaloCellContainer* ISF::FastCaloSimV2Tool::m_theContainerPtr {}
private

Definition at line 81 of file FastCaloSimV2Tool.h.

◆ m_truthRecordSvc

ServiceHandle<ISF::ITruthSvc> ISF::FastCaloSimV2Tool::m_truthRecordSvc {this,"ParticleTruthSvc", "ISF_TruthRecordSvc", "ISF Particle Truth Svc"}
private

Definition at line 87 of file FastCaloSimV2Tool.h.


The documentation for this class was generated from the following files:
ISF::ISFParticle::ekin
double ekin() const
Kinetic energy.
ATHRNG::RNGWrapper::setSeed
void setSeed(const std::string &algName, const EventContext &ctx)
Set the random seed using a string (e.g.
Definition: RNGWrapper.h:169
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
ISF::BaseSimulatorTool::m_chronoSvcName
std::string m_chronoSvcName
Name of the timing service - can be set by declareProperty()
Definition: BaseSimulatorTool.h:117
ISF::FastCaloSimV2Tool::m_FastCaloSimCaloExtrapolation
PublicToolHandle< IFastCaloSimCaloExtrapolation > m_FastCaloSimCaloExtrapolation
Definition: FastCaloSimV2Tool.h:78
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
ISF::FastCaloSimV2Tool::m_doPunchThrough
bool m_doPunchThrough
Definition: FastCaloSimV2Tool.h:73
ISF::FastCaloSimV2Tool::m_caloCellKey
SG::WriteHandleKey< CaloCellContainer > m_caloCellKey
Definition: FastCaloSimV2Tool.h:82
TFCSTruthState::set_Ekin_off
void set_Ekin_off(double val)
Definition: TFCSTruthState.h:23
SG::VIEW_ELEMENTS
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Definition: OwnershipPolicy.h:18
ISF::FastCaloSimV2Tool::commonSetup
StatusCode commonSetup(const EventContext &ctx)
Definition: FastCaloSimV2Tool.cxx:101
Amg::y
@ y
Definition: GeoPrimitives.h:35
ISF::ISFParticle
Definition: ISFParticle.h:42
ISF::FastCaloSimV2Tool::releaseEventST
virtual StatusCode releaseEventST() override final
Release Event chain - in case of an end-of event action is needed (called by ISimulationSvc)
Definition: FastCaloSimV2Tool.cxx:144
python.SystemOfUnits.microsecond
int microsecond
Definition: SystemOfUnits.py:122
ISF::BaseSimulatorTool::m_chrono
IChronoStatSvc * m_chrono
The timing service for general usage.
Definition: BaseSimulatorTool.h:120
ISF::ISFParticle::pdgCode
int pdgCode() const
PDG value.
TFCSExtrapolationState
Definition: TFCSExtrapolationState.h:13
ISF::FastCaloSimV2Tool::m_theContainerPtr
CaloCellContainer * m_theContainerPtr
Definition: FastCaloSimV2Tool.h:81
RunActsMaterialValidation.extrapol
extrapol
Definition: RunActsMaterialValidation.py:90
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
SUSY_SimplifiedModel_PostInclude.process
string process
Definition: SUSY_SimplifiedModel_PostInclude.py:42
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
ISF::ISFParticle::position
const Amg::Vector3D & position() const
The current position of the ISFParticle.
ISF::FastCaloSimV2
@ FastCaloSimV2
Definition: SimulationFlavor.h:25
Amg::z
@ z
Definition: GeoPrimitives.h:36
CaloCell_ID_FCS::MaxSample
@ MaxSample
Definition: FastCaloSim_CaloCell_ID.h:47
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ISF::ISFParticle::nextGeoID
AtlasDetDescr::AtlasRegion nextGeoID() const
next geoID the particle will be simulated in
ISF::ISFTruthIncident
Definition: ISFTruthIncident.h:35
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Amg::x
@ x
Definition: GeoPrimitives.h:34
ISF::ISFParticleVector
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.
Definition: ISFParticleContainer.h:26
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
ISF::FastCaloSimV2Tool::m_randomEngineName
Gaudi::Property< std::string > m_randomEngineName
Definition: FastCaloSimV2Tool.h:85
ISF::FastCaloSimV2Tool::m_truthRecordSvc
ServiceHandle< ISF::ITruthSvc > m_truthRecordSvc
Definition: FastCaloSimV2Tool.h:87
ISF::BaseSimulatorTool::BaseSimulatorTool
BaseSimulatorTool()
Default constructor.
CaloCellContainer::findCell
const CaloCell * findCell(const IdentifierHash theHash) const
fast find method given identifier hash.
Definition: CaloCellContainer.cxx:345
ISF::FastCaloSimV2Tool::m_caloCellMakerToolsSetup
PublicToolHandleArray< ICaloCellMakerTool > m_caloCellMakerToolsSetup
Definition: FastCaloSimV2Tool.h:75
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ATHRNG::RNGWrapper
A wrapper class for event-slot-local random engines.
Definition: RNGWrapper.h:56
ISF::ISFParticle::momentum
const Amg::Vector3D & momentum() const
The current momentum vector of the ISFParticle.
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:453
AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize
virtual StatusCode sysInitialize() override
Perform system initialization for an algorithm.
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
ISF::BaseSimulatorTool::initialize
virtual StatusCode initialize() override
Definition: BaseSimulatorTool.h:59
SG::WriteHandle< CaloCellContainer >
ISF::FastCaloSimV2Tool::m_caloCellsOutputName
Gaudi::Property< std::string > m_caloCellsOutputName
Definition: FastCaloSimV2Tool.h:86
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
ISF::FastCaloSimV2Tool::m_rndmGenSvc
ServiceHandle< IAthRNGSvc > m_rndmGenSvc
Definition: FastCaloSimV2Tool.h:84
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TFCSTruthState::set_vertex
void set_vertex(const TLorentzVector &val)
Definition: TFCSTruthState.h:19
LArG4FSStartPointFilter.particles
list particles
Definition: LArG4FSStartPointFilter.py:84
ISF::FastCaloSimV2Tool::m_paramSvc
ServiceHandle< IFastCaloSimParamSvc > m_paramSvc
Definition: FastCaloSimV2Tool.h:72
ISF::FastCaloSimV2Tool::m_punchThroughTool
ToolHandle< IPunchThroughTool > m_punchThroughTool
Definition: FastCaloSimV2Tool.h:74
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
CaloCell::addEnergy
virtual void addEnergy(float energy)
add energy
Definition: CaloCell.cxx:141
ISF::BaseSimulatorTool::simulate
virtual StatusCode simulate(ISFParticle &, ISFParticleContainer &, McEventCollection *) override
Definition: BaseSimulatorTool.h:73
TFCSTruthState
Definition: TFCSTruthState.h:13
TFCSSimulationState
Definition: TFCSSimulationState.h:32
ISF::FastCaloSimV2Tool::m_theContainer
std::unique_ptr< CaloCellContainer > m_theContainer
Definition: FastCaloSimV2Tool.h:80
ISF::FastCaloSimV2Tool::m_caloCellMakerToolsRelease
PublicToolHandleArray< ICaloCellMakerTool > m_caloCellMakerToolsRelease
Definition: FastCaloSimV2Tool.h:76
TFCSTruthState::set_pdgid
void set_pdgid(int val)
Definition: TFCSTruthState.h:18
ISF::fKillsPrimary
@ fKillsPrimary
Definition: ISFTruthIncident.h:25
ISF::ISFParticle::mass
double mass() const
mass of the particle