Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooBCPGenDecay.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitModels *
4  * File: $Id: RooBCPGenDecay.h,v 1.13 2007/05/11 09:13:07 verkerke Exp $
5  * Authors: *
6  * JS, Jim Smith , University of Colorado, jgsmith@pizero.colorado.edu *
7  * *
8  * Copyright (c) 2000-2005, Regents of the University of California, *
9  * University of Colorado *
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_BCPGEN_DECAY
17 #define ROO_BCPGEN_DECAY
18 
19 #include "RooAbsAnaConvPdf.h"
20 #include "RooRealProxy.h"
21 #include "RooCategoryProxy.h"
22 
23 class RooBCPGenDecay : public RooAbsAnaConvPdf {
24 public:
25 
26  enum DecayType { SingleSided, DoubleSided, Flipped };
27 
28  // Constructors, assignment etc
29  inline RooBCPGenDecay() { }
30  RooBCPGenDecay(const char *name, const char *title,
31  RooRealVar& t, RooAbsCategory& tag,
32  RooAbsReal& tau, RooAbsReal& dm,
33  RooAbsReal& avgMistag,
34  RooAbsReal& a, RooAbsReal& b,
35  RooAbsReal& delMistag,
36  RooAbsReal& mu,
37  const RooResolutionModel& model, DecayType type=DoubleSided) ;
38 
39  RooBCPGenDecay(const RooBCPGenDecay& other, const char* name=0);
40  virtual TObject* clone(const char* newname) const { return new RooBCPGenDecay(*this,newname) ; }
41  virtual ~RooBCPGenDecay();
42 
43  virtual Double_t coefficient(Int_t basisIndex) const ;
44 
45  virtual Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
46  virtual Double_t coefAnalyticalIntegral(Int_t coef, Int_t code, const char* rangeName=0) const ;
47 
48  Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
49  void initGenerator(Int_t code) ;
50  void generateEvent(Int_t code) ;
51 
52 protected:
53 
54  RooRealProxy _avgC ;
55  RooRealProxy _avgS ;
56  RooRealProxy _avgMistag ;
57  RooRealProxy _delMistag ;
58  RooRealProxy _mu ;
59  RooRealProxy _t ;
60  RooRealProxy _tau ;
61  RooRealProxy _dm ;
62  RooCategoryProxy _tag ;
63  Double_t _genB0Frac ;
64 
65  DecayType _type ;
66  Int_t _basisExp ;
67  Int_t _basisSin ;
68  Int_t _basisCos ;
69 
70  ClassDef(RooBCPGenDecay,1) // B decay time distribution with CP violation
71 };
72 
73 #endif