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 init();
55 void process(const o2::globaltracking::RecoContainer& recoData,
56 std::vector<VTIndex>& trackIndex, // Global ID's for associated tracks
57 std::vector<VRef>& vtxRefs); // references on these tracks
58
59 void setITSROFrameLengthMUS(float v) { mITSROFrameLengthMUS = v; }
60 void setMFTROFrameLengthMUS(float v) { mMFTROFrameLengthMUS = v; }
61 void setMaxTPCDriftTimeMUS(float v) { mMaxTPCDriftTimeMUS = v; }
62 void setTPCTDriftOffset(float t) { mTPCTDriftOffset = t; }
63 void setTPCBin2MUS(float v) { mTPCBin2MUS = v; }
64 void setPrescaleLogs(int n) { mPrescaleLogs = n; }
65
66 float getITSROFrameLengthMUS() const { return mITSROFrameLengthMUS; }
67 float getMFTROFrameLengthMUS() const { return mMFTROFrameLengthMUS; }
68 float getMaxTPCDriftTimeMUS() const { return mMaxTPCDriftTimeMUS; }
69 float getTPCBin2MUS() const { return mTPCBin2MUS; }
70
71 private:
72 void extractTracks(const o2::globaltracking::RecoContainer& data, const std::unordered_map<GIndex, bool>& vcont);
73 std::vector<int> mITSGloSources;
74 std::vector<TrackTBracket> mTBrackets;
75 float mITSROFrameLengthMUS = 0;
76 float mMFTROFrameLengthMUS = 0;
77 float mMaxTPCDriftTimeMUS = 0;
78 float mTPCTDriftOffset = 0.f;
79 float mTPCBin2MUS = 0;
80 int mPrescaleLogs = 0;
81};
82
83} // namespace vertexing
84} // namespace o2
85
86#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...
void process(const o2::globaltracking::RecoContainer &recoData, std::vector< VTIndex > &trackIndex, std::vector< VRef > &vtxRefs)
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 ...