6 TString FileEnd =
"mu"+mu+
",Q"+Q+
"_OQP_Psf"+Psf+
".root";
17 Double_t XMin = func->GetX(Max*Whichwidth,func->GetMaximumX()-0.20,func->GetMaximumX());
18 Double_t XMax = func->GetX(Max*Whichwidth,func->GetMaximumX(),func->GetMaximumX()+0.20);
20 return (XMax-XMin)*1000;
29 Double_t Gausian1 = par[0] * TMath::Exp(- 0.5*pow((x[0] - par[1])/par[2],2));
30 Double_t Gausian2 = par[3] * TMath::Exp(- 0.5*pow((x[0] - par[4])/par[5],2));
31 Double_t Gausian3 = par[6] * TMath::Exp(- 0.5*pow((x[0] - par[7])/par[8],2));
32 Double_t Gausian4 = par[9] * TMath::Exp(- 0.5*pow((x[0] - par[10])/par[11],2));
35 return Gausian1+Gausian2+Gausian3+Gausian4+SmoothedStep ;
43 TString Filename1 =
"/data/work/kpha1/steinen/Gamma/Ana/CombinedData/Combined_Ana_Geo43_E0.5189MeV_Evts2860000_FileEvts11440_Gen1_ST12_mu-2.5,Q-2.8_OQP_Psf1.root",
44 TString Filename2 =
"/data/work/kpha1/steinen/Gamma/Ana/CombinedData/Combined_Ana_Geo43_E0.5198MeV_Evts2580000_FileEvts10320_Gen1_ST12_mu-2.5,Q-2.8_OQP_Psf1.root",
45 TString Filename3 =
"/data/work/kpha1/steinen/Gamma/Ana/CombinedData/Combined_Ana_Geo43_E0.5208MeV_Evts2330000_FileEvts9320_Gen1_ST12_mu-2.5,Q-2.8_OQP_Psf1.root",
46 TString Filename4 =
"/data/work/kpha1/steinen/Gamma/Ana/CombinedData/Combined_Ana_Geo43_E0.5215MeV_Evts2110000_FileEvts8440_Gen1_ST12_mu-2.5,Q-2.8_OQP_Psf1.root"
55 andi::setCustomStyle();
57 TString Path =
"/data/work/kpha1/steinen/Gamma/Ana/CombinedData/";
60 Filenames[0]=Filename1;
61 Filenames[1]=Filename2;
62 Filenames[2]=Filename3;
63 Filenames[3]=Filename4;
65 cout<< Filenames[0].Data()<<endl;
72 TF1 *fGausFitCombined =
new TF1(
"fGausFitCombined",
QuadGausPlusStep,0.515,0.525,13);
74 TCanvas *canCombo=
new TCanvas(
"cCombo",
"cCombo",800,600);
75 TCanvas *canAdd=
new TCanvas(
"cAdd",
"cAdd",800,600);
77 can[0]=
new TCanvas(
"c0",
"c0",800,600);
78 can[1]=
new TCanvas(
"c1",
"c1",800,600);
79 can[2]=
new TCanvas(
"c2",
"c2",800,600);
80 can[3]=
new TCanvas(
"c3",
"c3",800,600);
81 for (
int i = 0;
i<4;
i++)
83 InputFiles[
i]=
new TFile(Filenames[
i].Data());
84 InputFiles[
i]->GetObject(
"GamEnergy;1",hTemporary[
i]);
85 hTemporary[
i]->SetDirectory(0);
86 InputFiles[
i]->Close();
89 hTemporary[
i]->Draw();
91 Fitname.Form(
"fGausFit%d",i);
92 fGausFit[
i]=
new TF1(Fitname.Data(),
"gaus",0.515,0.525);
93 hTemporary[
i]->Fit(Fitname.Data(),
"r");
95 fGausFitCombined->SetParameter(3*i+j,fGausFit[i]->GetParameter(j));
96 fGausFitCombined->FixParameter(1+3*i,fGausFitCombined->GetParameter(1+3*i));
97 hTemporary[
i]->Draw(
"");
99 hAddUp =
new TH1D(
"hAddUp",
"4 lines added up;Energy [MeV];Counts [a.u.]",6000,0,0.6);
100 for(
int i = 0;
i<4;
i++)
102 hAddUp->Add(hTemporary[
i],1);
105 fGausFitCombined->SetLineColor(kRed);
106 hAddUp->Fit(
"fGausFitCombined",
"r");
111 for(
int i = 0;
i<4;
i++)
113 fGausFit[
i]->Draw(
"same");
114 cout <<
"gaus " <<
i << endl;
120 Double_t Mean =fGausFitCombined->Mean(0.516,0.524);
121 Double_t StandardDev =
sqrt(fGausFitCombined->Variance(0.516,0.524));
123 Double_t Skewness = fGausFitCombined->CentralMoment(3,0.516,0.524);
124 Double_t Kurtosis = fGausFitCombined->CentralMoment(4,0.516,0.524);
125 Double_t MaxX = fGausFitCombined->GetMaximumX(0.516,0.524);
129 cout <<
"Variance"<<StandardDev<<endl;
130 cout <<
"Mean"<<Mean<<endl;
132 cout <<
"Skewness"<<Skewness<<endl;
133 cout <<
"Kurtosis"<<Kurtosis<<endl;
139 ifstream
outfile (Outfile.Data());
140 bool FileExists =
outfile.good();
144 outfile2 <<
"mu" <<
"\t"<<
"Q"<<
"\t"<<
"Psf"<<
"\t"<<
"MeanPos" <<
"\t" <<
"StandardDev" <<
"\t" <<
"Skewness"<<
"\t" <<
"Kurtosis" <<
"\t" <<
"MaximumX" << endl;
145 outfile2<< mu.Data() <<
"\t"<<Q.Data()<<
"\t"<<Psf.Data()<<
"\t"<< Mean <<
"\t" << StandardDev <<
"\t" << Skewness <<
"\t" << Kurtosis<<
"\t" << MaxX << endl;
148 TString RootOutName = Path +
"/OmegaResults/mu"+mu+
"_Q"+Q +
"__Psf"+Psf+
".root" ;
149 TFile *RootOutfile =
new TFile(RootOutName.Data(),
"RECREATE");
151 fGausFitCombined->Write();
153 for(
int i = 0;
i<4;
i++)
155 fGausFit[
i]->Write();
156 hTemporary[
i]->Write();
159 RootOutfile->Close();
int OmegaQuadrupoleFourEnergiesCombination(TString mu="-2.5", TString Q="-2.8", TString Psf="1", TString Filename1="/data/work/kpha1/steinen/Gamma/Ana/CombinedData/Combined_Ana_Geo43_E0.5189MeV_Evts2860000_FileEvts11440_Gen1_ST12_mu-2.5,Q-2.8_OQP_Psf1.root", TString Filename2="/data/work/kpha1/steinen/Gamma/Ana/CombinedData/Combined_Ana_Geo43_E0.5198MeV_Evts2580000_FileEvts10320_Gen1_ST12_mu-2.5,Q-2.8_OQP_Psf1.root", TString Filename3="/data/work/kpha1/steinen/Gamma/Ana/CombinedData/Combined_Ana_Geo43_E0.5208MeV_Evts2330000_FileEvts9320_Gen1_ST12_mu-2.5,Q-2.8_OQP_Psf1.root", TString Filename4="/data/work/kpha1/steinen/Gamma/Ana/CombinedData/Combined_Ana_Geo43_E0.5215MeV_Evts2110000_FileEvts8440_Gen1_ST12_mu-2.5,Q-2.8_OQP_Psf1.root")
friend F32vec4 sqrt(const F32vec4 &a)
static T Sqrt(const T &x)
std::ofstream Outfile("../data/Lars/0999_1001_85.hit", ios_base::app)
TString CompleteFilename(TString mu, TString Q, TString Psf)
static T Max(const T &x, const T &y)
Double_t GetWidthkeV(TF1 *func, Double_t Whichwidth=0.5)
Double_t QuadGausPlusStep(Double_t *x, Double_t *par)