RooBMixDecay.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * Project: RooFit                                                           *
00003  * Package: RooFitModels                                                     *
00004  *    File: $Id: RooBMixDecay.h,v 1.14 2007/05/11 09:13:07 verkerke Exp $
00005  * Authors:                                                                  *
00006  *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
00007  *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
00008  *                                                                           *
00009  * Copyright (c) 2000-2005, Regents of the University of California          *
00010  *                          and Stanford University. All rights reserved.    *
00011  *                                                                           *
00012  * Redistribution and use in source and binary forms,                        *
00013  * with or without modification, are permitted according to the terms        *
00014  * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
00015  *****************************************************************************/
00016 #ifndef ROO_BMIX_DECAY
00017 #define ROO_BMIX_DECAY
00018 
00019 #include "RooAbsAnaConvPdf.h"
00020 #include "RooRealProxy.h"
00021 #include "RooCategoryProxy.h"
00022 
00023 class RooBMixDecay : public RooAbsAnaConvPdf {
00024 public:
00025 
00026   enum DecayType { SingleSided, DoubleSided, Flipped };
00027 
00028   // Constructors, assignment etc
00029   inline RooBMixDecay() { }
00030   RooBMixDecay(const char *name, const char *title, 
00031                RooRealVar& t, RooAbsCategory& mixState, RooAbsCategory& tagFlav,
00032                RooAbsReal& tau, RooAbsReal& dm,
00033                RooAbsReal& mistag, RooAbsReal& delMistag, const RooResolutionModel& model, 
00034                DecayType type=DoubleSided) ;
00035 
00036   RooBMixDecay(const RooBMixDecay& other, const char* name=0);
00037   virtual TObject* clone(const char* newname) const { return new RooBMixDecay(*this,newname) ; }
00038   virtual ~RooBMixDecay();
00039 
00040   virtual Double_t coefficient(Int_t basisIndex) const ;
00041 
00042   virtual Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
00043   virtual Double_t coefAnalyticalIntegral(Int_t coef, Int_t code, const char* rangeName=0) const ;
00044 
00045   Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
00046   void initGenerator(Int_t code) ;
00047   void generateEvent(Int_t code);
00048   
00049 protected:
00050 
00051   DecayType        _type ;
00052   RooRealProxy     _mistag ;
00053   RooRealProxy     _delMistag ;
00054   RooCategoryProxy _mixState ;
00055   RooCategoryProxy _tagFlav ;
00056   RooRealProxy     _tau ;
00057   RooRealProxy     _dm ;
00058   RooRealProxy     _t ;
00059   Int_t _basisExp ;
00060   Int_t _basisCos ;
00061 
00062   Double_t _genMixFrac ;   //! do not persist
00063   Double_t _genFlavFrac ;  //!
00064   Double_t _genFlavFracMix ;   //!
00065   Double_t _genFlavFracUnmix ; //!
00066 
00067   ClassDef(RooBMixDecay,1) // B Mixing decay PDF
00068 };
00069 
00070 #endif

Generated on Tue Jul 5 14:26:05 2011 for ROOT_528-00b_version by  doxygen 1.5.1