|
ATLAS Offline Software
|
#include <MuonPRDSelectionTool.h>
|
| MuonPRDSelectionTool (const std::string &type, const std::string &name, const IInterface *parent) |
| Default AlgTool functions. More...
|
|
virtual | ~MuonPRDSelectionTool ()=default |
|
StatusCode | initialize () |
|
bool | calibrateAndSelect (const MuonSystemExtension::Intersection &intersection, const MuonLayerPrepRawData &layerPrepRawData, MuonLayerROTs &layerROTs) const |
| IMuonPRDSelectionTool interface: calibrateAndSelect. More...
|
|
bool | calibrateAndSelectMdt (const MuonSystemExtension::Intersection &intersection, const MdtPrepDataCollection &prds, std::vector< const MdtDriftCircleOnTrack * > &rots) const |
| calibrate and select MDTs in a collection More...
|
|
template<class COL > |
bool | calibrateAndSelectCluster (const MuonSystemExtension::Intersection &intersection, const COL &prds, std::vector< const MuonClusterOnTrack * > &rots) const |
| calibrate and select clusters in a collection More...
|
|
const MdtDriftCircleOnTrack * | calibrateAndSelect (const MuonSystemExtension::Intersection &intersection, const MdtPrepData &mdt) const |
| IMuonPRDSelectionTool interface: calibrate and select single MDT. More...
|
|
const MuonClusterOnTrack * | calibrateAndSelect (const Trk::TrackParameters &pars, const MuonCluster &clus) const |
| IMuonPRDSelectionTool interface: calibrate and select single cluster. More...
|
|
const MuonClusterOnTrack * | calibrateAndSelect (const MuonSystemExtension::Intersection &intersection, const MuonCluster &clus) const |
|
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 |
|
|
Amg::Vector3D | intersectMDT (const MdtPrepData &mdt, const Amg::Vector3D &position, const Amg::Vector3D &direction, bool usePlane) const |
| intersect MDT surface or tube plane More...
|
|
bool | calibrateAndSelectMdt (const MuonSystemExtension::Intersection &intersection, const MdtPrepDataCollection &prds, MuonLayerROTs &layerROTs) const |
| calibrate and select MDTs in a collection More...
|
|
template<class COL > |
bool | calibrateAndSelectCluster (const MuonSystemExtension::Intersection &intersection, const COL &prds, MuonLayerROTs &layerROTs) const |
| calibrate and select clusters in a collection More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
Definition at line 27 of file MuonPRDSelectionTool.h.
◆ StoreGateSvc_t
◆ MuonPRDSelectionTool()
Muon::MuonPRDSelectionTool::MuonPRDSelectionTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~MuonPRDSelectionTool()
virtual Muon::MuonPRDSelectionTool::~MuonPRDSelectionTool |
( |
| ) |
|
|
virtualdefault |
◆ calibrateAndSelect() [1/4]
◆ calibrateAndSelect() [2/4]
◆ calibrateAndSelect() [3/4]
IMuonPRDSelectionTool interface: calibrateAndSelect.
Implements Muon::IMuonPRDSelectionTool.
Definition at line 27 of file MuonPRDSelectionTool.cxx.
34 <<
" phi " <<
intersection.trackParameters->position().phi()
40 if( !layerPrepRawData.mdts.empty() )
msg(
MSG::DEBUG) <<
" MDTs " << layerPrepRawData.mdts.size();
41 if( !layerPrepRawData.rpcs.empty() )
msg(
MSG::DEBUG) <<
" RPCs " << layerPrepRawData.rpcs.size();
42 if( !layerPrepRawData.tgcs.empty() )
msg(
MSG::DEBUG) <<
" TGCs " << layerPrepRawData.tgcs.size();
43 if( !layerPrepRawData.cscs.empty() )
msg(
MSG::DEBUG) <<
" CSCs " << layerPrepRawData.cscs.size();
44 if( !layerPrepRawData.stgcs.empty() )
msg(
MSG::DEBUG) <<
" STGCs " << layerPrepRawData.stgcs.size();
45 if( !layerPrepRawData.mms.empty() )
msg(
MSG::DEBUG) <<
" MMs " << layerPrepRawData.mms.size();
50 for(
const auto *
col : layerPrepRawData.mdts ){
55 for(
const auto *
col : layerPrepRawData.rpcs ){
60 for(
const auto *
col : layerPrepRawData.tgcs ){
65 for(
const auto *
col : layerPrepRawData.stgcs ){
70 for(
const auto *
col : layerPrepRawData.mms ){
◆ calibrateAndSelect() [4/4]
◆ calibrateAndSelectCluster() [1/2]
calibrate and select clusters in a collection
Definition at line 80 of file MuonPRDSelectionTool.h.
81 std::vector<const MuonClusterOnTrack*> rots;
83 if( !rots.empty() ) layerROTs.addClusters(rots,
m_idHelperSvc->technologyIndex(rots.front()->identify()));
◆ calibrateAndSelectCluster() [2/2]
calibrate and select clusters in a collection
Definition at line 49 of file MuonPRDSelectionTool.h.
50 for(
typename COL::const_iterator
it = prds.begin();
it != prds.end();++
it ){
52 if( rot ) rots.push_back(rot);
◆ calibrateAndSelectMdt() [1/2]
calibrate and select MDTs in a collection
Definition at line 71 of file MuonPRDSelectionTool.h.
72 std::vector<const MdtDriftCircleOnTrack*> rots;
74 if( !rots.empty() ) layerROTs.addMdts(rots);
◆ calibrateAndSelectMdt() [2/2]
◆ 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]
◆ 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
◆ initialize()
StatusCode Muon::MuonPRDSelectionTool::initialize |
( |
| ) |
|
◆ 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 & Muon::IMuonPRDSelectionTool::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ intersectMDT()
intersect MDT surface or tube plane
Definition at line 170 of file MuonPRDSelectionTool.cxx.
186 double denom = direction.dot(planenormal);
187 double u = (planenormal.dot(planeposition - position))/
denom;
◆ 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()
◆ 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_clusterCreator
◆ m_detStore
◆ m_distanceToTubeCut
double Muon::MuonPRDSelectionTool::m_distanceToTubeCut |
|
private |
◆ m_evtStore
◆ m_idHelperSvc
◆ m_mdtCreator
◆ m_secondCoordinateCut
double Muon::MuonPRDSelectionTool::m_secondCoordinateCut |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
virtual Amg::Transform3D AmdbLRSToGlobalTransform() const
DataModel_detail::const_iterator< DataVector > const_iterator
Standard const_iterator.
Eigen::Matrix< double, 2, 1 > Vector2D
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
@ loc2
generic first and second local coordinate
#define ATH_MSG_VERBOSE(x)
std::vector< std::string > intersection(std::vector< std::string > &v1, std::vector< std::string > &v2)
@ u
Enums for curvilinear frames.
virtual void setOwner(IDataHandleHolder *o)=0
static const std::string & regionName(DetectorRegionIndex index)
convert DetectorRegionIndex into a string
double getActiveTubeLength(const int tubeLayer, const int tube) const
Eigen::Affine3d Transform3D
static const std::string & layerName(LayerIndex index)
convert LayerIndex into a string
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
const Amg::Vector3D globalPosition() const
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition of ATLAS Math & Geometry primitives (Amg)
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
virtual bool insideBounds(const Amg::Vector2D &locpos, double tol1=0., double tol2=0.) const =0
virtual methods to be overwritten by the inherited surfaces
Eigen::Matrix< double, 3, 1 > Vector3D
virtual bool globalToLocal(const Amg::Vector3D &glob, const Amg::Vector3D &mom, Amg::Vector2D &loc) const =0
Specified by each surface type: GlobalToLocal method without dynamic memory allocation - boolean chec...
std::optional< double > intersect(const AmgVector(N)&posA, const AmgVector(N)&dirA, const AmgVector(N)&posB, const AmgVector(N)&dirB)
Calculates the point B' along the line B that's closest to a second line A.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const =0
Specified by each surface type: LocalToGlobal method without dynamic memory allocation.