@@ -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