|
ATLAS Offline Software
|
#include <SiSPSeededTrackFinderRoI.h>
|
| SiSPSeededTrackFinderRoI (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual | ~SiSPSeededTrackFinderRoI ()=default |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute (const EventContext &ctx) const override |
|
virtual StatusCode | finalize () override |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. 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 |
|
|
BooleanProperty | m_useRoIWidth {this, "useRoIWidth", true, "Use width of RoI along z-axis"} |
|
IntegerProperty | m_maxNumberSeeds {this, "maxNumberSeeds", 3000000, "Max. number used seeds"} |
|
IntegerProperty | m_nfreeCut {this, "FreeClustersCut", 1, "Min number free clusters"} |
|
BooleanProperty | m_doRandomSpot {this, "doRandomSpot", false, "Low-pT tracking setting the RoI in a random position"} |
|
StringProperty | m_fieldmode {this, "MagneticFieldMode", "MapSolenoid"} |
|
SG::WriteHandleKey< TrackCollection > | m_outputTracksKey {this, "TracksLocation", "SiSPSeededTracksRoI", "Output track collection"} |
|
SG::WriteHandleKey< xAOD::VertexContainer > | m_vxOutputKey {this, "VxOutputName", "LowPtRoIVertices", "Output Vertex collection with per-event RoI information"} |
|
SG::ReadHandleKey< Trk::PRDtoTrackMap > | m_prdToTrackMap {this,"PRDtoTrackMap",""} |
|
SG::ReadCondHandleKey< InDet::BeamSpotData > | m_beamSpotKey {this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot"} |
|
SG::ReadHandleKey< xAOD::EventInfo > | m_evtKey {this, "EventInfoKey", "EventInfo"} |
|
ToolHandle< ISiSpacePointsSeedMaker > | m_seedsmaker {this, "SeedsTool", "InDet::SiSpacePointsSeedMaker_ATLxk/InDetSpSeedsMaker", "Space poins seed maker"} |
|
ToolHandle< ISiTrackMaker > | m_trackmaker {this, "TrackTool", "InDet::SiTrackMaker_xk/InDetSiTrackMaker", "Track maker"} |
|
ToolHandle< Trk::IExtendedTrackSummaryTool > | m_trackSummaryTool {this, "TrackSummaryTool", "InDetTrackSummaryToolNoHoleSearch"} |
|
ToolHandle< IZWindowRoISeedTool > | m_ZWindowRoISeedTool {this, "ZWindowRoISeedTool", "InDet::ZWindowRoISeedTool", "Tool to determin per-event RoI"} |
|
ToolHandle< IZWindowRoISeedTool > | m_RandomRoISeedTool {this, "RandomRoISeedTool", "InDet::RandomRoISeedTool", "Tool to run using additional RoIs randomly chosen away from the main one if doRandomSpot is set"} |
|
ServiceHandle< IInDetEtaDependentCutsSvc > | m_etaDependentCutsSvc {this, "EtaDependentCutsSvc", "", "if enable, further require eta-dependent selections on track candidates"} |
|
Trk::MagneticFieldProperties | m_fieldprop |
|
Counter_t m_counterTotal | ATLAS_THREAD_SAFE {} |
|
std::atomic_int | m_neventsTotal {0} |
| Number events. More...
|
|
std::atomic_int | m_problemsTotal {0} |
| Number events with number seeds > maxNumber. More...
|
|
Definition at line 41 of file SiSPSeededTrackFinderRoI.h.
◆ StoreGateSvc_t
◆ ECounter
◆ SiSPSeededTrackFinderRoI()
InDet::SiSPSeededTrackFinderRoI::SiSPSeededTrackFinderRoI |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~SiSPSeededTrackFinderRoI()
virtual InDet::SiSPSeededTrackFinderRoI::~SiSPSeededTrackFinderRoI |
( |
| ) |
|
|
virtualdefault |
◆ 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()
◆ dump()
◆ dumpevent()
Definition at line 371 of file SiSPSeededTrackFinderRoI.cxx.
376 out<<
"|-------------------------------------------------------------------|" <<std::endl;
377 out<<
"| Investigated "
378 <<std::setw(9)<<
ns<<
" space points seeds and found ";
379 out<<std::setw(9)<<
nt<<
" tracks using RoI-z strategy |"<<std::endl;
381 out<<
"|-------------------------------------------------------------------|" <<std::endl;
389 out<<
"|-------------------------------------------------------------------|" <<std::endl;
◆ dumptools()
MsgStream & InDet::SiSPSeededTrackFinderRoI::dumptools |
( |
MsgStream & |
out | ) |
const |
|
protected |
Definition at line 342 of file SiSPSeededTrackFinderRoI.cxx.
346 std::string
s2;
for(
int i=0;
i<
n; ++
i)
s2.append(
" ");
s2.append(
"|");
348 std::string
s3;
for(
int i=0;
i<
n; ++
i)
s3.append(
" ");
s3.append(
"|");
350 std::string
s4;
for(
int i=0;
i<
n; ++
i)
s4.append(
" ");
s4.append(
"|");
352 out<<
"|----------------------------------------------------------------"
353 <<
"----------------------------------------------------|"
361 out<<
"|----------------------------------------------------------------"
362 <<
"----------------------------------------------------|"
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode InDet::SiSPSeededTrackFinderRoI::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
Definition at line 129 of file SiSPSeededTrackFinderRoI.cxx.
132 ATH_CHECK(outputTracks.record(std::make_unique<TrackCollection>()));
143 auto theVertexContainer = std::make_unique<xAOD::VertexContainer>();
144 auto theVertexAuxContainer = std::make_unique<xAOD::VertexAuxContainer>();
145 theVertexContainer->setStore( theVertexAuxContainer.get() );
149 std::vector<InDet::IZWindowRoISeedTool::ZWindow> listRoIs;
151 double ZBoundary[2] = {0.0, 0.0};
153 if ( listRoIs.empty() ) {
157 ZBoundary[0] = listRoIs[0].zWindow[0];
158 ZBoundary[1] = listRoIs[0].zWindow[1];
159 ATH_MSG_DEBUG(
"selectedRoIs " << ZBoundary[0] <<
" " << ZBoundary[1]);
169 for(
size_t r = 0;
r < listRoIs.size();
r++ ){
173 theVertexContainer->back()->setZ( listRoIs[
r].zReference );
174 vtxDecor_boundaryLow(*theVertexContainer->back()) = listRoIs[
r].zWindow[0];;
175 vtxDecor_boundaryHigh(*theVertexContainer->back()) = listRoIs[
r].zWindow[1];
176 vtxDecor_perigeeZ0Lead(*theVertexContainer->back()) = listRoIs[
r].zPerigeePos[0];
177 vtxDecor_perigeeZ0Sublead(*theVertexContainer->back()) = listRoIs[
r].zPerigeePos[1];
178 vtxDecor_isHS(*theVertexContainer->back()) = 1;
187 double RandZBoundary[2];
188 std::vector<InDet::IZWindowRoISeedTool::ZWindow> listRandRoIs;
193 while( std::abs( listRoIs[0].zReference - listRandRoIs[0].zReference ) < 5. || std::abs(listRandRoIs[0].zReference) > 250.0 ){
194 listRandRoIs.clear();
198 RandZBoundary[0] = listRandRoIs[0].zWindow[0];
199 RandZBoundary[1] = listRandRoIs[0].zWindow[1];
200 for(
size_t r = 0;
r < listRandRoIs.size();
r++ ){
204 theVertexContainer->back()->setZ( listRandRoIs[
r].zReference );
205 vtxDecor_boundaryLow(*theVertexContainer->back()) = listRoIs[
r].zWindow[0];;
206 vtxDecor_boundaryHigh(*theVertexContainer->back()) = listRoIs[
r].zWindow[1];
207 vtxDecor_perigeeZ0Lead(*theVertexContainer->back()) = listRoIs[
r].zPerigeePos[0];
208 vtxDecor_perigeeZ0Sublead(*theVertexContainer->back()) = listRoIs[
r].zPerigeePos[1];
209 vtxDecor_isHS(*theVertexContainer->back()) = 0;
215 CHECK( vxOut_h.record ( std::move(theVertexContainer), std::move(theVertexAuxContainer) ) );
219 SiSpacePointsSeedMakerEventData seedEventData;
221 if (not listRoIs.empty()) {
222 std::list<Trk::Vertex> VZ;
236 bool doWriteNtuple =
m_seedsmaker->getWriteNtupleBoolProperty();
237 unsigned long EvNumber = 0;
241 EvNumber = !eventInfo.isValid() ? 0 : eventInfo->eventNumber();
248 std::multimap<double,Trk::Track*> qualitySortedTrackCandidates;
251 while((seed =
m_seedsmaker->next(ctx, seedEventData))) {
253 const std::list<Trk::Track*> trackList =
m_trackmaker->getTracks(ctx, trackEventData,
seed->spacePoints());
255 qualitySortedTrackCandidates.insert(std::make_pair( -trackQuality(
t),
t ));
260 if (
seed->r3() > 200.) {
261 if (
seed->r1() < 200.) {
267 m_seedsmaker->writeNtuple(seed, !trackList.empty() ? trackList.front() :
nullptr, seedType, EvNumber) ;
284 for (
const std::pair<const double, Trk::Track*> & qualityAndTrack: qualitySortedTrackCandidates) {
290 outputTracks->push_back(qualityAndTrack.second);
298 outputTracks->clear();
309 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 |
◆ filterSharedTracks()
void InDet::SiSPSeededTrackFinderRoI::filterSharedTracks |
( |
std::multimap< double, Trk::Track * > & |
qualitySortedTracks | ) |
const |
|
protected |
cleans up the collection of quality filtered tracks.
Candidates which share most of their hits (steered by m_freeCut) with higher quality candidates are erased from the multimap
- Parameters
-
[in,out] | scoredTracks | Track candidates, sorted by by score, best scored first (implemented by assigning negative sign to scores) |
loop over all track candidates, sorted by quality
loop over measurements on the track candidate
get the PRD from the measurement
increase cluster count
and check if the cluster was already used in a previous ( = higher quality) track
if not, record as a free (not prevously used) cluster
check if the track has the minimum number of free clusters or if it has no shared clusters
if this is fulfilled, we keep the candidate add the free clusters to our cluster set
if this is fulfilled, we keep the candidate
if we do not keep the track, clean up candidate
if we do not keep the track, clean up candidate
Definition at line 398 of file SiSPSeededTrackFinderRoI.cxx.
401 std::set<const Trk::PrepRawData*>
clusters;
403 std::vector<const Trk::PrepRawData*> freeClusters;
404 freeClusters.reserve(15);
409 while (it_qualityAndTrack!=qualitySortedTracks.end()) {
410 freeClusters.clear();
429 if (not
pr)
continue;
435 freeClusters.push_back(
pr);
440 int nFreeClusters =
static_cast<int>(freeClusters.size());
441 if (nFreeClusters >=
m_nfreeCut || nFreeClusters==nClusters) {
444 clusters.insert(freeClusters.begin(), freeClusters.end());
447 ++it_qualityAndTrack;
450 int nFreeClusters =
static_cast<int>(freeClusters.size());
451 if(
passEtaDepCuts( (*it_qualityAndTrack).second, nClusters, nFreeClusters, nPixels) ){
453 ++it_qualityAndTrack;
456 delete (*it_qualityAndTrack).second;
457 qualitySortedTracks.erase(it_qualityAndTrack++);
462 delete (*it_qualityAndTrack).second;
463 qualitySortedTracks.erase(it_qualityAndTrack++);
◆ finalize()
StatusCode InDet::SiSPSeededTrackFinderRoI::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode InDet::SiSPSeededTrackFinderRoI::initialize |
( |
| ) |
|
|
overridevirtual |
◆ 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()
bool AthReentrantAlgorithm::isClonable |
( |
| ) |
const |
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in Simulation::BeamEffectsAlg, InDet::SiTrackerSpacePointFinder, InDet::SCT_Clusterization, InDet::SiSPSeededTrackFinder, SCTRawDataProvider, InDet::GNNSeedingTrackMaker, SCT_PrepDataToxAOD, RoIBResultToxAOD, SCT_CablingCondAlgFromCoraCool, SCT_ReadCalibDataTestAlg, SCT_CablingCondAlgFromText, InDet::SiSPGNNTrackMaker, SCT_ReadCalibChipDataTestAlg, SCT_TestCablingAlg, SCT_ConfigurationConditionsTestAlg, ITkPixelCablingAlg, ITkStripCablingAlg, SCTEventFlagWriter, SCT_ConditionsSummaryTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_TdaqEnabledTestAlg, SCT_SiliconConditionsTestAlg, SCTSiLorentzAngleTestAlg, SCT_ByteStreamErrorsTestAlg, SCT_ConditionsParameterTestAlg, SCT_FlaggedConditionTestAlg, SCT_StripVetoTestAlg, SCT_RawDataToxAOD, and SCTSiPropertiesTestAlg.
Definition at line 44 of file AthReentrantAlgorithm.cxx.
◆ magneticFieldInit()
void InDet::SiSPSeededTrackFinderRoI::magneticFieldInit |
( |
| ) |
|
|
protected |
◆ 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.
◆ passEtaDepCuts()
bool InDet::SiSPSeededTrackFinderRoI::passEtaDepCuts |
( |
const Trk::Track * |
track, |
|
|
int |
nClusters, |
|
|
int |
nFreeClusters, |
|
|
int |
nPixels |
|
) |
| const |
|
protected |
apply eta-dependent selections
Candidate tracks can be further selected using eta-dependent selections.
Definition at line 483 of file SiSPSeededTrackFinderRoI.cxx.
490 if(!
par)
return false;
492 double eta = std::abs(
par->eta());
493 if(nClusters < m_etaDependentCutsSvc->getMinSiHitsAtEta(
eta))
return false;
494 if(nFreeClusters < m_etaDependentCutsSvc->getMinSiNotSharedAtEta(
eta))
return false;
496 if(nPixels < m_etaDependentCutsSvc->getMinPixelHitsAtEta(
eta))
return false;
◆ 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()
◆ ATLAS_THREAD_SAFE
Counter_t m_counterTotal InDet::SiSPSeededTrackFinderRoI::ATLAS_THREAD_SAFE {} |
|
mutableprotected |
◆ m_beamSpotKey
◆ m_detStore
◆ m_doRandomSpot
BooleanProperty InDet::SiSPSeededTrackFinderRoI::m_doRandomSpot {this, "doRandomSpot", false, "Low-pT tracking setting the RoI in a random position"} |
|
protected |
◆ m_etaDependentCutsSvc
ServiceHandle<IInDetEtaDependentCutsSvc> InDet::SiSPSeededTrackFinderRoI::m_etaDependentCutsSvc {this, "EtaDependentCutsSvc", "", "if enable, further require eta-dependent selections on track candidates"} |
|
protected |
◆ m_evtKey
◆ 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_fieldmode
StringProperty InDet::SiSPSeededTrackFinderRoI::m_fieldmode {this, "MagneticFieldMode", "MapSolenoid"} |
|
protected |
◆ m_fieldprop
◆ m_maxNumberSeeds
IntegerProperty InDet::SiSPSeededTrackFinderRoI::m_maxNumberSeeds {this, "maxNumberSeeds", 3000000, "Max. number used seeds"} |
|
protected |
◆ m_neventsTotal
std::atomic_int InDet::SiSPSeededTrackFinderRoI::m_neventsTotal {0} |
|
mutableprotected |
◆ m_nfreeCut
IntegerProperty InDet::SiSPSeededTrackFinderRoI::m_nfreeCut {this, "FreeClustersCut", 1, "Min number free clusters"} |
|
protected |
◆ m_outputTracksKey
◆ m_prdToTrackMap
◆ m_problemsTotal
std::atomic_int InDet::SiSPSeededTrackFinderRoI::m_problemsTotal {0} |
|
mutableprotected |
◆ m_RandomRoISeedTool
◆ m_seedsmaker
◆ m_trackmaker
◆ m_trackSummaryTool
ToolHandle<Trk::IExtendedTrackSummaryTool> InDet::SiSPSeededTrackFinderRoI::m_trackSummaryTool {this, "TrackSummaryTool", "InDetTrackSummaryToolNoHoleSearch"} |
|
protected |
◆ m_useRoIWidth
BooleanProperty InDet::SiSPSeededTrackFinderRoI::m_useRoIWidth {this, "useRoIWidth", true, "Use width of RoI along z-axis"} |
|
protected |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_vxOutputKey
◆ m_ZWindowRoISeedTool
ToolHandle<IZWindowRoISeedTool> InDet::SiSPSeededTrackFinderRoI::m_ZWindowRoISeedTool {this, "ZWindowRoISeedTool", "InDet::ZWindowRoISeedTool", "Tool to determin per-event RoI"} |
|
protected |
The documentation for this class was generated from the following files:
StringProperty m_fieldmode
JetConstituentVector::iterator iterator
ServiceHandle< IInDetEtaDependentCutsSvc > m_etaDependentCutsSvc
ToolHandle< ISiTrackMaker > m_trackmaker
ToolHandle< IZWindowRoISeedTool > m_ZWindowRoISeedTool
@ Perigee
This represents a perigee, and so will contain a Perigee object only.
Const iterator class for DataVector/DataList.
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_prdToTrackMap
MsgStream & dumptools(MsgStream &out) const
Helper class to provide type-safe access to aux data.
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
BooleanProperty m_doRandomSpot
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
bool msgLvl(const MSG::Level lvl) const
BooleanProperty m_useRoIWidth
ToolHandle< ISiSpacePointsSeedMaker > m_seedsmaker
const std::string & key() const
Return the StoreGate ID for the referenced object.
MsgStream & dumpevent(MsgStream &out, const SiSPSeededTrackFinderRoI::Counter_t &counter) const
SG::WriteHandleKey< xAOD::VertexContainer > m_vxOutputKey
MsgStream & dump(MSG::Level lvl, const SiSPSeededTrackFinderRoI::Counter_t *) const
SG::WriteHandleKey< TrackCollection > m_outputTracksKey
virtual void setOwner(IDataHandleHolder *o)=0
@ FastField
call the fast field access method of the FieldSvc
bool passEtaDepCuts(const Trk::Track *track, int nClusters, int nFreeClusters, int nPixels) const
apply eta-dependent selections
std::atomic_int m_problemsTotal
Number events with number seeds > maxNumber.
AthReentrantAlgorithm()
Default constructor:
std::atomic_int m_neventsTotal
Number events.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
SG::ReadHandleKey< xAOD::EventInfo > m_evtKey
::StatusCode StatusCode
StatusCode definition for legacy code.
#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.
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
@ NoField
Field is set to 0., 0., 0.,.
represents the track state (measurement, material, fit parameters and quality) at a surface.
virtual StatusCode sysInitialize() override
Override sysInitialize.
StatusCode initialize(bool used=true)
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
virtual const Trk::PrepRawData * prepRawData() const =0
returns the PrepRawData (also known as RIO) object to which this RIO_OnTrack is associated.
IntegerProperty m_nfreeCut
ToolHandle< IZWindowRoISeedTool > m_RandomRoISeedTool
Class describing a Vertex.
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
#define ATH_MSG_WARNING(x)
const double mb
1mb to cm2
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Trk::MagneticFieldProperties m_fieldprop
IntegerProperty m_maxNumberSeeds
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
void filterSharedTracks(std::multimap< double, Trk::Track * > &) const
cleans up the collection of quality filtered tracks.