Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooBMixDecay.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitModels *
4  * File: $Id: RooBMixDecay.h,v 1.14 2007/05/11 09:13:07 verkerke Exp $
5  * Authors: *
6  * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7  * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8  * *
9  * Copyright (c) 2000-2005, Regents of the University of California *
10  * and Stanford University. All rights reserved. *
11  * *
12  * Redistribution and use in source and binary forms, *
13  * with or without modification, are permitted according to the terms *
14  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15  *****************************************************************************/
16 #ifndef ROO_BMIX_DECAY
17 #define ROO_BMIX_DECAY
18 
19 #include "RooAbsAnaConvPdf.h"
20 #include "RooRealProxy.h"
21 #include "RooCategoryProxy.h"
22 
23 class RooBMixDecay : public RooAbsAnaConvPdf {
24 public:
25 
26  enum DecayType { SingleSided, DoubleSided, Flipped };
27 
28  // Constructors, assignment etc
29  inline RooBMixDecay() { }
30  RooBMixDecay(const char *name, const char *title,
31  RooRealVar& t, RooAbsCategory& mixState, RooAbsCategory& tagFlav,
32  RooAbsReal& tau, RooAbsReal& dm,
33  RooAbsReal& mistag, RooAbsReal& delMistag, const RooResolutionModel& model,
34  DecayType type=DoubleSided) ;
35 
36  RooBMixDecay(const RooBMixDecay& other, const char* name=0);
37  virtual TObject* clone(const char* newname) const { return new RooBMixDecay(*this,newname) ; }
38  virtual ~RooBMixDecay();
39 
40  virtual Double_t coefficient(Int_t basisIndex) const ;
41 
42  virtual Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
43  virtual Double_t coefAnalyticalIntegral(Int_t coef, Int_t code, const char* rangeName=0) const ;
44 
45  Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
46  void initGenerator(Int_t code) ;
47  void generateEvent(Int_t code);
48 
49 protected:
50 
51  DecayType _type ;
52  RooRealProxy _mistag ;
53  RooRealProxy _delMistag ;
54  RooCategoryProxy _mixState ;
55  RooCategoryProxy _tagFlav ;
56  RooRealProxy _tau ;
57  RooRealProxy _dm ;
58  RooRealProxy _t ;
59  Int_t _basisExp ;
60  Int_t _basisCos ;
61 
62  Double_t _genMixFrac ; //! do not persist
63  Double_t _genFlavFrac ; //!
64  Double_t _genFlavFracMix ; //!
65  Double_t _genFlavFracUnmix ; //!
66 
67  ClassDef(RooBMixDecay,1) // B Mixing decay PDF
68 };
69 
70 #endif