cbc/findchirp: fixed a few compilation warnings
authorTito Dal Canton <tito.canton@ligo.org>
Mon, 28 Jan 2013 12:28:44 +0000 (13:28 +0100)
committerTito Dal Canton <tito.canton@ligo.org>
Mon, 28 Jan 2013 12:28:44 +0000 (13:28 +0100)
cbc/findchirp/src/findchirp.cpp

index 3e7af3c..7e3cc83 100644 (file)
@@ -19,8 +19,8 @@ using namespace std;
 
 #define cReal cl_complex_float
 
-int main(int ac, char* av[]) {
-
+int main(int ac, char* av[])
+{
     // Instantiate vital GWTools objects
     // The command Line Interface (UI)
     GW::CLIFindchirp myCli(ac, av);
@@ -41,7 +41,6 @@ int main(int ac, char* av[]) {
        o d_X       is something on the device (GPU)
     */
 
-    cl_int     err                             = 0;
     string     cachefile                       = myCli.get_frame_cache();
     string     channel                         = myCli.get_channel_name();
     string     template_bank_file              = myCli.get_bank_file();
@@ -51,7 +50,6 @@ int main(int ac, char* av[]) {
     string     chi2_outfile             = myCli.get_write_chi2_series();
     double     start_time               = myCli.get_gps_start_time();
     double     end_time                        = myCli.get_gps_end_time();
-    double     data_length                     = end_time - start_time;
     cl_uint    data_size                       = 0;
     double     segment_length                  = 0;
     cl_uint       segment_size                         = 0;
@@ -59,10 +57,10 @@ int main(int ac, char* av[]) {
     double     longest_template_length         = 0;
     cl_uint    longest_template_idx            = 0;
     cl_uint    number_of_chi2_bands     = myCli.get_chisq_bins();
-    double     chi2_threshold                  = myCli.get_chisq_threshold();
+    //double     chi2_threshold                        = myCli.get_chisq_threshold();
     cl_uint    chi2_bands[32];
     cl_float   snr_threshold                   = myCli.get_snr_threshold();
-    double     flow                     = myCli.get_flow();
+    //double     flow                     = myCli.get_flow();
     cl_int     dynamic_exp              = myCli.get_dynamic_exp();
     double     cluster_length           = 0.0625;
     cl_uint    cluster_size;
@@ -100,15 +98,15 @@ int main(int ac, char* av[]) {
 
     // Some timer index for the benchmarking
     enum timers {
-        t_total = 0,
-        t_precond = 1,
-        t_generate = 2,
-        t_variance = 3,
-        t_copy =4,
-        t_cluster = 5,
-        t_filter = 6,
-        t_norm = 7,
-        t_chisq = 8
+        t_total,
+        t_precond,
+        t_generate,
+        t_variance,
+        t_copy,
+        t_cluster,
+        t_filter,
+        t_norm,
+        t_chisq
     };
 
     myTimer.Start(t_total);
@@ -189,16 +187,20 @@ int main(int ac, char* av[]) {
     psd->abs();
 
     // Write out the PSD if it was requested
-    if (!psd_outfile.empty()) {psd->Write(psd_outfile.c_str(),"ascii");}
+    if (!psd_outfile.empty()) {
+        psd->Write(psd_outfile.c_str(), "ascii");
+    }
 
     // Write out the strain if it was requested
-    if (!strain_outfile.empty()) {strain->Write(strain_outfile.c_str(),"ascii");}
+    if (!strain_outfile.empty()) {
+        strain->Write(strain_outfile.c_str(), "ascii");
+    }
 
     // Segmenting the data
     strain->Segment(strain_segments, segment_size, myCli.get_segment_overlap());
 
     // Creating and allocating a FrequencySeries vector for the FFT domain data
-    for (int i = 0; i < strain_segments.size(); i++) {
+    for (unsigned int i = 0; i < strain_segments.size(); i++) {
         strain_fft_segments.push_back(GW::FrequencySeries <cReal>
                (segment_size, 1. / segment_length, &myCli, &myLogger, &myRTE));
     }
@@ -206,7 +208,7 @@ int main(int ac, char* av[]) {
     // Fourier transforming the segments
     myLogger.Log(GW::INFO, __func__, "Fourier transforming the data segments");
 
-    for (int i = 0; i < strain_segments.size(); i++) {
+    for (unsigned int i = 0; i < strain_segments.size(); i++) {
         myFFT.Forward( &(strain_segments[i]), &(strain_fft_segments[i]));
         strain_fft_segments[i] *= 2. / segment_size;
         strain_fft_segments[i].Fill(0, segment_size / 2 + 1, segment_size - 1);
@@ -254,7 +256,7 @@ int main(int ac, char* av[]) {
     // Here the real filtering starts
     myLogger.Log(GW::INFO, __func__, "Start the filtering");
 
-    for (int i = 0; i < myTemplateBank.number_of_templates; i++) {
+    for (unsigned int i = 0; i < myTemplateBank.number_of_templates; i++) {
         myIntrParams = myTemplateBank.templates[i];
 
         // Generating the template
@@ -278,7 +280,7 @@ int main(int ac, char* av[]) {
         myTimer.Stop(t_norm);
 
         // Loop on the data segments
-        for (int j = 0; j < strain_fft_segments.size(); j++) {
+        for (unsigned int j = 0; j < strain_fft_segments.size(); j++) {
             // Calculating the SNR time series for the given data segment
             myTimer.Continue(t_filter);
             myMatchedFilter.Snr(h, &strain_fft_segments[j], snr_segment, &myFFT);
@@ -310,12 +312,20 @@ int main(int ac, char* av[]) {
         mySMCluster.FindClusters(cluster_args, &myIntrParams, snr, chi2, &myTriggerList);
         myTimer.Stop(t_cluster);
 
-        // print stats for debugging
-        snr->abs();
-        chi2->abs();
-        myLogger.Log(GW::DEBUG, __func__, "SNR mean %.2f variance %.2f", snr->mean().real(), snr->var().real());
-        if (number_of_chi2_bands > 0) {
-            myLogger.Log(GW::DEBUG, __func__, "Chi2 mean %.2f variance %.2f", chi2->mean().real(), chi2->var().real());
+        if (myLogger.logLevel >= GW::DEBUG) {
+            // print stats
+            cl_float    mean = 0, var = 0;
+
+            snr->abs();
+            snr->sqr();
+            mean = snr->mean().real();
+            var = snr->var().real();
+            myLogger.Log(GW::DEBUG, __func__, "SNR mean %.4f variance %.4f", mean, var);
+            if (number_of_chi2_bands > 0) {
+                mean = chi2->mean().real();
+                var = chi2->var().real();
+                myLogger.Log(GW::DEBUG, __func__, "Chi2 mean %.4f variance %.4f", mean, var);
+            }
         }
     }
 
@@ -360,8 +370,10 @@ int main(int ac, char* av[]) {
                                        filt_time, filt_time / totaltime);
     myLogger.Log(GW::DEBUG,__func__,"Normalisation       : %f, %f %%",
                                        norm_time, norm_time / totaltime);
-    myLogger.Log(GW::DEBUG,__func__,"Chi-squared test    : %f, %f %%",
+    if (number_of_chi2_bands > 0) {
+        myLogger.Log(GW::DEBUG,__func__,"Chi-squared test    : %f, %f %%",
                                        chisq_time, chisq_time / totaltime);
+    }
     myLogger.Log(GW::DEBUG,__func__,"Coping data         : %f, %f %%",
                                        copy_time, copy_time / totaltime);
     myLogger.Log(GW::DEBUG,__func__,"Clustering          : %f, %f %%",