26 #ifndef ROO_NONCPEIGEN_DECAY
27 #define ROO_NONCPEIGEN_DECAY
33 class RooNonCPEigenDecay :
public RooAbsAnaConvPdf {
37 enum DecayType { SingleSided, DoubleSided, Flipped };
40 inline RooNonCPEigenDecay(
void ) { }
43 RooNonCPEigenDecay(
const char *name,
const char *title,
58 const RooResolutionModel& model,
59 DecayType type = DoubleSided );
62 RooNonCPEigenDecay(
const char *name,
const char *title,
76 const RooResolutionModel& model,
77 DecayType type = DoubleSided );
79 RooNonCPEigenDecay(
const RooNonCPEigenDecay& other,
const char* name=0);
80 virtual TObject* clone(
const char* newname)
const {
81 return new RooNonCPEigenDecay(*
this,newname);
83 virtual ~RooNonCPEigenDecay(
void );
85 virtual Double_t coefficient( Int_t basisIndex )
const;
87 virtual Int_t getCoefAnalyticalIntegral( Int_t coef, RooArgSet& allVars,
88 RooArgSet& analVars,
const char* rangeName=0 )
const;
89 virtual Double_t coefAnalyticalIntegral( Int_t coef, Int_t code,
const char* rangeName=0 )
const;
91 Int_t getGenerator(
const RooArgSet& directVars,
92 RooArgSet& generateVars, Bool_t staticInitOK=kTRUE )
const;
93 void initGenerator( Int_t code );
94 void generateEvent( Int_t code );
108 RooCategoryProxy _tag;
109 RooCategoryProxy _rhoQ;
110 RooRealProxy _correctQ;
113 Double_t _genRhoPlusFrac;
120 ClassDef(RooNonCPEigenDecay,1)