ATLAS Offline Software
Loading...
Searching...
No Matches
GenericTrackSelector.h
Go to the documentation of this file.
1
12
13#ifndef IDTPM2_GENERICTRACKSELECTOR_H
14#define IDTPM2_GENERICTRACKSELECTOR_H
15
16// Framework includes
17#include "AsgTools/AsgTool.h"
19
20
21#include "ITrackSelector.h"
22
23#include <string>
24
26
27
28namespace IDTPM2 {
29
30
31// @class GenericTrackSelector
32
34 public virtual IDTPM2::ITrackSelector, public asg::AsgTool {
35
36public:
37
39
40 GenericTrackSelector( const std::string& name );
41
42 virtual StatusCode initialize() override;
43
44 virtual bool selectTrack( const TrackView& t ) const;
45
46 virtual bool highestPTonly() const { return m_highestPTOnly; }
47
48private:
49
50 Gaudi::Property<ConfiguredValue<float>> m_minPt { this, "minPt", {}, "Low cut on phi for generic tracks" };
51 Gaudi::Property<ConfiguredValue<float>> m_maxPt { this, "maxPt", {}, "High cut on phi for generic tracks" };
52
53 Gaudi::Property<ConfiguredValue<float>> m_minET { this, "minET", {}, "ET cut" };
54 Gaudi::Property<ConfiguredValue<float>> m_minETovpt { this, "minETovpt", {}, "ET / pt cut" };
55
56 Gaudi::Property<ConfiguredValue<float>> m_minAbsEta { this, "minAbsEta", {}, "Low cut on |eta| for generic tracks" };
57 Gaudi::Property<ConfiguredValue<float>> m_minEta { this, "minEta", {}, "Lower cut on eta for generic tracks" };
58 Gaudi::Property<ConfiguredValue<float>> m_maxEta { this, "maxEta", {}, "Higher cut on eta for generic tracks" };
59
60 Gaudi::Property<ConfiguredValue<float>> m_minD0 { this, "minD0", {}, "Lower cut on d0 for generic tracks" };
61 Gaudi::Property<ConfiguredValue<float>> m_maxD0 { this, "maxD0", {}, "Higher cut on d0 for generic tracks" };
62 Gaudi::Property<ConfiguredValue<float>> m_minZ0 { this, "minZ0", {}, "Lower cut on z0 for generic tracks" };
63 Gaudi::Property<ConfiguredValue<float>> m_maxZ0 { this, "maxZ0", {}, "Higher cut on z0 for generic tracks" };
64 Gaudi::Property<ConfiguredValue<float>> m_minAbsD0 { this, "minAbsD0", {}, "Lower cut on |d0| for generic tracks" };
65 Gaudi::Property<ConfiguredValue<float>> m_maxAbsD0 { this, "maxAbsD0", {}, "Higher cut on |d0| for generic tracks" };
66 Gaudi::Property<ConfiguredValue<float>> m_minAbsZ0 { this, "minAbsZ0", {}, "Lower cut on |z0| for generic tracks" };
67 Gaudi::Property<ConfiguredValue<float>> m_maxAbsZ0 { this, "maxAbsZ0", {}, "Higher cut on |z0| for generic tracks" };
68
69
70 Gaudi::Property<ConfiguredValue<float>> m_minPhi { this, "minPhi", {}, "Lower cut on phi for generic tracks" };
71 Gaudi::Property<ConfiguredValue<float>> m_maxPhi { this, "maxPhi", {}, "Higher cut on phi for generic tracks" };
73 // Gaudi::Property<ConfiguredValue<float>> m_minAbsPhi { this, "minAbsPhi", {}., "Lower cut on |phi| for generic tracks" };
74 // Gaudi::Property<ConfiguredValue<float>> m_maxAbsPhi { this, "maxAbsPhi", {}., "Higher cut on |phi| for generic tracks" };
75
76 Gaudi::Property<ConfiguredValue<float>> m_minQoPT { this, "minQoPT", {}, "Lower cut on q/pt for generic tracks" };
77 Gaudi::Property<ConfiguredValue<float>> m_maxQoPT { this, "maxQoPT", {}, "Higher cut on q/pt for generic tracks" };
78
79 Gaudi::Property<ConfiguredValue<float>> m_minAbsQoPT { this, "minAbsQoPT", {}, "Lower cut on |q/pt| for generic tracks" };
80 Gaudi::Property<ConfiguredValue<float>> m_maxAbsQoPT { this, "maxAbsQoPT", {}, "Higher cut on |q/pt| for generic tracks" };
81
82 Gaudi::Property<bool> m_highestPTOnly { this, "HighestPTOnly", false, "use only the highest PT track" };
83
84 bool m_initialized = false;
85};
86
87} // namespace IDTPM2
88
89#endif // IDTPM2_GENERICTRACKSELECTOR_H
emacs: this is -*- c++ -*-
Gaudi::Property< ConfiguredValue< float > > m_maxZ0
Gaudi::Property< ConfiguredValue< float > > m_minAbsEta
Gaudi::Property< ConfiguredValue< float > > m_maxQoPT
Gaudi::Property< ConfiguredValue< float > > m_minPhi
Gaudi::Property< ConfiguredValue< float > > m_maxAbsQoPT
Gaudi::Property< bool > m_highestPTOnly
Gaudi::Property< ConfiguredValue< float > > m_minETovpt
Gaudi::Property< ConfiguredValue< float > > m_minAbsZ0
Gaudi::Property< ConfiguredValue< float > > m_maxAbsD0
Gaudi::Property< ConfiguredValue< float > > m_minET
Gaudi::Property< ConfiguredValue< float > > m_minPt
Gaudi::Property< ConfiguredValue< float > > m_maxEta
virtual bool selectTrack(const TrackView &t) const
Gaudi::Property< ConfiguredValue< float > > m_minAbsD0
Gaudi::Property< ConfiguredValue< float > > m_maxD0
Gaudi::Property< ConfiguredValue< float > > m_minZ0
Gaudi::Property< ConfiguredValue< float > > m_minAbsQoPT
Gaudi::Property< ConfiguredValue< float > > m_maxPt
virtual bool highestPTonly() const
select the highest PT track only
Gaudi::Property< ConfiguredValue< float > > m_maxPhi
ASG_TOOL_CLASS(GenericTrackSelector, ITrackSelector)
GenericTrackSelector(const std::string &name)
Gaudi::Property< ConfiguredValue< float > > m_minEta
Gaudi::Property< ConfiguredValue< float > > m_minD0
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Gaudi::Property< ConfiguredValue< float > > m_minQoPT
Abs phi ???? why would anyone ever want abs(phi) ??
Gaudi::Property< ConfiguredValue< float > > m_maxAbsZ0
forward declaration required for function prototype
Definition TrackView.h:43
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Search the ancestor history, looking for an ancestor that satifies the predicate ....
Definition AnalysisR4.h:31