|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #ifndef INDETInDetDenseEnvAmbiTrackSelectionTool_H
12 #define INDETInDetDenseEnvAmbiTrackSelectionTool_H
32 #include "GaudiKernel/ToolHandle.h"
43 class TrackStateOnSurface;
86 int subtrackId)
const override;
223 std::cout <<
"Unique hits " <<
m_numUnused << std::endl;
227 std::cout <<
"Pseudo " <<
m_numPseudo << std::endl;
231 std::cout <<
"Shared " <<
m_numShared << std::endl;
244 if (
ATH_UNLIKELY(!
x->trackParameters() and !
y->trackParameters()))
return false;
245 if (
ATH_UNLIKELY(!
x->trackParameters() ||
x->trackParameters()->size() <= 0) )
return true;
246 if (
ATH_UNLIKELY(!
y->trackParameters() ||
y->trackParameters()->size() <= 0) )
return false;
247 return std::fabs( (*
x->trackParameters())[0]->parameters()[
Trk::qOverP]) < std::fabs( (*
y->trackParameters())[0]->parameters()[
Trk::qOverP]) ;
259 std::vector<const Trk::RIO_OnTrack*>
m_RIO;
265 std::cout <<
"WARNING DON'T USE THE DEFAULT CONSTRUCTOR OF tsosDetails" << std::endl;
281 int indexPreviousMeasurement = currentIndex-1;
282 while(indexPreviousMeasurement >= 0){
286 --indexPreviousMeasurement;
289 return indexPreviousMeasurement;
295 EventContext::ContextEvt_t
m_evt{EventContext::INVALID_CONTEXT_EVT};
399 bool& maxOtherHasIBL,
403 std::pair< const Trk::TrackParameters* , const Trk::TrackParameters* >
407 int splitSharedPix )
const;
415 bool isTwoPartClus(
float splitProb1,
float splitProb2)
const;
428 PublicToolHandle<ITrtDriftCircleCutTool>
m_selectortool{
this,
"DriftCircleCutTool",
"InDet::InDetTrtDriftCircleCutTool"};
437 {
this,
"AssociationTool",
"InDet::InDetPRDtoTrackMapToolGangedPixels" };
440 PublicToolHandle<Trk::ITrkObserverTool>
m_observerTool{
this,
"ObserverTool",
"",
"track observer within ambiguity solver"};
443 IntegerProperty
m_minHits{
this,
"minHits", 5,
"Min Number of hits on track"};
444 IntegerProperty
m_minTRT_Hits{
this,
"minTRTHits", 0,
"Min Number of TRT hits on track"};
446 IntegerProperty
m_maxTracksPerPRD{
this,
"maxTracksPerSharedPRD", 2,
"Max number of tracks per hit. When NN is used, other flags set the limits."};
449 BooleanProperty
m_cosmics{
this,
"Cosmics",
false,
"Trying to reco cosmics?"};
450 BooleanProperty
m_parameterization{
this,
"UseParameterization",
true,
"Use table of min number DCs"};
452 FloatProperty
m_sharedProbCut{
this,
"sharedProbCut", 0.3,
"Min split prob to break a cluster into two parts"};
453 FloatProperty
m_sharedProbCut2{
this,
"sharedProbCut2", 0.3,
"Min split prob to break a clsuter into three parts"};
456 IntegerProperty
m_minUniqueSCTHits{
this,
"minUniqueSCTHits", 2,
"Min number of hits in the SCT that we need before we allow hit sharing in the SCT"};
458 IntegerProperty
m_maxPixOnePartCluster{
this,
"maxPixOnePartCluster", 2,
"Max number of tracks that can be associated to a 1 particle cluster"};
459 IntegerProperty
m_maxPixTwoPartCluster{
this,
"maxPixTwoPartCluster", 2,
"Max number of tracks that can be associated to a 2 particle cluster"};
460 IntegerProperty
m_maxPixMultiCluster{
this,
"maxPixMultiCluster", 4,
"Max number of tracks that can be associated to a >= 3 particle cluster"};
461 BooleanProperty
m_shareSplitHits{
this,
"shareSplitHits",
false,
"Allow shared hits to be shared on 1 more track"};
462 IntegerProperty
m_minPixHitAccepted{
this,
"minPixHitAccepted", 2,
"Min number of pixel hits needed to be allowed to push accepted tracks over shared module limits"};
483 BooleanProperty
m_monitorTracks{
this,
"MonitorAmbiguitySolving",
false,
"to track observeration/monitoring (default is false)"};
Property holding a SG store/key/clid from which a ReadHandle is made.
std::vector< double > m_emE
std::vector< double > m_hadR
Maintain a set of objects, one per slot.
::StatusCode StatusCode
StatusCode definition for legacy code.
EventContext::ContextEvt_t m_evt
std::vector< double > m_emR
Ensure that the ATLAS eigen extensions are properly loaded.
Container to associate Cluster with cluster splitting probabilities.
std::vector< double > m_emF
This is an Identifier helper class for both the Pixel and SCT subdetectors. This class defines identi...
std::vector< double > m_emZ
std::vector< double > m_hadZ
Maintain a set of objects, one per slot.
std::vector< double > m_hadE
std::vector< double > m_hadF