| 995 |
this->Fit(false); |
this->Fit(false); |
| 996 |
}; |
}; |
| 997 |
|
|
| 998 |
Float_t CaloLong::Evaluate(TString s, Float_t tmax){ |
Float_t CaloLong::Evaluate(TString s, Float_t tmax, Float_t X0pl){ |
| 999 |
/* SAMPLE OUTPUT: |
/* SAMPLE OUTPUT: |
| 1000 |
Enter Infix Expression : A + B + C / (E - F) |
Enter Infix Expression : A + B + C / (E - F) |
| 1001 |
Postfix Expression is : A B + C E F - / + |
Postfix Expression is : A B + C E F - / + |
| 1002 |
*/ |
*/ |
| 1003 |
if ( !s.Contains("t") ){ |
if ( !s.Contains("tmax") && !s.Contains("X0pl") ){ |
| 1004 |
printf(" ERROR, the input formula must contain \"t\"\n"); |
printf(" ERROR, the input formula must contain \"t\"\n"); |
| 1005 |
return 0.; |
return 0.; |
| 1006 |
}; |
}; |
| 1009 |
return 0.; |
return 0.; |
| 1010 |
}; |
}; |
| 1011 |
TString g=Form("%f",tmax); |
TString g=Form("%f",tmax); |
| 1012 |
|
TString h=Form("%f",X0pl); |
| 1013 |
TString *ts= new TString(""); |
TString *ts= new TString(""); |
| 1014 |
ts->Prepend(s.Data()); |
ts->Prepend(s.Data()); |
| 1015 |
ts->ReplaceAll("t",1,g.Data(),g.Capacity()); |
ts->ReplaceAll("tmax",4,g.Data(),g.Capacity()); |
| 1016 |
|
ts->ReplaceAll("X0pl",4,h.Data(),h.Capacity()); |
| 1017 |
ts->Prepend("("); |
ts->Prepend("("); |
| 1018 |
ts->Append(")"); |
ts->Append(")"); |
| 1019 |
if ( debug ) printf(" ts %s tssize %i capac %i s %s g %s \n",ts->Data(),ts->Sizeof(),ts->Capacity(),s.Data(),g.Data()); |
if ( debug ) printf(" ts %s tssize %i capac %i s %s g %s \n",ts->Data(),ts->Sizeof(),ts->Capacity(),s.Data(),g.Data()); |
| 1267 |
asymm = -1.; |
asymm = -1.; |
| 1268 |
defE0 = -1.; |
defE0 = -1.; |
| 1269 |
} else { |
} else { |
| 1270 |
if ( slmax.MaybeRegexp() ) lmax = this->Evaluate(slmax,tmax); |
if ( slmax.MaybeRegexp() ) lmax = this->Evaluate(slmax,tmax,X0pl); |
| 1271 |
if ( sumax.MaybeRegexp() ) umax = this->Evaluate(sumax,tmax); |
if ( sumax.MaybeRegexp() ) umax = this->Evaluate(sumax,tmax,X0pl); |
| 1272 |
Int_t npp = 1000; |
Int_t npp = 1000; |
| 1273 |
double *xpp=new double[npp]; |
double *xpp=new double[npp]; |
| 1274 |
double *wpp=new double[npp]; |
double *wpp=new double[npp]; |