Warning, file /include/root/RooBMixDecay.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef ROO_BMIX_DECAY
0017 #define ROO_BMIX_DECAY
0018
0019 #include "RooAbsAnaConvPdf.h"
0020 #include "RooRealProxy.h"
0021 #include "RooCategoryProxy.h"
0022
0023 class RooBMixDecay : public RooAbsAnaConvPdf {
0024 public:
0025
0026 enum DecayType { SingleSided, DoubleSided, Flipped };
0027
0028
0029 inline RooBMixDecay() { }
0030 RooBMixDecay(const char *name, const char *title,
0031 RooRealVar& t, RooAbsCategory& mixState, RooAbsCategory& tagFlav,
0032 RooAbsReal& tau, RooAbsReal& dm,
0033 RooAbsReal& mistag, RooAbsReal& delMistag, const RooResolutionModel& model,
0034 DecayType type=DoubleSided) ;
0035
0036 RooBMixDecay(const RooBMixDecay& other, const char* name=nullptr);
0037 TObject* clone(const char* newname) const override { return new RooBMixDecay(*this,newname) ; }
0038
0039 double coefficient(Int_t basisIndex) const override ;
0040
0041 Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=nullptr) const override ;
0042 double coefAnalyticalIntegral(Int_t coef, Int_t code, const char* rangeName=nullptr) const override ;
0043
0044 Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, bool staticInitOK=true) const override;
0045 void initGenerator(Int_t code) override ;
0046 void generateEvent(Int_t code) override;
0047
0048 void doEval(RooFit::EvalContext &) const override;
0049 inline bool canComputeBatchWithCuda() const override { return true; }
0050
0051 protected:
0052
0053 DecayType _type ;
0054 RooRealProxy _mistag ;
0055 RooRealProxy _delMistag ;
0056 RooCategoryProxy _mixState ;
0057 RooCategoryProxy _tagFlav ;
0058 RooRealProxy _tau ;
0059 RooRealProxy _dm ;
0060 RooRealProxy _t ;
0061 Int_t _basisExp ;
0062 Int_t _basisCos ;
0063
0064 double _genMixFrac ;
0065 double _genFlavFrac ;
0066 double _genFlavFracMix ;
0067 double _genFlavFracUnmix ;
0068
0069 ClassDefOverride(RooBMixDecay,1)
0070 };
0071
0072 #endif