Logo ROOT   6.18/05
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
35public:
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,
55 RooAbsReal& delC,
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,
73 RooAbsReal& delC,
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
96protected:
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
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
const Bool_t kTRUE
Definition: RtypesCore.h:87
#define ClassDef(name, id)
Definition: Rtypes.h:326
char name[80]
Definition: TGX11.cxx:109
int type
Definition: TGX11.cxx:120
RooAbsAnaConvPdf is the base class for PDFs that represent a physics model that can be analytically c...
RooAbsCategory is the common abstract base class for objects that represent a discrete value with a f...
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:53
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:28
RooCategoryProxy is the proxy implementation for RooAbsCategory objects A RooCategoryProxy is the gen...
Time-dependent RooAbsAnaConvPdf for CP violating decays to Non-CP eigenstates (eg,...
virtual Double_t coefAnalyticalIntegral(Int_t coef, Int_t code, const char *rangeName=0) const
correct for the right/wrong charge...
RooCategoryProxy _rhoQ
void generateEvent(Int_t code)
Interface for generation of an event using the algorithm corresponding to the specified code.
RooCategoryProxy _tag
void initGenerator(Int_t code)
Interface for one-time initialization to setup the generator for the specified code.
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...
virtual Double_t coefficient(Int_t basisIndex) const
virtual TObject * clone(const char *newname) const
virtual Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Default implementation of function advertising integration capabilities.
virtual ~RooNonCPEigenDecay(void)
Destructor.
RooRealProxy is the concrete proxy for RooAbsReal objects A RooRealProxy is the general mechanism to ...
Definition: RooRealProxy.h:23
RooRealVar represents a fundamental (non-derived) real valued object.
Definition: RooRealVar.h:36
Mother of all ROOT objects.
Definition: TObject.h:37
static double C[]
RooArgSet S(const RooAbsArg &v1)
auto * a
Definition: textangle.C:12