Description of the

ABCFIT

calling structure


In the following the various user entry points to the ABCFIT package are described. It is possible to get a description on every input/output quantity by clicking on it. 
 

 ABCFIT(NJET,NUP,P_REC,ITF,CVAL,M0,G0, ITYPP,ITEVOL,P_FIT*,CHI2T*,NDF*,IERR*)

 
Input:
Integer  NJET = Number of objects in event = <7 
Integer  NUP = Number of Unmeasured Particles (e.g. neutrinos) in event (must be last in p_rec) (e.g. nup=0 for qqqq and nup=1 for qqlv)
Real Array P_REC(4,7) = Four-momentum of up to 7 objects
Integer ITF =
mn --->  n = 1 Four momentum and energy conservation, Sum{j=1,njet}p_fit(j) = cval
2
Energy momentum conservation + m(1,2) = m0(1) G0 is not used
3
Energy momentum conservation + alpha(1,2) m(1,2) = m0(1) with sigma(alpha) = G0(1)/m0(1)
4
Energy momentum conservation + m(1,2)-m(3,4) = 0
5
Energy momentum conservation + alpha(1,2) m(1,2)=alpha(3,4) m(3,4)  with sigma(alpha(1,2)) = G0(1)/m0(1) and sigma(alpha(3,4)) = G0(2)/m0(2)
6
Energy momentum conservation + m(1,2)=m0(1) m(3,4)=m0(2)
7
Energy momentum conservation + alpha(1,2) m(1,2)=m0(1) and alpha(3,4) m(3,4)=m0(2) with sigma(alpha(1,2)) = G0(1)/m0(1) and sigma(alpha(3,4)) = G0(2)/m0(2)
8
Energy momentum conservation + E(1,2)=E(3,4), i.e. "equal energy"
m =
0
In case of mass constraint, the alpha parameters have a gaussian distribution
1
In case of mass constraint, the alpha parameters have a Breit-Wigner distribution 
 
Real Array CVAL(4) = Value of 4-momentum constrains Px,Py,Pz,E (e.g. 0,0,0,ecm). It is possible to switch off some of the constraints by: 
  • If abs(cval(1)).gt.abs(cval(4)) the Px constraint is not applied.
  • Same holds for cval(2) (Py) and cval(3) (Pz).
  • If cval(4).le.0.0 the E constraint is not applied, BUT remember to set |value| such that you don't switch off Px, Py and Pz constraints by accident.
 
Real Array M0(3) = Value of up to 3 mass-constrains (e.g. mw,mw) 
Real Array G0(3) = Width of up to 3 mass-constrains (e.g. w-width)
Integer ITYPP =
kmn ---> n = 0 Fit parameterisation a la ALEPH
1 Fit parameterisation a la DELPHI
2 Fit parameterisation using P,theta,phi 
3 Fit parameterisation using Px,Py,Pz
m = 0 Full correction on jet momentum (// and T)
1 Only correction on jet momentum (//)
k = 0 Fitted jet energies scale with fitted momenta (old mathkine)
1 Fitted jet energies is determined from fixed input jet mass and fitted momenta
 
Integer ITEVOL =
kmn ---> n > 0 Evolution with flavour/jet characteristics. The value of n is only a flag used to tag the right data file: 
aibi_evol_<itypp*njet>_<itevol-k0n>.dat

is to be used for parametrisation definition and parameter evolution. An example: aibi_evol_0000_001.dat for itypp=0 (ALEPH) and njet=4 and itevol=001 (diagonal reco-binning)

m = 0 Diagonal input covariance matrix
1 Full non-diagonal input covariance matrix
k = 0 Binning in reco values for parameter evolution 
1 Binning in true values for parameter evolution
 
Output:
Real Array P_FIT(4,7) = Fitted four-momentum of up to 7 objects
Real Array CHI2T = Chi**2 of the fit
Integer NDF = Number of degrees of freedom
Integer IERR = Status of the fit: 
 
< 0 Results are irrelevant
-1 Number of input jets/objects do not match the definition of one or more constrain(s)
-2 Number of unmeasured parameters exeeds number of constrains
-3 Undefined parameterisation requested
-4 Aibi_evol(_user) routine failed to provide starting values and/or correlation matrix
-5 One jet has zero momentum
-7 Error in solving equation (deqn) (overflow)
-8 Error in solving equation, null determinant
-9 Chi**2 overflow
-11 One fitted jet has a momentum greater than 1 TEV
-12 One fitted jet has been reversed (ai<0)
-20 True binning fit failed -- reco binning is used
-21 Too many iterations for true binning fit (limit: 200) -- reco binning is used
-22 True binning fit failed with lower bound violation -- reco binning is used
-23 True binning fit failed with upper bound violation -- reco binning is used
-99 Kind of fit does not exist
>= 0 Results can be used
0 Perfect
1 For non-diagonal error matrix the matrix inversion failed. The matrix  is forced to be diagonal, and the fit is performed
2 Maximum number of iterations reached. Result could be used, but this is certainly a bad chi**2 event. The maximum number of iterations is 50
3 Chi**2 is found negativ -- this is very low chi**2 event!!!!
8 True binning fit okay, BUT with lower bound violation
9 True binning fit okay, BUT with upper bound violation