|
ATLAS Offline Software
|
#include <TrackDiff.h>
|
| TrackDiff (const std::string &, const std::string &, const IInterface *) |
|
| ~TrackDiff () |
|
StatusCode | initialize () |
|
StatusCode | finalize () |
| finalize More...
|
|
virtual StatusCode | diff (const Trk::Track &referenceTrack, const Trk::Track &comparedTrack) |
| diff of two given tracks More...
|
|
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 |
|
This validation tool writes the differences between two tracks into a ntuple. A detailed report of the differences found is written to the message stream in DEBUG mode.
In the finalize function a summary of all tracks is given.
Ntuple variables of Trk::TrackDiff
EventNumber | Number of the event the tracks belong to | int |
RefTrackPhi0 | Phi0 of the reference track | float |
RefTrackEta0 | Eta0 of the reference track | float |
nRefStates | number of reference TSoS for each detector type | int[detTypes] |
nCompareStates | number of TSoS of the compared track (for each detector type) | int[detTypes] |
nFakeStates | number of TSoS of the compared track which are not included in the reference track (does not include wrong types), (for each detector type) | int[detTypes] |
nMissedStates | number of TSoS of the reference track which are not included in the compared track (does not include wrong types, (for each detector type)) | int[detTypes] |
nWrongType | number of TSoS which have different types in the reference and the compared track (for each detector type) | int[detTypes] |
nPRD_Mismatches | number of TSoS on the same detector surface which have different Trk::PrepRawData pointers (for each detector type) | int[detTypes] |
nDriftCircleSignFlips | number of Trk::RIO_OnTrack in the TRT which have flipped drift radii signs | int |
nRefTypes | number of reference TSoS for each TSoS type | int[tsosTypes] |
nCompareTypes | number of compared TSoS for each TSoS type | int[tsosTypes] |
nMissedTypes | number of TSoS which are not on the compared track (for each TSoS type) | int[tsosTypes] |
nFakeTypes | number of TSoS which are not on the reference track (for each TSoS type) | int[tsosTypes] |
nDiffs | number of differences found | int |
MeasurementType | detector type in which the difference was found | int[nDiffs] |
IsFake | is the difference a fake state? | vector<int> [nDiffs] |
IsMissing | is the difference a missing state? | vector<int> [nDiffs] |
IsPRD_Mismatch | is the diff as PRD mismatch? | vector<int> [nDiffs] |
IsFlippedSign | has the diff flipped sign? | vector<int> [nDiffs] |
IsNoDriftTime | has the diff !NoDriftTime? | vector<int> [nDiffs] |
RefIsMeasurement | is reference state a measurement? | vector<int> [nDiffs] |
RefIsOutlier | is reference state an outlier? | vector<int> [nDiffs] |
ComparedIsMeasurement | is compared state a measurement? | vector<int> [nDiffs] |
ComparedIsOutlier | is compared state an outlier? | vector<int> [nDiffs] |
MaxAssgnProb | just if WriteCompetingROTdata=True: maximum assignment probability of the compared state | vector<float> [nDiffs] |
SumAssgnProb | just if WriteCompetingROTdata=True: sum of assignment probabilities of the compared state | vector<float> [nDiffs] |
All numbers contain just the Trk::TrackStateOnSurface which have the types selected in the jobOptions, i.e. in the standard configuration only Measurements and Outliers.
- Author
- Sebas.nosp@m.tian.nosp@m..Flei.nosp@m.schm.nosp@m.ann@c.nosp@m.ern..nosp@m.ch
Definition at line 76 of file TrackDiff.h.
◆ StoreGateSvc_t
◆ TrackDiff()
Trk::TrackDiff::TrackDiff |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
Definition at line 34 of file TrackDiff.cxx.
86 declareInterface<ITrackDiff>(
this);
◆ ~TrackDiff()
Trk::TrackDiff::~TrackDiff |
( |
| ) |
|
|
default |
◆ 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]
◆ detectorType()
get detector type and name by identifier of Trk::RIO_OnTrack
determine detector type
Definition at line 488 of file TrackDiff.cxx.
494 if (
id.is_valid()) {
496 detTypeName =
"Pixel";
518 detTypeName =
"unidentified";
◆ detStore()
◆ diff()
diff of two given tracks
diff of two tracks
Implements Trk::ITrackDiff.
Definition at line 223 of file TrackDiff.cxx.
233 if (!
evt.isValid()) {
235 return StatusCode::FAILURE;
256 ATH_MSG_VERBOSE (
"number of track states: ref=" << refTrackStateData->
size() <<
", compare=" << compareTrackStateData->
size() );
265 for (; refIter != refTrackStateData->
end(); ++refIter) {
270 bool foundMatchingState =
false;
274 if ((*refIter)->rot()) {
275 refPRD = (*refIter)->rot()->prepRawData();
277 compIter = compareTrackStateData->
begin();
278 for ( ; compIter != compareTrackStateData->
end(); ++compIter ) {
280 if ( (*compIter)->surface() == (*refIter)->surface() ) {
282 foundMatchingState =
true;
290 }
else if ( refPRD && (*compIter)->rot() ) {
294 if ( refPRD == ((*compIter)->rot()->prepRawData()) ) {
296 foundMatchingState =
true;
304 if (!foundMatchingState) {
311 compareTrackStateData->
erase(compIter);
317 compIter = compareTrackStateData->
begin();
318 for (; compIter != compareTrackStateData->
end(); ++compIter) {
339 delete refTrackStateData;
340 delete compareTrackStateData;
341 return StatusCode::SUCCESS;
◆ diffStateInfo()
diff of two given track state data
diff two TrackStateData
Definition at line 523 of file TrackDiff.cxx.
526 bool foundDiff =
false;
529 bool isMissing =
false;
530 bool isPRD_Mismatch =
false;
531 bool isFlippedSign =
false;
532 bool isNoDriftTime =
false;
533 bool refIsMeasurement =
false;
534 bool refIsOutlier =
false;
535 bool compIsMeasurement =
false;
536 bool compIsOutlier =
false;
537 bool wrongType =
false;
538 std::string detTypeName =
"unidentified";
548 if (!compareTrackState) {
552 m_missed[ refTrackState->detType() ]++;
556 detType = refTrackState->detType();
557 detTypeName = refTrackState->detTypeName();
563 m_fakes[ compareTrackState->detType() ]++;
564 detType = compareTrackState->detType();
565 detTypeName = compareTrackState->detTypeName();
567 if (compareTrackState){
575 if (refTrackState && compareTrackState) {
590 if (refIsMeasurement != compIsMeasurement ) {
593 if (refIsMeasurement) {
604 if (refROT && compareROT) {
606 isPRD_Mismatch =
true;
615 foundDiff = (foundDiff || isPRD_Mismatch || isFlippedSign || isNoDriftTime );
625 else {
msg(
MSG::DEBUG) << (refIsOutlier ?
" O" :
" ") << (refIsMeasurement ?
"M " :
" ");}
627 else {
msg(
MSG::DEBUG) << (compIsOutlier ?
" O" :
" ") << (compIsMeasurement ?
"M " :
" ");}
629 << (isMissing ?
" MissingState " :
"")
630 << (wrongType ?
" Wrong TSoS type" :
"")
631 << (isPRD_Mismatch ?
" PRD mismatch " :
"")
632 << (isFlippedSign ?
" Flipped Sign " :
"")
633 << (isNoDriftTime ?
" NoDriftTime " :
"")
634 <<
" in " << detTypeName
635 <<
" detector at surface with center " <<
endmsg;
637 surfX = refTrackState->surface()->center().x();
638 surfY = refTrackState->surface()->center().y();
639 surfZ = refTrackState->surface()->center().z();
641 surfX = compareTrackState->surface()->center().x();
642 surfY = compareTrackState->surface()->center().y();
643 surfZ = compareTrackState->surface()->center().z();
645 ATH_MSG_DEBUG (
"(" << surfX <<
", " << surfY <<
"," << surfZ <<
")");
649 float maxAssgnProb = -1.;
650 float sumAssgnProb = -1.;
651 if (compareTrackState) {
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extractDataFromTrack()
extract data from a Trk::Track into a list of Trk::TrackStateData
extract track state data from the track
Definition at line 345 of file TrackDiff.cxx.
350 ATH_MSG_ERROR (
"track containes no track states, diff impossible" );
361 for (; iter != trackStates->
end(); ++iter) {
383 ATH_MSG_ERROR (
"measurementOnTrack == Null for a TrackStateOnSurface "
384 <<
"of type Measurement or Outlier" );
411 std::string detTypeName =
"unidentified";
426 return trackStateData;
◆ 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
◆ finalize()
StatusCode Trk::TrackDiff::finalize |
( |
| ) |
|
finalize
Definition at line 207 of file TrackDiff.cxx.
217 return StatusCode::SUCCESS;
◆ initialize()
StatusCode Trk::TrackDiff::initialize |
( |
| ) |
|
Definition at line 105 of file TrackDiff.cxx.
113 SmartIF<ITHistSvc> tHistSvc{service(
"THistSvc")};
132 m_nt->Branch(
"nFakeStates", &
m_fakes,
"nFakeStates[8]/I");
133 m_nt->Branch(
"nMissedStates", &
m_missed,
"nMissedStates[8]/I");
154 m_surfX =
new std::vector<float>();
155 m_surfY =
new std::vector<float>();
156 m_surfZ =
new std::vector<float>();
183 return StatusCode::FAILURE;
201 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.
◆ interfaceID()
const InterfaceID & Trk::ITrackDiff::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
Interface ID, declared here, and defined below.
Definition at line 40 of file ITrackDiff.h.
41 return IID_ITrackDiff;
◆ 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()
◆ resetVariables()
void Trk::TrackDiff::resetVariables |
( |
| ) |
|
|
private |
reset the ntuple variables
reset variables
Definition at line 431 of file TrackDiff.cxx.
◆ 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_compareAll
bool Trk::TrackDiff::m_compareAll |
|
private |
◆ m_compareOutliers
bool Trk::TrackDiff::m_compareOutliers |
|
private |
◆ m_compareType
◆ m_compIsMeasurement
std::vector<int>* Trk::TrackDiff::m_compIsMeasurement |
|
private |
◆ m_compIsOutlier
std::vector<int>* Trk::TrackDiff::m_compIsOutlier |
|
private |
◆ m_detectorType
std::vector<int>* Trk::TrackDiff::m_detectorType |
|
private |
◆ m_detStore
◆ m_driftCircleSignFlips
int Trk::TrackDiff::m_driftCircleSignFlips |
|
private |
◆ m_eventNumber
int Trk::TrackDiff::m_eventNumber |
|
private |
◆ m_evt
◆ m_evtStore
◆ m_fakes
◆ m_fakesSum
◆ m_fakeType
◆ m_idHelper
◆ m_isFake
std::vector<int>* Trk::TrackDiff::m_isFake |
|
private |
vector<bool> would be more efficient, but vector<bool> is not a normal vector<> and seems to make trouble
Definition at line 130 of file TrackDiff.h.
◆ m_isFlippedSign
std::vector<int>* Trk::TrackDiff::m_isFlippedSign |
|
private |
◆ m_isMissing
std::vector<int>* Trk::TrackDiff::m_isMissing |
|
private |
◆ m_isNoDriftTime
std::vector<int>* Trk::TrackDiff::m_isNoDriftTime |
|
private |
◆ m_isPRD_Mismatch
std::vector<int>* Trk::TrackDiff::m_isPRD_Mismatch |
|
private |
◆ m_maxAssignProb
std::vector<float>* Trk::TrackDiff::m_maxAssignProb |
|
private |
◆ m_missed
◆ m_missedSum
◆ m_missingType
◆ m_nCompStates
◆ m_nCompStatesSum
◆ m_nDiffs
int Trk::TrackDiff::m_nDiffs |
|
private |
◆ m_noDriftTime
int Trk::TrackDiff::m_noDriftTime |
|
private |
◆ m_nRefStates
◆ m_nRefStatesSum
◆ m_nt
TTree* Trk::TrackDiff::m_nt |
|
private |
Pointer to the NTuple tree.
Definition at line 98 of file TrackDiff.h.
◆ m_ntupleDirName
std::string Trk::TrackDiff::m_ntupleDirName |
|
private |
◆ m_ntupleFileName
std::string Trk::TrackDiff::m_ntupleFileName |
|
private |
◆ m_ntupleTreeName
std::string Trk::TrackDiff::m_ntupleTreeName |
|
private |
◆ m_PRD_Mismatches
◆ m_PRD_MismatchesSum
◆ m_refIsMeasurement
std::vector<int>* Trk::TrackDiff::m_refIsMeasurement |
|
private |
◆ m_refIsOutlier
std::vector<int>* Trk::TrackDiff::m_refIsOutlier |
|
private |
◆ m_refType
◆ m_sumAssignProb
std::vector<float>* Trk::TrackDiff::m_sumAssignProb |
|
private |
◆ m_surfX
std::vector<float>* Trk::TrackDiff::m_surfX |
|
private |
◆ m_surfY
std::vector<float>* Trk::TrackDiff::m_surfY |
|
private |
◆ m_surfZ
std::vector<float>* Trk::TrackDiff::m_surfZ |
|
private |
◆ m_trackEta
float Trk::TrackDiff::m_trackEta |
|
private |
◆ m_trackPhi
float Trk::TrackDiff::m_trackPhi |
|
private |
◆ m_trackSum
int Trk::TrackDiff::m_trackSum |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_writeCompetingROT
bool Trk::TrackDiff::m_writeCompetingROT |
|
private |
◆ m_writeNtuple
bool Trk::TrackDiff::m_writeNtuple |
|
private |
◆ m_wrongType
◆ m_wrongTypeSum
◆ s_maxHits
const int Trk::TrackDiff::s_maxHits = 300 |
|
staticprivate |
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
bool is_pixel(Identifier id) const
std::vector< int > * m_refIsOutlier
int m_fakesSum[Trk::TrackState::NumberOfMeasurementTypes]
bool is_rpc(Identifier id) const
Const iterator class for DataVector/DataList.
int m_driftCircleSignFlips
std::vector< int > * m_compIsOutlier
bool is_csc(Identifier id) const
int m_missedSum[Trk::TrackState::NumberOfMeasurementTypes]
bool isFake(int matchInfo)
bool is_sct(Identifier id) const
int m_PRD_MismatchesSum[Trk::TrackState::NumberOfMeasurementTypes]
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
int m_PRD_Mismatches[Trk::TrackState::NumberOfMeasurementTypes]
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
std::vector< float > * m_surfY
bool m_compareAll
jobOption: compare track states of all types
bool diffStateInfo(const Trk::TrackStateData *refTrackStateData, const Trk::TrackStateData *compareTrackStateData)
diff of two given track state data
bool is_trt(Identifier id) const
#define ATH_MSG_VERBOSE(x)
std::vector< int > * m_detectorType
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
int m_nCompStatesSum[Trk::TrackState::NumberOfMeasurementTypes]
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
std::vector< int > * m_isFlippedSign
virtual const RIO_OnTrack & rioOnTrack(unsigned int) const =0
returns the RIO_OnTrack (also known as ROT) objects depending on the integer.
void resetVariables()
reset the ntuple variables
std::string m_ntupleFileName
jobOption: Ntuple file name
int m_refType[Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes]
bool m_writeNtuple
jobOption: write data to ntuple?
int m_wrongType[Trk::TrackState::NumberOfMeasurementTypes]
(Non-const) Iterator class for DataVector/DataList.
virtual unsigned int numberOfContainedROTs() const =0
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
int m_missingType[Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes]
std::vector< int > * m_isFake
vector<bool> would be more efficient, but vector<bool> is not a normal vector<> and seems to make tro...
bool is_tgc(Identifier id) const
::StatusCode StatusCode
StatusCode definition for legacy code.
int m_compareType[Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes]
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
MeasurementType
enum describing the flavour of MeasurementBase
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.
std::vector< float > * m_surfZ
int m_wrongTypeSum[Trk::TrackState::NumberOfMeasurementTypes]
std::string m_ntupleDirName
jobOption: Ntuple directory name
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
std::vector< int > * m_isNoDriftTime
const Perigee * perigeeParameters() const
return Perigee.
virtual const Surface & associatedSurface() const =0
Interface method to get the associated Surface.
bool m_writeCompetingROT
jobOption: write data about TrkCompetingRIOsOnTrack?
std::vector< int > * m_refIsMeasurement
value_type push_back(value_type pElem)
Add an element to the end of the collection.
std::vector< int > * m_isPRD_Mismatch
virtual const Trk::PrepRawData * prepRawData() const =0
returns the PrepRawData (also known as RIO) object to which this RIO_OnTrack is associated.
std::vector< float > * m_maxAssignProb
std::vector< float > * m_sumAssignProb
int m_missed[Trk::TrackState::NumberOfMeasurementTypes]
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
bool m_compareOutliers
jobOption: compare track states of type "outlier"
int m_nCompStates[Trk::TrackState::NumberOfMeasurementTypes]
std::vector< int > * m_compIsMeasurement
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
int m_fakeType[Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes]
Trk::TrackState::MeasurementType detectorType(const Trk::RIO_OnTrack &ROT, std::string &detTypeName) const
get detector type and name by identifier of Trk::RIO_OnTrack
AtlasDetectorID * m_idHelper
Used to find out the sub-det from PRD->identify().
std::string m_ntupleTreeName
jobOption: Ntuple tree name
std::vector< float > * m_surfX
#define ATH_MSG_WARNING(x)
int m_nRefStates[Trk::TrackState::NumberOfMeasurementTypes]
int m_fakes[Trk::TrackState::NumberOfMeasurementTypes]
DataVector< const Trk::TrackStateData > * extractDataFromTrack(const Trk::Track &) const
extract data from a Trk::Track into a list of Trk::TrackStateData
Identifier identify() const
return the identifier -extends MeasurementBase
std::vector< int > * m_isMissing
int m_nRefStatesSum[Trk::TrackState::NumberOfMeasurementTypes]
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
iterator erase(iterator position)
Remove element at a given position.
unsigned int indexOfMaxAssignProb() const
Index of the ROT with the highest assignment probability.
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>
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
@ NumberOfTrackStateOnSurfaceTypes
@ NumberOfMeasurementTypes
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
TTree * m_nt
Pointer to the NTuple tree.
bool is_mdt(Identifier id) const
SG::ReadHandleKey< xAOD::EventInfo > m_evt
AssignmentProb assignmentProbability(unsigned int indx) const
returns the AssignmentProbability depending on the integer.