00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ROO_DECAY
00017 #define ROO_DECAY
00018
00019 #include "RooAbsAnaConvPdf.h"
00020 #include "RooRealProxy.h"
00021
00022 class RooDecay : public RooAbsAnaConvPdf {
00023 public:
00024
00025 enum DecayType { SingleSided, DoubleSided, Flipped };
00026
00027
00028 inline RooDecay() { }
00029 RooDecay(const char *name, const char *title, RooRealVar& t,
00030 RooAbsReal& tau, const RooResolutionModel& model, DecayType type) ;
00031 RooDecay(const RooDecay& other, const char* name=0);
00032 virtual TObject* clone(const char* newname) const { return new RooDecay(*this,newname) ; }
00033 virtual ~RooDecay();
00034
00035 virtual Double_t coefficient(Int_t basisIndex) const ;
00036
00037 Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
00038 void generateEvent(Int_t code);
00039
00040 protected:
00041
00042 RooRealProxy _t ;
00043 RooRealProxy _tau ;
00044 DecayType _type ;
00045 Int_t _basisExp ;
00046
00047 ClassDef(RooDecay,1)
00048 };
00049
00050 #endif