00001 /*************************************************************************** 00002 * 00003 * $Id: MaxllBoltz.hh,v 1.3 2003/09/02 17:58:09 perev Exp $ 00004 * 00005 * Author: Aihong Tang & Richard Witt (FORTRAN Version),Kent State U. 00006 * Send questions to aihong@cnr.physics.kent.edu 00007 *************************************************************************** 00008 * 00009 * Description:part of StPidAmpMaker package 00010 * MaxllBoltz function 00011 *************************************************************************** 00012 * 00013 * $Log: MaxllBoltz.hh,v $ 00014 * Revision 1.3 2003/09/02 17:58:09 perev 00015 * gcc 3.2 updates + WarnOff 00016 * 00017 * Revision 1.2 2000/12/18 23:23:22 aihong 00018 * change formula 00019 * 00020 * Revision 1.1 2000/07/22 22:27:14 aihong 00021 * move files from StPidAmpMaker to StEventUtilities 00022 * 00023 * Revision 1.1.1.1 2000/03/09 17:48:34 aihong 00024 * Installation of package 00025 * 00026 **************************************************************************/ 00027 00028 #ifndef MaxllBoltz_hh 00029 #define MaxllBoltz_hh 00030 00031 00032 00033 double MaxllBoltz(double *rig,double *par) { 00034 double intercept = par[3];// intrcept 00035 double wd =exp(1.0/par[2]); 00036 00037 if (rig[0]<intercept ) {return 0.0;} else { 00038 00039 double aa; double bb; 00040 00041 if(par[0]!=0.0 && wd!=0.0) aa = 2.7182818*par[0]*wd; 00042 if (wd>0.0 && (par[1]-intercept)>0.0 && ::log(par[1]-intercept)!=0.0) bb = 00043 -1.0*(::log(wd))/::log(par[1]-intercept); 00044 00045 double mb=aa*(::pow((fabs(rig[0]) - fabs(intercept)),bb) * exp(-wd*::pow((fabs 00046 (rig[0]) - fabs(intercept)),bb))); 00047 00048 return mb; 00049 00050 } 00051 }; 00052 00053 #endif 00054 00055 00056 //par[0] peak height 00057 //par[1] peak position 00058 //par[2] width 00059 00060
1.5.9