Skip to content

Commit 9947c47

Browse files
committed
...
1 parent ebac1ed commit 9947c47

File tree

1 file changed

+26
-12
lines changed

1 file changed

+26
-12
lines changed

examples/convolution/fit_convoluted_pdfs.inl

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,13 @@ int main(int argv, char** argc)
125125

126126
//gaussian convolution kernel
127127
hydra::Parameter mean = hydra::Parameter::Create().Name("Mean_Kernel").Value( 0.0).Fixed();
128-
hydra::Parameter sigma = hydra::Parameter::Create().Name("Sigma_Kernel").Value(1.0).Fixed();
128+
hydra::Parameter sigma = hydra::Parameter::Create().Name("Sigma_Kernel").Value(0.5).Fixed();
129129

130130
hydra::Gaussian<0> gaussian_kernel(mean, sigma);
131131

132132
//Breit-Wigner
133133
hydra::Parameter mass = hydra::Parameter::Create().Name("Mass" ).Value(5.0).Error(0.0001).Limits(4.0,6.0);
134-
hydra::Parameter width = hydra::Parameter::Create().Name("Width").Value(0.1).Error(0.0001).Limits(0.05,0.5);
134+
hydra::Parameter width = hydra::Parameter::Create().Name("Width").Value(0.05).Error(0.0001).Limits(0.01,0.1);
135135

136136
hydra::BreitWignerNR<0> bw_signal(mass, width );
137137

@@ -144,9 +144,9 @@ int main(int argv, char** argc)
144144
auto fft_backend = hydra::fft::fftw_f64;
145145
#endif
146146

147-
auto convolution_signal = hydra::make_convolution<0>( hydra::device::sys, fft_backend, bw_signal, gaussian_kernel, min, max,10000);
147+
auto convolution_signal = hydra::make_convolution<0>( hydra::device::sys, fft_backend, bw_signal, gaussian_kernel, min, max,10112);
148148

149-
auto Signal_PDF = hydra::make_pdf( convolution_signal, hydra::GaussKronrodQuadrature<61, 50, hydra::device::sys_t>(min, max));
149+
auto Signal_PDF = hydra::make_pdf( convolution_signal, hydra::GaussKronrodQuadrature<61, 100, hydra::device::sys_t>(min, max));
150150

151151
//--------------------------------------------
152152

@@ -172,6 +172,7 @@ int main(int argv, char** argc)
172172

173173
#ifdef _ROOT_AVAILABLE_
174174
TH1D hist_data( "data" , "", nbins, min, max);
175+
TH1D hist_raw_signal("raw_signal" , "", nbins, 4.0, 6.0);
175176
TH1D hist_signal("signal" , "", nbins, min, max);
176177
TH1D hist_background("background", "", nbins, min, max);
177178
TH1D hist_total("total" , "", nbins, min, max);
@@ -240,14 +241,17 @@ int main(int argv, char** argc)
240241
//draw fitted function
241242
for (size_t i=0 ; i<=nbins ; i++) {
242243
//
243-
hist_total.SetBinContent( i,
244-
fcn.GetPDF()(hist_total.GetBinCenter(i) ) );
244+
hist_total.SetBinContent( i,
245+
fcn.GetPDF()(hist_total.GetBinCenter(i) ) );
245246

246-
hist_signal.SetBinContent( i,
247-
fcn.GetPDF().PDF(_0)(hist_signal.GetBinCenter(i) ) );
247+
hist_raw_signal.SetBinContent( i,
248+
fcn.GetPDF().PDF(_0).GetFunctor().GetFunctor(_0)(hist_raw_signal.GetBinCenter(i) ) );
248249

249-
hist_background.SetBinContent( i,
250-
fcn.GetPDF().PDF(_1)(hist_background.GetBinCenter(i) ) );
250+
hist_signal.SetBinContent( i,
251+
fcn.GetPDF().PDF(_0)(hist_signal.GetBinCenter(i) ) );
252+
253+
hist_background.SetBinContent( i,
254+
fcn.GetPDF().PDF(_1)(hist_background.GetBinCenter(i) ) );
251255

252256
}
253257

@@ -268,16 +272,18 @@ int main(int argv, char** argc)
268272
TApplication *myapp=new TApplication("myapp",0,0);
269273

270274
//draw histograms
271-
TCanvas canvas_d("canvas_d" ,"Distributions - Device", 500, 500);
275+
TCanvas canvas("canvas_d" ,"Distributions - Device", 1000, 500);
276+
canvas.Divide(2,1);
277+
canvas.cd(1);
272278
hist_data.SetMinimum(0);
273279
hist_data.Draw("E1");
274280
hist_data.SetLineWidth(2);
275281

276-
277282
//total
278283
hist_total.Draw("histsameC");
279284
hist_total.SetLineColor(4);
280285
hist_total.SetLineWidth(2);
286+
281287
//total
282288
hist_signal.Draw("histsameC");
283289
hist_signal.SetLineColor(8);
@@ -287,6 +293,14 @@ int main(int argv, char** argc)
287293
hist_background.SetLineColor(2);
288294
hist_background.SetLineWidth(2);
289295

296+
canvas.cd(2);
297+
298+
299+
//raw_signal
300+
auto h=hist_raw_signal.DrawNormalized("histC");
301+
h->SetLineColor(6);
302+
h->SetLineWidth(2);
303+
290304
myapp->Run();
291305

292306
#endif //_ROOT_AVAILABLE_

0 commit comments

Comments
 (0)