Pluto v6.3.0
Loading...
Searching...
No Matches
use_Do_in_PChannel.C
Go to the documentation of this file.
1//TITLE Using scripting in a PChannel
2
3{
4
5 PFireball *source = new PFireball("w", 1.0, 0.055, 0.0, 1.0, 0.0, 0., 0., 0., 0.); //1AGeV temp.
6 source->setTrueThermal(kFALSE);
7
8 PParticle *w = new PParticle("w");
10 PChannel *c1 = new PChannel(s1, 1, 1);
11
12 c1->Do("loop: [w]->SetM({w_bw}->SampleTotalMass()); if ([w]->M() > 0.85) goto loop");
13
14 PParticle *ep = new PParticle("mu+");
15 PParticle *em = new PParticle("mu-");
16 PParticle *pi = new PParticle("pi0");
17 PParticle *dm = new PParticle("dimuon");
18 PParticle *s2[] = {w, dm, pi};
19 PChannel *c2 = new PChannel(s2, 2, 1);
20
21 PChannel *cc[] = {c1, c2};
22 PReaction *r = new PReaction(cc, "thermal_w", 2);
23 TH1F *histo = new TH1F("histo", "mumu mass", 100, 0.1, 1.2);
24 TH1F *histo2 = new TH1F("histo2", "w mass", 100, 0.1, 1.2);
25 r->Do(histo, "_x = ([dimuon])->M()");
26 r->Do(histo2, "_x = ([w])->M()");
27 r->Print();
28 r->loop(10000);
29
30 histo2->Draw();
31
32 //data->Draw("M()","ID()==41","");
33
34}
PParticle * ep
PParticle * em
PReaction r(c,"eta_dalitz", 3, 0, 0, 0, 1)
PParticle * s2[]
PParticle * s1[]
PChannel * c2
PChannel * cc[]
PFireball source("pi0", 0.1, 0)
TH2F * histo2
TH1F * histo
PParticle * pi
PParticle * w
PParticle * dm