File indexing completed on 2025-01-18 10:11:19
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef ROO_BREITWIGNER
0018 #define ROO_BREITWIGNER
0019
0020 #include "RooAbsPdf.h"
0021 #include "RooRealProxy.h"
0022
0023 class RooRealVar;
0024
0025 class RooBreitWigner : public RooAbsPdf {
0026 public:
0027 RooBreitWigner() {} ;
0028 RooBreitWigner(const char *name, const char *title,
0029 RooAbsReal& _x, RooAbsReal& _mean, RooAbsReal& _width);
0030 RooBreitWigner(const RooBreitWigner& other, const char* name=nullptr) ;
0031 TObject* clone(const char* newname) const override { return new RooBreitWigner(*this,newname); }
0032
0033 Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=nullptr) const override ;
0034 double analyticalIntegral(Int_t code, const char* rangeName=nullptr) const override ;
0035
0036 protected:
0037
0038 RooRealProxy x ;
0039 RooRealProxy mean ;
0040 RooRealProxy width ;
0041
0042 double evaluate() const override ;
0043 void doEval(RooFit::EvalContext &) const override;
0044 inline bool canComputeBatchWithCuda() const override { return true; }
0045
0046
0047
0048
0049 private:
0050
0051 ClassDefOverride(RooBreitWigner,1)
0052 };
0053
0054 #endif