BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtFlatQ2.cc
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of the EvtGen package developed jointly
5// for the BaBar and CLEO collaborations. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtFlatQ2.cc
12//
13// Description: B->Xu l nu with flat q2 distribution
14//
15// Modification history:
16//
17// David Cote, U. de Montreal, 11/02/2003 Module created
18//
19//------------------------------------------------------------------------
20//
23
24#include <stdlib.h>
25#include <fstream>
26#include <stdio.h>
27#include <string>
30#include "EvtGenBase/EvtPDL.hh"
35using std::fstream;
36
38
39void EvtFlatQ2::getName(std::string& model_name){
40
41 model_name="FLATQ2";
42
43}
44
46
47 return new EvtFlatQ2;
48
49}
50
51
53
54 setProbMax(100);
55
56}
57
58
60
61 // check that there are 0 arguments
62 checkNArg(0);
63 checkNDaug(3);
64
65 //We expect B->X l nu events
69
70}
71
72
74
76
77 EvtVector4R p4Xu = p->getDaug(0)->getP4();
78 double pXu_x2=p4Xu.get(1)*p4Xu.get(1);
79 double pXu_y2=p4Xu.get(2)*p4Xu.get(2);
80 double pXu_z2=p4Xu.get(3)*p4Xu.get(3);
81 double pXu = sqrt(pXu_x2+pXu_y2+pXu_z2);
82 double prob=1/pXu;
83
84 if(pXu>0.01) setProb(prob);
85
86 return;
87}
88
89
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
void checkNDaug(int d1, int d2=-1)
EvtId * getDaugs()
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
void setProb(double prob)
void getName(std::string &name)
Definition EvtFlatQ2.cc:39
void decay(EvtParticle *p)
Definition EvtFlatQ2.cc:73
void initProbMax()
Definition EvtFlatQ2.cc:52
void init()
Definition EvtFlatQ2.cc:59
EvtDecayBase * clone()
Definition EvtFlatQ2.cc:45
virtual ~EvtFlatQ2()
Definition EvtFlatQ2.cc:37
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
double get(int i) const