16 #ifndef ROO_BMIX_DECAY
17 #define ROO_BMIX_DECAY
23 class RooBMixDecay :
public RooAbsAnaConvPdf {
26 enum DecayType { SingleSided, DoubleSided, Flipped };
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) ;
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();
40 virtual Double_t coefficient(Int_t basisIndex)
const ;
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 ;
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);
52 RooRealProxy _mistag ;
53 RooRealProxy _delMistag ;
54 RooCategoryProxy _mixState ;
55 RooCategoryProxy _tagFlav ;
62 Double_t _genMixFrac ;
63 Double_t _genFlavFrac ;
64 Double_t _genFlavFracMix ;
65 Double_t _genFlavFracUnmix ;
67 ClassDef(RooBMixDecay,1)