forked from mcoquet642/AliceO2
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCascade.cxx
More file actions
34 lines (31 loc) · 1.28 KB
/
Cascade.cxx
File metadata and controls
34 lines (31 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
#include "ReconstructionDataFormats/Cascade.h"
using namespace o2::dataformats;
Cascade::Cascade(const std::array<float, 3>& xyz, const std::array<float, 3>& pxyz, const std::array<float, 6>& covxyz,
const o2::track::TrackParCov& v0, const o2::track::TrackParCov& bachelor,
int v0ID, GIndex bachelorID, o2::track::PID pid)
{
std::array<float, 21> covV{}, covB{};
v0.getCovXYZPxPyPzGlo(covV);
bachelor.getCovXYZPxPyPzGlo(covB);
for (int i = 0; i < 21; i++) {
covV[i] += covB[i];
}
for (int i = 0; i < 6; i++) {
covV[i] = covxyz[i];
}
this->set(xyz, pxyz, covV, v0.getCharge() + bachelor.getCharge(), true, pid);
setV0ID(v0ID);
setBachelorID(bachelorID);
setV0Track(v0);
setBachelorTrack(bachelor);
}