Pluto v6.3.0
Loading...
Searching...
No Matches
test_phi2170.C
Go to the documentation of this file.
2 Int_t decay_mode = 0, // decay channel (see below)
3 Int_t nev = 1000, // number of events
4 Double_t Tbeam = 29.0 // proton beam kinetic energy [GeV]
5){
7 //
8 // Example reaction channels currently used for the CBM
9 // φ(2170) feasibility studies.
10 //
11 // decay_mode:
12 // 0 -> φ π+ π−
13 // 1 -> K+ K− π+ π−
14 // 2 -> φ f0(980)
15 //
16 // Additional decay channels can be added as needed.
17 //
19
20 // ============================================================
21 // Beam kinetic-energy as input
22 // ============================================================
23 // Use the TString/parser constructor so the first argument is
24 // interpreted as proton beam kinetic energy [GeV].
25 // The Double_t PReaction overload interprets the first argument
26 // as beam momentum [GeV/c].
27 TString Tbeam_str;
28 Tbeam_str.Form("%.6f", Tbeam);
29
30 TString reaction;
31 TString outfile;
32 TString mode_name;
33
34 switch (decay_mode) {
35
36 case 0:
37 reaction = "p p phi2170 [phi [K+ K-] pi+ pi-]";
38 outfile = "phi2170_phipipi";
39 mode_name = "phi pi+ pi-";
40 break;
41
42 case 1:
43 reaction = "p p phi2170 [K+ K- pi+ pi-]";
44 outfile = "phi2170_KKpipi";
45 mode_name = "K+ K- pi+ pi-";
46 break;
47
48 case 2:
49 reaction = "p p phi2170 [phi [K+ K-] f0_980 [pi+ pi-]]";
50 outfile = "phi2170_phif0";
51 mode_name = "phi f0(980)";
52 break;
53
54 default:
55 Error("test_phi2170",
56 "Unknown decay mode %d (allowed: 0, 1, 2)",
57 decay_mode);
58 return;
59 }
60
61 // Add number-of-events tag
62 TString nev_tag;
63 if (nev >= 1000 && nev % 1000 == 0) {
64 nev_tag.Form("_%dk", nev / 1000);
65 }
66 else {
67 nev_tag.Form("_%d", nev);
68 }
69 outfile += nev_tag;
70
71 // Add beam-energy tag
72 TString energy_tag;
73 energy_tag.Form("_Tbeam%.1fGeV", Tbeam);
74 energy_tag.ReplaceAll(".", "p");
75 outfile += energy_tag;
76
77 PReaction r(Tbeam_str.Data(),
78 "p",
79 "p",
80 reaction.Data(),
81 outfile.Data());
82
83 listParticle("f0_980");
84 listParticle("phi2170");
85
86 cout << endl;
87 cout << "==========================================" << endl;
88 cout << "phi(2170) example generation" << endl;
89 cout << "==========================================" << endl;
90 cout << "Beam kinetic energy : " << Tbeam << " GeV" << endl;
91 cout << "Events : " << nev << endl;
92 cout << "Decay mode : " << decay_mode << " (" << mode_name << ")" << endl;
93 cout << "Reaction : " << reaction << endl;
94 cout << "Output : " << outfile << ".root" << endl;
95 cout << "==========================================" << endl;
96 cout << endl;
97 cout << "Inspect with : root -l -q 'inspect_phi2170.C(\"" << outfile << ".root\")'" << endl;
98 cout << endl;
99 cout << "==========================================" << endl;
100 cout << endl;
101
102 r.Print();
103
104 r.Loop(nev);
105}
void listParticle(int id=-1)
PReaction r(c,"eta_dalitz", 3, 0, 0, 0, 1)
int nev
void test_phi2170(Int_t decay_mode=0, Int_t nev=1000, Double_t Tbeam=29.0)
Definition test_phi2170.C:1