Logo ROOT   6.08/07
Reference Guide
RooNonCPEigenDecay.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitModels *
4  * File: $Id: RooNonCPEigenDecay.h,v 1.13 2007/05/11 09:13:07 verkerke Exp $
5  * Authors: *
6  * AH, Andreas Hoecker, Orsay, hoecker@slac.stanford.edu *
7  * SL, Sandrine Laplace, Orsay, laplace@slac.stanford.edu *
8  * JS, Jan Stark, Paris, stark@slac.stanford.edu *
9  * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
10  * *
11  * Copyright (c) 2000-2005, Regents of the University of California, *
12  * IN2P3. All rights reserved. *
13  * *
14  * History *
15  * Nov-2001 WV Created initial version *
16  * Dec-2001 SL mischarge correction, direct CPV *
17  * Jan-2002 AH built dedicated generator + code cleaning *
18  * Mar-2002 JS committed debugged version to CVS *
19  * Apr-2002 AH allow prompt (ie, non-Pdf) mischarge treatment *
20  * May-2002 JS Changed the set of CP parameters (mathematically equiv.) *
21  * *
22  * Redistribution and use in source and binary forms, *
23  * with or without modification, are permitted according to the terms *
24  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
25  *****************************************************************************/
26 #ifndef ROO_NONCPEIGEN_DECAY
27 #define ROO_NONCPEIGEN_DECAY
28 
29 #include "RooAbsAnaConvPdf.h"
30 #include "RooRealProxy.h"
31 #include "RooCategoryProxy.h"
32 
34 
35 public:
36 
38 
39  // Constructors, assignment etc
40  inline RooNonCPEigenDecay( void ) { }
41 
42  // with explicit mischarge
43  RooNonCPEigenDecay( const char *name, const char *title,
44  RooRealVar& t,
45  RooAbsCategory& tag,
46  RooAbsReal& tau,
47  RooAbsReal& dm,
48  RooAbsReal& avgW,
49  RooAbsReal& delW,
50  RooAbsCategory& rhoQ,
51  RooAbsReal& correctQ,
52  RooAbsReal& wQ,
53  RooAbsReal& a,
54  RooAbsReal& C,
55  RooAbsReal& delC,
56  RooAbsReal& S,
57  RooAbsReal& delS,
58  const RooResolutionModel& model,
60 
61  // no explicit mischarge (=> set to zero)
62  RooNonCPEigenDecay( const char *name, const char *title,
63  RooRealVar& t,
64  RooAbsCategory& tag,
65  RooAbsReal& tau,
66  RooAbsReal& dm,
67  RooAbsReal& avgW,
68  RooAbsReal& delW,
69  RooAbsCategory& rhoQ,
70  RooAbsReal& correctQ,
71  RooAbsReal& a,
72  RooAbsReal& C,
73  RooAbsReal& delC,
74  RooAbsReal& S,
75  RooAbsReal& delS,
76  const RooResolutionModel& model,
78 
79  RooNonCPEigenDecay(const RooNonCPEigenDecay& other, const char* name=0);
80  virtual TObject* clone(const char* newname) const {
81  return new RooNonCPEigenDecay(*this,newname);
82  }
83  virtual ~RooNonCPEigenDecay( void );
84 
85  virtual Double_t coefficient( Int_t basisIndex ) const;
86 
87  virtual Int_t getCoefAnalyticalIntegral( Int_t coef, RooArgSet& allVars,
88  RooArgSet& analVars, const char* rangeName=0 ) const;
89  virtual Double_t coefAnalyticalIntegral( Int_t coef, Int_t code, const char* rangeName=0 ) const;
90 
91  Int_t getGenerator( const RooArgSet& directVars,
92  RooArgSet& generateVars, Bool_t staticInitOK=kTRUE ) const;
93  void initGenerator( Int_t code );
94  void generateEvent( Int_t code );
95 
96 protected:
97 
114 
119 
120  ClassDef(RooNonCPEigenDecay,1) // PDF to model CP-violating decays to final states which are not CP eigenstates
121 };
122 
123 #endif
virtual Double_t coefAnalyticalIntegral(Int_t coef, Int_t code, const char *rangeName=0) const
correct for the right/wrong charge...
virtual TObject * clone(const char *newname) const
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, ).
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
TArc * a
Definition: textangle.C:12
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...
#define ClassDef(name, id)
Definition: Rtypes.h:254
RooCategoryProxy _tag
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
Definition: TRolke.cxx:630
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.
Definition: RooRealVar.h:37
RooArgSet S(const RooAbsArg &v1)
static double C[]
double Double_t
Definition: RtypesCore.h:55
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:53
RooCategoryProxy is the proxy implementation for RooAbsCategory objects A RooCategoryProxy is the gen...
int type
Definition: TGX11.cxx:120
virtual ~RooNonCPEigenDecay(void)
Destructor.
RooCategoryProxy _rhoQ
Mother of all ROOT objects.
Definition: TObject.h:37
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.
RooRealProxy is the concrete proxy for RooAbsReal objects A RooRealProxy is the general mechanism to ...
Definition: RooRealProxy.h:23
const Bool_t kTRUE
Definition: Rtypes.h:91
char name[80]
Definition: TGX11.cxx:109