Project
Loading...
Searching...
No Matches
TrackMatcher.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
16
17#ifndef O2_MUON_TRACKMATCHER_H_
18#define O2_MUON_TRACKMATCHER_H_
19
20#include <vector>
21
22#include <gsl/span>
23
30
31namespace o2
32{
33namespace muon
34{
35
38{
40
41 public:
42 TrackMatcher() = default;
43 ~TrackMatcher() = default;
44
45 TrackMatcher(const TrackMatcher&) = delete;
49
50 void init();
51 void match(gsl::span<const mch::ROFRecord>& mchROFs, gsl::span<const mch::TrackMCH>& mchTracks,
52 gsl::span<const mid::ROFRecord>& midROFs, gsl::span<const mid::Track>& midTracks);
53
55 const std::vector<TrackMCHMID>& getMuons() const { return mMuons; }
56
57 private:
58 double match(const mch::TrackMCH& mchTrack, const mid::Track& midTrack);
59
60 double mMaxChi2 = 0.;
61 std::vector<TrackMCHMID> mMuons{};
62};
63
64} // namespace muon
65} // namespace o2
66
67#endif // O2_MUON_TRACKMATCHER_H_
Reconstructed MID track.
Definition of the MCH ROFrame record.
Definition of the MID event record.
Definition of the MUON track.
Definition of the MCH track.
MUON track external format.
Definition TrackMCHMID.h:33
MCH track external format.
Definition TrackMCH.h:34
This class defines the MID track.
Definition Track.h:30
Class to match MCH and MID tracks.
TrackMatcher(const TrackMatcher &)=delete
TrackMatcher(TrackMatcher &&)=delete
void init()
prepare to run the matching algorithm
const std::vector< TrackMCHMID > & getMuons() const
get the MCH-MID matched tracks
void match(gsl::span< const mch::ROFRecord > &mchROFs, gsl::span< const mch::TrackMCH > &mchTracks, gsl::span< const mid::ROFRecord > &midROFs, gsl::span< const mid::Track > &midTracks)
run the matching algorithm
TrackMatcher & operator=(const TrackMatcher &)=delete
TrackMatcher & operator=(TrackMatcher &&)=delete
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
std::vector< o2::mid::ROFRecord > midROFs
std::vector< o2::mch::ROFRecord > mchROFs