Pluto v6.3.0
Loading...
Searching...
No Matches
thermal_mult.C
Go to the documentation of this file.
1{
2 // test decay manager with thermal pi0 source in 2AGeV Ca+Ca collisions
3 // R.H. 17/8/2000
4
5 // Make funny use of the decay manager for a thermal macro
6
8 pdm->SetVerbose();
9 // pdm->SetDefault("pi0"); // use default pi0 decays
10 // pdm->SetDefault("dilepton"); // use default dilepton decays
11
12 TH1F *h1 = new TH1F("Npart", "Npart", 100, 0., 100.);
13 TH1F *h2 = new TH1F("b", "Impact Parameter", 100, 0., 20.);
14 PFireball *source1 = new PFireball("pi0", 2., 0.07); // pure Boltzmann
15 PFireball *source2 = new PFireball("pi0", 2., 0.07); // pure Boltzmann
16 source2->setRandomB(40., 40., 0.1); // Ca + Ca, P(pi0) = 10%
17
18 for(Int_t i=0; i<100000; i++) {
19 float b = source2->sampleB();
20 Int_t n = source2->sampleNProd(b);
21 h1->Fill(n);
22 h2->Fill(b);
23 }
24
25 Float_t sum = 0.;
26 for(Int_t j=2; j<=5; j++)
27 sum += h1->GetBinContent(j);
28 h1->Scale(1./sum); // normalize multiplicity bins >0 to 1
29 for(Int_t j=1; j <= 100; j++) printf("%d: %f\n", j, h1->GetBinContent(j));
30
31 char *products[] = {
32 "pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0",
33 "pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0",
34 "pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0",
35 "pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0",
36 "pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0","pi0" };
37
38 PDecayChannel *c = new PDecayChannel; // set up decay of thermal source
39 for(Int_t k=2; k<=5 && h1->GetBinContent(k)>0.01; k++) {
40 printf("Mult=%d Prob=%f\n", k-1, h1->GetBinContent(k));
41 c->AddChannel(h1->GetBinContent(k), k-1, products);
42 }
43
44 pdm->InitReaction(source1, c);
45 pdm->Print();
46
47 pdm->loop(10000, 0, "fire", 0, 0, 0, 0);
48}
49
50
51
52
53
54
PFireball * source2
Definition NiNi_2AGeV.C:20
PFireball * source1
Definition NiNi_2AGeV.C:18
TH1F * h1
PChannel * c[]
PDecayManager * pdm
Definition dp_w_dalitz.C:5
Int_t n
Definition etap+omeg.C:21
TH1F * h2
Float_t sum