62 #define Debug_RooNonCPEigenDecay 1 85 _acp (
"acp",
"acp", this, acp ),
86 _avgC (
"C",
"C", this, C ),
87 _delC (
"delC",
"delC", this, delC ),
88 _avgS (
"S",
"S", this, S ),
89 _delS (
"delS",
"delS", this, delS ),
90 _avgW (
"avgW",
"Average mistag rate",this, avgW ),
91 _delW (
"delW",
"Shift mistag rate", this, delW ),
92 _t (
"t",
"time", this, t ),
93 _tau (
"tau",
"decay time", this, tau ),
94 _dm (
"dm",
"mixing frequency", this, dm ),
95 _tag (
"tag",
"CP state", this, tag ),
96 _rhoQ (
"rhoQ",
"Charge of the rho", this, rhoQ ),
97 _correctQ (
"correctQ",
"correction of rhoQ", this, correctQ ),
98 _wQ (
"wQ",
"mischarge", this, wQ ),
100 _genRhoPlusFrac( 0 ),
143 _acp (
"acp",
"acp", this, acp ),
144 _avgC (
"C",
"C", this, C ),
145 _delC (
"delC",
"delC", this, delC ),
146 _avgS (
"S",
"S", this, S ),
147 _delS (
"delS",
"delS", this, delS ),
148 _avgW (
"avgW",
"Average mistag rate",this, avgW ),
149 _delW (
"delW",
"Shift mistag rate", this, delW ),
150 _t (
"t",
"time", this, t ),
151 _tau (
"tau",
"decay time", this, tau ),
152 _dm (
"dm",
"mixing frequency", this, dm ),
153 _tag (
"tag",
"CP state", this, tag ),
154 _rhoQ (
"rhoQ",
"Charge of the rho", this, rhoQ ),
155 _correctQ (
"correctQ",
"correction of rhoQ", this, correctQ ),
195 _t (
"t", this, other.
_t ),
197 _dm (
"dm", this, other.
_dm ),
201 _wQ (
"wQ", this, other.
_wQ ),
230 assert( rhoQc == 1 || rhoQc == -1 );
238 if (rhoQc == -1 || rhoQc == +1)
250 else if (rhoQc == +1)
252 return - ((1 +
_acp)*a_sin_p*(1 - _wQ) + (1 -
_acp)*a_sin_m*_wQ)*(1 - 2*
_avgW)*
_tag;
255 return -
_tag*((a_sin_p + a_sin_m)/2)*(1 - 2*
_avgW);
264 else if (rhoQc == +1)
266 return + ((1 +
_acp)*a_cos_p*(1 - _wQ) + (1 -
_acp)*a_cos_m*_wQ)*(1 - 2*
_avgW)*
_tag;
269 return _tag*((a_cos_p + a_cos_m)/2)*(1 - 2*
_avgW);
280 RooArgSet& analVars,
const char* rangeName )
const 282 if (rangeName)
return 0 ;
296 Int_t code,
const char* )
const 354 if (
matchArgs( directVars, generateVars,
_t ))
return 1;
363 if (code == 2 || code == 4) {
375 cout <<
" o RooNonCPEigenDecay::initgenerator: genB0Frac : " 377 <<
", tag dilution: " << (1 - 2*
_avgW)
381 if (code == 3 || code == 4) {
393 cout <<
" o RooNonCPEigenDecay::initgenerator: genRhoPlusFrac: " 455 assert( acceptProb <= maxAcceptProb );
460 if (accept && tval<
_t.
max() && tval>
_t.
min()) {
virtual Double_t coefAnalyticalIntegral(Int_t coef, Int_t code, const char *rangeName=0) const
correct for the right/wrong charge...
#define Debug_RooNonCPEigenDecay
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
Int_t getGenerator(const RooArgSet &directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const
Load generatedVars with the subset of directVars that we can generate events for, and return a code t...
Time-dependent RooAbsAnaConvPdf for CP violating decays to Non-CP eigenstates (eg, ).
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
void initGenerator(Int_t code)
Interface for one-time initialization to setup the generator for the specified code.
virtual Double_t coefficient(Int_t basisIndex) const
B0 : _tag == -1 B0bar : _tag == +1 rho+ : _rhoQ == +1 rho- : _rhoQ == -1 the charge corrrection facto...
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t tau
const RooAbsCategory & arg() const
void generateEvent(Int_t code)
Interface for generation of anan event using the algorithm corresponding to the specified code...
RooRealVar represents a fundamental (non-derived) real valued object.
RooArgSet S(const RooAbsArg &v1)
static Double_t uniform(TRandom *generator=randomGenerator())
Return a number uniformly distributed from (0,1)
Double_t min(const char *rname=0) const
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
virtual ~RooNonCPEigenDecay(void)
Destructor.
Int_t declareBasis(const char *expression, const RooArgList ¶ms)
Declare a basis function for use in this physics model.
Double_t max(const char *rname=0) const
friend class RooRealProxy
friend class RooRealIntegral
RooAbsCategory is the common abstract base class for objects that represent a discrete value with a f...
virtual Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Default implementation of function advertising integration capabilities.
const RooAbsReal & arg() const