Project
Loading...
Searching...
No Matches
GPUDefConstantsAndSettings.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
14
15// This files contains compile-time constants affecting the GPU algorithms / reconstruction results.
16// Architecture-dependant compile-time constants affecting the performance without changing the results are stored in GPUDefParameters*.h
17
18#ifndef GPUDEFCONSTANTSANDSETTINGS_H
19#define GPUDEFCONSTANTSANDSETTINGS_H
20
21// clang-format off
22
23#include "GPUCommonDef.h"
24
25#if !defined(GPUCA_STANDALONE) && !defined(GPUCA_O2_LIB) && !defined(GPUCA_O2_INTERFACE)
26 #error You are using the CA GPU tracking without defining the build type (O2/Standalone). If you are running an O2 ROOT macro, please include GPUO2ExternalUser.h first!
27#endif
28
29#if (defined(GPUCA_O2_LIB) && defined(GPUCA_STANDALONE))
30 #error Invalid Compile Definitions, need to build for either O2 or Standalone!
31#endif
32
34{
35static constexpr uint32_t MERGER_MAX_TRACK_CLUSTERS = 1024; // Maximum number of clusters a track may have after merging
36static constexpr uint32_t NEIGHBOURS_MAX_N = 40; // Maximum number of neighbor hits to consider in one row in neightbors finder
37static constexpr float MAX_SIN_PHI_LOW = 0.99f; // Limits for maximum sin phi during fit
38static constexpr float MAX_SIN_PHI = 0.999f; // Must be preprocessor define because c++ pre 11 cannot use static constexpr for initializes
39static constexpr float GRID_MIN_BIN_SIZE = 2.f; // Minimum bin size in TPC fast access grid
40static constexpr float GRID_MAX_BIN_SIZE = 1000.f; // Maximum bin size in TPC fast access grid
41static constexpr uint32_t TPC_COMP_CHUNK_SIZE = 1024; // Chunk size of sorted unattached TPC cluster in compression
42#ifdef GPUCA_RUN2
43static constexpr uint32_t TPC_MAX_TIME_BIN_TRIGGERED = 1024;
44#else
45static constexpr uint32_t TPC_MAX_TIME_BIN_TRIGGERED = 600;
46#endif
47} // namespace o2::gpu::constants
48
49//#define GPUCA_MERGER_BY_MC_LABEL // Use MC labels for TPC track merging - for performance studies // TODO: Cleanup unneeded options
50
51// clang-format on
52
53#endif