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#include "TObject.h"
10
11#include <string>
12
14 public:
15 static Double_t GetWeight(const std::string& energy, const std::string& particle)
16 {
17 // Weight = Multiplicity * Branching Ratio
18 if (energy == "8gev") {
19 if (particle == "omegaepem") return 2.28721 * 7.36e-5;
20 if (particle == "omegadalitz") return 2.28721 * 7.7e-4;
21 if (particle == "phi") return 0.311619 * 2.97e-4;
22 if (particle == "inmed" || particle == "rho0") return 0.0304706;
23 if (particle == "qgp" || particle == "qgp_epem") return 4.52941e-4;
24 }
25 else if (energy == "12gev") {
26 if (particle == "omegaepem") return 5.82093 * 7.36e-5;
27 if (particle == "omegadalitz") return 5.82093 * 7.7e-4;
28 if (particle == "phi") return 1.01808 * 2.97e-4;
29 if (particle == "inmed" || particle == "rho0") return 0.041625;
30 if (particle == "qgp" || particle == "qgp_epem") return 6.1875e-4;
31 }
32 else if (energy == "25gev") {
33 if (particle == "rho0") return 23 * 4.7e-5;
34 if (particle == "omegaepem") return 38 * 7.28e-5;
35 if (particle == "omegadalitz") return 38 * 7.7e-4;
36 if (particle == "phi") return 1.28 * 2.97e-4;
37 if (particle == "inmed") return 4.45e-2;
38 if (particle == "qgp") return 1.15e-2;
39 }
40 else if (energy == "3.5gev") {
41 if (particle == "rho0") return 1.0 * 4.7e-5;
42 if (particle == "omegaepem") return 1.2 * 7.28e-5;
43 if (particle == "omegadalitz") return 1.2 * 7.7e-5;
44 if (particle == "phi") return 0.1 * 2.97e-4;
45 }
46 else if (energy == "4.5gev") {
47 if (particle == "omegadalitz") return 1.2 * 7.7e-5;
48 if (particle == "omegaepem") return 1.2 * 7.28e-6;
49 if (particle == "phi") return 1.2 * 2.97e-6;
50 if (particle == "inmed") return 2.4 * 10e-3;
51 }
52 else {
53 LOG(fatal) << "LmvmSimParam::SetEnergyAndParticle(): energy or particle is not correct, energy:" << energy
54 << " particle:" << particle;
55 return 0.;
56 }
57 return 0.;
58 }
59};
60
61
62#endif
static Double_t GetWeight(const std::string &energy, const std::string &particle)