|
ATLAS Offline Software
|
#include <SiTrackerSpacePointFinder.h>
|
struct | SPFCache |
| This is a temporary object to aid reentrant coding. More...
|
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) 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 | 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 |
|
|
| SiTrackerSpacePointFinder (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual | ~SiTrackerSpacePointFinder ()=default |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute (const EventContext &ctx) const override |
|
virtual StatusCode | finalize () override |
|
virtual bool | isClonable () const override |
| Make this algorithm clonable. 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...
|
|
|
| SiTrackerSpacePointFinder ()=delete |
|
| SiTrackerSpacePointFinder (const SiTrackerSpacePointFinder &)=delete |
|
SiTrackerSpacePointFinder & | operator= (const SiTrackerSpacePointFinder &)=delete |
|
|
void | addSCT_SpacePoints (const SCT_ClusterCollection *next, const SiElementPropertiesTable *properties, const InDetDD::SiDetectorElementCollection *elements, SpacePointCollection *spacepointCollection, SpacePointOverlapCollection *spacepointOverlapCollection, SPFCache &, DataPool< SCT_SpacePoint > *dataItemsSCT) const |
|
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
|
SG::ReadHandleKey< SCT_ClusterContainer > | m_Sct_clcontainerKey {this, "SCT_ClustersName", "SCT clContainer"} |
|
SG::ReadHandleKey< PixelClusterContainer > | m_Pixel_clcontainerKey {this, "PixelsClustersName", "PixelClusters", "Pixel clContainer"} |
|
|
SG::ReadCondHandleKey< InDet::BeamSpotData > | m_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" } |
| For beam spot. More...
|
|
SG::ReadCondHandleKey< InDet::SiElementPropertiesTable > | m_SCTPropertiesKey {this, "SCTPropertiesKey", "SCT_ElementPropertiesTable", "Key of input SiElementPropertiesTable for SCT"} |
| To get SCT neighbours. More...
|
|
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > | m_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"} |
| For SCT alignment. More...
|
|
|
SG::WriteHandleKey< SpacePointContainer > | m_SpacePointContainer_SCTKey {this, "SpacePointsSCTName", "SCT_SpacePoints", "SpacePoint SCT container"} |
|
SG::WriteHandleKey< SpacePointContainer > | m_SpacePointContainerPixelKey {this, "SpacePointsPixelName", "PixelSpacePoints", "SpacePoint Pixel container"} |
|
SG::WriteHandleKey< SpacePointOverlapCollection > | m_spacepointoverlapCollectionKey {this, "SpacePointsOverlapName", "OverlapSpacePoints", "Space Point Overlap collection"} |
|
|
SG::UpdateHandleKey< SpacePointCache > | m_SpacePointCache_SCTKey |
|
SG::UpdateHandleKey< SpacePointCache > | m_SpacePointCache_PixKey |
|
|
ToolHandle< SiSpacePointMakerTool > | m_SiSpacePointMakerTool {this, "SiSpacePointMakerTool", "InDet::SiSpacePointMakerTool"} |
|
ToolHandle< GenericMonitoringTool > | m_monTool {this, "monTool", "", "Monitoring tool"} |
|
|
const PixelID * | m_idHelperPixel {nullptr} |
|
const SCT_ID * | m_idHelper {nullptr} |
|
|
bool | m_selectPixels |
|
bool | m_selectSCTs |
|
bool | m_overlap |
| process all overlapping SCT pairs if true. More...
|
|
bool | m_allClusters |
| process all clusters without limits if true. More...
|
|
bool | m_cachemode {false} |
| used for online MT counters More...
|
|
Gaudi::Property< bool > | m_useDataPoolWithCache |
|
|
The following are ranges within which clusters must lie to make a spacepoint.
Opposite and eta neighbours clusters must lie within range of each other. Phi clusters must lie in region of each wafer separately.
|
float | m_overlapLimitOpposite |
| overlap limit for opposite-neighbours. More...
|
|
float | m_overlapLimitPhi |
| overlap limit for phi-neighbours. More...
|
|
float | m_overlapLimitEtaMin |
| low overlap limit for eta-neighbours. More...
|
|
float | m_overlapLimitEtaMax |
| high overlap limit for eta-neighbours. More...
|
|
|
bool | m_overrideBS |
|
float | m_xVertex |
|
float | m_yVertex |
|
float | m_zVertex |
|
|
Use mutable to be updated in const methods.
AthReentrantAlgorithm is const during event processing. Use std::atomic to be multi-thread safe.
|
std::atomic< int > | m_numberOfEvents {0} |
|
std::atomic< int > | m_numberOfPixel {0} |
|
std::atomic< int > | m_numberOfSCT {0} |
|
std::atomic< int > | m_sctCacheHits {0} |
|
std::atomic< int > | m_pixCacheHits {0} |
|
This version of PointFinder uses SiCluster to find space points in the pixel and SCT detectors. The algorithm retrieves all clusters from StoreGate using SG::ReadHandle(Key) and uses the begin-end iterators to iterate over the clusters. It then has to see whether the next cluster is a pixel or SCT cluster. Pixel space points are obtained directly from the clusters. To make SCT space points we also need the IdentifiableContainer for the SCT clusters, since we need random access to find overlapping detectors on the stereo layer. Space points are made by combining clusters from pairs of overlapping detectors. The user can choose just to process the phi wafer and its opposite on the stereo layer, or also to consider overlaps with the four nearest neighbours of the opposite wafer.
The space points are wrtten to Storegate as SpacePointContainer for Pixels and non-overlapping SCT space points and as SpacePointOverlapCollection for the overlapping ones.
Job Options: Process pixels: default true Process SCTs: default true Process overlaps: default true SCT IdentifiableContainer name: default "SCT_Clusters" SCT SpacePointSet name: default "SCT_SpacePoints"
Fatal Errors: neither pixels nor SCTs selected SCTs selected and no name for SCT Identifiable Collection No name for SpacePointSet Failure to retrieve event StoreGate failure.
Possible errors for which processing continues: No clusters found for event Implementation of SCT_Neighbours is SiElementPropertiesTable, is prepared by SiElementPropertiesTableCondAlg and is stored in StoreGate using SG::WriteCondHandle(Key).
Definition at line 83 of file SiTrackerSpacePointFinder.h.
◆ StoreGateSvc_t
◆ SiTrackerSpacePointFinder() [1/3]
InDet::SiTrackerSpacePointFinder::SiTrackerSpacePointFinder |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~SiTrackerSpacePointFinder()
virtual InDet::SiTrackerSpacePointFinder::~SiTrackerSpacePointFinder |
( |
| ) |
|
|
virtualdefault |
◆ SiTrackerSpacePointFinder() [2/3]
InDet::SiTrackerSpacePointFinder::SiTrackerSpacePointFinder |
( |
| ) |
|
|
privatedelete |
◆ SiTrackerSpacePointFinder() [3/3]
◆ addSCT_SpacePoints()
Definition at line 388 of file SiTrackerSpacePointFinder.cxx.
429 std::array<const SCT_ClusterCollection*, nNeighbours> neighbourClusters{};
430 std::array<const InDetDD::SiDetectorElement*, nNeighbours> neighbourElements{};
431 std::array<double, 14> overlapExtents{};
439 const std::vector<IdentifierHash>* others(
properties->neighbours(triggerIdHash));
440 if (others==
nullptr || others->empty() )
return;
443 neighbourElements[0] = triggerElement;
444 neighbourClusters[0] = sctClusters;
456 float hwidth(
properties->halfWidth(triggerIdHash));
469 for (
const auto& otherHash : *others) {
475 if(!otherElement || !otherClusters)
continue;
477 neighbourElements[neigbourIndices[
n]] = otherElement;
478 neighbourClusters[neigbourIndices[
n]] = otherClusters;
488 overlapExtents[ 6] =-hwidth;
491 overlapExtents[ 9] = hwidth;
496 overlapExtents[11] = hwidth;
497 overlapExtents[12] =-hwidth;
526 neighbourElements, neighbourClusters, overlapExtents,
m_allClusters,
527 r_cache.vertex, spacepointCollection, spacepointOverlapCollection,
◆ cardinality()
unsigned int AthReentrantAlgorithm::cardinality |
( |
| ) |
const |
|
overridevirtualinherited |
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 55 of file AthReentrantAlgorithm.cxx.
◆ 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);
◆ 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.
◆ 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.
◆ 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 InDet::SiTrackerSpacePointFinder::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
Definition at line 125 of file SiTrackerSpacePointFinder.cxx.
135 elements = sctDetEle.retrieve();
136 if (elements==
nullptr) {
138 return StatusCode::SUCCESS;
144 return StatusCode::SUCCESS;
147 SPFCache r_cache(ctx);
151 r_cache.vertex =
beamSpot->beamVtx().position();
158 std::unique_ptr<DataPool<PixelSpacePoint>> dataItemsPixel =
nullptr;
167 ATH_CHECK( spacePointContainerPixel.
record( std::make_unique<SpacePointContainer>(updateH.ptr()) ) );
171 if (!hasExternalCache) {
172 dataItemsPixel = std::make_unique<DataPool<PixelSpacePoint>>(ctx);
173 dataItemsPixel->reserve(5000);
175 dataItemsPixel = std::make_unique<DataPool<PixelSpacePoint>>(ctx);
181 std::unique_ptr<DataPool<SCT_SpacePoint>> dataItemsSCT =
nullptr;
190 ATH_CHECK( spacePointContainer_SCT.
record( std::make_unique<SpacePointContainer>(updateH.ptr()) ) );
194 if (!hasExternalCache) {
195 dataItemsSCT = std::make_unique<DataPool<SCT_SpacePoint>>(ctx);
196 dataItemsSCT->reserve(10000);
198 dataItemsSCT = std::make_unique<DataPool<SCT_SpacePoint>>(ctx);
206 ATH_CHECK( spacepointoverlapCollection.
record( std::make_unique<SpacePointOverlapCollection>() ) );
211 ATH_MSG_DEBUG(
"Container '" << spacepointoverlapCollection.
name() <<
"' initialised" );
214 int sctCacheCount = 0;
215 int pixCacheCount = 0;
220 if (!sct_clcontainer.isValid()){
221 msg(
MSG:: FATAL) <<
"Could not find the data object "<< sct_clcontainer.name() <<
" !" <<
endmsg;
222 return StatusCode::RECOVERABLE;
225 r_cache.SCTCContainer = sct_clcontainer.cptr();
227 ATH_MSG_DEBUG(
"SCT Cluster container found: " << sct_clcontainer->size() <<
" collections" );
233 SCT_ClusterContainer::const_iterator
it = sct_clcontainer->begin();
234 SCT_ClusterContainer::const_iterator itend = sct_clcontainer->end();
236 for (;
it != itend; ++
it){
243 ATH_MSG_DEBUG(
"SCT Hash " << idHash <<
" is already in cache");
249 auto spacepointCollection = std::make_unique<SpacePointCollection>(idHash);
250 spacepointCollection->setIdentifier(elementID);
256 if(!colNext->empty() && !elements->getDetectorElement(colNext->identifyHash())->isStereo()) {
258 colNext,
properties, elements, spacepointCollection.get(),
259 spacepointoverlapCollection.
ptr(), r_cache, dataItemsSCT.get());
264 size_t size = spacepointCollection->size();
266 ATH_MSG_VERBOSE(
"SiTrackerSpacePointFinder algorithm found no space points" );
272 return StatusCode::RECOVERABLE;
275 nReceivedSPsSCT +=
size;
285 if (!pixel_clcontainer.isValid()){
286 msg(
MSG:: FATAL) <<
"Could not find the data object "<< pixel_clcontainer.name() <<
" !" <<
endmsg;
287 return StatusCode::RECOVERABLE;
290 ATH_MSG_DEBUG(
"Data object " << pixel_clcontainer.name() <<
" found" );
293 PixelClusterContainer::const_iterator colNext = pixel_clcontainer->begin();
294 PixelClusterContainer::const_iterator lastCol = pixel_clcontainer->end();
298 for (; colNext != lastCol; ++colNext)
304 ATH_MSG_DEBUG(
"pixel Hash " << idHash <<
" is already in cache");
309 Identifier elementID = (*colNext)->identify();
310 auto spacepointCollection = std::make_unique< SpacePointCollection >(idHash);
311 spacepointCollection->setIdentifier(elementID);
317 if (!(*colNext)->empty())
320 *colNext, spacepointCollection.get(), dataItemsPixel.get());
324 size_t size = spacepointCollection->size();
327 ATH_MSG_DEBUG(
"SiTrackerSpacePointFinder algorithm found no space points" );
335 return StatusCode::RECOVERABLE;
338 <<
" SpacePoints successfully added to Container !" );
339 nReceivedSPsPIX +=
size;
348 if (spacepointoverlapCollection->
empty())
354 ATH_MSG_DEBUG( spacepointoverlapCollection->
size() <<
" overlap space points registered." );
364 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 & AthReentrantAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 79 of file AthReentrantAlgorithm.cxx.
86 return Algorithm::extraOutputDeps();
◆ filterPassed()
virtual bool AthReentrantAlgorithm::filterPassed |
( |
const EventContext & |
ctx | ) |
const |
|
inlinevirtualinherited |
◆ finalize()
StatusCode InDet::SiTrackerSpacePointFinder::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode InDet::SiTrackerSpacePointFinder::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 63 of file SiTrackerSpacePointFinder.cxx.
66 ATH_MSG_FATAL(
"SCTs selected and no name set for SCT clusters");
67 return StatusCode::FAILURE;
72 ATH_MSG_FATAL(
"Pixels selected and no name set for Pixel clusters");
73 return StatusCode::FAILURE;
79 return StatusCode::FAILURE;
85 return StatusCode::FAILURE;
91 return StatusCode::FAILURE;
117 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.
◆ isClonable()
virtual bool InDet::SiTrackerSpacePointFinder::isClonable |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ operator=()
◆ 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()
◆ setFilterPassed()
virtual void AthReentrantAlgorithm::setFilterPassed |
( |
bool |
state, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
inlinevirtualinherited |
◆ sysExecute()
StatusCode AthReentrantAlgorithm::sysExecute |
( |
const EventContext & |
ctx | ) |
|
|
overridevirtualinherited |
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 67 of file AthReentrantAlgorithm.cxx.
69 return Gaudi::Algorithm::sysExecute (ctx);
◆ sysInitialize()
StatusCode AthReentrantAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 96 of file AthReentrantAlgorithm.cxx.
105 if (
h->isCondition() &&
h->mode() == Gaudi::DataHandle::Writer) {
107 if (
cs.retrieve().isFailure() ) {
109 return StatusCode::SUCCESS;
111 if (
cs->regHandle(
this,*
h).isFailure()) {
112 sc = StatusCode::FAILURE;
113 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ 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_allClusters
bool InDet::SiTrackerSpacePointFinder::m_allClusters |
|
private |
◆ m_beamSpotKey
◆ m_cachemode
bool InDet::SiTrackerSpacePointFinder::m_cachemode {false} |
|
private |
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthReentrantAlgorithm::m_extendedExtraObjects |
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 153 of file AthReentrantAlgorithm.h.
◆ m_idHelper
const SCT_ID* InDet::SiTrackerSpacePointFinder::m_idHelper {nullptr} |
|
private |
◆ m_idHelperPixel
const PixelID* InDet::SiTrackerSpacePointFinder::m_idHelperPixel {nullptr} |
|
private |
◆ m_monTool
◆ m_numberOfEvents
std::atomic<int> InDet::SiTrackerSpacePointFinder::m_numberOfEvents {0} |
|
mutableprivate |
◆ m_numberOfPixel
std::atomic<int> InDet::SiTrackerSpacePointFinder::m_numberOfPixel {0} |
|
mutableprivate |
◆ m_numberOfSCT
std::atomic<int> InDet::SiTrackerSpacePointFinder::m_numberOfSCT {0} |
|
mutableprivate |
◆ m_overlap
bool InDet::SiTrackerSpacePointFinder::m_overlap |
|
private |
◆ m_overlapLimitEtaMax
float InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMax |
|
private |
◆ m_overlapLimitEtaMin
float InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMin |
|
private |
◆ m_overlapLimitOpposite
float InDet::SiTrackerSpacePointFinder::m_overlapLimitOpposite |
|
private |
◆ m_overlapLimitPhi
float InDet::SiTrackerSpacePointFinder::m_overlapLimitPhi |
|
private |
◆ m_overrideBS
bool InDet::SiTrackerSpacePointFinder::m_overrideBS |
|
private |
◆ m_pixCacheHits
std::atomic<int> InDet::SiTrackerSpacePointFinder::m_pixCacheHits {0} |
|
mutableprivate |
◆ m_Pixel_clcontainerKey
◆ m_Sct_clcontainerKey
◆ m_sctCacheHits
std::atomic<int> InDet::SiTrackerSpacePointFinder::m_sctCacheHits {0} |
|
mutableprivate |
◆ m_SCTDetEleCollKey
◆ m_SCTPropertiesKey
◆ m_selectPixels
bool InDet::SiTrackerSpacePointFinder::m_selectPixels |
|
private |
◆ m_selectSCTs
bool InDet::SiTrackerSpacePointFinder::m_selectSCTs |
|
private |
◆ m_SiSpacePointMakerTool
◆ m_SpacePointCache_PixKey
◆ m_SpacePointCache_SCTKey
◆ m_SpacePointContainer_SCTKey
◆ m_SpacePointContainerPixelKey
◆ m_spacepointoverlapCollectionKey
◆ m_useDataPoolWithCache
Gaudi::Property<bool> InDet::SiTrackerSpacePointFinder::m_useDataPoolWithCache |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_xVertex
float InDet::SiTrackerSpacePointFinder::m_xVertex |
|
private |
◆ m_yVertex
float InDet::SiTrackerSpacePointFinder::m_yVertex |
|
private |
◆ m_zVertex
float InDet::SiTrackerSpacePointFinder::m_zVertex |
|
private |
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
SG::ReadCondHandleKey< InDet::SiElementPropertiesTable > m_SCTPropertiesKey
To get SCT neighbours.
bool m_overlap
process all overlapping SCT pairs if true.
IDC_WriteHandle getWriteHandle(IdentifierHash hash)
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
bool m_cachemode
used for online MT counters
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
For beam spot.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const std::string & name() const
Return the StoreGate ID for the referenced object.
float m_overlapLimitPhi
overlap limit for phi-neighbours.
std::atomic< int > m_pixCacheHits
SG::ReadHandleKey< SCT_ClusterContainer > m_Sct_clcontainerKey
bool OnlineAndPresentInAnotherView()
This method is to avoid calling an expensive operation in the offline case.
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
const PixelID * m_idHelperPixel
ToolHandle< SiSpacePointMakerTool > m_SiSpacePointMakerTool
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
std::atomic< int > m_numberOfPixel
void search(TDirectory *td, const std::string &s, std::string cwd, node *n)
recursive directory search for TH1 and TH2 and TProfiles
SG::WriteHandleKey< SpacePointContainer > m_SpacePointContainer_SCTKey
SG::UpdateHandleKey< SpacePointCache > m_SpacePointCache_SCTKey
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
constexpr size_t nNeighbours
virtual bool hasExternalCache() const override final
SG::WriteHandleKey< SpacePointContainer > m_SpacePointContainerPixelKey
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
SG::WriteHandleKey< SpacePointOverlapCollection > m_spacepointoverlapCollectionKey
::StatusCode StatusCode
StatusCode definition for legacy code.
pointer_type ptr()
Dereference the pointer.
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
For SCT alignment.
std::atomic< int > m_sctCacheHits
#define CHECK(...)
Evaluate an expression and check for errors.
Gaudi::Property< bool > m_useDataPoolWithCache
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
bool m_allClusters
process all clusters without limits if true.
void addSCT_SpacePoints(const SCT_ClusterCollection *next, const SiElementPropertiesTable *properties, const InDetDD::SiDetectorElementCollection *elements, SpacePointCollection *spacepointCollection, SpacePointOverlapCollection *spacepointOverlapCollection, SPFCache &, DataPool< SCT_SpacePoint > *dataItemsSCT) const
void clear()
Erase all the elements in the collection.
virtual StatusCode initialize() override
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
virtual void renounce()=0
SG::ReadHandleKey< PixelClusterContainer > m_Pixel_clcontainerKey
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
std::atomic< int > m_numberOfSCT
float m_overlapLimitEtaMin
low overlap limit for eta-neighbours.
float m_overlapLimitEtaMax
high overlap limit for eta-neighbours.
size_type wafer_hash_max(void) const
virtual StatusCode sysInitialize() override
Override sysInitialize.
int layer_disk(const Identifier &id) const
StatusCode initialize(bool used=true)
size_type wafer_hash_max(void) const
ToolHandle< GenericMonitoringTool > m_monTool
Eigen::Matrix< double, 3, 1 > Vector3D
StatusCode addOrDelete(std::unique_ptr< T > ptr)
const SCT_ID * m_idHelper
virtual StatusCode finalize() override
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
AthConfigFlags beamSpot(AthConfigFlags flags, str instanceName, str recoMode)
SG::UpdateHandleKey< SpacePointCache > m_SpacePointCache_PixKey
NeighbourIndices
Total number of neightbours and indices.
Trk::PrepRawDataCollection< SCT_Cluster > SCT_ClusterCollection
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>
const SiDetectorElement * getDetectorElement(const IdentifierHash &hash) const
virtual Identifier identify() const override final
identifier of this detector element (inline)
bool empty() const noexcept
Returns true if the collection is empty.
bool is_barrel(const Identifier &id) const
Test for barrel - WARNING: id MUST be sct id, otherwise answer is not accurate. Use SiliconID for gen...
float m_overlapLimitOpposite
overlap limit for opposite-neighbours.