Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooBDecay.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitModels *
4  * File: $Id: RooBDecay.h,v 1.7 2007/05/11 09:13:07 verkerke Exp $
5  * Authors: *
6  * PL, Parker C Lund, UC Irvine *
7  * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8  * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
9  * *
10  * Copyright (c) 2000-2005, Regents of the University of California *
11  * and Stanford University. All rights reserved. *
12  * *
13  * Redistribution and use in source and binary forms, *
14  * with or without modification, are permitted according to the terms *
15  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
16  *****************************************************************************/
17 
18 #ifndef ROO_BDECAY
19 #define ROO_BDECAY
20 
21 #include "RooAbsAnaConvPdf.h"
22 #include "RooRealProxy.h"
23 
24 class RooBDecay : public RooAbsAnaConvPdf
25 {
26 
27 public:
28 
29  enum DecayType { SingleSided, DoubleSided, Flipped };
30 
31  //Constructors, assignment etc
32  inline RooBDecay() { }
33  RooBDecay(const char *name, const char *title, RooRealVar& t,
34  RooAbsReal& tau, RooAbsReal& dgamma,
35  RooAbsReal& f0,
36  RooAbsReal& f1, RooAbsReal& f2,
37  RooAbsReal& f3, RooAbsReal& dm,
38  const RooResolutionModel& model,
39  DecayType type);
40  RooBDecay(const RooBDecay& other, const char* name=0);
41  virtual TObject* clone(const char* newname) const
42  {
43  return new RooBDecay(*this,newname);
44  }
45  virtual ~RooBDecay();
46 
47  virtual Double_t coefficient(Int_t basisIndex) const;
48  RooArgSet* coefVars(Int_t coefIdx) const ;
49 
50  Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
51  Double_t coefAnalyticalIntegral(Int_t coef, Int_t code, const char* rangeName=0) const ;
52 
53  Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
54  void generateEvent(Int_t code);
55 
56 protected:
57 
58  RooRealProxy _t;
59  RooRealProxy _tau;
60  RooRealProxy _dgamma;
61  RooRealProxy _f0;
62  RooRealProxy _f1;
63  RooRealProxy _f2;
64  RooRealProxy _f3;
65  RooRealProxy _dm;
66  Int_t _basisCosh;
67  Int_t _basisSinh;
68  Int_t _basisCos;
69  Int_t _basisSin;
70  Int_t _basisB;
71  DecayType _type;
72 
73  ClassDef(RooBDecay, 1) // P.d.f of general description of B decay time distribution
74  };
75 
76 #endif