diff --git a/c_tools/mock/generateFromCatalog.cpp b/c_tools/mock/generateFromCatalog.cpp index 2b47389..a06d02b 100644 --- a/c_tools/mock/generateFromCatalog.cpp +++ b/c_tools/mock/generateFromCatalog.cpp @@ -334,7 +334,8 @@ void generateSurfaceMask(generateFromCatalog_info& args , // TEST - insert mock galaxies along spheres of survey redshift boundaries fp = fopen("mock_sphere.txt", "w"); - for (int p = 0; p < full_mask_list.size(); p++) { + for (int p = 0; p < 0; p++) { + //for (int p = 0; p < full_mask_list.size(); p++) { vec3 v = mask.pix2vec(full_mask_list[p]); Position p; diff --git a/c_tools/stacking/pruneVoids.cpp b/c_tools/stacking/pruneVoids.cpp index 0bc81ba..86f850b 100644 --- a/c_tools/stacking/pruneVoids.cpp +++ b/c_tools/stacking/pruneVoids.cpp @@ -40,6 +40,7 @@ typedef struct voidStruct { float vol, coreDens, zoneVol, densCon, voidProb, radius; int voidID, numPart, numZones, coreParticle, zoneNumPart; float maxRadius, nearestMock, centralDen, redshift, redshiftInMpc; + float nearestEdge; float center[3], barycenter[3]; int accepted; } VOID; @@ -349,6 +350,7 @@ int main(int argc, char **argv) { voids[iVoid].centralDen = centralDen / (4./3. * M_PI * pow(centralRad, 3./2.)); // compute maximum extent +/* if (args_info.isObservation_flag) { maxDist = 0.; for (p = 0; p < voids[iVoid].numPart; p++) { @@ -364,6 +366,7 @@ int main(int argc, char **argv) { } voids[iVoid].maxRadius = sqrt(maxDist)/2.; } else { +*/ maxDist = 0.; for (p = 0; p < voids[iVoid].numPart; p++) { @@ -379,7 +382,7 @@ int main(int argc, char **argv) { if (dist2 > maxDist) maxDist = dist2; } voids[iVoid].maxRadius = sqrt(maxDist); - } +// } if (args_info.isObservation_flag) { // compute distance from center to nearest mock @@ -405,8 +408,9 @@ int main(int argc, char **argv) { pow(voids[iVoid].barycenter[2] - boxLen[2]/2.,2)); voids[iVoid].redshiftInMpc = voids[iVoid].redshiftInMpc; redshift = voids[iVoid].redshiftInMpc; - nearestEdge = fmin(fabs(redshift-args_info.zMin_arg*LIGHT_SPEED/100.), - fabs(redshift-args_info.zMax_arg*LIGHT_SPEED/100.)); + nearestEdge = fabs(redshift-args_info.zMax_arg*LIGHT_SPEED/100.); + //nearestEdge = fmin(fabs(redshift-args_info.zMin_arg*LIGHT_SPEED/100.), + // fabs(redshift-args_info.zMax_arg*LIGHT_SPEED/100.)); voids[iVoid].redshift = voids[iVoid].redshiftInMpc/LIGHT_SPEED*100.; } else { @@ -436,9 +440,10 @@ int main(int argc, char **argv) { } } - if (nearestEdge < voids[iVoid].nearestMock) { - voids[iVoid].nearestMock = nearestEdge; - } + voids[iVoid].nearestEdge = nearestEdge; + //if (nearestEdge < voids[iVoid].nearestMock) { + // voids[iVoid].nearestMock = nearestEdge; + //} } // iVoid printf(" Picking winners and losers...\n"); @@ -474,6 +479,15 @@ int main(int argc, char **argv) { voids[iVoid].accepted = -2; } + // *alwas* clean out near edges since there are no mocks there + if (tolerance*voids[iVoid].maxRadius > voids[iVoid].nearestEdge) { + voids[iVoid].accepted = -3; + } + + // assume the lower z-boundary is "soft" in observations + if (voids[iVoid].redshift < args_info.zMin_arg) { + voids[iVoid].accepted = -3; + } } numKept = 0; diff --git a/python_tools/void_python_tools/backend/launchers.py b/python_tools/void_python_tools/backend/launchers.py index 3965f96..f9d0ae2 100755 --- a/python_tools/void_python_tools/backend/launchers.py +++ b/python_tools/void_python_tools/backend/launchers.py @@ -271,8 +271,8 @@ def launchPrune(sample, binPath, thisDataPortion=None, cmd += " --dataPortion=" + thisDataPortion cmd += " --mockIndex=" + str(mockIndex) cmd += " --maxCentralDen=" + str(maxDen) - cmd += " --zMin=" + str(sample.zBoundary[0]) - cmd += " --zMax=" + str(sample.zBoundary[1]) + cmd += " --zMin=" + str(sample.zRange[0]) + cmd += " --zMax=" + str(sample.zRange[1]) cmd += " --rMin=" + str(sample.minVoidRadius) cmd += " --numVoids=" + str(numVoids) cmd += observationLine