Project
Loading...
Searching...
No Matches
VertexTrackMatcher.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
15
16#ifndef ALICEO2_VERTEX_TRACK_MATCHER_
17#define ALICEO2_VERTEX_TRACK_MATCHER_
18
19#include "gsl/span"
28
29namespace o2
30{
31namespace vertexing
32{
33
35{
36 public:
41 using TmpMap = std::vector<std::vector<VTIndex>>;
44
49 struct VtxTBracket {
51 int origID = -1;
52 };
53
54 void process(const o2::globaltracking::RecoContainer& recoData,
55 std::vector<VTIndex>& trackIndex, // Global ID's for associated tracks
56 std::vector<VRef>& vtxRefs); // references on these tracks
57
58 void setITSROFrameLengthMUS(float v) { mITSROFrameLengthMUS = v; }
59 void setMFTROFrameLengthMUS(float v) { mMFTROFrameLengthMUS = v; }
60 void setMaxTPCDriftTimeMUS(float v) { mMaxTPCDriftTimeMUS = v; }
61 void setTPCTDriftOffset(float t) { mTPCTDriftOffset = t; }
62 void setTPCBin2MUS(float v) { mTPCBin2MUS = v; }
63 void setPrescaleLogs(int n) { mPrescaleLogs = n; }
64
65 float getITSROFrameLengthMUS() const { return mITSROFrameLengthMUS; }
66 float getMFTROFrameLengthMUS() const { return mMFTROFrameLengthMUS; }
67 float getMaxTPCDriftTimeMUS() const { return mMaxTPCDriftTimeMUS; }
68 float getTPCBin2MUS() const { return mTPCBin2MUS; }
69
70 private:
71 void extractTracks(const o2::globaltracking::RecoContainer& data, const std::unordered_map<GIndex, bool>& vcont);
72 std::vector<TrackTBracket> mTBrackets;
73 float mITSROFrameLengthMUS = 0;
74 float mMFTROFrameLengthMUS = 0;
75 float mMaxTPCDriftTimeMUS = 0;
76 float mTPCTDriftOffset = 0.f;
77 float mTPCBin2MUS = 0;
78 int mPrescaleLogs = 0;
79};
80
81} // namespace vertexing
82} // namespace o2
83
84#endif
Wrapper container for different reconstructed object types.
Definition of the ITSMFT ROFrame (trigger) record.
Declarations of 2D primitives.
Extention of GlobalTrackID by flags relevant for verter-track association.
Referenc on track indices contributing to the vertex, with possibility chose tracks from specific sou...
std::vector< std::vector< VTIndex > > TmpMap
GLdouble n
Definition glcorearb.h:1982
const GLdouble * v
Definition glcorearb.h:832
GLboolean * data
Definition glcorearb.h:298
detail::Bracket< float > Bracketf_t
Definition Primitive2D.h:40
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...