Logo coherent WaveBurst  
Library Reference Guide
Logo
CreateListEBBH.C
Go to the documentation of this file.
1 // Macro to create the list of eBBH parameters
2 
3 #define MSMBH 3.5e6
4 #define MMIN 10
5 #define MMAX 25
6 
7 #define FREQ_CUTOFF 20 // Hz
8 
9 #define NEVENTS 1000
10 
11 #define ECCENTRICITY_THR 0.5 // eccentricity threshold
12 #define ELEN_THR 20 // estimated length threshold
13 
14 //#define BUILTIN_WRITE
15 
16 {
17  double mSMBH = MSMBH;
18  double mmin = MMIN;
19  double mmax = MMAX;
20  double beta = 2;
21 
22  GNGen eGen(mSMBH, mmin, mmax, beta);
24 
25  char fName[256];
26  sprintf(fName,"macro/eBBH_%g_%g_%g_%g.lst",mSMBH,mmin,mmax,beta);
28  sName.ReplaceAll("+",""); // remove '+' character
29  sprintf(fName,"%s",sName.Data());
30 
31 #ifdef BUILTIN_WRITE
32  cout << "Starting eBBH parameters generation ..." << endl;
34 #else
35  double m1, m2, rp, e;
36  FILE* f = stdout;
37  f=fopen(fName, "w");
38  if(f==NULL) {
39  cout << "Error opening file : " << fName << endl;
40  gSystem->Exit(1);
41  }
42  int nevents=0;
43  while(nevents<NEVENTS) {
44 
45  double elen = eGen.generateEvent(m1, m2, rp, e);
46 
47  //cout << "elen " << elen << " eccentricity " << e << endl;
48 
49  if(e<ECCENTRICITY_THR && elen<ELEN_THR) {
50  //printf("%d %lf %lf %lf %.8lf\n", nevents, m1, m2, rp, e);
51  fprintf(f, "%d %lf %lf %lf %.8lf\n", nevents++, m1, m2, rp, e);
52  }
53  }
54  fclose(f);
55 #endif
56 
57  gSystem->Exit(0);
58 }
FILE * f
double m1
#define ECCENTRICITY_THR
double beta
TString("c")
TString sName
#define MSMBH
Definition: CreateListEBBH.C:3
void generateEvents(int n, char *fn=0)
Definition: GNGen.cc:252
#define NEVENTS
Definition: CreateListEBBH.C:9
#define MMIN
Definition: CreateListEBBH.C:4
fprintf(stdout,"start=%f duration=%f rate=%f\, x.start(), x.size()/x.rate(), x.rate())
sprintf(fName,"macro/eBBH_%g_%g_%g_%g.lst", mSMBH, mmin, mmax, beta)
double rp
void setFreqCutoff(double f)
Definition: GNGen.cc:112
#define FREQ_CUTOFF
Definition: CreateListEBBH.C:7
double e
Definition: GNGen.hh:25
fclose(f)
int nevents
double generateEvent(double &m1, double &m2, double &rp, double &e)
Definition: GNGen.cc:201
double m2
double mmax
#define ELEN_THR
#define MMAX
Definition: CreateListEBBH.C:5
char fName[256]
double mmin
GNGen eGen(mSMBH, mmin, mmax, beta)