Utility for the track selection - used in various calibration modules.
More...
#include <TrackSelector.h>
|
enum | EType {
c_undefined = 0
,
c_dimuon = 1
,
c_bhabha = 2
,
c_cosmics = 3
} |
| enumerators for possible data sample types (skims) More...
|
|
|
| TrackSelector () |
| Default constructor.
|
|
| TrackSelector (const std::string &sampleName) |
| Useful constructor.
|
|
void | setMinMomentum (double minMomentum) |
| Sets momentum cut (used for "cosmics" only)
|
|
void | setDeltaEcms (double deltaEcms) |
| Sets cut on c.m.s.
|
|
void | setCutOnPOCA (double dr, double dz) |
| Sets cut on point of closest approach to (0, 0, 0)
|
|
void | setCutOnLocalZ (double minZ, double maxZ) |
| Sets cut on local z coordinate (module frame) of the track extrapolated to TOP.
|
|
const std::string & | getSampleName () const |
| Returns sample name.
|
|
double | getMinMomentum () const |
| Returns momentum cut.
|
|
double | getDeltaEcms () const |
| Returns c.m.s.
|
|
double | getDr () const |
| Returns POCA cut in r.
|
|
double | getDz () const |
| Returns POCA cut in z.
|
|
double | getMinZ () const |
| Returns cut on local z.
|
|
double | getMaxZ () const |
| Returns cut on local z.
|
|
const Const::ChargedStable & | getChargedStable () const |
| Returns track hypothesis.
|
|
const ROOT::Math::XYZVector & | getPOCAPosition () const |
| Returns position of POCA of the track in last isSelected call.
|
|
const ROOT::Math::XYZVector & | getPOCAMomentum () const |
| Returns momentum vector at POCA of the track in last isSelected call.
|
|
double | getCMSEnergy () const |
| Returns c.m.s energy of the track in last isSelected call.
|
|
const ROOT::Math::XYZPoint & | getLocalPosition () const |
| Returns position at TOP in local frame of the track in last isSelected call.
|
|
const ROOT::Math::XYZVector & | getLocalMomentum () const |
| Returns momentum at TOP in local frame of the track in last isSelected call.
|
|
bool | isSelected (const TOPTrack &track) const |
| Returns selection status.
|
|
Utility for the track selection - used in various calibration modules.
Definition at line 27 of file TrackSelector.h.
◆ EType
enumerators for possible data sample types (skims)
Definition at line 34 of file TrackSelector.h.
34 {
35 c_undefined = 0,
36 c_dimuon = 1,
37 c_bhabha = 2,
38 c_cosmics = 3
39 };
◆ TrackSelector() [1/2]
◆ TrackSelector() [2/2]
Useful constructor.
- Parameters
-
sampleName | data sample name, one of dimuon, bhabha or cosmics |
Definition at line 23 of file TrackSelector.cc.
24 {
25 if (sampleName == "dimuon") {
28 } else if (sampleName == "bhabha") {
31 } else if (sampleName == "cosmics") {
34 } else {
37 B2ERROR("TOP::TrackSelector: unknown data sample."
38 <<
LogVar(
"name", sampleName));
39 }
40 }
static const ChargedStable muon
muon particle
static const ChargedStable electron
electron particle
Const::ChargedStable m_chargedStable
track hypothesis
EType m_sampleType
data sample (skim) type
std::string m_sampleName
data sample (skim) name
Class to store variables with their name which were sent to the logging service.
◆ getChargedStable()
◆ getCMSEnergy()
double getCMSEnergy |
( |
| ) |
const |
|
inline |
Returns c.m.s energy of the track in last isSelected call.
- Returns
- c.m.s. energy if track is selected, otherwise undefined
Definition at line 150 of file TrackSelector.h.
◆ getDeltaEcms()
double getDeltaEcms |
( |
| ) |
const |
|
inline |
Returns c.m.s.
energy cut
- Returns
- size of the energy window
Definition at line 103 of file TrackSelector.h.
double m_deltaEcms
c.m.s energy window for "dimuon" or "bhabha"
◆ getDr()
Returns POCA cut in r.
- Returns
- maximal radius in x-y plane
Definition at line 109 of file TrackSelector.h.
double m_dr
cut on POCA in r
◆ getDz()
Returns POCA cut in z.
- Returns
- cut in z coordinate (|z| < dz/2)
Definition at line 115 of file TrackSelector.h.
double m_dz
cut on POCA in z
◆ getLocalMomentum()
const ROOT::Math::XYZVector & getLocalMomentum |
( |
| ) |
const |
|
inline |
Returns momentum at TOP in local frame of the track in last isSelected call.
- Returns
- momentum vector in local frame if track is selected, otherwise undefined
Definition at line 162 of file TrackSelector.h.
ROOT::Math::XYZVector m_localMomentum
momentum at TOP in local (module) frame
◆ getLocalPosition()
const ROOT::Math::XYZPoint & getLocalPosition |
( |
| ) |
const |
|
inline |
Returns position at TOP in local frame of the track in last isSelected call.
- Returns
- position in local frame if track is selected, otherwise undefined
Definition at line 156 of file TrackSelector.h.
ROOT::Math::XYZPoint m_localPosition
position at TOP in local (module) frame
◆ getMaxZ()
Returns cut on local z.
- Returns
- maximal local z of extrapolated hit
Definition at line 127 of file TrackSelector.h.
double m_maxZ
maximal local z of extrapolated hit
◆ getMinMomentum()
double getMinMomentum |
( |
| ) |
const |
|
inline |
Returns momentum cut.
- Returns
- minimal momentum
Definition at line 97 of file TrackSelector.h.
double m_minMomentum
minimal track momentum if sample is "cosmics"
◆ getMinZ()
Returns cut on local z.
- Returns
- minimal local z of extrapolated hit
Definition at line 121 of file TrackSelector.h.
double m_minZ
minimal local z of extrapolated hit
◆ getPOCAMomentum()
const ROOT::Math::XYZVector & getPOCAMomentum |
( |
| ) |
const |
|
inline |
Returns momentum vector at POCA of the track in last isSelected call.
- Returns
- momentum vector if track is selected, otherwise undefined
Definition at line 144 of file TrackSelector.h.
ROOT::Math::XYZVector m_pocaMomentum
momentum at POCA
◆ getPOCAPosition()
const ROOT::Math::XYZVector & getPOCAPosition |
( |
| ) |
const |
|
inline |
Returns position of POCA of the track in last isSelected call.
- Returns
- POCA if track is selected, otherwise undefined
Definition at line 138 of file TrackSelector.h.
ROOT::Math::XYZVector m_pocaPosition
position of POCA
◆ getSampleName()
const std::string & getSampleName |
( |
| ) |
const |
|
inline |
Returns sample name.
- Returns
- sample name
Definition at line 91 of file TrackSelector.h.
◆ isSelected()
bool isSelected |
( |
const TOPTrack & |
track | ) |
const |
Returns selection status.
- Parameters
-
track | track extrapolated to TOP |
- Returns
- true if track passes selection criteria
Definition at line 43 of file TrackSelector.cc.
44 {
45
47 B2ERROR("TOP::TrackSelector:isSelected sample type is undefined, returning false");
48 return false;
49 }
50
51 if (not trk.isValid()) return false;
52
53 const auto* fit = trk.getTrack()->getTrackFitResultWithClosestMass(
m_chargedStable);
54 if (not fit) return false;
55
56
60
61
67 PCmsLabTransform T;
68 auto lorentzCms = T.labToCms(lorentzLab);
72 } else {
73 return false;
74 }
75
76
78 const auto& module = geo->getModule(trk.getModuleID());
79 m_localPosition = module.pointToLocal(
static_cast<ROOT::Math::XYZPoint
>(trk.getExtHit()->getPosition()));
80 m_localMomentum = module.momentumToLocal(trk.getExtHit()->getMomentum());
82
83 return true;
84 }
double getMass() const
Particle mass.
const TOPGeometry * getGeometry() const
Returns pointer to geometry object using basf2 units.
static TOPGeometryPar * Instance()
Static method to obtain the pointer to its instance.
◆ setCutOnLocalZ()
void setCutOnLocalZ |
( |
double |
minZ, |
|
|
double |
maxZ |
|
) |
| |
|
inline |
Sets cut on local z coordinate (module frame) of the track extrapolated to TOP.
- Parameters
-
minZ | minimal z |
maxZ | maximal z |
Definition at line 81 of file TrackSelector.h.
◆ setCutOnPOCA()
void setCutOnPOCA |
( |
double |
dr, |
|
|
double |
dz |
|
) |
| |
|
inline |
Sets cut on point of closest approach to (0, 0, 0)
- Parameters
-
dr | maximal radius in x-y plane |
dz | cut in z coordinate (|z| < dz/2) |
Definition at line 70 of file TrackSelector.h.
◆ setDeltaEcms()
void setDeltaEcms |
( |
double |
deltaEcms | ) |
|
|
inline |
Sets cut on c.m.s.
energy (used for "dimuon" and "bhabha")
- Parameters
-
deltaEcms | size of energy window |
Definition at line 63 of file TrackSelector.h.
◆ setMinMomentum()
void setMinMomentum |
( |
double |
minMomentum | ) |
|
|
inline |
Sets momentum cut (used for "cosmics" only)
- Parameters
-
minMomentum | minimal track momentum |
Definition at line 57 of file TrackSelector.h.
◆ m_chargedStable
◆ m_cmsEnergy
◆ m_deltaEcms
c.m.s energy window for "dimuon" or "bhabha"
Definition at line 176 of file TrackSelector.h.
◆ m_dr
◆ m_dz
◆ m_localMomentum
ROOT::Math::XYZVector m_localMomentum |
|
mutableprivate |
◆ m_localPosition
ROOT::Math::XYZPoint m_localPosition |
|
mutableprivate |
◆ m_maxZ
◆ m_minMomentum
minimal track momentum if sample is "cosmics"
Definition at line 175 of file TrackSelector.h.
◆ m_minZ
◆ m_pocaMomentum
ROOT::Math::XYZVector m_pocaMomentum |
|
mutableprivate |
◆ m_pocaPosition
ROOT::Math::XYZVector m_pocaPosition |
|
mutableprivate |
◆ m_sampleName
◆ m_sampleType
EType m_sampleType = c_undefined |
|
private |
The documentation for this class was generated from the following files: