Pluto v6.3.0
Loading...
Searching...
No Matches
rho_mass_shape.C
Go to the documentation of this file.
1//TITLE Choosing the rho0 -> e+e- partial width model
2
3{
4
5 TCanvas *c1 = new TCanvas();
6 c1->SetLogy(1);
7
8 //Remove VDM M**3 scaling
9 //Not part of standard pluto -> Add this by hand
10 PFixedDecay *pmodel = new PFixedDecay("rho0_novdm_e-_e+",
11 "Rho decay without VDM", -1);
12 pmodel->Add("rho0, parent");
13 pmodel->Add("e+, daughter");
14 pmodel->Add("e-, daughter");
16
17 //Print out what we have:
18 makeDistributionManager()->Print("decay_models");
19
20 //Choosing the model using the distribution manager
21 makeDistributionManager()->Enable("rho_picutoff_e-_e+");
22
23 //Write the primary models to the data base:
24 makeDistributionManager()->LinkDB();
25
26 //Read the primary model for the rho meson:
28
29 //Print rho0 properties:
30 makeStaticData()->PrintParticle("rho0");
31
32 //Set the decay index of the primary model:
33 rho->SetParameter(1, 85);
34 rho->SetDidx(85);
35
36 //Save rho model as ROOT will not evaluate the GetRandom again
39
40 TH1F *h1 = new TH1F("rho0", "rho0", 100, 0., 1.2);
41 rho->GetRandom();
42 for (int i=0; i<10000; i++)
43 h1->Fill(rho->GetRandom());
44 h1->Draw();
45
46 //Change it!
47 makeDistributionManager()->Enable("rho0_ee_e-_e+");
48 makeDistributionManager()->LinkDB();
49
50 TH1F *h2 = new TH1F("rho0_2", "rho0_2", 100, 0., 1.2);
51 for (int i=0; i<15000; i++)
52 h2->Fill(rho2->GetRandom());
53 h2->SetLineStyle(7);
54 h2->Draw("same");
55
56 makeDistributionManager()->Enable("rho0_novdm_e-_e+");
57 makeDistributionManager()->LinkDB();
58
59 TH1F *h3 = new TH1F("rho0_3", "rho0_3", 100, 0., 1.2);
60 for (int i=0; i<10000; i++)
61 h3->Fill(rho3->GetRandom());
62 h3->SetLineStyle(2);
63 h3->Draw("same");
64
65 //scale all histograms that they match in the limit of higher masses
66 h2->Scale(h1->GetBinContent(90) / h2->GetBinContent(90));
67 h3->Scale(h1->GetBinContent(90) / h3->GetBinContent(90));
68}
PDynamicData * makeDynamicData()
TH1F * h1
new TCanvas()
PChannelModel * GetParticleModel(Int_t pid)
PFermiMomentumDD * pmodel
Definition fermi_dd.C:38
PChannelModel * rho3
TH1F * h2
TH1F * h3
PChannelModel * rho
makeStaticData() -> PrintParticle("rho0")
makeDistributionManager() -> Add(pmodel)
PChannelModel * rho2