-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathresumLL.c
More file actions
88 lines (75 loc) · 2.92 KB
/
resumLL.c
File metadata and controls
88 lines (75 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include "BosonJetLL.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include <iomanip>
//#define LL_DEBUG
using namespace std;
double dsigmadqT(double y[], size_t dim, void *p){
//dim=5 dimensional integration variables: y[]={xT, phi, pT, yB,yJ};
BosonJetLL *bj=(BosonJetLL *)p;
double cphix=cos(y[1]);
return bj->sigmaR(y[0],cphix,y[2],y[3],y[4]);
}
int main(){
//Particle photon("photon",Particle::photon,0.0,0.0);
Particle Z0("Z0",Particle::Z0,91.1876,0.0);
//BosonJet gammaJ(1.3e4,&photon);
BosonJetLL ZJ(1.3e4,&Z0);
double R=0.6;ZJ.setR(R);
#ifdef LL_DEBUG
double pT=100.0,yB=0.1,yJ=0.2,muh=100.0,mu=30.0,muJ=10.0, mut=5.0, muxT=70.0, xT=1.2,qT=1.0,cphix=0.4;ZJ.setqT(qT);
ZJ.setKinematics(pT,yB,yJ);ZJ.getKinematics();
ZJ.setScale(mu,muh,muJ,muxT,mut,xT,cphix);
cout << ZJ.aHqqb()<< ", " << ZJ.bHqqb() << endl;
cout << ZJ.RGInvariance(mu,muh,muxT,muJ,mut,xT,cphix) << endl;
/*
cout << M_PI*ZJ.sigmaqgR(xT, cphix, pT, yB, yJ) <<endl;
cout << M_PI*ZJ.sigmaqgR(xT, 0.2*cphix, pT, yB, yJ) <<endl;
cout << M_PI*ZJ.sigmaqqbR(xT, cphix, pT, yB, yJ) <<endl;
cout << M_PI*ZJ.sigmaqqbR(xT, 0.2*cphix, pT, yB, yJ) <<endl;
*/
#else
//range of the integration: from ymin to ymax
double ymin[]={0.0,-0.5*M_PI,30.0,-10.0,-2.4};
double ymax[]={1.5,0.5*M_PI,6500.0,10.0,2.4};
int dim=5;
size_t calls = 50000;
ZJ.setupMC( &dsigmadqT, dim, ymin,ymax, &ZJ);
ZJ.setCalls(calls);
//output file:
ZJ.setImgcphix(false);
ZJ.setNGL(false);
ZJ.setCSS(false);
ZJ.setNonPert(false);
ZJ.setScaleVar(1.0,1.0,1.0,0.5);
stringstream filename;
ZJ.getFilename(filename, ymin[2],ymax[2]);
cout << filename.str() << endl;
ofstream f(filename.str(), ofstream::out | ofstream::app);
int nBins=21;
double qT[]=/*{1., 1.14163, 1.30332, 1.48791, 1.69865, 1.93923, 2.21388, 2.52744,
2.8854, 3.29406, 3.7606, 4.29322, 4.90127, 5.59545, 6.38794, 7.29266,
8.32553, 9.50469, 10.8508, 12.3877, 14.1421, 16.1451, 18.4317,
21.0423, 24.0225, 27.4248, 31.309, 35.7433, 40.8057, 46.5851, 53.183,
60.7153, 69.3145, 79.1316, 90.339, 103.134, 117.741, 134.417,
153.454, 175.188, 200.};*/{1., 1.25893, 1.58489, 1.99526, 2.51189, 3.16228, 3.98107, 5.01187,
6.30957, 7.94328, 10., 12.5893, 15.8489, 19.9526, 25.1189, 31.6228,
39.8107, 50.1187, 63.0957, 79.4328, 100.};
/*{1., 3., 5., 7., 9., 11., 13., 15., 17., 19., 21., 23., 25., 27.,
29., 31., 33., 35., 37., 39., 41., 43., 45., 47., 49., 51., 53., 55.,
57., 59., 61., 63., 65., 67., 69., 71., 73., 75., 77., 79., 81., 83.,
85., 87., 89., 91., 93.};*///47
//for(int i=0;i<nBins;i++) qT[i]=1.0+1.0*i;
for(int i=0;i<nBins;i++){
ZJ.setqT(qT[i]);ZJ._mutMin=10.0;
ZJ.calculate(qT[i],f);
cout << "mut Min= " << ZJ._mutMin << endl;
//cout << (0.5772156649015329+log(0.5*qT[i]))/(M_PI*qT[i]*qT[i]) << endl;
}
f << "\n\n";
f.close();
ZJ.cleanupMC();
#endif
return 0;
}