Project
Loading...
Searching...
No Matches
CellLabel.cxx
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
13
15#include "fairlogger/Logger.h"
16#include <cstddef>
17#include <cstdint>
18#include <gsl/span>
19
20using namespace o2::emcal;
21
22CellLabel::CellLabel(const gsl::span<const int> labels, const gsl::span<const float> amplitudeFractions) : mLabels(labels), mAmplitudeFraction(amplitudeFractions)
23{
24 if (labels.size() != amplitudeFractions.size()) {
25 LOG(error) << "Size of labels " << labels.size() << " does not match size of amplitude fraction " << amplitudeFractions.size() << " !";
26 }
27}
28
30{
31 size_t maxIndex = 0;
32 float maxFraction = mAmplitudeFraction[0];
33
34 for (size_t i = 1; i < mAmplitudeFraction.size(); ++i) {
35 if (mAmplitudeFraction[i] > maxFraction) {
36 maxFraction = mAmplitudeFraction[i];
37 maxIndex = i;
38 }
39 }
40 return mLabels[maxIndex];
41}
int32_t i
int32_t GetLeadingMCLabel() const
Getter for label with leading amplitude fraction.
Definition CellLabel.cxx:29
gsl::span< const int32_t > mLabels
List of MC particles that generated the cluster, ordered in deposited energy.
Definition CellLabel.h:68
CellLabel(const gsl::span< const int > labels, const gsl::span< const float > amplitudeFractions)
Constructor.
Definition CellLabel.cxx:22
gsl::span< const float > mAmplitudeFraction
List of the fraction of the cell energy coming from a MC particle. Index aligns with mLabels!
Definition CellLabel.h:69
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"