Changeset 3971 in Sophya for trunk/Cosmo/SimLSS/cmvginit3d.cc


Ignore:
Timestamp:
Apr 1, 2011, 5:47:26 PM (14 years ago)
Author:
cmv
Message:

intro possibilite de generer sans les BAO, cmv 01/04/2011

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/SimLSS/cmvginit3d.cc

    r3924 r3971  
    3737     <<" -8 sigmaR,R : normalisation du spectre de puissance, R en Mpc"<<endl
    3838     <<"               (default sigmaR=1, R=8/h100 Mpc)"<<endl
     39     <<" -L : use no-oscillation (no-BAO) spectrum"<<endl
    3940     <<" -f cambspec.dat,h100tab,ztab : use CAMB file (def: Eisenstein spectrum)"<<endl
    4041     <<" -F : filter spectrum by pixel shape (0=no 1=yes(default)"<<endl
     
    9192 // *** Spectrum and variance definition
    9293 double ns = 1., as = 1.;
     94 bool use_noosc = false;
    9395 double R=8./h100, Rg=R/sqrt(5.);
    9496 double sigmaR = 1.;
     
    138140 // --- Decodage des arguments
    139141 char c;
    140  while((c = getopt(narg,arg,"haG:F:KB:x:y:z:Z:128:v:n:CO:So:VT:f:")) != -1) {
     142 while((c = getopt(narg,arg,"haG:F:LKB:x:y:z:Z:128:v:n:CO:So:VT:f:")) != -1) {
    141143  int nth = 0;
    142144  switch (c) {
     
    149151  case 'F' :
    150152    filter_by_pixel = atoi(optarg);
     153    break;
     154  case 'L' :
     155    use_noosc = true;
    151156    break;
    152157  case 'K' :
     
    223228 cout<<"kmin="<<kmin<<" ("<<log10(kmin)<<"), kmax="<<kmax<<" ("<<log10(kmax)<<") Mpc^-1"<<", npt="<<npt<<endl;
    224229 cout<<"Filter by pixel = "<<filter_by_pixel<<endl;
     230 if(use_noosc) cout<<"Use spectrum without BAO"<<endl;
    225231 if(kaiser_modify) cout<<"Modify spectrum with Kaiser redshift distorted formula"<<endl;
    226232 if(comptransveloc) cout<<"Tansverse velocity generation requested"<<endl;
     
    270276
    271277 PkSpecCalc pkznos(pkini,tfnos,growth,zref);
     278 PkSpecCalc pkzwos(pkini,tf,growth,zref);
    272279 PkSpectrum* pkz = NULL;
    273280 if(cambfread.size()>0) {  // read pk in CAMB file
     281   cout<<"...using CAMB spectrum"<<endl;
    274282   double h100tab, ztab;
    275283   string fn = decodecambarg(cambfread,h100tab,ztab);
     
    285293   kmax = pkzt->KMax();
    286294   cout<<"Change k limits to kmin="<<kmin<<" kmax="<<kmax<<endl;
    287  } else {   // use Eisenstein pk
     295 } else if(use_noosc) {   // use Eisenstein pk without BAO
     296   cout<<"...using spectrum WITHOUT BAO"<<endl;
     297   PkSpecCalc* pkze = new PkSpecCalc(pkini,tfnos,growth,zref);
     298   pkz = pkze;
     299 } else {   // use Eisenstein pk with BAO
     300   cout<<"...using spectrum with BAO"<<endl;
    288301   PkSpecCalc* pkze = new PkSpecCalc(pkini,tf,growth,zref);
    289302   pkz = pkze;
     
    294307
    295308 pkz->SetZ(0.);
     309 pkzwos.SetZ(0.);
    296310 pkznos.SetZ(0.);
    297311
    298312 double normpkz[2] = {0.,0.};
    299313 for(int i=0;i<2;i++) {
    300    PkSpectrum* pkvar = NULL; string nam = "";
    301    if(i==0) pkvar = pkz; else {pkvar = &pkznos; nam = "NoOsc";}
     314   PkSpectrum* pkvar = NULL; string nam = "With-BAO";
     315   if(i==0) pkvar = &pkzwos; else {pkvar = &pkznos; nam = "No-BAO";}
    302316   cout<<endl<<"\n--- Compute variance for Pk "<<nam<<" with top-hat R="<<R<<" at z="<<pkvar->GetZ()<<endl;
    303317   VarianceSpectrum varpk_th(*pkvar,R,VarianceSpectrum::TOPHAT);
     
    317331 cout<<endl;
    318332
     333 pkzwos.SetScale(normpkz[0]);
     334 pkznos.SetScale(normpkz[1]);
    319335 if(cambfread.size()>0) {
    320336   pkz->SetScale(1.);
    321    pkznos.SetScale(normpkz[1]);
    322337   cout<<"Warning: CAMB spectrum, no normalisation applied, scale="<<pkz->GetScale()<<endl;
    323338 } else {
    324    pkz->SetScale(normpkz[0]);
    325    pkznos.SetScale(normpkz[0]);
    326    cout<<"Spectrum normalisation (osc+noosc), scale = "<<pkz->GetScale()<<endl;
     339   pkz->SetScale( ((use_noosc) ? normpkz[1]: normpkz[0]) );
     340   cout<<"Spectrum normalisation with scale = "<<pkz->GetScale()<<endl;
    327341 }
    328342
     
    334348 FuncToHisto(pkznos,hpkz0nos,true);
    335349 posobs.PutObject(hpkz0nos,"hpkz0nos");
     350 Histo hpkz0wos(hpkz0);
     351 FuncToHisto(pkzwos,hpkz0wos,true);
     352 posobs.PutObject(hpkz0wos,"hpkz0wos");
    336353 }
    337354
    338355 pkz->SetZ(zref);
    339356 pkznos.SetZ(zref);
     357 pkzwos.SetZ(zref);
    340358
    341359 {
     
    346364 FuncToHisto(pkznos,hpkznos,true);
    347365 posobs.PutObject(hpkznos,"hpkznos");
     366 Histo hpkzwos(hpkz);
     367 FuncToHisto(pkzwos,hpkzwos,true);
     368 posobs.PutObject(hpkzwos,"hpkzwos");
    348369 }
    349370
Note: See TracChangeset for help on using the changeset viewer.