Project
Loading...
Searching...
No Matches
FastMultEst.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_ITS_FASTMULTEST_
17#define ALICEO2_ITS_FASTMULTEST_
18
24#include <gsl/span>
25#include <array>
26
27namespace o2
28{
29namespace its
30{
31
33
35
36 float mult = 0.;
37 float noisePerChip = 0.;
38 float cov[3] = {0.};
39 float chi2 = 0.;
40 int nLayersUsed = 0;
41 uint32_t lastRandomSeed = 0;
42
43 std::array<int, NLayers> nClPerLayer{0}; // measured N Cl per layer selectROFs
45
46 static uint32_t getCurrentRandomSeed();
47 int selectROFs(const gsl::span<const o2::itsmft::ROFRecord> rofs, const gsl::span<const o2::itsmft::CompClusterExt> clus,
48 const gsl::span<const o2::itsmft::PhysTrigger> trig, std::vector<uint8_t>& sel);
49
50 void fillNClPerLayer(const gsl::span<const o2::itsmft::CompClusterExt>& clusters);
51 float process(const std::array<int, NLayers> ncl)
52 {
54 }
55 float processNoiseFree(const std::array<int, NLayers> ncl);
56 float processNoiseImposed(const std::array<int, NLayers> ncl);
57 float process(const gsl::span<const o2::itsmft::CompClusterExt>& clusters)
58 {
60 return process(nClPerLayer);
61 }
62 static bool sSeedSet;
63
65};
66
67} // namespace its
68} // namespace o2
69
70#endif
Definition of the ITSMFT compact cluster.
Configuration parameters for ITS fast multiplicity estimator.
Definition of the ITSMFT ROFrame (trigger) record.
Definition Physics trigger record extracted from the ITS/MFT stream.
static constexpr int NLayers
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
float imposeNoisePerChip
last layer to account
float process(const std::array< int, NLayers > ncl)
Definition FastMultEst.h:51
std::array< int, NLayers > nClPerLayer
state of the gRandom before
Definition FastMultEst.h:43
static uint32_t getCurrentRandomSeed()
float process(const gsl::span< const o2::itsmft::CompClusterExt > &clusters)
Definition FastMultEst.h:57
float processNoiseFree(const std::array< int, NLayers > ncl)
void fillNClPerLayer(const gsl::span< const o2::itsmft::CompClusterExt > &clusters)
ClassDefNV(FastMultEst, 1)
float processNoiseImposed(const std::array< int, NLayers > ncl)
uint32_t lastRandomSeed
number of layers actually used
Definition FastMultEst.h:41
int selectROFs(const gsl::span< const o2::itsmft::ROFRecord > rofs, const gsl::span< const o2::itsmft::CompClusterExt > clus, const gsl::span< const o2::itsmft::PhysTrigger > trig, std::vector< uint8_t > &sel)
float cov[3]
estimated or imposed noise per chip
Definition FastMultEst.h:38
float noisePerChip
estimated signal clusters multipliciy at reference (1st?) layer
Definition FastMultEst.h:37
float chi2
covariance matrix of estimation
Definition FastMultEst.h:39
static bool sSeedSet
Definition FastMultEst.h:62
static constexpr int NLayers
Definition FastMultEst.h:34
std::vector< Cluster > clusters