Project
Loading...
Searching...
No Matches
ClustererParam.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#ifndef ALICEO2_ITSMFTCLUSTERERPARAM_H_
16#define ALICEO2_ITSMFTCLUSTERERPARAM_H_
17
21#include <string_view>
22#include <string>
23
24namespace o2
25{
26namespace itsmft
27{
28template <int N>
29struct ClustererParam : public o2::conf::ConfigurableParamHelper<ClustererParam<N>> {
30 static_assert(N == o2::detectors::DetID::ITS || N == o2::detectors::DetID::MFT, "only DetID::ITS or DetID:: MFT are allowed");
31
32 static constexpr std::string_view getParamName()
33 {
34 return N == o2::detectors::DetID::ITS ? ParamName[0] : ParamName[1];
35 }
36
37 int maxRowColDiffToMask = DEFRowColDiffToMask();
40 float maxSOTMUS = 8.;
41 bool dropHugeClusters = false;
42
44
45 private:
46 static constexpr int DEFRowColDiffToMask()
47 {
48 // default neighbourhood definition
49 return N == o2::detectors::DetID::ITS ? 1 : 1; // ITS and MFT will suppress also closest neigbours
50 }
51
52 static constexpr std::string_view ParamName[2] = {"ITSClustererParam", "MFTClustererParam"};
53};
54
55template <int N>
56ClustererParam<N> ClustererParam<N>::sInstance;
57
58} // namespace itsmft
59
60namespace framework
61{
62template <typename T>
63struct is_messageable;
64template <>
65struct is_messageable<o2::itsmft::ClustererParam<o2::detectors::DetID::ITS>> : std::true_type {
66};
67template <typename T>
68struct is_messageable;
69template <>
70struct is_messageable<o2::itsmft::ClustererParam<o2::detectors::DetID::MFT>> : std::true_type {
71};
72} // namespace framework
73
74} // namespace o2
75
76#endif
static constexpr ID ITS
Definition DetID.h:63
static constexpr ID MFT
Definition DetID.h:71
GLboolean * data
Definition glcorearb.h:298
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
float maxSOTMUS
max expected signal over threshold in \mus
int maxBCDiffToSquashBias
squash if 2 ROFs differ by <= StrobeLength + Bias BCs, use value <0 to disable squashing
static constexpr std::string_view getParamName()
int maxRowColDiffToMask
pixel may be masked as overflow if such a neighbour in prev frame was fired
int maxBCDiffToMaskBias
mask if 2 ROFs differ by <= StrobeLength + Bias BCs, use value <0 to disable masking
O2ParamDef(ClustererParam, getParamName().data())
bool dropHugeClusters
option to drop huge clusters (mitigate beam background)