CbmRoot
Loading...
Searching...
No Matches
LmvmSimParam.h
Go to the documentation of this file.
1/* Copyright (C) 2021 Justus-Liebig-Universitaet Giessen, Giessen
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Semen Lebedev [committer] */
4
5#ifndef LMVM_SIM_PARAM_H
6#define LMVM_SIM_PARAM_H
7
8#include "Logger.h"
9
10#include "TObject.h"
11
12#include <string>
13
15public:
16 static Double_t GetWeight(const std::string& energy, const std::string& particle)
17 {
18 // TODO: check all weights for all energies and particles
19 // Weight = Multiplicity * Branching Ratio
20 if (energy == "8gev" || energy == "12gev") {
21 // TODO: add weights for 12geV
22 if (particle == "omegaepem" || particle == "w") return 2.28721 * 7.36e-5;
23 if (particle == "omegadalitz" || particle == "wdalitz") return 2.28721 * 7.7e-4;
24 if (particle == "phi") return 0.311619 * 2.97e-4;
25 if (particle == "inmed" || particle == "rho0") return 0.0304706;
26 if (particle == "qgp" || particle == "qgp_epem") return 4.52941e-4;
27 }
28 else if (energy == "25gev") {
29 if (particle == "rho0") return 23 * 4.7e-5;
30 if (particle == "omegaepem" || particle == "w") return 38 * 7.28e-5;
31 if (particle == "omegadalitz" || particle == "wdalitz") return 38 * 7.7e-4;
32 if (particle == "phi") return 1.28 * 2.97e-4;
33 if (particle == "inmed") return 4.45e-2;
34 if (particle == "qgp" || particle == "qgp_epem") return 1.15e-2;
35 }
36 else if (energy == "3.5gev") {
37 if (particle == "rho0") return 1.0 * 4.7e-5;
38 if (particle == "omegaepem" || particle == "w") return 1.2 * 7.28e-5;
39 if (particle == "omegadalitz" || particle == "wdalitz") return 1.2 * 7.7e-5;
40 if (particle == "phi") return 0.1 * 2.97e-4;
41 }
42 else if (energy == "4.5gev") {
43 if (particle == "omegadalitz" || particle == "wdalitz") return 1.2 * 7.7e-5;
44 if (particle == "omegaepem" || particle == "w") return 1.2 * 7.28e-6;
45 if (particle == "phi") return 1.2 * 2.97e-6;
46 if (particle == "inmed") return 2.4 * 10e-3;
47 }
48 else {
49 LOG(fatal) << "LmvmSimParam::SetEnergyAndParticle energy or particle is not correct, energy:" << energy
50 << " particle:" << particle;
51 return 0.;
52 }
53 return 0.;
54 }
55};
56
57
58#endif
static Double_t GetWeight(const std::string &energy, const std::string &particle)