- Timestamp:
- Jan 13, 2012, 12:19:04 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BAORadio/AmasNancay/trunk/mergeAnaFiles.cc
r626 r632 59 59 string calibBandFreq_; //band of freq. used for calibration 60 60 r_4 rcalibBandFreq_; //float version 61 int maxNumberCycles_;//maximum number of cycles to be treated 61 int maxNumberCycles_;//(int)maximum number of cycles to be treated 62 string maxNumberCyclesStr_;//(string)maximum number of cycles to be treated 62 63 } para; 63 64 //-------------------------------------------------------------- … … 237 238 } 238 239 //----- 239 list<string> ListOfFileInDir(string dir, string fileP ettern) throw(string) {240 list<string> ListOfFileInDir(string dir, string filePattern) throw(string) { 240 241 list<string> theList; 241 242 … … 253 254 while ( (dit = readdir(dip)) != NULL ) { 254 255 fileName = dit->d_name; 255 found=fileName.find(fileP ettern);256 found=fileName.find(filePattern); 256 257 if (found != string::npos) { 257 258 fullFileName = dir + "/"; … … 1421 1422 TMatrix<r_4> meanOFFovOFF_noCalib(NUMBER_OF_CHANNELS,NUMBER_OF_FREQ); // OFF/Filtered_OFF 1422 1423 //Tuple only for RAW things to follow 1423 static const int NINFO= 11;1424 static const int NINFO=25; 1424 1425 char* onffTupleName[NINFO]={"cycle" 1425 1426 ,"onoffRaw01420","onoffRaw11420" 1426 1427 ,"onoffRaw01420side","onoffRaw11420side" 1427 1428 ,"onoffRaw0f14101415","onoffRaw1f14101415" 1428 ,"offRaw0f14101415","offRaw1f14101415" 1429 ,"onRaw0f14101415","onRaw1f14101415" 1429 ,"offovoffRaw0f14101415","offovoffRaw1f14101415" 1430 ,"onovoffRaw0f14101415","onovoffRaw1f14101415" 1431 ,"onoffRaw0f14051415","onoffRaw1f14051415" 1432 ,"onoffRaw0f14051410","onoffRaw1f14051410" 1433 ,"diffonoffRaw0f14051415","diffonoffRaw1f14051415" 1434 ,"diffonoffRaw0f14051410","diffonoffRaw1f14051410" 1435 ,"diffonoffRaw0f14101415","diffonoffRaw1f14101415" 1436 ,"onRaw0f14001415","onRaw1f14001415" 1437 ,"offRaw0f14001415","offRaw1f14001415" 1430 1438 }; 1431 1439 NTuple onoffevolution(NINFO,onffTupleName); … … 1444 1452 //1400-1420Mhz 1445 1453 sa_size_t ch1400 = freqToChan(1400); 1446 // sa_size_t ch1405 = freqToChan(1400);1454 sa_size_t ch1405 = freqToChan(1405); 1447 1455 sa_size_t ch1410 = freqToChan(1410); 1448 1456 sa_size_t ch1415 = freqToChan(1415); 1449 sa_size_t ch1420 = freqToChan(1420);1457 // sa_size_t ch1420 = freqToChan(1420); 1450 1458 1451 1459 if (para.debuglev_>0){ … … 1520 1528 1521 1529 if (para.debuglev_>90){ 1522 cout << "Liste of cycles common to On & Off: <";1530 cout << dateOfRun << ": Liste of cycles common to On & Off: <"; 1523 1531 for (list<int>::iterator i=commonCycles.begin(); i!=commonCycles.end(); ++i){ 1524 1532 cout << *i << " "; … … 1560 1568 TMatrix<r_4> aSpecOff(NUMBER_OF_CHANNELS,NUMBER_OF_FREQ); 1561 1569 fin.GetObject(aSpecOff,ppftag); 1562 1570 1563 1571 //Perform the difference ON-OFF 1564 1572 TMatrix<r_4> diffOnOff_noCalib = aSpecOn - aSpecOff; … … 1583 1591 offOvOff.Div(aSpecOffFiltered); 1584 1592 meanOFFovOFF_noCalib += offOvOff; 1593 1585 1594 1586 1595 totalNumberCycles++; … … 1595 1604 xnt[2] = meanInRange_1420Freq_noCalib(1); 1596 1605 1597 1598 1606 //Follow up below the 1420.4MHz Freq. 1599 1607 TVector<r_4> meanInRange_1420aFreq_noCalib(NUMBER_OF_CHANNELS); … … 1630 1638 xnt[9] = meanInRange_1410a1415Freq_ON_noCalib(0); 1631 1639 xnt[10] = meanInRange_1410a1415Freq_ON_noCalib(1); 1640 1641 //AST 09/01/12 follow 1405-1415 and 1405-1410 MHz for (ON-OFF)/OFF_filt 1642 TVector<r_4> meanInRange_1405a1415Freq_noCalib(NUMBER_OF_CHANNELS); 1643 meanInRange(diffOnOffOvOff_noCalib,ch1405,ch1415,meanInRange_1405a1415Freq_noCalib); 1644 xnt[11] = meanInRange_1405a1415Freq_noCalib(0); 1645 xnt[12] = meanInRange_1405a1415Freq_noCalib(1); 1646 1647 TVector<r_4> meanInRange_1405a1410Freq_noCalib(NUMBER_OF_CHANNELS); 1648 meanInRange(diffOnOffOvOff_noCalib,ch1405,ch1410,meanInRange_1405a1410Freq_noCalib); 1649 xnt[13] = meanInRange_1405a1410Freq_noCalib(0); 1650 xnt[14] = meanInRange_1405a1410Freq_noCalib(1); 1651 1652 //AST 09/01/12 follow 1405-1415, 1405-1410 and 1410-1415 MHz for (ON-OFF) 1653 TVector<r_4> meanInRange_1405a1415Freq_diffOnOff_noCalib(NUMBER_OF_CHANNELS); 1654 meanInRange(diffOnOff_noCalib,ch1405,ch1415,meanInRange_1405a1415Freq_diffOnOff_noCalib); 1655 xnt[15] = meanInRange_1405a1415Freq_diffOnOff_noCalib(0); 1656 xnt[16] = meanInRange_1405a1415Freq_diffOnOff_noCalib(1); 1657 1658 TVector<r_4> meanInRange_1405a1410Freq_diffOnOff_noCalib(NUMBER_OF_CHANNELS); 1659 meanInRange(diffOnOff_noCalib,ch1405,ch1410,meanInRange_1405a1410Freq_diffOnOff_noCalib); 1660 xnt[17] = meanInRange_1405a1410Freq_diffOnOff_noCalib(0); 1661 xnt[18] = meanInRange_1405a1410Freq_diffOnOff_noCalib(1); 1662 1663 TVector<r_4> meanInRange_1410a1415Freq_diffOnOff_noCalib(NUMBER_OF_CHANNELS); 1664 meanInRange(diffOnOff_noCalib,ch1410,ch1415,meanInRange_1410a1415Freq_diffOnOff_noCalib); 1665 xnt[19] = meanInRange_1410a1415Freq_diffOnOff_noCalib(0); 1666 xnt[20] = meanInRange_1410a1415Freq_diffOnOff_noCalib(1); 1667 1668 //AST 10/01/12 follow 1400-1415 MHz ON, OFF (to continue plot on internal notes) 1669 TVector<r_4> meanInRange_1400a1415Freq_On_noCalib(NUMBER_OF_CHANNELS); 1670 meanInRange(aSpecOn,ch1400,ch1415,meanInRange_1400a1415Freq_On_noCalib); 1671 xnt[21] = meanInRange_1400a1415Freq_On_noCalib(0); 1672 xnt[22] = meanInRange_1400a1415Freq_On_noCalib(1); 1673 TVector<r_4> meanInRange_1400a1415Freq_Off_noCalib(NUMBER_OF_CHANNELS); 1674 meanInRange(aSpecOff,ch1400,ch1415,meanInRange_1400a1415Freq_Off_noCalib); 1675 xnt[23] = meanInRange_1400a1415Freq_Off_noCalib(0); 1676 xnt[24] = meanInRange_1400a1415Freq_Off_noCalib(1); 1632 1677 1633 1678 //store infos to Ntuple … … 1653 1698 stringstream tmp; 1654 1699 tmp << totalNumberCycles; 1655 string fileName = para.outPath_+"/rawOnOffDiff_"+StringToLower(para.sourceName_)+"-"+tmp.str()+"Cycles.ppf"; 1656 1700 string fileName; 1701 if ( para.ppfFile_ == "dataRawNoGain" ) { 1702 fileName = para.outPath_+"/rawOnOffDiffNoGain_"+StringToLower(para.sourceName_)+"-"+tmp.str()+"Cycles.ppf"; 1703 } else { 1704 fileName = para.outPath_+"/rawOnOffDiff_"+StringToLower(para.sourceName_)+"-"+tmp.str()+"Cycles.ppf"; 1705 } 1657 1706 POutPersist fos(fileName); 1658 1707 cout << "Save output in " << fileName << endl; … … 1803 1852 } 1804 1853 1805 1806 1854 1807 1855 {//Save the result … … 1828 1876 fos << PPFNameTag(tag) << tarr; 1829 1877 } 1878 } 1879 1880 // AST 5/12/2011 1881 //------------------------------------------------------- 1882 // Take all statistics from cluster data to compute Raw sensitivity vs. t_int 1883 1884 void meanRawDiffOnOffAllClusters() throw(string) { 1885 1886 // Sources names 1887 std::vector < std::string > sources; //we'll put all of the tokens in here 1888 std::string temp, insources = para.sourceName_; 1889 std::cout << insources << std::endl; 1890 while (insources.find("-", 0) != std::string::npos) { //does the string a comma in it? 1891 size_t pos = insources.find("-", 0); //store the position of the delimiter 1892 temp = insources.substr(0, pos); //get the token 1893 insources.erase(0, pos + 1); //erase it from the source 1894 sources.push_back(temp); //and put it into the array 1895 } 1896 sources.push_back(insources); //the last token is all alone 1897 std::cout << "Processing " << sources.size() << " sources" << std::endl; 1898 1899 // Sources max number of cycles 1900 std::vector < std::string > cycles; //we'll put all of the tokens in here 1901 std::string temp1, incycles = para.maxNumberCyclesStr_; 1902 while (incycles.find("-", 0) != std::string::npos) { //does the string a hyphen in it? 1903 size_t pos = incycles.find("-", 0); //store the position of the delimiter 1904 temp1 = incycles.substr(0, pos); //get the token 1905 incycles.erase(0, pos + 1); //erase it from the source 1906 cycles.push_back(temp1); //and put it into the array 1907 } 1908 cycles.push_back(incycles); //the last token is all alone 1909 1910 if ( sources.size() != cycles.size() ) { 1911 std::cout << "Problem: a max number of cycles for each source must be entered" << std::endl; 1912 exit (1); 1913 } else { 1914 for (uint j=0;j<cycles.size();j++) { 1915 cout<<"Source "<<sources.at(j)<<": max "<<cycles.at(j)<<" cycles"<< endl; 1916 } 1917 } 1918 1919 // Begin analysis for each source 1920 list<string> listOfFiles,copylistOfFiles; 1921 string directoryName; 1922 1923 //mean ON-OFF over the list of cycles 1924 TMatrix<r_4> meanDiffONOFF_noCalib(NUMBER_OF_CHANNELS,NUMBER_OF_FREQ); //(ON-OFF)/GAIN 1925 TMatrix<r_4> meanDiffONOFFovOFF_noCalib(NUMBER_OF_CHANNELS,NUMBER_OF_FREQ); //(ON-OFF)/Filtered_OFF 1926 TMatrix<r_4> meanONovOFF_noCalib(NUMBER_OF_CHANNELS,NUMBER_OF_FREQ); // ON/Filtered_OFF 1927 TMatrix<r_4> meanOFFovOFF_noCalib(NUMBER_OF_CHANNELS,NUMBER_OF_FREQ); // OFF/Filtered_OFF 1928 //Tuple only for RAW things to follow 1929 static const int NINFO=11; 1930 char* onffTupleName[NINFO]={"srcID","date","run","cycletot","cyclesource" 1931 ,"onoffRaw0f14101415","onoffRaw1f14101415" 1932 ,"onoffRaw0f141014125","onoffRaw1f141014125" 1933 ,"onoffRaw0f14101411","onoffRaw1f14101411" 1934 }; 1935 NTuple onoffevolution(NINFO,onffTupleName); 1936 r_4 xnt[NINFO]; 1937 1938 //Loop on Sources 1939 int numberCyclesSource; // running number of cycles for each source 1940 int maxCyclesSource; // maximum number of cycles for each source 1941 int totalNumberRuns=0; //total number of runs (for all clusters) 1942 int totalNumberCycles=0; //total number of cycles (for all clusters) 1943 std::string dumm; 1944 1945 for (uint iSource=0;iSource<sources.size();iSource++){ 1946 directoryName = para.inPath_ + "/" + sources.at(iSource); 1947 maxCyclesSource = atoi(cycles.at(iSource).c_str()); 1948 cout<<"Processing "<< maxCyclesSource<<" cycles for source "<<sources.at(iSource)<<endl; 1949 1950 //Make the listing of the directory 1951 listOfFiles = ListOfFileInDir(directoryName,para.ppfFile_); 1952 cout << "Total number of files loaded..." << listOfFiles.size() << endl; 1953 // cout << endl; 1954 1955 list<string>::const_iterator iFile, iFileEnd, iSpec, iSpecEnd; 1956 iFileEnd = listOfFiles.end(); 1957 1958 //1410-1415Mhz 1959 sa_size_t ch1410 = freqToChan(1410); 1960 sa_size_t ch1411 = freqToChan(1411); 1961 sa_size_t ch14125 = freqToChan(1412.5); 1962 sa_size_t ch1415 = freqToChan(1415); 1963 1964 if (para.debuglev_>0){ 1965 cout << "(1) freq. band for follow up [" << ch1410 << ", "<< ch1415 << "]" << endl; 1966 cout << "(2) freq. band for follow up [" << ch1410 << ", "<< ch14125 << "]" << endl; 1967 cout << "(3) freq. band for follow up [" << ch1410 << ", "<< ch1411 << "]" << endl; 1968 } 1969 1970 numberCyclesSource=0; //total number of cycles in this source 1971 //Loop on files 1972 for (iFile = listOfFiles.begin(); iFile != iFileEnd; ++iFile) { 1973 if (para.debuglev_>90){ 1974 cout << "load file <" << *iFile << ">" << endl; 1975 } 1976 1977 vector<string> tokens; 1978 split(*iFile,"_",tokens); 1979 string dateOfRun = tokens[1]; 1980 r_4 rdateOfRun = atoi(dateOfRun.c_str()) - 2011*1.e4; 1981 if (para.debuglev_>90){ 1982 cout << "date <" << dateOfRun << ">" << endl; 1983 cout << "rdate <" << rdateOfRun << ">" << endl; 1984 } 1985 vector<string> tokens2; 1986 split(tokens[2],".",tokens2); 1987 string srcLower = tokens2[0], csrcID; 1988 size_t found; 1989 found=srcLower.find_first_of("0123456789"); 1990 while (found!=string::npos){ 1991 csrcID.push_back(srcLower[found]); 1992 found=srcLower.find_first_of("0123456789",found+1); 1993 } 1994 r_4 srcID = atoi(csrcID.c_str()); 1995 if (para.debuglev_>1000){ 1996 cout << "source <" << srcLower << ">" << endl; 1997 cout << "srcID <" << srcID << ">" << endl; 1998 } 1999 2000 // AST remove bad data of Abell1205 2001 if ( (dateOfRun=="20110822"||dateOfRun=="20110903"||dateOfRun=="20110905"||dateOfRun=="20110912"||dateOfRun=="20110915") && srcLower == "abell1205" ) { 2002 cout << ">>> Skipping bad period " << dateOfRun << endl; 2003 continue; 2004 } 2005 2006 PInPersist fin(*iFile); 2007 vector<string> vec = fin.GetNameTags(); 2008 2009 vector<string> modeList; 2010 modeList.push_back("On"); 2011 modeList.push_back("Off"); 2012 vector<string>::const_iterator iMode; 2013 2014 map<string, list<int> > cycleModeCollect; 2015 2016 for (iMode = modeList.begin(); iMode!=modeList.end(); ++iMode) { 2017 list<string> listOfSpectra; 2018 //Keep only required PPF objects 2019 string matchstr = "specRaw"+(*iMode)+"[0-9]+"; 2020 std::remove_copy_if( 2021 vec.begin(), vec.end(), back_inserter(listOfSpectra), 2022 not1(StringMatch(matchstr)) 2023 ); 2024 2025 listOfSpectra.sort(stringCompare); 2026 iSpecEnd = listOfSpectra.end(); 2027 2028 matchstr = "[0-9]+"; 2029 //Loop of spectra matrix 2030 list<int> listOfCycles; 2031 for (iSpec = listOfSpectra.begin(); iSpec!=iSpecEnd; ++iSpec){ 2032 int b,e; 2033 regexp(iSpec->c_str(),matchstr.c_str(),&b,&e); 2034 if (para.debuglev_>90){ 2035 cout << " spectra <" << *iSpec << ">" << endl; 2036 cout << " cycle " << iSpec->substr(b) << endl; 2037 } 2038 listOfCycles.push_back(atoi((iSpec->substr(b)).c_str())); 2039 }//end loop spectra 2040 cycleModeCollect[*iMode] = listOfCycles; 2041 }//end of mode 2042 2043 //Take the Intersection of the list Of cycles in mode Off and On 2044 list<int> commonCycles; 2045 set_intersection(cycleModeCollect["On"].begin(), 2046 cycleModeCollect["On"].end(), 2047 cycleModeCollect["Off"].begin(), 2048 cycleModeCollect["Off"].end(), 2049 back_inserter(commonCycles) 2050 ); 2051 2052 if (para.debuglev_>90){ 2053 cout << "Liste of cycles common to On & Off: <"; 2054 for (list<int>::iterator i=commonCycles.begin(); i!=commonCycles.end(); ++i){ 2055 cout << *i << " "; 2056 } 2057 cout << ">" << endl; 2058 } 2059 2060 //Loop on cycles 2061 for (list<int>::iterator ic=commonCycles.begin(); ic!=commonCycles.end(); ++ic){ 2062 2063 // AST 28.11.11 remove non-calibrated cycles for Abell1205 and Abell2440 2064 if ( *ic == 1 && srcLower == "abell1205" ) { 2065 if ( dateOfRun == "20110502" || dateOfRun == "20110607" || dateOfRun == "20110818" ) { 2066 cout << "Skipping non-calibrated cycle " << *ic << endl; 2067 continue; 2068 } 2069 } else if ( *ic == 1 && srcLower == "abell2440" ) { 2070 if ( dateOfRun == "20110516" ) { 2071 cout << "Skipping non-calibrated cycle " << *ic << endl; 2072 continue; 2073 } 2074 } else if ( *ic == 3 && srcLower == "abell1205" ) { 2075 if ( dateOfRun == "20110810" ) { 2076 cout << "Skipping non-calibrated cycle " << *ic << endl; 2077 continue; 2078 } 2079 } 2080 2081 string ppftag; 2082 //load ON phase 2083 stringstream cycle; 2084 cycle << *ic; 2085 ppftag = "specRawOn"+cycle.str(); 2086 TMatrix<r_4> aSpecOn(NUMBER_OF_CHANNELS,NUMBER_OF_FREQ); 2087 fin.GetObject(aSpecOn,ppftag); 2088 2089 //Load OFF phase 2090 ppftag = "specRawOff"+cycle.str(); 2091 TMatrix<r_4> aSpecOff(NUMBER_OF_CHANNELS,NUMBER_OF_FREQ); 2092 fin.GetObject(aSpecOff,ppftag); 2093 2094 //Perform the difference ON-OFF 2095 TMatrix<r_4> diffOnOff_noCalib = aSpecOn - aSpecOff; 2096 meanDiffONOFF_noCalib += diffOnOff_noCalib; 2097 2098 TMatrix<r_4> diffOnOffOvOff_noCalib(diffOnOff_noCalib,false); //do not share data 2099 TMatrix<r_4> aSpecOffFiltered(NUMBER_OF_CHANNELS,NUMBER_OF_FREQ); 2100 sa_size_t halfWidth = 35; //number of freq. bin for the 1/2 width of the filtering window 2101 medianFiltering(aSpecOff,halfWidth,aSpecOffFiltered); 2102 diffOnOffOvOff_noCalib.Div(aSpecOffFiltered); //division in place 2103 meanDiffONOFFovOFF_noCalib += diffOnOffOvOff_noCalib; 2104 2105 numberCyclesSource++; 2106 totalNumberCycles++; 2107 2108 //Fill NTuple 2109 xnt[0] = srcID; 2110 xnt[1] = rdateOfRun; 2111 xnt[2] = totalNumberRuns; 2112 xnt[3] = totalNumberCycles; 2113 xnt[4] = numberCyclesSource; 2114 2115 TVector<r_4> meanInRange_1410a1415Freq_noCalib(NUMBER_OF_CHANNELS); 2116 meanInRange(diffOnOffOvOff_noCalib,ch1410,ch1415,meanInRange_1410a1415Freq_noCalib); 2117 TVector<r_4> meanInRange_1410a14125Freq_noCalib(NUMBER_OF_CHANNELS); 2118 meanInRange(diffOnOffOvOff_noCalib,ch1410,ch14125,meanInRange_1410a14125Freq_noCalib); 2119 TVector<r_4> meanInRange_1410a1411Freq_noCalib(NUMBER_OF_CHANNELS); 2120 meanInRange(diffOnOffOvOff_noCalib,ch1410,ch1411,meanInRange_1410a1411Freq_noCalib); 2121 2122 xnt[5] = meanInRange_1410a1415Freq_noCalib(0); 2123 xnt[6] = meanInRange_1410a1415Freq_noCalib(1); 2124 xnt[7] = meanInRange_1410a14125Freq_noCalib(0); 2125 xnt[8] = meanInRange_1410a14125Freq_noCalib(1); 2126 xnt[9] = meanInRange_1410a1411Freq_noCalib(0); 2127 xnt[10] = meanInRange_1410a1411Freq_noCalib(1); 2128 2129 onoffevolution.Fill(xnt); 2130 2131 //Quit if enough 2132 if ( numberCyclesSource >= maxCyclesSource ) break; 2133 }//end loop on cycles 2134 if (numberCyclesSource >= maxCyclesSource) break; 2135 totalNumberRuns++; 2136 } // end loop on files 2137 cout << "End of job on source: we have treated " << numberCyclesSource << " cycles" << endl; 2138 } // end loop on sources 2139 cout << "End of jobs: we have treated " << totalNumberCycles << " cycles" << endl; 2140 2141 //Normalisation 2142 if(totalNumberCycles > 0){ 2143 meanDiffONOFF_noCalib /= (r_4)totalNumberCycles; 2144 meanDiffONOFFovOFF_noCalib /= (r_4)totalNumberCycles; 2145 } 2146 2147 {//save results 2148 stringstream tmp; 2149 tmp << totalNumberCycles; 2150 string fileName = para.outPath_+"/rawOnOffDiff_"+StringToLower(para.sourceName_)+"-"+tmp.str()+"Cycles.ppf"; 2151 2152 POutPersist fos(fileName); 2153 cout << "Save output in " << fileName << endl; 2154 2155 string tag = "meanNoCalib"; 2156 fos << PPFNameTag(tag) << meanDiffONOFF_noCalib; 2157 2158 tag = "meanOvOffNoCalib"; 2159 fos << PPFNameTag(tag) << meanDiffONOFFovOFF_noCalib; 2160 2161 tag = "onoffevol"; 2162 fos << PPFNameTag(tag) << onoffevolution; 2163 2164 }//end save 2165 1830 2166 } 1831 2167 … … 1856 2192 if (strcmp(arg[ka],"-h")==0) { 1857 2193 cout << "Usage: -act [meanRawDiffOnOff]|medianRawDiffOnOff|meanCalibBAODiffOnOff\n" 1858 << " -mxcycles <number> (max. number of cycles to be treated) \n"2194 << " -mxcycles <number> (max. number of cycles to be treated) or <list-of-numbers> if several sources are analysed \n" 1859 2195 << " -calibfreq <number> (cf. freq. used by calibration operation)\n" 1860 2196 << " -calibbandfreq <number> (cf. band of freq. used by calibration operation)\n" 1861 << " -src [Abell85] \n"2197 << " -src [Abell85] or list of sources [Abell85-Abell1205-Abell2440]\n" 1862 2198 << " -inPath [.]|<top_root_dir of the ppf file>\n" 1863 2199 << " (ex. /sps/baoradio/AmasNancay/JEC/\n " … … 1924 2260 if (mxcycles != "") { 1925 2261 para.maxNumberCycles_ = atoi(mxcycles.c_str()); 2262 para.maxNumberCyclesStr_ = mxcycles; 1926 2263 } else { 1927 2264 para.maxNumberCycles_ = std::numeric_limits<int>::max(); 2265 para.maxNumberCyclesStr_ = "500"; 1928 2266 } 1929 2267 … … 1962 2300 } else if (action == "calibCoeffNtp") { 1963 2301 calibCoeffNtp(); 2302 } else if (action == "meanRawDiffOnOffAllClusters") { 2303 meanRawDiffOnOffAllClusters(); 1964 2304 } else { 1965 2305 msg = "Unknown action " + action;
Note: See TracChangeset
for help on using the changeset viewer.