/*****************************************************************************
 * Project: RooFit                                                           *
 * Package: RooFitModels                                                     *
 *    File: $Id: RooBukinPdf.h,v 1.5 2007/07/12 20:30:49 wouter Exp $
 * Authors:                                                                  *
 *   RW, Ruddick William  UC Colorado        wor@slac.stanford.edu           *
 *                                                                           *
 * Copyright (c) 2000-2005, Regents of the University of California          *
 *                          and Stanford University. All rights reserved.    *
 *                                                                           *
 * Redistribution and use in source and binary forms,                        *
 * with or without modification, are permitted according to the terms        *
 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
 *****************************************************************************/


// -- CLASS DESCRIPTION [PDF] --
// RooBukinPdf implements the NovosibirskA function 

// Original Fortran Header below
/*****************************************************************************
 * Fitting function for asymmetric peaks with 6 free parameters:	     *
 *     Ap   - peak value						     *
 *     Xp   - peak position						     *
 *     sigp - FWHM divided by 2*sqrt(2*log(2))=2.35			     *
 *     xi   - peak asymmetry parameter					     *
 *     rho1 - parameter of the "left tail"				     *
 *     rho2 - parameter of the "right tail"				     *
 *   ---------------------------------------------			     *
 *       May 26, 2003							     *
 *       A.Bukin, Budker INP, Novosibirsk				     *
 *       Documentation:							     *
 *       http://www.slac.stanford.edu/BFROOT/www/Organization/CollabMtgs/2003/detJuly2003/Tues3a/bukin.ps 
 *   -------------------------------------------			     *
 *****************************************************************************/
#ifndef ROO_BUKINPDF
#define ROO_BUKINPDF

#include "RooAbsPdf.h"
#include "RooRealProxy.h"

class RooRealVar;
class RooAbsReal;

class RooBukinPdf : public RooAbsPdf {
public:

  RooBukinPdf() {} ;
  RooBukinPdf(const char *name, const char *title,
	      RooAbsReal& _x, RooAbsReal& _Xp,
	      RooAbsReal& _sigp, RooAbsReal& _xi,
              RooAbsReal& _rho1, RooAbsReal& _rho2);

  RooBukinPdf(const RooBukinPdf& other,const char* name=0) ;	

  virtual TObject* clone(const char* newname) const { return new RooBukinPdf(*this,newname);	}
  inline virtual ~RooBukinPdf() { }

protected:
  RooRealProxy x;
  RooRealProxy Xp;
  RooRealProxy sigp;
  RooRealProxy xi;
  RooRealProxy rho1;
  RooRealProxy rho2;
  Double_t evaluate() const;

private:

  ClassDef(RooBukinPdf,1) // Variation of Novosibirsk PDF
  double consts;
};

#endif
 RooBukinPdf.h:1
 RooBukinPdf.h:2
 RooBukinPdf.h:3
 RooBukinPdf.h:4
 RooBukinPdf.h:5
 RooBukinPdf.h:6
 RooBukinPdf.h:7
 RooBukinPdf.h:8
 RooBukinPdf.h:9
 RooBukinPdf.h:10
 RooBukinPdf.h:11
 RooBukinPdf.h:12
 RooBukinPdf.h:13
 RooBukinPdf.h:14
 RooBukinPdf.h:15
 RooBukinPdf.h:16
 RooBukinPdf.h:17
 RooBukinPdf.h:18
 RooBukinPdf.h:19
 RooBukinPdf.h:20
 RooBukinPdf.h:21
 RooBukinPdf.h:22
 RooBukinPdf.h:23
 RooBukinPdf.h:24
 RooBukinPdf.h:25
 RooBukinPdf.h:26
 RooBukinPdf.h:27
 RooBukinPdf.h:28
 RooBukinPdf.h:29
 RooBukinPdf.h:30
 RooBukinPdf.h:31
 RooBukinPdf.h:32
 RooBukinPdf.h:33
 RooBukinPdf.h:34
 RooBukinPdf.h:35
 RooBukinPdf.h:36
 RooBukinPdf.h:37
 RooBukinPdf.h:38
 RooBukinPdf.h:39
 RooBukinPdf.h:40
 RooBukinPdf.h:41
 RooBukinPdf.h:42
 RooBukinPdf.h:43
 RooBukinPdf.h:44
 RooBukinPdf.h:45
 RooBukinPdf.h:46
 RooBukinPdf.h:47
 RooBukinPdf.h:48
 RooBukinPdf.h:49
 RooBukinPdf.h:50
 RooBukinPdf.h:51
 RooBukinPdf.h:52
 RooBukinPdf.h:53
 RooBukinPdf.h:54
 RooBukinPdf.h:55
 RooBukinPdf.h:56
 RooBukinPdf.h:57
 RooBukinPdf.h:58
 RooBukinPdf.h:59
 RooBukinPdf.h:60
 RooBukinPdf.h:61
 RooBukinPdf.h:62
 RooBukinPdf.h:63
 RooBukinPdf.h:64
 RooBukinPdf.h:65
 RooBukinPdf.h:66
 RooBukinPdf.h:67
 RooBukinPdf.h:68
 RooBukinPdf.h:69
 RooBukinPdf.h:70
 RooBukinPdf.h:71
 RooBukinPdf.h:72
 RooBukinPdf.h:73
 RooBukinPdf.h:74