Logo ROOT  
Reference Guide
RooBMixDecay.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitModels *
4 * File: $Id: RooBMixDecay.h,v 1.14 2007/05/11 09:13:07 verkerke Exp $
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16#ifndef ROO_BMIX_DECAY
17#define ROO_BMIX_DECAY
18
19#include "RooAbsAnaConvPdf.h"
20#include "RooRealProxy.h"
21#include "RooCategoryProxy.h"
22
24public:
25
27
28 // Constructors, assignment etc
29 inline RooBMixDecay() { }
30 RooBMixDecay(const char *name, const char *title,
31 RooRealVar& t, RooAbsCategory& mixState, RooAbsCategory& tagFlav,
32 RooAbsReal& tau, RooAbsReal& dm,
33 RooAbsReal& mistag, RooAbsReal& delMistag, const RooResolutionModel& model,
35
36 RooBMixDecay(const RooBMixDecay& other, const char* name=nullptr);
37 TObject* clone(const char* newname) const override { return new RooBMixDecay(*this,newname) ; }
38 ~RooBMixDecay() override;
39
40 double coefficient(Int_t basisIndex) const override ;
41
42 Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=nullptr) const override ;
43 double coefAnalyticalIntegral(Int_t coef, Int_t code, const char* rangeName=nullptr) const override ;
44
45 Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, bool staticInitOK=true) const override;
46 void initGenerator(Int_t code) override ;
47 void generateEvent(Int_t code) override;
48
49 void computeBatch(cudaStream_t*, double* output, size_t size, RooFit::Detail::DataMap const&) const override;
50 inline bool canComputeBatchWithCuda() const override { return true; }
51
52protected:
53
64
65 double _genMixFrac ; //! do not persist
66 double _genFlavFrac ; //!
67 double _genFlavFracMix ; //!
68 double _genFlavFracUnmix ; //!
69
70 ClassDefOverride(RooBMixDecay,1) // B Mixing decay PDF
71};
72
73#endif
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char name[80]
Definition: TGX11.cxx:110
RooAbsAnaConvPdf is the base class for PDFs that represent a physics model that can be analytically c...
A space to attach TBranches.
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:60
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:56
Class RooBMixDecay is a RooAbsAnaConvPdf implementation that describes the decay of B mesons with the...
Definition: RooBMixDecay.h:23
bool canComputeBatchWithCuda() const override
Definition: RooBMixDecay.h:50
Int_t _basisExp
Definition: RooBMixDecay.h:62
Int_t getGenerator(const RooArgSet &directVars, RooArgSet &generateVars, bool staticInitOK=true) const override
Load generatedVars with the subset of directVars that we can generate events for, and return a code t...
RooRealProxy _tau
Definition: RooBMixDecay.h:59
double _genMixFrac
Definition: RooBMixDecay.h:65
double coefAnalyticalIntegral(Int_t coef, Int_t code, const char *rangeName=nullptr) const override
Default implementation of function implementing advertised integrals.
Int_t _basisCos
Definition: RooBMixDecay.h:63
DecayType _type
Definition: RooBMixDecay.h:54
double _genFlavFracMix
Definition: RooBMixDecay.h:67
TObject * clone(const char *newname) const override
Definition: RooBMixDecay.h:37
RooRealProxy _mistag
Definition: RooBMixDecay.h:55
RooRealProxy _t
Definition: RooBMixDecay.h:61
void initGenerator(Int_t code) override
Interface for one-time initialization to setup the generator for the specified code.
void generateEvent(Int_t code) override
Generate mix-state dependent.
RooCategoryProxy _mixState
Definition: RooBMixDecay.h:57
Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=nullptr) const override
cout << "RooBMixDecay::getCoefAI " ; allVars.Print("1") ;
double coefficient(Int_t basisIndex) const override
Comp with tFit MC: must be (1 - tagFlav*...)
double _genFlavFracUnmix
Definition: RooBMixDecay.h:68
RooRealProxy _dm
Definition: RooBMixDecay.h:60
~RooBMixDecay() override
Destructor.
double _genFlavFrac
do not persist
Definition: RooBMixDecay.h:66
RooCategoryProxy _tagFlav
Definition: RooBMixDecay.h:58
RooRealProxy _delMistag
Definition: RooBMixDecay.h:56
void computeBatch(cudaStream_t *, double *output, size_t size, RooFit::Detail::DataMap const &) const override
Base function for computing multiple values of a RooAbsReal.
RooRealVar represents a variable that can be changed from the outside.
Definition: RooRealVar.h:40
RooResolutionModel is the base class for PDFs that represent a resolution model that can be convolute...
Mother of all ROOT objects.
Definition: TObject.h:41
static void output()