29 using namespace RooFit;
31 void rf210_angularconv()
37 RooRealVar psi(
"psi",
"psi", 0, 3.14159268);
40 RooGenericPdf Tpsi(
"Tpsi",
"1+sin(2*@0)", psi);
43 RooRealVar gbias(
"gbias",
"gbias", 0.2, 0., 1);
44 RooRealVar greso(
"greso",
"greso", 0.3, 0.1, 1.0);
45 RooGaussian Rpsi(
"Rpsi",
"Rpsi", psi, gbias, greso);
48 RooRealVar cpsi(
"cpsi",
"cos(psi)", -1, 1);
49 RooFormulaVar psif(
"psif",
"acos(cpsi)", cpsi);
52 RooGenericPdf Tcpsi(
"T",
"1+sin(2*@0)", psif);
58 RooFFTConvPdf Mpsi(
"Mf",
"Mf", psi, Tpsi, Rpsi);
61 Mpsi.setBufferFraction(0);
67 RooDataSet *data_psi = Mpsi.generate(psi, 10000);
70 Mpsi.fitTo(*data_psi);
73 RooPlot *frame1 = psi.frame(Title(
"Cyclical convolution in angle psi"));
74 data_psi->plotOn(frame1);
78 Tpsi.plotOn(frame1, LineColor(kRed));
87 RooFFTConvPdf Mcpsi(
"Mf",
"Mf", psif, psi, Tpsi, Rpsi);
90 Mcpsi.setBufferFraction(0);
96 RooDataSet *data_cpsi = Mcpsi.generate(cpsi, 10000);
99 psi.setConstant(
true);
102 Mcpsi.fitTo(*data_cpsi);
105 RooPlot *frame2 = cpsi.frame(Title(
"Same convolution in psi, expressed in cos(psi)"));
106 data_cpsi->plotOn(frame2);
107 Mcpsi.plotOn(frame2);
110 Tcpsi.plotOn(frame2, LineColor(kRed));
113 TCanvas *c =
new TCanvas(
"rf210_angularconv",
"rf210_angularconv", 800, 400);
116 gPad->SetLeftMargin(0.15);
117 frame1->GetYaxis()->SetTitleOffset(1.4);
120 gPad->SetLeftMargin(0.15);
121 frame2->GetYaxis()->SetTitleOffset(1.4);