RooBCPGenDecay.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * Project: RooFit                                                           *
00003  * Package: RooFitModels                                                     *
00004  *    File: $Id: RooBCPGenDecay.h,v 1.13 2007/05/11 09:13:07 verkerke Exp $
00005  * Authors:                                                                  *
00006  *   JS, Jim Smith    , University of Colorado, jgsmith@pizero.colorado.edu  *
00007  *                                                                           *
00008  * Copyright (c) 2000-2005, Regents of the University of California,         *
00009  *                          University of Colorado                           *
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_BCPGEN_DECAY
00017 #define ROO_BCPGEN_DECAY
00018 
00019 #include "RooAbsAnaConvPdf.h"
00020 #include "RooRealProxy.h"
00021 #include "RooCategoryProxy.h"
00022 
00023 class RooBCPGenDecay : public RooAbsAnaConvPdf {
00024 public:
00025 
00026   enum DecayType { SingleSided, DoubleSided, Flipped };
00027 
00028   // Constructors, assignment etc
00029   inline RooBCPGenDecay() { }
00030   RooBCPGenDecay(const char *name, const char *title, 
00031                  RooRealVar& t, RooAbsCategory& tag,
00032                  RooAbsReal& tau, RooAbsReal& dm,
00033                  RooAbsReal& avgMistag, 
00034                  RooAbsReal& a, RooAbsReal& b,
00035                  RooAbsReal& delMistag,
00036                  RooAbsReal& mu,
00037                  const RooResolutionModel& model, DecayType type=DoubleSided) ;
00038 
00039   RooBCPGenDecay(const RooBCPGenDecay& other, const char* name=0);
00040   virtual TObject* clone(const char* newname) const { return new RooBCPGenDecay(*this,newname) ; }
00041   virtual ~RooBCPGenDecay();
00042 
00043   virtual Double_t coefficient(Int_t basisIndex) const ;
00044 
00045   virtual Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
00046   virtual Double_t coefAnalyticalIntegral(Int_t coef, Int_t code, const char* rangeName=0) const ;
00047 
00048   Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
00049   void initGenerator(Int_t code) ;
00050   void generateEvent(Int_t code) ;
00051   
00052 protected:
00053 
00054   RooRealProxy _avgC ;
00055   RooRealProxy _avgS ;
00056   RooRealProxy _avgMistag ;
00057   RooRealProxy _delMistag ;
00058   RooRealProxy _mu ;
00059   RooRealProxy _t ;
00060   RooRealProxy _tau ;
00061   RooRealProxy _dm ;
00062   RooCategoryProxy _tag ;
00063   Double_t _genB0Frac ;
00064   
00065   DecayType _type ;
00066   Int_t _basisExp ;
00067   Int_t _basisSin ;
00068   Int_t _basisCos ;
00069 
00070   ClassDef(RooBCPGenDecay,1)  // B decay time distribution with CP violation
00071 };
00072 
00073 #endif

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