|
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_Clusters", "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 {this, "SpacePointCacheSCT", ""} |
|
SG::UpdateHandleKey< SpacePointCache > | m_SpacePointCache_PixKey {this, "SpacePointCachePix", ""} |
|
|
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} |
|
|
BooleanProperty | m_selectPixels {this, "ProcessPixels", true} |
|
BooleanProperty | m_selectSCTs {this, "ProcessSCTs", true} |
|
BooleanProperty | m_overlap {this, "ProcessOverlaps", true, "process overlaps of SCT wafers"} |
|
BooleanProperty | m_allClusters {this, "AllClusters", false, "process all clusters without limits"} |
|
bool | m_cachemode {false} |
| used for online MT counters More...
|
|
BooleanProperty | m_useDataPoolWithCache {this, "useDataPoolWithCache", false, "use DataPool With Cache"} |
|
|
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.
|
FloatProperty | m_overlapLimitOpposite {this, "OverlapLimitOpposite", 2.8, "overlap limit for opposite-neighbour"} |
|
FloatProperty | m_overlapLimitPhi {this, "OverlapLimitPhi", 5.64, "overlap limit for phi-neighbours"} |
|
FloatProperty | m_overlapLimitEtaMin {this, "OverlapLimitEtaMin", 1.68, "low overlap limit for eta-neighbours"} |
|
FloatProperty | m_overlapLimitEtaMax {this, "OverlapLimitEtaMax", 3.0, "high overlap limit for eta-neighbours"} |
|
|
BooleanProperty | m_overrideBS {this, "OverrideBeamSpot", false} |
|
FloatProperty | m_xVertex {this, "VertexX", 0.} |
|
FloatProperty | m_yVertex {this, "VertexY", 0.} |
|
FloatProperty | m_zVertex {this, "VertexZ", 0.} |
|
|
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 369 of file SiTrackerSpacePointFinder.cxx.
410 std::array<const SCT_ClusterCollection*, nNeighbours> neighbourClusters{};
411 std::array<const InDetDD::SiDetectorElement*, nNeighbours> neighbourElements{};
412 std::array<double, 14> overlapExtents{};
420 const std::vector<IdentifierHash>* others(
properties->neighbours(triggerIdHash));
421 if (others==
nullptr || others->empty() )
return;
424 neighbourElements[0] = triggerElement;
425 neighbourClusters[0] = sctClusters;
437 float hwidth(
properties->halfWidth(triggerIdHash));
450 for (
const auto& otherHash : *others) {
456 if(!otherElement || !otherClusters)
continue;
458 neighbourElements[neigbourIndices[
n]] = otherElement;
459 neighbourClusters[neigbourIndices[
n]] = otherClusters;
469 overlapExtents[ 6] =-hwidth;
472 overlapExtents[ 9] = hwidth;
477 overlapExtents[11] = hwidth;
478 overlapExtents[12] =-hwidth;
507 neighbourElements, neighbourClusters, overlapExtents,
m_allClusters,
508 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 106 of file SiTrackerSpacePointFinder.cxx.
116 elements = sctDetEle.retrieve();
117 if (elements==
nullptr) {
119 return StatusCode::SUCCESS;
125 return StatusCode::SUCCESS;
128 SPFCache r_cache(ctx);
132 r_cache.vertex =
beamSpot->beamVtx().position();
139 std::unique_ptr<DataPool<PixelSpacePoint>> dataItemsPixel =
nullptr;
148 ATH_CHECK( spacePointContainerPixel.
record( std::make_unique<SpacePointContainer>(updateH.ptr()) ) );
152 if (!hasExternalCache) {
153 dataItemsPixel = std::make_unique<DataPool<PixelSpacePoint>>(ctx);
154 dataItemsPixel->reserve(5000);
156 dataItemsPixel = std::make_unique<DataPool<PixelSpacePoint>>(ctx);
162 std::unique_ptr<DataPool<SCT_SpacePoint>> dataItemsSCT =
nullptr;
171 ATH_CHECK( spacePointContainer_SCT.
record( std::make_unique<SpacePointContainer>(updateH.ptr()) ) );
175 if (!hasExternalCache) {
176 dataItemsSCT = std::make_unique<DataPool<SCT_SpacePoint>>(ctx);
177 dataItemsSCT->reserve(10000);
179 dataItemsSCT = std::make_unique<DataPool<SCT_SpacePoint>>(ctx);
187 ATH_CHECK( spacepointoverlapCollection.
record( std::make_unique<SpacePointOverlapCollection>() ) );
192 ATH_MSG_DEBUG(
"Container '" << spacepointoverlapCollection.
name() <<
"' initialised" );
195 int sctCacheCount = 0;
196 int pixCacheCount = 0;
201 if (!sct_clcontainer.isValid()){
202 msg(
MSG:: FATAL) <<
"Could not find the data object "<< sct_clcontainer.name() <<
" !" <<
endmsg;
203 return StatusCode::RECOVERABLE;
206 r_cache.SCTCContainer = sct_clcontainer.cptr();
208 ATH_MSG_DEBUG(
"SCT Cluster container found: " << sct_clcontainer->size() <<
" collections" );
214 SCT_ClusterContainer::const_iterator
it = sct_clcontainer->begin();
215 SCT_ClusterContainer::const_iterator itend = sct_clcontainer->end();
217 for (;
it != itend; ++
it){
224 ATH_MSG_DEBUG(
"SCT Hash " << idHash <<
" is already in cache");
230 auto spacepointCollection = std::make_unique<SpacePointCollection>(idHash);
231 spacepointCollection->setIdentifier(elementID);
237 if(!colNext->empty() && !elements->getDetectorElement(colNext->identifyHash())->isStereo()) {
239 colNext,
properties, elements, spacepointCollection.get(),
240 spacepointoverlapCollection.
ptr(), r_cache, dataItemsSCT.get());
245 size_t size = spacepointCollection->size();
247 ATH_MSG_VERBOSE(
"SiTrackerSpacePointFinder algorithm found no space points" );
253 return StatusCode::RECOVERABLE;
256 nReceivedSPsSCT +=
size;
266 if (!pixel_clcontainer.isValid()){
267 msg(
MSG:: FATAL) <<
"Could not find the data object "<< pixel_clcontainer.name() <<
" !" <<
endmsg;
268 return StatusCode::RECOVERABLE;
271 ATH_MSG_DEBUG(
"Data object " << pixel_clcontainer.name() <<
" found" );
274 PixelClusterContainer::const_iterator colNext = pixel_clcontainer->begin();
275 PixelClusterContainer::const_iterator lastCol = pixel_clcontainer->end();
279 for (; colNext != lastCol; ++colNext)
285 ATH_MSG_DEBUG(
"pixel Hash " << idHash <<
" is already in cache");
290 Identifier elementID = (*colNext)->identify();
291 auto spacepointCollection = std::make_unique< SpacePointCollection >(idHash);
292 spacepointCollection->setIdentifier(elementID);
298 if (!(*colNext)->empty())
301 *colNext, spacepointCollection.get(), dataItemsPixel.get());
305 size_t size = spacepointCollection->size();
308 ATH_MSG_DEBUG(
"SiTrackerSpacePointFinder algorithm found no space points" );
316 return StatusCode::RECOVERABLE;
319 <<
" SpacePoints successfully added to Container !" );
320 nReceivedSPsPIX +=
size;
329 if (spacepointoverlapCollection->
empty())
335 ATH_MSG_DEBUG( spacepointoverlapCollection->
size() <<
" overlap space points registered." );
345 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 46 of file SiTrackerSpacePointFinder.cxx.
47 ATH_MSG_FATAL(
"SCTs selected and no name set for SCT clusters");
48 return StatusCode::FAILURE;
53 ATH_MSG_FATAL(
"Pixels selected and no name set for Pixel clusters");
54 return StatusCode::FAILURE;
60 return StatusCode::FAILURE;
66 return StatusCode::FAILURE;
72 return StatusCode::FAILURE;
98 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.
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
BooleanProperty InDet::SiTrackerSpacePointFinder::m_allClusters {this, "AllClusters", false, "process all clusters without limits"} |
|
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
BooleanProperty InDet::SiTrackerSpacePointFinder::m_overlap {this, "ProcessOverlaps", true, "process overlaps of SCT wafers"} |
|
private |
◆ m_overlapLimitEtaMax
FloatProperty InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMax {this, "OverlapLimitEtaMax", 3.0, "high overlap limit for eta-neighbours"} |
|
private |
◆ m_overlapLimitEtaMin
FloatProperty InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMin {this, "OverlapLimitEtaMin", 1.68, "low overlap limit for eta-neighbours"} |
|
private |
◆ m_overlapLimitOpposite
FloatProperty InDet::SiTrackerSpacePointFinder::m_overlapLimitOpposite {this, "OverlapLimitOpposite", 2.8, "overlap limit for opposite-neighbour"} |
|
private |
◆ m_overlapLimitPhi
FloatProperty InDet::SiTrackerSpacePointFinder::m_overlapLimitPhi {this, "OverlapLimitPhi", 5.64, "overlap limit for phi-neighbours"} |
|
private |
◆ m_overrideBS
BooleanProperty InDet::SiTrackerSpacePointFinder::m_overrideBS {this, "OverrideBeamSpot", false} |
|
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
BooleanProperty InDet::SiTrackerSpacePointFinder::m_selectPixels {this, "ProcessPixels", true} |
|
private |
◆ m_selectSCTs
BooleanProperty InDet::SiTrackerSpacePointFinder::m_selectSCTs {this, "ProcessSCTs", true} |
|
private |
◆ m_SiSpacePointMakerTool
◆ m_SpacePointCache_PixKey
◆ m_SpacePointCache_SCTKey
◆ m_SpacePointContainer_SCTKey
◆ m_SpacePointContainerPixelKey
◆ m_spacepointoverlapCollectionKey
◆ m_useDataPoolWithCache
BooleanProperty InDet::SiTrackerSpacePointFinder::m_useDataPoolWithCache {this, "useDataPoolWithCache", false, "use DataPool With Cache"} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_xVertex
FloatProperty InDet::SiTrackerSpacePointFinder::m_xVertex {this, "VertexX", 0.} |
|
private |
◆ m_yVertex
FloatProperty InDet::SiTrackerSpacePointFinder::m_yVertex {this, "VertexY", 0.} |
|
private |
◆ m_zVertex
FloatProperty InDet::SiTrackerSpacePointFinder::m_zVertex {this, "VertexZ", 0.} |
|
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.
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.
BooleanProperty m_overrideBS
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
BooleanProperty m_allClusters
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
FloatProperty m_overlapLimitPhi
BooleanProperty m_useDataPoolWithCache
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.
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.
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
size_type wafer_hash_max(void) const
virtual StatusCode sysInitialize() override
Override sysInitialize.
BooleanProperty m_selectPixels
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
BooleanProperty m_selectSCTs
FloatProperty m_overlapLimitOpposite
virtual StatusCode finalize() override
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
#define ATH_MSG_WARNING(x)
FloatProperty m_overlapLimitEtaMin
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
FloatProperty m_overlapLimitEtaMax
AthConfigFlags beamSpot(AthConfigFlags flags, str instanceName, str recoMode)
SG::UpdateHandleKey< SpacePointCache > m_SpacePointCache_PixKey
NeighbourIndices
Total number of neightbours and indices.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Trk::PrepRawDataCollection< SCT_Cluster > SCT_ClusterCollection
size_type size() const noexcept
Returns the number of elements in the collection.
BooleanProperty m_overlap
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...