|
ATLAS Offline Software
|
Algorithm to create a D3PD tree.
More...
#include <MakerAlg.h>
|
| MakerAlg (const std::string &name, ISvcLocator *svcloc) |
| Standard Gaudi algorithm constructor. More...
|
|
virtual StatusCode | initialize () |
| Standard Gaudi initialize method. More...
|
|
virtual StatusCode | finalize () |
| Standard Gaudi finalize method. More...
|
|
virtual StatusCode | execute () |
| Standard Gaudi execute method. More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
Algorithm to create a D3PD tree.
This algorithm creates one D3PD tree. It's given a list of IObjFillerTool
instances to then run on each event. Most of the actual work is done by the separate D3PDSvc.
Properties: D3PDSvc - The D3PD creation service. Tools - List of IObjFillerTool instances to run. TuplePath - The name of the tuple. The interpretation of this depends on the D3PDSvc.
Definition at line 44 of file MakerAlg.h.
◆ StoreGateSvc_t
◆ MakerAlg()
D3PD::MakerAlg::MakerAlg |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
svcloc |
|
) |
| |
Standard Gaudi algorithm constructor.
- Parameters
-
name | The algorithm name. |
svcloc | The service locator. |
Definition at line 26 of file MakerAlg.cxx.
38 "The D3PD creation service.");
40 "List of IObjFillerTool instances to run.");
42 "List of IMetadataTool instances to run.");
44 "The name of the tuple. The interpretation of this "
45 "depends on the D3PDSvc.");
47 "Audit the tools using PerfMon?");
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode D3PD::MakerAlg::execute |
( |
| ) |
|
|
virtual |
Standard Gaudi execute
method.
Reimplemented from FilteredAlgorithm.
Definition at line 108 of file MakerAlg.cxx.
116 Gaudi::Guards::AuditorGuard auditor(
m_tools[
i ]->
name() +
117 ":book", auditorSvc(),
"evt" );
140 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ fillToolWithAuditor()
StatusCode D3PD::MakerAlg::fillToolWithAuditor |
( |
IObjFillerTool & |
tool | ) |
|
|
private |
Call fill() on a tool with an auditor.
This function is used to call fill()
on the object filler tools when PerfMon auditing is turned on.
- Parameters
-
tool | The tool to call the fill() function on |
- Returns
- The result of calling the
fill()
function
Definition at line 151 of file MakerAlg.cxx.
153 Gaudi::Guards::AuditorGuard auditor(
tool.name() +
154 ":fill", auditorSvc(),
"evt" );
◆ fillToolWithoutAuditor()
StatusCode D3PD::MakerAlg::fillToolWithoutAuditor |
( |
IObjFillerTool & |
tool | ) |
|
|
private |
Cakk fill on a tool without an auditor.
This function is used to call fill()
on the object filler tools when PerfMon auditing is turned off.
- Parameters
-
tool | The tool to call the fill() function on |
- Returns
- The result of calling the
fill()
function
Definition at line 166 of file MakerAlg.cxx.
◆ finalize()
StatusCode D3PD::MakerAlg::finalize |
( |
| ) |
|
|
virtual |
◆ initialize()
StatusCode D3PD::MakerAlg::initialize |
( |
| ) |
|
|
virtual |
Standard Gaudi initialize
method.
Reimplemented from FilteredAlgorithm.
Definition at line 54 of file MakerAlg.cxx.
68 Gaudi::Guards::AuditorGuard auditor(
m_tools[
i ]->
name() +
69 ":cfg", auditorSvc(),
"ini" );
87 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isEventAccepted()
bool FilteredAlgorithm::isEventAccepted |
( |
| ) |
const |
|
inherited |
Test whether this event should be output.
Definition at line 128 of file FilteredAlgorithm.cxx.
131 const EventContext& ctx = this->getContext();
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_acceptNames
StringArrayProperty FilteredAlgorithm::m_acceptNames |
|
protectedinherited |
Vector of names of Algorithms that this stream accepts.
Definition at line 38 of file FilteredAlgorithm.h.
◆ m_audit
bool D3PD::MakerAlg::m_audit |
|
private |
◆ m_booked
bool D3PD::MakerAlg::m_booked |
|
private |
Flag that we've called book().
Definition at line 96 of file MakerAlg.h.
◆ m_d3pd
ID3PD* D3PD::MakerAlg::m_d3pd |
|
private |
The created tuple. Note: we don't take ownership.
Definition at line 93 of file MakerAlg.h.
◆ m_d3pdSvc
◆ m_decSvc
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_fillFunction
StatusCode( D3PD::MakerAlg::* D3PD::MakerAlg::m_fillFunction) (IObjFillerTool &) |
|
private |
Pointer to the fill function to be used.
Definition at line 99 of file MakerAlg.h.
◆ m_metadataTools
◆ m_requireNames
StringArrayProperty FilteredAlgorithm::m_requireNames |
|
protectedinherited |
Vector of names of Algorithms that this stream requires.
Definition at line 40 of file FilteredAlgorithm.h.
◆ m_tools
◆ m_tuplePath
std::string D3PD::MakerAlg::m_tuplePath |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vetoNames
StringArrayProperty FilteredAlgorithm::m_vetoNames |
|
protectedinherited |
Vector of names of Algorithms that this stream is vetoed by.
Definition at line 42 of file FilteredAlgorithm.h.
◆ m_vhka
The documentation for this class was generated from the following files:
StatusCode fillToolWithoutAuditor(IObjFillerTool &tool)
Cakk fill on a tool without an auditor.
ToolHandleArray< IObjFillerTool > m_tools
Property: List of object filler tools to run.
ToolHandleArray< IMetadataTool > m_metadataTools
Property: List of metadata tools to run.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
std::string m_tuplePath
Property: The tuple name.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
virtual StatusCode finalize()
StatusCode(D3PD::MakerAlg::* m_fillFunction)(IObjFillerTool &)
Pointer to the fill function to be used.
virtual StatusCode initialize()
virtual void setOwner(IDataHandleHolder *o)=0
bool isEventAccepted() const
Test whether this event should be output.
StatusCode fillToolWithAuditor(IObjFillerTool &tool)
Call fill() on a tool with an auditor.
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
ID3PD * m_d3pd
The created tuple. Note: we don't take ownership.
::StatusCode StatusCode
StatusCode definition for legacy code.
#define CHECK(...)
Evaluate an expression and check for errors.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
bool m_booked
Flag that we've called book().
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ServiceHandle< ID3PDSvc > m_d3pdSvc
Property: The D3PD creation service.
virtual StatusCode capture()=0
Capture the current state of all variables and write to the tuple.
bool m_audit
Property: Audit the tools with PerfMon or not?
DataObjIDColl m_extendedExtraObjects
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
ServiceHandle< IDecisionSvc > m_decSvc
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual StatusCode clear()=0
Clear all the tuple variables.