ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkTools
TrkAmbiguityProcessor
src
AmbiguityProcessorUtility.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef AmbiguityProcessorUtility_h
5
#define AmbiguityProcessorUtility_h
6
7
#include "GaudiKernel/ToolHandle.h"
8
#include "
TrkToolInterfaces/IPRDtoTrackMapTool.h
"
9
#include "
TrkEventUtils/PRDtoTrackMap.h
"
10
#include "
TrkEventPrimitives/TrackScore.h
"
11
#include <vector>
12
#include <set>
13
#include <array>
14
#include <string>
15
#include <memory>
//unique_ptr
16
17
namespace
Trk
{
18
class
Track
;
19
class
PrepRawData
;
20
}
21
22
23
namespace
AmbiguityProcessor
{
24
enum
TrackFilterCategory
{
ScoreIsZero
,
TrackIsDuplicate
,
TrackAccepted
,
nCategories
};
25
using
AssociationTool
= ToolHandle<Trk::IPRDtoTrackMapTool>;
26
using
AssociationMap
=
Trk::PRDtoTrackMap
;
27
using
DuplicationCheckSet
= std::set<std::vector<const Trk::PrepRawData*>> ;
28
//
29
//categorise the track as zero-score, duplicate or 'accepted'
30
TrackFilterCategory
categoriseTrack
(
const
Trk::Track
&track,
31
const
Trk::TrackScore
&score,
32
const
bool
dropDuplicates,
33
const
AssociationTool
&,
AssociationMap
&,
34
DuplicationCheckSet
&);
35
//
36
// give appropriate text for each category
37
const
static
std::array<std::string, nCategories>
debugMessage
{
38
"Score is zero, reject."
,
"Track is duplicate, reject."
,
39
"Track is accepted."
};
40
// calculate a simple chi^2/ndof
41
float
calculateFitQuality
(
const
Trk::Track
& track);
42
//create a track from a new FitQuality object looping over track-state-on-surfaces to calculate
43
std::unique_ptr<Trk::Track>
createNewFitQualityTrack
(
const
Trk::Track
& track);
44
//generate unique id for track (used in track observer tool)
45
int
getUid
();
46
}
//namespace
47
48
#endif
IPRDtoTrackMapTool.h
PRDtoTrackMap.h
TrackScore.h
Trk::PRDtoTrackMap
Definition
PRDtoTrackMap.h:17
Trk::PrepRawData
Definition
PrepRawData.h:62
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
AmbiguityProcessor
Definition
AmbiguityProcessorUtility.cxx:13
AmbiguityProcessor::AssociationMap
Trk::PRDtoTrackMap AssociationMap
Definition
AmbiguityProcessorUtility.h:26
AmbiguityProcessor::DuplicationCheckSet
std::set< std::vector< const Trk::PrepRawData * > > DuplicationCheckSet
Definition
AmbiguityProcessorUtility.h:27
AmbiguityProcessor::TrackFilterCategory
TrackFilterCategory
Definition
AmbiguityProcessorUtility.h:24
AmbiguityProcessor::TrackAccepted
@ TrackAccepted
Definition
AmbiguityProcessorUtility.h:24
AmbiguityProcessor::nCategories
@ nCategories
Definition
AmbiguityProcessorUtility.h:24
AmbiguityProcessor::TrackIsDuplicate
@ TrackIsDuplicate
Definition
AmbiguityProcessorUtility.h:24
AmbiguityProcessor::ScoreIsZero
@ ScoreIsZero
Definition
AmbiguityProcessorUtility.h:24
AmbiguityProcessor::debugMessage
static const std::array< std::string, nCategories > debugMessage
Definition
AmbiguityProcessorUtility.h:37
AmbiguityProcessor::categoriseTrack
TrackFilterCategory categoriseTrack(const Trk::Track &track, const Trk::TrackScore &score, const bool dropDuplicates, const AssociationTool &associate, AssociationMap &map, DuplicationCheckSet &set)
Definition
AmbiguityProcessorUtility.cxx:15
AmbiguityProcessor::getUid
int getUid()
Definition
AmbiguityProcessorUtility.cxx:60
AmbiguityProcessor::calculateFitQuality
float calculateFitQuality(const Trk::Track &track)
Definition
AmbiguityProcessorUtility.cxx:24
AmbiguityProcessor::AssociationTool
ToolHandle< Trk::IPRDtoTrackMapTool > AssociationTool
Definition
AmbiguityProcessorUtility.h:25
AmbiguityProcessor::createNewFitQualityTrack
std::unique_ptr< Trk::Track > createNewFitQualityTrack(const Trk::Track &track)
Definition
AmbiguityProcessorUtility.cxx:33
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::TrackScore
float TrackScore
Definition
TrackScore.h:10
Generated on
for ATLAS Offline Software by
1.17.0