7 Double_t bichselZ(Double_t *x,Double_t *par) {
8 Double_t pove = pow(10.,x[0]);
10 Double_t poverm = ppion/par[0];
18 if (par[3] > 0) m_Bichsel = P10;
19 Double_t val1 = m_Bichsel->GetMostProbableZ(TMath::Log10(poverm),1.);
21 Double_t val = TMath::Log10(TMath::Exp(val1));
26 Double_t bichsel70(Double_t *x,Double_t *par) {
27 Double_t pove = pow(10.,x[0]);
28 Double_t ppion = pove;
29 Double_t poverm = ppion/par[0];
37 if (par[3] > 0) m_Bichsel = P10;
38 if (! m_Bichsel ) {cout <<
"m_Bichsel is not defined" << endl;}
39 Double_t val1 = m_Bichsel->GetI70(TMath::Log10(poverm),1.)*TMath::Exp(par[2]);
41 Double_t val = TMath::Log10(val1);
48 void BichselD(TString tag=
"P10") {
50 if (!P10 || !Ar || gClassTable->GetID(
"StBichsel") < 0) {
51 gSystem->Load(
"libTable");
52 gSystem->Load(
"St_base");
53 gSystem->Load(
"StarClassLibrary");
54 gSystem->Load(
"StBichsel");
55 P10 = Bichsel::Instance(
"P10");
56 Ar = Bichsel::Instance(
"Bich");
59 TLegend *leg =
new TLegend(0.7,0.4,0.9,0.9,
"");
60 Char_t *names[8] = {
"K",
"e",
"p",
"pi",
"mu",
"d",
"t",
"He3"};
61 Char_t *Names[8] = {
"K",
"e",
"p",
"#pi",
"#mu",
"d",
"t",
"He3"};
62 Double_t masses[8] = {0.493677,0.51099907e-3,0.93827231,0.13956995,0.1056584,0.1876E+01,0.2809E+01,0.2809E+01};
63 for (
int l = 0; l < 6; l++) {
71 for (
int k = -1; k <= 1; k +=1) {
72 TF1 *fb70 =
new TF1(Form(
"%sb70%s",tag.Data(),names[l]),bichsel70,-1.,4.0,4);
73 fb70->SetParameter(0,masses[l]);
74 fb70->SetParameter(1,0);
75 fb70->SetLineColor(l);
76 fb70->SetLineStyle(1);
77 TString Name(Names[l]);
78 fb70->SetParameter(2,0);
79 fb70->SetParameter(3,0);
80 if (tag.Contains(
"p10",TString::kIgnoreCase)) fb70->SetParameter(3,1);
81 cout << fb70->GetName() << endl;
83 if (k == -1) Name +=
" -8%";
84 if (k == 1) Name +=
" +8%";
85 leg->AddEntry(fb70,Form(
"%s %s I70",Name.Data(),tag),
"L");