|
ATLAS Offline Software
|
#include <SpclMcValidationTool.h>
|
| SpclMcValidationTool (const std::string &type, const std::string &name, const IInterface *parent) |
| Constructor with parameters: More...
|
|
virtual | ~SpclMcValidationTool () |
| Destructor: More...
|
|
StatusCode | initialize () |
| Athena Algorithm's Hooks. More...
|
|
StatusCode | execute () |
|
StatusCode | finalize () |
|
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 | sysInitialize () override |
| Perform system initialization for an algorithm. 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 |
|
Definition at line 27 of file SpclMcValidationTool.h.
◆ McAodTool_t
◆ StoreGateSvc_t
◆ SpclMcValidationTool() [1/2]
SpclMcValidationTool::SpclMcValidationTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
Constructor with parameters:
Public methods:
Constructors
Definition at line 31 of file SpclMcValidationTool.cxx.
41 "Name of the reference McEventCollection" );
45 "Name of the 'to-be-validated' TruthParticleContainer" );
49 "Tool to write the TruthParticleContainer into a "
◆ ~SpclMcValidationTool()
SpclMcValidationTool::~SpclMcValidationTool |
( |
| ) |
|
|
virtual |
◆ SpclMcValidationTool() [2/2]
SpclMcValidationTool::SpclMcValidationTool |
( |
| ) |
|
|
protected |
◆ 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 TruthParticleValidationBaseTool::execute |
( |
| ) |
|
|
virtualinherited |
◆ executeTool() [1/2]
StatusCode SpclMcValidationTool::executeTool |
( |
| ) |
|
|
protectedvirtual |
Main method to perform the validation.
Just a wrapper around the more API-detailed method.
Implements TruthParticleValidationBaseTool.
Definition at line 82 of file SpclMcValidationTool.cxx.
87 nullptr == mcEvents ) {
90 return StatusCode::FAILURE;
99 nullptr == mcParts ) {
100 ATH_MSG_ERROR(
"Could not retrieve TruthParticleContainer at ["
102 return StatusCode::FAILURE;
◆ executeTool() [2/2]
Main method to perform the validation:
- check that each vertex is identical to the original one
Definition at line 112 of file SpclMcValidationTool.cxx.
115 if (
nullptr == mcEvents ) {
116 ATH_MSG_ERROR(
"NULL pointer to reference McEventCollection !!");
117 return StatusCode::FAILURE;
120 if (
nullptr == mcParts ) {
122 "TruthParticleContainer !!");
123 return StatusCode::FAILURE;
126 if ( mcEvents->empty() ) {
128 return mcParts->
empty() ? StatusCode::SUCCESS : StatusCode::FAILURE;
131 const HepMC::GenEvent * genEvt = (*mcEvents)[0];
132 if (
nullptr == genEvt ) {
134 return StatusCode::FAILURE;
137 int particles_size=genEvt->particles_size();
138 if (
static_cast<int>( mcParts->
size() ) != particles_size ) {
139 ATH_MSG_ERROR(
"TruthParticleContainer and McEventCollection don't have "\
140 "the same number of particles !!" <<
endmsg
141 <<
"\tTruthParticleContainer: " << mcParts->
size() <<
endmsg
142 <<
"\tHepMC::GenEvent: " << particles_size);
143 return StatusCode::FAILURE;
147 ATH_MSG_WARNING(
"Could NOT write out the TruthParticleContainer through the IIOMcAodTool !!");
155 auto hepMc =
mc->genParticle();
157 if ( hepMc->momentum() != HepMC::FourVector(
mc->hlv().x(),
mc->hlv().y(),
mc->hlv().z(),
mc->hlv().t()) ) {
158 ATH_MSG_ERROR(
"TruthParticle and GenParticle-link don't have same 4-mom !!");
159 return StatusCode::FAILURE;
164 if ( hepMc->momentum() != genPart->momentum() ) {
165 ATH_MSG_ERROR(
"GenParticle-link and GenParticle from McEvtColl "\
166 "don't have same 4-mom !!");
167 return StatusCode::FAILURE;
172 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
◆ finalize()
StatusCode TruthParticleValidationBaseTool::finalize |
( |
| ) |
|
|
virtualinherited |
◆ finalizeTool()
StatusCode SpclMcValidationTool::finalizeTool |
( |
| ) |
|
|
protectedvirtual |
◆ initialize()
StatusCode TruthParticleValidationBaseTool::initialize |
( |
| ) |
|
|
virtualinherited |
◆ initializeTool()
StatusCode SpclMcValidationTool::initializeTool |
( |
| ) |
|
|
protectedvirtual |
◆ 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.
◆ interfaceID()
const InterfaceID & ITruthParticleValidationTool::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ 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()
◆ setupMcAodWriterTool()
StatusCode SpclMcValidationTool::setupMcAodWriterTool |
( |
| ) |
|
|
protected |
◆ sysInitialize()
◆ 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_detStore
◆ m_evtStore
◆ m_mcAodWriterTool
◆ m_mcEventsName
StringProperty SpclMcValidationTool::m_mcEventsName |
|
protected |
◆ m_nAnalysedEvents
unsigned int TruthParticleValidationBaseTool::m_nAnalysedEvents |
|
protectedinherited |
◆ m_truthParticlesName
StringProperty SpclMcValidationTool::m_truthParticlesName |
|
protected |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
Const iterator class for DataVector/DataList.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
TruthParticleValidationBaseTool()
Default constructor:
virtual StatusCode finalizeTool()
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
#define ATH_MSG_VERBOSE(x)
virtual void setOwner(IDataHandleHolder *o)=0
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode executeTool()=0
Main method to perform the validation.
GenParticle * barcode_to_particle(const GenEvent *e, int id)
virtual StatusCode initializeTool()
I/O operators.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
unsigned int m_nAnalysedEvents
Counter of analysed events.
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
bool empty() const noexcept
Returns true if the collection is empty.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.