|
ATLAS Offline Software
|
#include <MuonPrdSelectorAlg.h>
|
| MuonPrdSelectorAlg (const std::string &name, ISvcLocator *pSvcLocator) |
| Athena algorithm constructor. More...
|
|
virtual StatusCode | initialize () |
| Algorithm initialization: retrieves StoreGate/DetectorStore/MuonIdHelpers/MuonPrepDataContainers. More...
|
|
virtual StatusCode | execute () |
| Retrieves and records containers, performs selection. 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 |
|
Definition at line 34 of file MuonPrdSelectorAlg.h.
◆ StoreGateSvc_t
◆ MuonPrdSelectorAlg()
MuonPrdSelectorAlg::MuonPrdSelectorAlg |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ 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 MuonPrdSelectorAlg::execute |
( |
| ) |
|
|
virtual |
Retrieves and records containers, performs selection.
Definition at line 78 of file MuonPrdSelectorAlg.cxx.
84 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();
◆ initialize()
StatusCode MuonPrdSelectorAlg::initialize |
( |
| ) |
|
|
virtual |
Algorithm initialization: retrieves StoreGate/DetectorStore/MuonIdHelpers/MuonPrepDataContainers.
Definition at line 30 of file MuonPrdSelectorAlg.cxx.
41 }
catch(
const std::bad_alloc&) {
42 ATH_MSG_FATAL(
"Could not create a new MDT PrepRawData container!" );
43 return StatusCode::FAILURE;
51 }
catch(
const std::bad_alloc&) {
52 ATH_MSG_FATAL(
"Could not create a new RPC PrepRawData container!" );
53 return StatusCode::FAILURE;
59 }
catch(
const std::bad_alloc&) {
60 ATH_MSG_FATAL(
"Could not create a new TGC PrepRawData container!" );
61 return StatusCode::FAILURE;
68 }
catch(
const std::bad_alloc&) {
69 ATH_MSG_FATAL(
"Could not create a new CSC PrepRawData container!" );
70 return StatusCode::FAILURE;
75 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.
◆ 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.
◆ performSelection()
StatusCode MuonPrdSelectorAlg::performSelection |
( |
| ) |
|
|
private |
checks if each hit in each collection passes a set of cuts these hits are written to new collections
Definition at line 151 of file MuonPrdSelectorAlg.cxx.
157 return StatusCode::SUCCESS;
◆ print()
void MuonPrdSelectorAlg::print |
( |
| ) |
|
|
private |
method for DEBUG purposes: prints the content of input and output MuonPrepDataContainer
Definition at line 379 of file MuonPrdSelectorAlg.cxx.
382 unsigned int i_coll(0);
383 for( ; mdtColl!=last_mdtColl ; ++mdtColl, ++i_coll ){
385 ATH_MSG_DEBUG(
"MDT IN Collection(" << std::setw(2) << i_coll <<
") : " <<
ID );
391 for( ; mdtColl!=last_mdtColl ; ++mdtColl, ++i_coll ){
393 ATH_MSG_DEBUG(
"MDT OUT Collection(" << std::setw(2) << i_coll <<
") : " <<
ID );
399 for( ; rpcColl!=last_rpcColl ; ++rpcColl, ++i_coll ){
401 ATH_MSG_DEBUG(
"RPC IN Collection(" << std::setw(2) << i_coll <<
") : " <<
ID );
407 for( ; rpcColl!=last_rpcColl ; ++rpcColl, ++i_coll ){
409 ATH_MSG_DEBUG(
"RPC OUT Collection(" << std::setw(2) << i_coll <<
") : " <<
ID );
416 for( ; tgcColl!=last_tgcColl ; ++tgcColl, ++i_coll ){
418 ATH_MSG_DEBUG(
"TGC IN Collection(" << std::setw(2) << i_coll <<
") : " <<
ID );
424 for( ; tgcColl!=last_tgcColl ; ++tgcColl, ++i_coll ){
426 ATH_MSG_DEBUG(
"TGC OUT Collection(" << std::setw(2) << i_coll <<
") : " <<
ID );
432 for( ; cscColl!=last_cscColl ; ++cscColl, ++i_coll ){
434 ATH_MSG_DEBUG(
"CSC IN Collection(" << std::setw(2) << i_coll <<
") : " <<
ID );
440 for( ; cscColl!=last_cscColl ; ++cscColl, ++i_coll ){
442 ATH_MSG_DEBUG(
"CSC OUT Collection(" << std::setw(2) << i_coll <<
") : " <<
ID );
449 for ( ; mdtCollection != lastColl ; ++mdtCollection ) {
450 ATH_MSG_DEBUG(
"DIRECTLY FROM COLL (" <<std::setw(2) << i_coll <<
") " << mdtCollection->identify() );
◆ recordContainers()
StatusCode MuonPrdSelectorAlg::recordContainers |
( |
| ) |
|
|
private |
◆ renounce()
◆ renounceArray()
◆ retrieveContainers()
StatusCode MuonPrdSelectorAlg::retrieveContainers |
( |
| ) |
|
|
private |
retrieves input MuonPrepDataContainers from StoreGate
Definition at line 87 of file MuonPrdSelectorAlg.cxx.
97 if(
sc.isFailure() ) {
106 if(
sc.isFailure() ) {
115 if(
sc.isFailure() ) {
124 if(
sc.isFailure() ) {
132 return StatusCode::SUCCESS;
◆ selectCSCs()
StatusCode MuonPrdSelectorAlg::selectCSCs |
( |
| ) |
|
|
private |
selects the hits from CSCcollections
Definition at line 325 of file MuonPrdSelectorAlg.cxx.
335 unsigned int i_cscColl(0);
338 for( ; cscColl!=last_cscColl ; ++cscColl, ++i_cscColl ){
343 (cscPrdColl)->setIdentifier(
ID);
349 for(; cscItr != cscEnd; ++cscItr,
i++ ) {
363 ATH_MSG_DEBUG(
"Adding New Collection to CSC list:" << newID );
365 ATH_MSG_ERROR(
"Couldn't record CSC Collection with hashID=" << hashID
366 <<
" in StoreGate!" );
371 <<
" in StoreGate!" );
◆ selectMDTs()
StatusCode MuonPrdSelectorAlg::selectMDTs |
( |
| ) |
|
|
private |
selects the hits from MDTcollections
Definition at line 161 of file MuonPrdSelectorAlg.cxx.
171 unsigned int i_mdtColl(0);
174 for( ; mdtColl!=last_mdtColl ; ++mdtColl, ++i_mdtColl ){
179 (driftCircleColl)->setIdentifier(
ID);
185 for(; mdtItr != mdtEnd; ++mdtItr,
i++ ) {
200 ATH_MSG_DEBUG(
"Adding New Collection to MDT list:" << newID );
202 ATH_MSG_ERROR(
"Couldn't record MDT Drift Circle Collection with hash=" << hashID
203 <<
" in StoreGate!" );
208 <<
" in StoreGate!" );
◆ selectRPCs()
StatusCode MuonPrdSelectorAlg::selectRPCs |
( |
| ) |
|
|
private |
selects the hits from RPCcollections
Definition at line 216 of file MuonPrdSelectorAlg.cxx.
226 unsigned int i_rpcColl(0);
229 for( ; rpcColl!=last_rpcColl ; ++rpcColl, ++i_rpcColl ){
234 (rpcPrdColl)->setIdentifier(
ID);
240 for(; rpcItr != rpcEnd; ++rpcItr,
i++ ) {
255 ATH_MSG_DEBUG(
"Adding New Collection to RPC list:" << newID );
257 ATH_MSG_ERROR(
"Couldn't record RPC Drift Circle Collection with hashID=" << hashID
258 <<
" in StoreGate!" );
263 <<
" in StoreGate!" );
◆ selectTGCs()
StatusCode MuonPrdSelectorAlg::selectTGCs |
( |
| ) |
|
|
private |
selects the hits from TGCcollections
Definition at line 271 of file MuonPrdSelectorAlg.cxx.
281 unsigned int i_tgcColl(0);
284 for( ; tgcColl!=last_tgcColl ; ++tgcColl, ++i_tgcColl ){
289 (tgcPrdColl)->setIdentifier(
ID);
295 for(; tgcItr != tgcEnd; ++tgcItr,
i++ ) {
310 ATH_MSG_DEBUG(
"Adding New Collection to TGC list:" << newID );
312 ATH_MSG_ERROR(
"Couldn't record TGC Drift Circle Collection with hashID=" << hashID
313 <<
" in StoreGate!" );
318 <<
" in StoreGate!" );
◆ 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_cscPRDs_in
◆ m_cscPRDs_out
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_idHelperSvc
◆ m_inputContainer_csc
std::string MuonPrdSelectorAlg::m_inputContainer_csc |
|
private |
◆ m_inputContainer_mdt
std::string MuonPrdSelectorAlg::m_inputContainer_mdt |
|
private |
◆ m_inputContainer_rpc
std::string MuonPrdSelectorAlg::m_inputContainer_rpc |
|
private |
◆ m_inputContainer_tgc
std::string MuonPrdSelectorAlg::m_inputContainer_tgc |
|
private |
◆ m_mdtPRDs_in
◆ m_mdtPRDs_out
◆ m_muonIdCutTool
◆ m_outputContainer_csc
std::string MuonPrdSelectorAlg::m_outputContainer_csc |
|
private |
◆ m_outputContainer_mdt
std::string MuonPrdSelectorAlg::m_outputContainer_mdt |
|
private |
◆ m_outputContainer_rpc
std::string MuonPrdSelectorAlg::m_outputContainer_rpc |
|
private |
◆ m_outputContainer_tgc
std::string MuonPrdSelectorAlg::m_outputContainer_tgc |
|
private |
◆ m_rpcPRDs_in
◆ m_rpcPRDs_out
◆ m_tgcPRDs_in
◆ m_tgcPRDs_out
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
StatusCode selectRPCs()
selects the hits from RPCcollections
const Identifier & identify(const UncalibratedMeasurement *meas)
Returns the associated identifier from the muon measurement.
StatusCode selectCSCs()
selects the hits from CSCcollections
Const iterator class for DataVector/DataList.
std::string m_outputContainer_mdt
StatusCode performSelection()
checks if each hit in each collection passes a set of cuts these hits are written to new collections
std::vector< Identifier > ID
virtual StatusCode addCollection(const T *coll, IdentifierHash hashId) override final
insert collection into container with id hash if IDC should not take ownership of collection,...
MuonPrepDataCollection< CscStripPrepData > CscStripPrepDataCollection
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
MuonPrepDataCollection< RpcPrepData > RpcPrepDataCollection
std::string m_inputContainer_tgc
MuonPrepDataCollection< MdtPrepData > MdtPrepDataCollection
MuonPrepDataContainerT< MdtPrepData > MdtPrepDataContainer
size_t size() const
Duplicate of fullSize for backwards compatability.
MuonPrepDataContainerT< TgcPrepData > TgcPrepDataContainer
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
StatusCode retrieveContainers()
retrieves input MuonPrepDataContainers from StoreGate
std::string m_inputContainer_rpc
virtual void setOwner(IDataHandleHolder *o)=0
Class representing the raw data of one CSC strip (for clusters look at Muon::CscPrepData).
std::string m_outputContainer_csc
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
ToolHandle< IMuonIdCutTool > m_muonIdCutTool
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
std::string m_inputContainer_mdt
Class to represent RPC measurements.
const Muon::CscStripPrepDataContainer * m_cscPRDs_in
const Muon::MdtPrepDataContainer * m_mdtPRDs_in
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode selectTGCs()
selects the hits from TGCcollections
std::string m_outputContainer_rpc
const_iterator end() const
return const_iterator for end of container
StatusCode selectMDTs()
selects the hits from MDTcollections
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
const_iterator begin() const
return const_iterator for first entry
MuonPrepDataContainerT< CscStripPrepData > CscStripPrepDataContainer
Template to hold collections of MuonPrepRawData objects.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
const Muon::RpcPrepDataContainer * m_rpcPRDs_in
Muon::MdtPrepDataContainer * m_mdtPRDs_out
value_type push_back(value_type pElem)
Add an element to the end of the collection.
Muon::CscStripPrepDataContainer * m_cscPRDs_out
Class to represent measurements from the Monitored Drift Tubes.
Muon::TgcPrepDataContainer * m_tgcPRDs_out
DataObjIDColl m_extendedExtraObjects
MuonPrepDataContainerT< RpcPrepData > RpcPrepDataContainer
Muon::RpcPrepDataContainer * m_rpcPRDs_out
#define ATH_MSG_WARNING(x)
Class to represent TGC measurements.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
std::string m_outputContainer_tgc
AthAlgorithm()
Default constructor:
StatusCode recordContainers()
records output MuonPrepDataContainers to StoreGate
MuonPrepDataCollection< TgcPrepData > TgcPrepDataCollection
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
std::string m_inputContainer_csc
virtual void cleanup() override final
reset m_hashids and call IdentifiableCache's cleanup
const Muon::TgcPrepDataContainer * m_tgcPRDs_in