File indexing completed on 2026-05-20 08:23:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef ROO_DECAY
0017 #define ROO_DECAY
0018
0019 #include "RooAbsAnaConvPdf.h"
0020 #include "RooRealProxy.h"
0021
0022 class RooDecay : public RooAbsAnaConvPdf {
0023 public:
0024
0025 enum DecayType { SingleSided, DoubleSided, Flipped };
0026
0027
0028 inline RooDecay() { }
0029 RooDecay(const char *name, const char *title, RooRealVar& t,
0030 RooAbsReal& tau, const RooResolutionModel& model, DecayType type) ;
0031 RooDecay(const RooDecay& other, const char* name=nullptr);
0032 TObject* clone(const char* newname=nullptr) const override { return new RooDecay(*this,newname) ; }
0033
0034 double coefficient(Int_t basisIndex) const override ;
0035
0036
0037 RooAbsReal const &getT() const { return _t.arg(); }
0038
0039
0040 RooAbsReal const &getTau() const { return _tau.arg(); }
0041
0042
0043 DecayType getDecayType() const { return _type; }
0044
0045 Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, bool staticInitOK=true) const override;
0046 void generateEvent(Int_t code) override;
0047
0048 protected:
0049
0050 RooRealProxy _t ;
0051 RooRealProxy _tau ;
0052 DecayType _type ;
0053 Int_t _basisExp ;
0054
0055 ClassDefOverride(RooDecay,1)
0056 };
0057
0058 #endif