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
39
PTCrossWeight
*
my_cross
=
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)
43
makeDistributionManager
()->Add(
my_cross
);
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
67
PReaction
*
my_reaction
=
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
95
PUtils::correct
(
pp_sum
);
96
97
98
TCanvas
*
c1
=
new
TCanvas
(
"ee_mass"
,
"ee invmass"
, 800, 800);
99
c1
->SetLogy(1);
100
pp_sum
->Draw();
101
102
}
c1
c1
Definition
analyze_pp_delta_dalitz.C:23
TCanvas
new TCanvas()
PReaction
Definition
PReaction.h:37
PTCrossWeight
Definition
PTCrossWeight.h:17
PUtils::correct
static void correct(TH1 *histo)
my_cross
PTCrossWeight * my_cross
Definition
dp_cocktail_1.25.C:17
pp_sum
TH1F * pp_sum
Definition
pp_cocktail_1.25.C:83
makeDistributionManager
makeDistributionManager() -> Exec("brems: kaptari; weighting")
my_reaction
PReaction my_reaction("3.5","p","7Li","p (n) phi [K+ K-] (6Li)","delme")
pluto6
macros
pp_cocktail_1.25.C
Generated by
1.14.0