Difference between revisions of "Lmd eta three pion hlu"
From Lmdwiki
Jump to navigationJump to search (→Revive) |
|||
(30 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | ==Statistics== | + | ==old== |
− | ===Fit missing mass of proton=== | + | ===Statistics=== |
+ | ====Fit missing mass of proton==== | ||
<table> | <table> | ||
<tr> | <tr> | ||
Line 13: | Line 14: | ||
</table> | </table> | ||
− | ==More== | + | ===More=== |
[[File:Eta and eta prime two pion.pdf]] | [[File:Eta and eta prime two pion.pdf]] | ||
− | ==Form of side-band subtraction histograms== | + | ===Form of side-band subtraction histograms=== |
Question: Suppose there is an original function (e.g. Gaussian), what is the form of the function after bin-by-bin side-band subtraction | Question: Suppose there is an original function (e.g. Gaussian), what is the form of the function after bin-by-bin side-band subtraction | ||
Line 22: | Line 23: | ||
[[File:formula.gif]] | [[File:formula.gif]] | ||
− | ===Test of the formula=== | + | ====Test of the formula==== |
10M events of Gaussian distribution were generated for a histograms: | 10M events of Gaussian distribution were generated for a histograms: | ||
[[File:standard_gaussian_fit.png]] | [[File:standard_gaussian_fit.png]] | ||
− | side-band subtracted and plot together with the function | + | side-band subtracted and plot together with the function: |
[[File:side_band_subtracted_standard_gaussian_fit.png]] | [[File:side_band_subtracted_standard_gaussian_fit.png]] | ||
+ | |||
+ | source code: | ||
+ | <pre> | ||
+ | test(){ | ||
+ | const float NEvent=1e7; | ||
+ | const int NBin=50; | ||
+ | const float Low=-5; | ||
+ | const float High=5; | ||
+ | const float BinWidth=(High-Low)/NBin; | ||
+ | TH1D* h1=new TH1D("test","test",NBin,Low,High); | ||
+ | h1->FillRandom("gaus",NEvent); | ||
+ | TH1D* h2=h1->Clone("subtracted"); | ||
+ | for(int i=2;i<100;i++){ | ||
+ | float middle=h1->GetBinContent(i); | ||
+ | float left=h1->GetBinContent(i-1); | ||
+ | float right=h1->GetBinContent(i+1); | ||
+ | float result=middle-(left+right)/2.0; | ||
+ | float error=sqrt(middle+left/2.0+right/2.0); | ||
+ | h2->SetBinContent(i,result); | ||
+ | h2->SetBinError(i,error); | ||
+ | } | ||
+ | |||
+ | TF1* func=new TF1("fit","-[3]*[3]/2*(-gaus(0)/[2]/[2]+(x-[1])*(x-[1])*gaus(0)/([2]**4))"); | ||
+ | |||
+ | func->FixParameter(2,1); | ||
+ | func->FixParameter(0,NEvent/sqrt(2*3.1416)/1*BinWidth); | ||
+ | func->FixParameter(1,0); | ||
+ | func->FixParameter(3,BinWidth); | ||
+ | |||
+ | h2->Fit("fit"); | ||
+ | TCanvas* c1=new TCanvas("c1","c1",696,474); | ||
+ | h2->Draw(); | ||
+ | TCanvas* c2=new TCanvas("c2","c2",696,474); | ||
+ | h1->Fit("gaus"); | ||
+ | h1->Draw(); | ||
+ | } | ||
+ | |||
+ | |||
+ | </pre> | ||
+ | |||
+ | ==== Test with larg bin width ==== | ||
+ | |||
+ | <table> | ||
+ | <tr> | ||
+ | <td>[[File:Side band subtracted standard gaussian fit 1sigma.png|thumb|left|300px|fit of side-band subtracted Gaussian. bin width:1, Sigma: 1 Original magnitude: 3.98942e+02; fitted magnitude: 3.31002e+02]]</td> | ||
+ | <td>[[File:Side band subtracted standard gaussian fit 0.5sigma.png|thumb|left|300px|fit of side-band subtracted Gaussian. bin width:0.5, Sigma: 1 Original magnitude: 1.99471e+02; fitted magnitude: 1.91370e+02]]</td> | ||
+ | <td>[[File:Side band subtracted standard gaussian fit 2sigma.png|thumb|left|300px|fit of side-band subtracted Gaussian. bin width:2, Sigma: 1 Original magnitude: 7.97884e+02; fitted magnitude: 2.49810e+02]]</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | <pre> | ||
+ | test(){ | ||
+ | const float NEvent=1e3; | ||
+ | const int NBin=5; | ||
+ | const float Low=-5; | ||
+ | const float High=5; | ||
+ | const float BinWidth=(High-Low)/NBin; | ||
+ | TRandom3 random(0); | ||
+ | TH1D* h1=new TH1D("test","test",NBin,Low,High); | ||
+ | h1->FillRandom("gaus",NEvent); | ||
+ | TH1D* h2=h1->Clone("subtracted"); | ||
+ | for(int i=2;i<100;i++){ | ||
+ | float middle=h1->GetBinContent(i); | ||
+ | float left=h1->GetBinContent(i-1); | ||
+ | float right=h1->GetBinContent(i+1); | ||
+ | float result=middle-(left+right)/2.0; | ||
+ | float error=sqrt(middle+left/2.0+right/2.0); | ||
+ | h2->SetBinContent(i,result); | ||
+ | h2->SetBinError(i,error); | ||
+ | } | ||
+ | |||
+ | TF1* funcFix=new TF1("fit_fix","-[3]*[3]/2*(-gaus(0)/[2]/[2]+(x-[1])*(x-[1])*ga\ | ||
+ | us(0)/([2]**4))"); | ||
+ | |||
+ | funcFix->FixParameter(2,1); | ||
+ | funcFix->FixParameter(0,NEvent/sqrt(2*3.1416)/1*BinWidth); | ||
+ | funcFix->FixParameter(1,0); | ||
+ | funcFix->FixParameter(3,BinWidth); | ||
+ | funcFix->SetLineColor(kRed); | ||
+ | h2->Fit("fit_fix"); | ||
+ | TF1* func=new TF1("fit","-[3]*[3]/2*(-gaus(0)/[2]/[2]+(x-[1])*(x-[1])*gaus(0)/(\ | ||
+ | [2]**4))"); | ||
+ | |||
+ | func->FixParameter(2,1); | ||
+ | // func->FixParameter(0,NEvent/sqrt(2*3.1416)/1*BinWidth); | ||
+ | func->FixParameter(1,0); | ||
+ | func->FixParameter(3,BinWidth); | ||
+ | func->SetLineColor(kBlue); | ||
+ | h2->Fit("fit","+"); | ||
+ | TCanvas* c1=new TCanvas("c1","c1",696,474); | ||
+ | h2->Draw(); | ||
+ | TCanvas* c2=new TCanvas("c2","c2",696,474); | ||
+ | h1->Fit("gaus"); | ||
+ | h1->Draw(); | ||
+ | } | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | ===Test with background=== | ||
+ | <table> | ||
+ | <tr> | ||
+ | <td>[[File:Fit standard guassian background.png|thumb|left|300px|fit of standard Gaussian with second-order polynomial background.]]</td> | ||
+ | <td>[[File:Side band subtracted standard gaussian fit 2sigma background.png|thumb|left|300px|fit of side-band subtracted Gaussian. bin width:0.5, Sigma: 1 Original magnitude: 1.99471e+04; fitted magnitude: 1.98083e+04]]</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | <pre> | ||
+ | test(){ | ||
+ | const float NEvent=1e5; | ||
+ | const float NSignal=1e5; | ||
+ | const int NBin=20; | ||
+ | const float Low=-5; | ||
+ | const float High=5; | ||
+ | const float BinWidth=(High-Low)/NBin; | ||
+ | TRandom3 random(0); | ||
+ | TH1D* h1=new TH1D("test","test",NBin,Low,High); | ||
+ | h1->FillRandom("pol2",NEvent); | ||
+ | h1->FillRandom("gaus",NSignal); | ||
+ | TH1D* h2=h1->Clone("subtracted"); | ||
+ | for(int i=2;i<100;i++){ | ||
+ | float middle=h1->GetBinContent(i); | ||
+ | float left=h1->GetBinContent(i-1); | ||
+ | float right=h1->GetBinContent(i+1); | ||
+ | float result=middle-(left+right)/2.0; | ||
+ | float error=sqrt(middle+left/2.0+right/2.0); | ||
+ | h2->SetBinContent(i,result); | ||
+ | h2->SetBinError(i,error); | ||
+ | } | ||
+ | |||
+ | TF1* funcFix=new TF1("fit_fix","-[3]*[3]/2*(-gaus(0)/[2]/[2]+(x-[1])*(x-[1])*gaus(0)/([2]**4))"); | ||
+ | |||
+ | funcFix->FixParameter(2,1); | ||
+ | funcFix->FixParameter(0,NSignal/sqrt(2*3.1416)/1*BinWidth); | ||
+ | funcFix->FixParameter(1,0); | ||
+ | funcFix->FixParameter(3,BinWidth); | ||
+ | funcFix->SetLineColor(kRed); | ||
+ | h2->Fit("fit_fix"); | ||
+ | TF1* func=new TF1("fit","-[3]*[3]/2*(-gaus(0)/[2]/[2]+(x-[1])*(x-[1])*gaus(0)/([2]**4))"); | ||
+ | |||
+ | func->FixParameter(2,1); | ||
+ | // func->FixParameter(0,NEvent/sqrt(2*3.1416)/1*BinWidth); | ||
+ | func->FixParameter(1,0); | ||
+ | func->FixParameter(3,BinWidth); | ||
+ | func->SetLineColor(kBlue); | ||
+ | h2->Fit("fit","+"); | ||
+ | |||
+ | TCanvas* c2=new TCanvas("c2","c2",696,474); | ||
+ | h2->Draw(); | ||
+ | TCanvas* c1=new TCanvas("c1","c1",696,474); | ||
+ | TF1* signal_back=new TF1("signal_back","gaus(0)+pol2(2)"); | ||
+ | signal_back->SetParameters(NEvent/sqrt(2*3.1416)/1*BinWidth,0.0,1.0,0.0,0.0,0.0); | ||
+ | h1->Fit("signal_back"); | ||
+ | h1->Draw(); | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | ==== apply on the data ==== | ||
+ | bin width=1MeV yield/error:0.16384 limit:1.81985 | ||
+ | |||
+ | bin width=2MeV yield/error:-1.69772 limit:0.491618 | ||
+ | |||
+ | bin width=3MeV yield/error:-2.48978 limit:0.321244 | ||
+ | === Compare data and simu === | ||
+ | ==== eta prime==== | ||
+ | <table> | ||
+ | <tr> | ||
+ | <td>[[file:CompareEBeam etaprime eta.png |thumb|left|300px|compare beam energy between data (red) and simulation (blue)]]</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>[[file:CompareMomentumProton etaprime eta.png |thumb|left|300px|compare momentum of proton between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:CompareThetaProton etaprime eta.png |thumb|left|300px|compare polar angle of proton between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:ComparePhiProton etaprime eta.png |thumb|left|300px|compare azimuthal angle between data (red) and simulation (blue)]]</td> | ||
+ | |||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>[[file:CompareMomentumPip etaprime eta.png |thumb|left|300px|compare momentum of pi+ between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:CompareThetaPip etaprime eta.png |thumb|left|300px|compare polar angle of pi+ between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:ComparePhiPip etaprime eta.png |thumb|left|300px|compare azimuthal angle of pi+ between data (red) and simulation (blue)]]</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>[[file:CompareMomentumPim etaprime eta.png |thumb|left|300px|compare momentum of pi- between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:CompareThetaPim etaprime eta.png |thumb|left|300px|compare polar angle of pi- between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:ComparePhiPim etaprime eta.png |thumb|left|300px|compare azimuthal angle between data (red) and simulation (blue)]]</td> | ||
+ | </tr> | ||
+ | |||
+ | </table> | ||
+ | |||
+ | ==== eta==== | ||
+ | <table> | ||
+ | <tr> | ||
+ | <td>[[file:CompareEBeam eta three pion.png |thumb|left|300px|compare beam energy between data (red) and simulation (blue)]]</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>[[file:CompareMomentumProton eta three pion.png |thumb|left|300px|compare momentum of proton between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:CompareThetaProton eta three pion.png |thumb|left|300px|compare polar angle of proton between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:ComparePhiProton eta three pion.png |thumb|left|300px|compare azimuthal angle of proton between data (red) and simulation (blue)]]</td> | ||
+ | |||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>[[file:CompareMomentumPip eta three pion.png |thumb|left|300px|compare momentum of pi+ between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:CompareThetaPip eta three pion.png |thumb|left|300px|compare polar angle of pi+ between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:ComparePhiPip eta three pion.png |thumb|left|300px|compare azimuthal angle of pi+ between data (red) and simulation (blue)]]</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>[[file:CompareMomentumPim eta three pion.png |thumb|left|300px|compare momentum of pi- between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:CompareThetaPim eta three pion.png |thumb|left|300px|compare polar angle of pi- between data (red) and simulation (blue)]]</td> | ||
+ | <td>[[file:ComparePhiPim eta three pion.png |thumb|left|300px|compare azimuthal angle of pi- between data (red) and simulation (blue)]]</td> | ||
+ | </tr> | ||
+ | |||
+ | </table> | ||
+ | |||
+ | ===Feldman-Cousin Method=== | ||
+ | [[File:Feldman cousin upper limit.png]] | ||
+ | ==Revive== | ||
+ | ===channel=== | ||
+ | γ p → p π+π-π+π- | ||
+ | |||
+ | selecting p η prime production and η prime decay to π+π-η | ||
+ | |||
+ | <table> | ||
+ | <tr> | ||
+ | <td>[[File:Mm p before cut.png|thumb|left|300px|before selecting η prime]]</td> | ||
+ | <td>[[File:Mm p after cut.png|thumb|left|300px|after selecting η prime. A mistake makes the selection too too tight]]</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | ===Production channels=== | ||
+ | <table> | ||
+ | <tr> | ||
+ | <td>[[File:Mm2vsmmppipi.png|thumb|left|300px|Missing mass square vs. missing mass of p&pi;+π-]]</td> | ||
+ | <td>[[File:Mm ppippim.png|thumb|left|300px|Fit η in spectrum of missing mass of p&pi;+π- and yield 6349]]</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | ===With or Without photon=== | ||
+ | <table> | ||
+ | <tr> | ||
+ | <td>[[File:Mpvsmmpppipi.png|thumb|left|300px|Missing momentum vs. missing mass of p&pi;+π- after selecting missing mass around zero]]</td> | ||
+ | <td>[[File:Im pippim.png|thumb|left|300px|Invariant mass of π+π- after requiring missing momentum smaller than 50 MeV]]</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | ===Upper Limit=== | ||
+ | <table> | ||
+ | <tr> | ||
+ | <td>[[File:Fit im pippim.png|thumb|left|300px|Fit of invariant mass of π+π- around η and yield upper limit of 1.64 with statistical uncertainty of bin at 5.12 and fitted yield -12.5]]</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | Therefore, the upper limit is 1.64/6349*0.28(fraction of all charged mode)=7.0e-5 | ||
==reference== | ==reference== | ||
+ | [http://fr.arxiv.org/pdf/hep-ex/0411030v2 upper limit of eta with KLOE detector] |
Latest revision as of 16:31, 30 October 2015
old
Statistics
Fit missing mass of proton
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
More
File:Eta and eta prime two pion.pdf
Form of side-band subtraction histograms
Question: Suppose there is an original function (e.g. Gaussian), what is the form of the function after bin-by-bin side-band subtraction
Answer: Suppose the function is y=f(x). The side-band subtraction makes a new function:
Test of the formula
10M events of Gaussian distribution were generated for a histograms:
side-band subtracted and plot together with the function:
source code:
test(){ const float NEvent=1e7; const int NBin=50; const float Low=-5; const float High=5; const float BinWidth=(High-Low)/NBin; TH1D* h1=new TH1D("test","test",NBin,Low,High); h1->FillRandom("gaus",NEvent); TH1D* h2=h1->Clone("subtracted"); for(int i=2;i<100;i++){ float middle=h1->GetBinContent(i); float left=h1->GetBinContent(i-1); float right=h1->GetBinContent(i+1); float result=middle-(left+right)/2.0; float error=sqrt(middle+left/2.0+right/2.0); h2->SetBinContent(i,result); h2->SetBinError(i,error); } TF1* func=new TF1("fit","-[3]*[3]/2*(-gaus(0)/[2]/[2]+(x-[1])*(x-[1])*gaus(0)/([2]**4))"); func->FixParameter(2,1); func->FixParameter(0,NEvent/sqrt(2*3.1416)/1*BinWidth); func->FixParameter(1,0); func->FixParameter(3,BinWidth); h2->Fit("fit"); TCanvas* c1=new TCanvas("c1","c1",696,474); h2->Draw(); TCanvas* c2=new TCanvas("c2","c2",696,474); h1->Fit("gaus"); h1->Draw(); }
Test with larg bin width
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
test(){ const float NEvent=1e3; const int NBin=5; const float Low=-5; const float High=5; const float BinWidth=(High-Low)/NBin; TRandom3 random(0); TH1D* h1=new TH1D("test","test",NBin,Low,High); h1->FillRandom("gaus",NEvent); TH1D* h2=h1->Clone("subtracted"); for(int i=2;i<100;i++){ float middle=h1->GetBinContent(i); float left=h1->GetBinContent(i-1); float right=h1->GetBinContent(i+1); float result=middle-(left+right)/2.0; float error=sqrt(middle+left/2.0+right/2.0); h2->SetBinContent(i,result); h2->SetBinError(i,error); } TF1* funcFix=new TF1("fit_fix","-[3]*[3]/2*(-gaus(0)/[2]/[2]+(x-[1])*(x-[1])*ga\ us(0)/([2]**4))"); funcFix->FixParameter(2,1); funcFix->FixParameter(0,NEvent/sqrt(2*3.1416)/1*BinWidth); funcFix->FixParameter(1,0); funcFix->FixParameter(3,BinWidth); funcFix->SetLineColor(kRed); h2->Fit("fit_fix"); TF1* func=new TF1("fit","-[3]*[3]/2*(-gaus(0)/[2]/[2]+(x-[1])*(x-[1])*gaus(0)/(\ [2]**4))"); func->FixParameter(2,1); // func->FixParameter(0,NEvent/sqrt(2*3.1416)/1*BinWidth); func->FixParameter(1,0); func->FixParameter(3,BinWidth); func->SetLineColor(kBlue); h2->Fit("fit","+"); TCanvas* c1=new TCanvas("c1","c1",696,474); h2->Draw(); TCanvas* c2=new TCanvas("c2","c2",696,474); h1->Fit("gaus"); h1->Draw(); }
Test with background
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
test(){ const float NEvent=1e5; const float NSignal=1e5; const int NBin=20; const float Low=-5; const float High=5; const float BinWidth=(High-Low)/NBin; TRandom3 random(0); TH1D* h1=new TH1D("test","test",NBin,Low,High); h1->FillRandom("pol2",NEvent); h1->FillRandom("gaus",NSignal); TH1D* h2=h1->Clone("subtracted"); for(int i=2;i<100;i++){ float middle=h1->GetBinContent(i); float left=h1->GetBinContent(i-1); float right=h1->GetBinContent(i+1); float result=middle-(left+right)/2.0; float error=sqrt(middle+left/2.0+right/2.0); h2->SetBinContent(i,result); h2->SetBinError(i,error); } TF1* funcFix=new TF1("fit_fix","-[3]*[3]/2*(-gaus(0)/[2]/[2]+(x-[1])*(x-[1])*gaus(0)/([2]**4))"); funcFix->FixParameter(2,1); funcFix->FixParameter(0,NSignal/sqrt(2*3.1416)/1*BinWidth); funcFix->FixParameter(1,0); funcFix->FixParameter(3,BinWidth); funcFix->SetLineColor(kRed); h2->Fit("fit_fix"); TF1* func=new TF1("fit","-[3]*[3]/2*(-gaus(0)/[2]/[2]+(x-[1])*(x-[1])*gaus(0)/([2]**4))"); func->FixParameter(2,1); // func->FixParameter(0,NEvent/sqrt(2*3.1416)/1*BinWidth); func->FixParameter(1,0); func->FixParameter(3,BinWidth); func->SetLineColor(kBlue); h2->Fit("fit","+"); TCanvas* c2=new TCanvas("c2","c2",696,474); h2->Draw(); TCanvas* c1=new TCanvas("c1","c1",696,474); TF1* signal_back=new TF1("signal_back","gaus(0)+pol2(2)"); signal_back->SetParameters(NEvent/sqrt(2*3.1416)/1*BinWidth,0.0,1.0,0.0,0.0,0.0); h1->Fit("signal_back"); h1->Draw(); }
apply on the data
bin width=1MeV yield/error:0.16384 limit:1.81985
bin width=2MeV yield/error:-1.69772 limit:0.491618
bin width=3MeV yield/error:-2.48978 limit:0.321244
Compare data and simu
eta prime
Error creating thumbnail: File missing |
||
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
eta
Error creating thumbnail: File missing |
||
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Feldman-Cousin Method
Revive
channel
γ p → p π+π-π+π-
selecting p η prime production and η prime decay to π+π-η
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Production channels
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
With or Without photon
Error creating thumbnail: File missing |
Error creating thumbnail: File missing |
Upper Limit
Error creating thumbnail: File missing |
Therefore, the upper limit is 1.64/6349*0.28(fraction of all charged mode)=7.0e-5