Pluto v6.3.0
Loading...
Searching...
No Matches
pp_cocktail_1.25.C
Go to the documentation of this file.
1//TITLE <b>Total cross sections:</b> The pp cocktail at 1.25GeV
2//
3//This macros demonstrates how to set up a cocktail with total cross sections
4//
5{
6
7
8
9 //The first action we have to take is to activate the plugins
10 //this is done in Pluto via commands. In the same stap we
11 //can already forward the options to the plugins
12
13 //As an first example let us activate the elementary plugin
14 //This adds a lot of composite particles into the data base
15 //and some models for total cross sections we need later
16 makeDistributionManager()->Exec("elementary");
17
18
19 //Next step is to activate the bremsstrahlung.
20 //In our case the Kaptari/Kaempfer version
21 //We want to use weighting, otherwise there is no total
22 //normalization
23 makeDistributionManager()->Exec("brems: kaptari; weighting");
24
25 //There are 3 "sub-versions": Please choose one out
26 //of them:
27
28 //makeDistributionManager()->Exec("brems: delta");
29 makeDistributionManager()->Exec("brems: sum");
30 //makeDistributionManager()->Exec("brems: elastic");
31
32 //makeDistributionManager()->Exec("brems: fsi");
33
34 //The Delta production is done via
35 //the Teis model
36 //for double pi0 production there is model
37 //let us add a model
38 //The corresponding decay is added automatically into the data base
40 new PTCrossWeight("p + p_to_p_p_pi0_pi0/tcross",
41 "Cross section for double pi0 production", -1);
42 my_cross->SetCrossSection(0.2 * 0.001 * 2); //0.2mb times 2 (see below)
44
45 //Activate the Krivoruchenko Dalitz
46 makeDistributionManager()->Exec("dalitz_mod: krivoruchenko");
47
48 //Enable the generator mod: It is very usefull to enable a flat
49 //generator to acquire enough statistics for the high mass region
50
51 //There is another topic in this context: For broad resonances we
52 //should disable the static b.r. scaling and use the dGamma/dM as
53 //a mass-dependent b.r.
54 //Let us put the threshold to 100 MeV
55 makeDistributionManager()->Exec("dalitz_mod: static_br_thresh=0.100 ; flat_generator");
56
57 //The krivoruchenko mod enables by default also the QED form factor
58 //If you want the VMD version, uncomment the following line:
59 //makeDistributionManager()->Enable("vmd");
60
61 //Once we are done, print the collection just to see if the plugins worked:
62 makeDistributionManager()->Print("root");
63
64 //Set up the reaction:
65 //N.B: if you want to write a file, add a filename at the "NULL" position
66
68 // new PReaction("1.25", "p", "p", "p D+ [p pi0 [g dilepton [e+ e-]]]", NULL, 1, 0, 0, 0);
69 new PReaction("1.25", "p", "p", "p D+ [p pi0 [g dilepton [e+ e-]]]", "pp_1.25", 1, 0, 0, 0);
70 my_reaction->AddReaction("p p pi0 pi0 [g dilepton [e+ e-]]");
71 //pi0 decay as defined above. Double pi0 already taken into account
72 //-> therefore we leave one pi0 undecayed
73
74 //Add Delta, if you want that:
75 my_reaction->AddReaction("p D+ [p dilepton [e+ e-]]");
76 //Add Bremsstrahlung, if you want that:
77 //my_reaction->AddReaction("p p dilepton [e+ e-]");
78 //keep in mind double counting, if you enabled brems with "delta" or "sum"
79
80 my_reaction->Print();
81
82 //Attach a control histogram
83 TH1F *pp_sum =
84 new TH1F ("pp_sum", "pp DiLepton mass (coherent sum)", 100, 0., 0.6);
85 pp_sum->Sumw2();
86
87 my_reaction->Do(pp_sum, "_x=[dilepton]->M()");
88
89 my_reaction->Preheating(100);
90
91 my_reaction->Loop(10000);
92
93
94 //It is very crucial to correct the histo for binsize
96
97
98 TCanvas *c1 = new TCanvas("ee_mass", "ee invmass", 800, 800);
99 c1->SetLogy(1);
100 pp_sum->Draw();
101
102}
new TCanvas()
static void correct(TH1 *histo)
PTCrossWeight * my_cross
TH1F * pp_sum
makeDistributionManager() -> Exec("brems: kaptari; weighting")
PReaction my_reaction("3.5","p","7Li","p (n) phi [K+ K-] (6Li)","delme")