16 #ifndef ROO_BCPGEN_DECAY
17 #define ROO_BCPGEN_DECAY
23 class RooBCPGenDecay :
public RooAbsAnaConvPdf {
26 enum DecayType { SingleSided, DoubleSided, Flipped };
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,
37 const RooResolutionModel& model, DecayType type=DoubleSided) ;
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();
43 virtual Double_t coefficient(Int_t basisIndex)
const ;
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 ;
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) ;
56 RooRealProxy _avgMistag ;
57 RooRealProxy _delMistag ;
62 RooCategoryProxy _tag ;
70 ClassDef(RooBCPGenDecay,1)