Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/RooBCPGenDecay.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*****************************************************************************
0002  * Project: RooFit                                                           *
0003  * Package: RooFitModels                                                     *
0004  *    File: $Id: RooBCPGenDecay.h,v 1.13 2007/05/11 09:13:07 verkerke Exp $
0005  * Authors:                                                                  *
0006  *   JS, Jim Smith    , University of Colorado, jgsmith@pizero.colorado.edu  *
0007  *                                                                           *
0008  * Copyright (c) 2000-2005, Regents of the University of California,         *
0009  *                          University of Colorado                           *
0010  *                          and Stanford University. All rights reserved.    *
0011  *                                                                           *
0012  * Redistribution and use in source and binary forms,                        *
0013  * with or without modification, are permitted according to the terms        *
0014  * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
0015  *****************************************************************************/
0016 #ifndef ROO_BCPGEN_DECAY
0017 #define ROO_BCPGEN_DECAY
0018 
0019 #include "RooAbsAnaConvPdf.h"
0020 #include "RooRealProxy.h"
0021 #include "RooCategoryProxy.h"
0022 
0023 class RooBCPGenDecay : public RooAbsAnaConvPdf {
0024 public:
0025 
0026   enum DecayType { SingleSided, DoubleSided, Flipped };
0027 
0028   // Constructors, assignment etc
0029   inline RooBCPGenDecay() { }
0030   RooBCPGenDecay(const char *name, const char *title,
0031        RooRealVar& t, RooAbsCategory& tag,
0032        RooAbsReal& tau, RooAbsReal& dm,
0033        RooAbsReal& avgMistag,
0034        RooAbsReal& a, RooAbsReal& b,
0035        RooAbsReal& delMistag,
0036                  RooAbsReal& mu,
0037        const RooResolutionModel& model, DecayType type=DoubleSided) ;
0038 
0039   RooBCPGenDecay(const RooBCPGenDecay& other, const char* name=nullptr);
0040   TObject* clone(const char* newname) const override { return new RooBCPGenDecay(*this,newname) ; }
0041 
0042   double coefficient(Int_t basisIndex) const override ;
0043 
0044   Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=nullptr) const override ;
0045   double coefAnalyticalIntegral(Int_t coef, Int_t code, const char* rangeName=nullptr) const override ;
0046 
0047   Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, bool staticInitOK=true) const override;
0048   void initGenerator(Int_t code) override ;
0049   void generateEvent(Int_t code) override ;
0050 
0051 protected:
0052 
0053   RooRealProxy _avgC ;
0054   RooRealProxy _avgS ;
0055   RooRealProxy _avgMistag ;
0056   RooRealProxy _delMistag ;
0057   RooRealProxy _mu ;
0058   RooRealProxy _t ;
0059   RooRealProxy _tau ;
0060   RooRealProxy _dm ;
0061   RooCategoryProxy _tag ;
0062   double _genB0Frac ;
0063 
0064   DecayType _type ;
0065   Int_t _basisExp ;
0066   Int_t _basisSin ;
0067   Int_t _basisCos ;
0068 
0069   ClassDefOverride(RooBCPGenDecay,1)  // B decay time distribution with CP violation
0070 };
0071 
0072 #endif