Project
Loading...
Searching...
No Matches
Clusterer.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#ifndef ALICEO2_HMPID_CLUSTERER_H
15#define ALICEO2_HMPID_CLUSTERER_H
16
17#include <utility>
18#include <vector>
19#include "HMPIDBase/Param.h"
24
25#include "TMatrixF.h" // ef: added
26
27namespace o2
28{
29
30namespace hmpid
31{
33{
36 using Digit = o2::hmpid::Digit;
37
38 public:
39 Clusterer() = default;
40 ~Clusterer() = default;
41
42 Clusterer(const Clusterer&) = delete;
43 Clusterer& operator=(const Clusterer&) = delete;
44
45 // void process(std::vector<Digit> const& digits, std::vector<o2::hmpid::Cluster>& clusters, MCLabelContainer const* digitMCTruth);
46
47 // void setMCTruthContainer(o2::dataformats::MCTruthContainer<o2::MCCompLabel>* truth) { mClsLabels = truth; }
48
49 static void Dig2Clu(gsl::span<const o2::hmpid::Digit> digs, std::vector<o2::hmpid::Cluster>& clus, float* pUserCut, bool isUnfold = kTRUE); // digits->clusters
50 static void FormClu(Cluster& pClu, int pDig, gsl::span<const o2::hmpid::Digit> digs, TMatrixF& pDigMap); // cluster formation recursive algorithm
51 static int UseDig(int padX, int padY, TMatrixF& pDigMap); // use this pad's digit to form a cluster
52 inline bool IsDigSurvive(Digit* pDig) const; // check for sigma cut
53
54 private:
55 // void processChamber(std::vector<Cluster>& clusters, MCLabelContainer const* digitMCTruth);
56 // void fetchMCLabels(const Digit* dig, std::array<Label, Cluster::maxLabels>& labels, int& nfilled) const;
57
58 o2::dataformats::MCTruthContainer<o2::MCCompLabel>* mClsLabels = nullptr; // Cluster MC labels
59
60 // Digit* mContributingDigit[6]; //! array of digits contributing to the cluster; this will not be stored, it is temporary to build the final cluster
61 // int mNumberOfContributingDigits; //! number of digits contributing to the cluster; this will not be stored, it is temporary to build the final cluster
62 // std::vector<o2::hmpid::Digit*> mDigs;
63 // std::vector<o2::hmpid::Cluster*> mClus;
64 // void addContributingDigit(Digit* dig);
65 // void buildCluster(Cluster& c, MCLabelContainer const* digitMCTruth);
66};
67
68} // namespace hmpid
69} // namespace o2
70#endif /* ALICEO2_TOF_CLUSTERER_H */
Definition of a container to keep Monte Carlo truth external to simulation objects.
HMPID cluster implementation.
Definition Cluster.h:27
static void Dig2Clu(gsl::span< const o2::hmpid::Digit > digs, std::vector< o2::hmpid::Cluster > &clus, float *pUserCut, bool isUnfold=kTRUE)
Definition Clusterer.cxx:33
Clusterer(const Clusterer &)=delete
static int UseDig(int padX, int padY, TMatrixF &pDigMap)
static void FormClu(Cluster &pClu, int pDig, gsl::span< const o2::hmpid::Digit > digs, TMatrixF &pDigMap)
bool IsDigSurvive(Digit *pDig) const
Clusterer & operator=(const Clusterer &)=delete
HMPID Digit declaration.
Definition Digit.h:36
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
std::vector< Digit > digs