Project
Loading...
Searching...
No Matches
SVertexHypothesis.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
15
17
18using namespace o2::vertexing;
19
20void SVertexHypothesis::set(PID v0, PID ppos, PID pneg, float sig, float nSig, float margin, float nSigTight, float marginTight, float cpt, float cpt1, float cpt2, float cpt3, float bz, float maxSigmaInput)
21{
22 mPIDV0 = v0;
23 mPIDPosProng = ppos;
24 mPIDNegProng = pneg;
25 mPars[SigmaM] = sig;
26 mPars[NSigmaM] = nSig;
27 mPars[MarginM] = margin;
28 mPars[NSigmaTightM] = nSigTight;
29 mPars[MarginTightM] = marginTight;
30 mPars[CPt] = cpt;
31 mPars[CPt1] = cpt1;
32 mPars[CPt2] = cpt2;
33 mPars[CPt3] = cpt3;
34 maxSigma = maxSigmaInput;
35 float absBz{std::abs(bz)};
36 if (cpt3 < 1) {
37 mPars[CPt] = absBz > 1e-3 ? cpt * 5.0066791 / absBz : 0.; // assume that pT dependent sigma is linear with B; case for HyperTriton and Hyperhydrog4
38 }
39}
40
41void SVertexHypothesis::set(PID v0, PID ppos, PID pneg, const float pars[NPIDParams], float bz, float maxSigmaInput)
42{
43 set(v0, ppos, pneg, pars[SigmaM], pars[NSigmaM], pars[MarginM], pars[NSigmaTightM], pars[MarginTightM], pars[CPt], pars[CPt1], pars[CPt2], pars[CPt3], bz, maxSigmaInput);
44}
45
46void SVertex3Hypothesis::set(PID v0, PID ppos, PID pneg, PID pbach, float sig, float nSig, float margin, float cpt, float bz)
47{
48 mPIDV0 = v0;
49 mPIDPosProng = ppos;
50 mPIDNegProng = pneg;
51 mPIDBachProng = pbach;
52 mPars[SigmaM] = sig;
53 mPars[NSigmaM] = nSig;
54 mPars[MarginM] = margin;
55 mPars[CPt] = std::abs(bz) > 1e-3 ? cpt * 5.0066791 / std::abs(bz) : 0.; // assume that pT dependent sigma is linear with B
56}
57
58void SVertex3Hypothesis::set(PID v0, PID ppos, PID pneg, PID pbach, const float pars[NPIDParams], float bz)
59{
60 set(v0, ppos, pneg, pbach, pars[SigmaM], pars[NSigmaM], pars[MarginM], pars[CPt], bz);
61}
V0 or Cascade and 3-body decay hypothesis checker.
std::array< float, NPIDParams > mPars
void set(PID v0, PID ppos, PID pneg, PID pbach, float sig, float nSig, float margin, float cpt, float bz=0.f)
void set(PID v0, PID ppos, PID pneg, float sig, float nSig, float margin, float nSigTight, float marginTight, float cpt, float cpt1, float cpt2, float cpt3, float bz=0.f, float maxSigma=0.01)
std::array< float, NPIDParams > mPars
GLfloat v0
Definition glcorearb.h:811