![]() |
ATLAS Offline Software
|
This validation tool writes the differences between two tracks into a ntuple. More...
#include <TrackDiff.h>
Public Member Functions | |
| TrackDiff (const std::string &, const std::string &, const IInterface *) | |
| ~TrackDiff () | |
| StatusCode | initialize () |
| StatusCode | finalize () |
| finalize | |
| virtual StatusCode | diff (const Trk::Track &referenceTrack, const Trk::Track &comparedTrack) |
| diff of two given tracks | |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
| Interface ID, declared here, and defined below. | |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| 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) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| DataVector< const Trk::TrackStateData > * | extractDataFromTrack (const Trk::Track &) const |
| extract data from a Trk::Track into a list of Trk::TrackStateData | |
| void | resetVariables () |
| reset the ntuple variables | |
| Trk::TrackState::MeasurementType | detectorType (const Trk::RIO_OnTrack &ROT, std::string &detTypeName) const |
| get detector type and name by identifier of Trk::RIO_OnTrack | |
| bool | diffStateInfo (const Trk::TrackStateData *refTrackStateData, const Trk::TrackStateData *compareTrackStateData) |
| diff of two given track state data | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Static Private Attributes | |
| static const int | s_maxHits = 300 |
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.
Definition at line 76 of file TrackDiff.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| Trk::TrackDiff::TrackDiff | ( | const std::string & | t, |
| const std::string & | n, | ||
| const IInterface * | p ) |
Definition at line 34 of file TrackDiff.cxx.
|
default |
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
private |
get detector type and name by identifier of Trk::RIO_OnTrack
determine detector type
Definition at line 488 of file TrackDiff.cxx.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
virtual |
diff of two given tracks
diff of two tracks
Implements Trk::ITrackDiff.
Definition at line 223 of file TrackDiff.cxx.
|
private |
diff of two given track state data
diff two TrackStateData
Definition at line 523 of file TrackDiff.cxx.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
private |
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.
|
protectedinherited |
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
| StatusCode Trk::TrackDiff::finalize | ( | ) |
finalize
Definition at line 207 of file TrackDiff.cxx.
| StatusCode Trk::TrackDiff::initialize | ( | ) |
Definition at line 105 of file TrackDiff.cxx.
|
overridevirtualinherited |
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.
|
inlinestaticinherited |
Interface ID, declared here, and defined below.
Definition at line 40 of file ITrackDiff.h.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
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.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
private |
reset the ntuple variables
reset variables
Definition at line 431 of file TrackDiff.cxx.
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
jobOption: compare track states of all types
Definition at line 108 of file TrackDiff.h.
|
private |
jobOption: compare track states of type "outlier"
Definition at line 107 of file TrackDiff.h.
|
private |
Definition at line 123 of file TrackDiff.h.
|
private |
Definition at line 137 of file TrackDiff.h.
|
private |
Definition at line 138 of file TrackDiff.h.
|
private |
Definition at line 129 of file TrackDiff.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 125 of file TrackDiff.h.
|
private |
Definition at line 112 of file TrackDiff.h.
|
private |
Definition at line 157 of file TrackDiff.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 116 of file TrackDiff.h.
|
private |
Definition at line 151 of file TrackDiff.h.
|
private |
Definition at line 121 of file TrackDiff.h.
|
private |
Used to find out the sub-det from PRD->identify().
Definition at line 100 of file TrackDiff.h.
|
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.
|
private |
Definition at line 133 of file TrackDiff.h.
|
private |
Definition at line 131 of file TrackDiff.h.
|
private |
Definition at line 134 of file TrackDiff.h.
|
private |
Definition at line 132 of file TrackDiff.h.
|
private |
Definition at line 139 of file TrackDiff.h.
|
private |
Definition at line 118 of file TrackDiff.h.
|
private |
Definition at line 152 of file TrackDiff.h.
|
private |
Definition at line 120 of file TrackDiff.h.
|
private |
Definition at line 115 of file TrackDiff.h.
|
private |
Definition at line 150 of file TrackDiff.h.
|
private |
Definition at line 128 of file TrackDiff.h.
|
private |
Definition at line 126 of file TrackDiff.h.
|
private |
Definition at line 114 of file TrackDiff.h.
|
private |
Definition at line 149 of file TrackDiff.h.
|
private |
Pointer to the NTuple tree.
Definition at line 98 of file TrackDiff.h.
|
private |
jobOption: Ntuple directory name
Definition at line 104 of file TrackDiff.h.
|
private |
jobOption: Ntuple file name
Definition at line 103 of file TrackDiff.h.
|
private |
jobOption: Ntuple tree name
Definition at line 105 of file TrackDiff.h.
|
private |
Definition at line 124 of file TrackDiff.h.
|
private |
Definition at line 154 of file TrackDiff.h.
|
private |
Definition at line 135 of file TrackDiff.h.
|
private |
Definition at line 136 of file TrackDiff.h.
|
private |
Definition at line 122 of file TrackDiff.h.
|
private |
Definition at line 140 of file TrackDiff.h.
|
private |
Definition at line 141 of file TrackDiff.h.
|
private |
Definition at line 142 of file TrackDiff.h.
|
private |
Definition at line 143 of file TrackDiff.h.
|
private |
Definition at line 145 of file TrackDiff.h.
|
private |
Definition at line 146 of file TrackDiff.h.
|
private |
Definition at line 155 of file TrackDiff.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
private |
jobOption: write data about TrkCompetingRIOsOnTrack?
Definition at line 110 of file TrackDiff.h.
|
private |
jobOption: write data to ntuple?
Definition at line 109 of file TrackDiff.h.
|
private |
Definition at line 119 of file TrackDiff.h.
|
private |
Definition at line 153 of file TrackDiff.h.
|
staticprivate |
Definition at line 96 of file TrackDiff.h.