- Timestamp:
- Mar 19, 2015, 12:33:26 AM (10 years ago)
- Location:
- SPESO/ana2015
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
SPESO/ana2015/footer_fun.m
r164 r213 1 1 function footer_fun(fid) 2 fprintf(fid, '<EM> SPESO DATA PREIMINARY </EM> <BR/>\n') 3 fprintf(fid, '<A HREF="http://groups.lal.in2p3.fr/etalon/">ETALON</A><BR/>\n') 2 fprintf(fid, '<EM> SPESO DATA PRELIMINARY </EM> <BR/>\n'); 3 fprintf(fid, '<A HREF="http://groups.lal.in2p3.fr/etalon/">ETALON</A><BR/>\n'); 4 fprintf(fid, 'For more details contact <A HREF="http://lal.delerue.org/">Nicolas Delerue</A>.<BR/>\n'); 4 5 end -
SPESO/ana2015/gen_ana_speso_fun.m
r164 r213 1 1 function [signalVal, isSignal, isSPM, allMean, allSigma]=gen_ana_speso_fun(dateStr,timeStr) 2 2 3 4 5 if isdir('/sps_sera/smith-purcell/') 6 basedir='/sps_sera/smith-purcell/SPESO/data/'; 7 plots_basedir='/mnt/ftpe/data_speso/analysis/'; 8 else 3 9 basedir='/sps/sera/delerue/smith-purcell/SPESO/data/'; 10 plots_basedir='/tmp_mnt/pub/ftp/pub/etalon/data_speso/analysis/'; 11 end %which basedir 12 13 4 14 fnamebase=[ basedir dateStr '_scope/scope_' dateStr '_' timeStr '_' ]; 5 15 6 16 fname1 = [ fnamebase 'ch1.csv.gz' ]; 7 17 fname2 = [ fnamebase 'ch2.csv.gz' ]; 8 plots_dir= [ '/sps/sera/delerue/smith-purcell/SPESO/analysed/plots/' dateStr '/' timeStr(1:2) '/' ];18 plots_dir= [ plots_basedir dateStr '/' timeStr(1:2) '/' ] 9 19 mkdir(plots_dir); 10 20 11 21 myParameters = parameters_from_time_fun(dateStr, timeStr(1:2)); 12 22 13 fhtml=[ plots_dir 'info_' dateStr '_' timeStr '.html' ] 14 fid=fopen(fhtml,'w') 15 titleStr = [ 'SPESO-1-Shot-' dateStr '-' timeStr] 16 header_fun(fid, titleStr) 23 fhtml=[ plots_dir 'info_' dateStr '_' timeStr '.html' ]; 24 fid=fopen(fhtml,'w'); 25 if (fid==-1) 26 error(['Unable to open file ' fhtml ' / fid= ' fid ]); 27 end %if fid -1 28 titleStr = [ 'SPESO - 1-Shot - ' dateStr ' - ' timeStr]; 29 header_fun(fid, titleStr); 30 31 fprintf(fid,['<BR/>\n<A HREF="../../info_all_days.html"> Infos for all days </A><BR/>\n']); 32 fprintf(fid,['<BR/>\n<A HREF="../info_daily_' dateStr '.html"> Infos for ' dateStr '</A><BR/>\n']); 33 fprintf(fid,['<BR/>\n<A HREF="info_hourly_' dateStr '_' timeStr(1:2) '.html"> Infos for ' dateStr '_' timeStr(1:2) '</A><BR/>\n']); 17 34 18 35 %CHANNEL 1: … … 23 40 data2 = strrep(data', ',' , ' '); 24 41 dnum=str2num(data2); 25 26 42 %finding the beginning of the trigger 27 43 timtrigidx=find(dnum(:,2)>3,1); … … 29 45 figure(1) 30 46 clf; 31 plot(dnum(:,1), dnum(:,2), '-') 32 line([timtrig timtrig],[0 5],'LineWidth',1,'Color','r') 47 plot(dnum(:,1), dnum(:,2), '-'); 48 line([timtrig timtrig],[0 5],'LineWidth',1,'Color','r'); 33 49 title([ dateStr timeStr 'ch1']); 34 50 xlabel('time[seconds]'); 35 51 ylabel('voltage[V]'); 36 Image1Name = [dateStr '-' timeStr '_ch1.png'] 52 Image1Name = [dateStr '-' timeStr '_ch1.png']; 37 53 print(figure(1), '-dpng', [ plots_dir Image1Name]); 38 54 … … 54 70 sigstop2idx=min(sigstart1idx+myParameters.sigDurationLPM,length(dnum2(:,1)-1)); 55 71 56 minSig1=min(dnum2(sigstart1idx:sigstop1idx, 2)) 57 minSig2=min(dnum2(sigstart2idx:sigstop2idx, 2)) 72 minSig1=min(dnum2(sigstart1idx:sigstop1idx, 2)); 73 minSig2=min(dnum2(sigstart2idx:sigstop2idx, 2)); 58 74 59 75 %calculating the ground: … … 74 90 %Finally building the ratio Rat=(minSig2-ground)/(minSig1-ground), 75 91 %for Rat<0.8: defined as SPM 76 Rat=(minSig2-groundmeanAll)/(minSig1-groundmeanAll) 92 Rat=(minSig2-groundmeanAll)/(minSig1-groundmeanAll); 77 93 78 94 if Rat<0.8 79 isSPM=1 95 isSPM=1; 80 96 else 81 isSPM=0 97 isSPM=0; 82 98 end 83 99 … … 153 169 line([sigstop sigstop],linerange,'LineWidth',1,'Color','c'); 154 170 text(dnum2(anaStartIdx,1), max(dnum2(:,2)), ['mean: ' num2str(groundmeanBf) ' , sigma: ' num2str(groundsigmaBf) ]); 155 text(sigstart, max(dnum2(:,2)), ['mean: ' num2str(datamean) ' , sigma: ' num2str(datasigma) ]) 156 text(dnum2(riseEndIdx,1), max(dnum2(:,2)), ['mean: ' num2str(groundmeanAf) ' , sigma: ' num2str(groundsigmaAf) ]) 171 sigstart 172 max(dnum2(:,2)) 173 riseEndIdx 174 size(dnum2) 175 groundmeanAf 176 riseEndIdxPos=min(riseEndIdx,size(dnum2,1)) 177 text(sigstart, max(dnum2(:,2)), ['mean: ' num2str(datamean) ' , sigma: ' num2str(datasigma) ]); 178 text(dnum2(riseEndIdxPos,1), max(dnum2(:,2)), ['mean: ' num2str(groundmeanAf) ' , sigma: ' num2str(groundsigmaAf) ]); 157 179 line([dnum2(anaStartIdx,1) dnum2(anaStartIdx,1)],linerange,'LineWidth',1,'Color','m'); 158 180 line([dnum2(anaEndIdx,1) dnum2(anaEndIdx,1)],linerange,'LineWidth',1,'Color','m'); 159 181 line([dnum2(riseStartIdx,1) dnum2(riseStartIdx,1)],linerange,'LineWidth',1,'Color','m'); 160 line([dnum2(riseEndIdx ,1) dnum2(riseEndIdx,1)],linerange,'LineWidth',1,'Color','m');182 line([dnum2(riseEndIdxPos,1) dnum2(riseEndIdxPos,1)],linerange,'LineWidth',1,'Color','m'); 161 183 title([ dateStr ' ' timeStr ' zoom-on-signal' titleappendix]); 162 184 xlabel('time[seconds]'); 163 185 ylabel('voltage[V]'); 164 Image2Name = [dateStr '-' timeStr ' -signal-and-zoom_ch2.png']186 Image2Name = [dateStr '-' timeStr '_ch2.png']; 165 187 print(figure(2), '-dpng', [ plots_dir Image2Name]); 166 188 … … 175 197 errorbar(allMean,allSigma); 176 198 ylabel('voltage[V]'); 177 title([dateStr ' ' timeStr ' means' ]) 178 Image3Name = [ dateStr '-' timeStr '-means.png'] 199 title([dateStr ' ' timeStr ' means' ]); 200 Image3Name = [ dateStr '-' timeStr '-means.png']; 179 201 print(figure(4), '-dpng',[ plots_dir Image3Name]); 180 202 … … 191 213 end %outer if 192 214 193 MeansStr = ['Means: ' num2str(groundmeanBf) ' / ' num2str(datamean) ' / ' num2str(groundmeanAf) '<BR/>\n'] 194 SigmaStr = ['The correspondig sigmas: ' num2str(groundsigmaBf) ' / ' num2str(datasigma) ' / ' num2str(groundsigmaAf) '<BR/>\n'] 195 SignalStr = ['Signal? ' num2str(isSignal) '<BR/>\n'] 196 fprintf(fid, MeansStr) 197 fprintf(fid, SigmaStr) 198 fprintf(fid, SignalStr) 199 Image1Str = ['<IMG SRC="' Image1Name '" WIDTH=600><BR/>\n'] 200 Image2Str = ['<IMG SRC="' Image2Name '" WIDTH=600><BR/>\n'] 201 Image3Str = ['<IMG SRC="' Image3Name '" WIDTH=600><BR/>\n'] 202 fprintf(fid, Image1Str) 203 fprintf(fid, Image2Str) 204 fprintf(fid, Image3Str) 205 206 footer_fun(fid) 207 fclose(fid) 215 MeansStr = ['<TR><TD>Means: </TD><TD> ' num2str(groundmeanBf) ' </TD><TD> ' num2str(datamean) ' </TD><TD> ' num2str(groundmeanAf) '</TD></TR>\n']; 216 SigmaStr = ['<TR><TD>The correspondig sigmas: </TD><TD> ' num2str(groundsigmaBf) ' </TD><TD> ' num2str(datasigma) ' </TD><TD> ' num2str(groundsigmaAf) '</TD></TR>\n']; 217 SignalStr = ['<TR><TD> Signal </TD><TD>' num2str(isSignal) '</TD><TD></TD><TD> ' titleappendix ' </TD></TR>\n']; 218 fprintf(fid, '<TABLE>\n'); 219 fprintf(fid, MeansStr); 220 fprintf(fid, SigmaStr); 221 fprintf(fid, SignalStr); 222 fprintf(fid, '</TABLE>\n'); 223 Image1Str = ['<IMG SRC="' Image1Name '" WIDTH=600><BR/>\n']; 224 Image2Str = ['<IMG SRC="' Image2Name '" WIDTH=600><BR/>\n']; 225 Image3Str = ['<IMG SRC="' Image3Name '" WIDTH=600><BR/>\n']; 226 fprintf(fid, Image1Str) ; 227 fprintf(fid, Image2Str) ; 228 fprintf(fid, Image3Str) ; 229 230 231 Image4Str = ['<IMG SRC="../scope/scope_' dateStr '_' timeStr '_image.png" WIDTH=600><BR/>\n']; 232 fprintf(fid, Image4Str) ; 233 234 235 fprintf(fid,['<BR/>\n<A HREF="../../info_all_days.html"> Infos for all days </A><BR/>\n']); 236 fprintf(fid,['<BR/>\n<A HREF../info_daily_' dateStr '.html"> Infos for ' dateStr '</A><BR/>\n']); 237 fprintf(fid,['<BR/>\n<A HREF="info_hourly_' dateStr '_' timeStr(1:2) '.html"> Infos for ' dateStr '_' timeStr(1:2) '</A><BR/>\n']); 238 239 footer_fun(fid); 240 fclose(fid); 208 241 209 242 end %function -
SPESO/ana2015/header_fun.m
r164 r213 1 1 function header_fun(fid,title) 2 fprintf(fid,'<HTML>\n') 3 fprintf(fid,'<TITLE>\n') 4 fprintf(fid, title) 5 fprintf(fid,'\n</TITLE>\n') 6 % fprintf(fid,'</HTML>') 2 fprintf(fid,'<HTML>\n'); 3 fprintf(fid,'<TITLE>\n'); 4 fprintf(fid, title); 5 fprintf(fid,'\n</TITLE>\n'); 7 6 end %function -
SPESO/ana2015/parameters_from_time_fun.m
r164 r213 1 1 %sigDuration of the LPM has to be pair! 2 2 function [myParameters] = parameters_from_time_fun(dateStr, hourStr) 3 dateNum=str2double(dateStr) 4 if (dateNum<=20150222) 3 dateNum=str2double(dateStr); 4 if (dateNum>=20150301) 5 myParameters.sigOffsetLPM=45; 6 myParameters.sigDurationLPM=55; 7 myParameters.riseTimeLPM=20; 8 myParameters.sigOffsetSPM=530; 9 myParameters.sigDurationSPM=60; 10 myParameters.riseTimeSPM=300; 11 elseif (dateNum>=20150222) 5 12 myParameters.sigOffsetLPM=550; 6 13 myParameters.sigDurationLPM=400; -
SPESO/ana2015/read_date_fun.m
r164 r213 1 1 function [hourStr] = read_date_fun(dateStr) 2 plots_dir='/sps/sera/delerue/smith-purcell/SPESO/analysed/plots/'; 3 basedirdata='/sps/sera/delerue/smith-purcell/SPESO/data/'; 4 mySigArrayDay = []; 5 mySigmaArrayDay = []; 6 mySignalArrayDay = [];%contains 0 if it's no signal, 1 if it's a signal 7 mySPMArrayDay = [];%contains 0 if it's a LPM, 1 if it's a SPM 8 myTimeArrayDay = []; 9 hourStrArray = []; 10 mySigArrayMeanOverHourLPM = []; 11 mySigmaArrayMeanOverHourLPM = []; 12 mySigArrayMeanOverHourSPM = []; 13 mySigmaArrayMeanOverHourSPM = []; 2 3 if isdir('/sps_sera/smith-purcell/') 4 basedir='/sps_sera/smith-purcell/SPESO/data/'; 5 plots_basedir='/mnt/ftpe/data_speso/analysis/'; 6 else 7 basedir='/sps/sera/delerue/smith-purcell/SPESO/data/'; 8 plots_basedir='/tmp_mnt/pub/ftp/pub/etalon/data_speso/analysis/'; 9 end %which basedir 10 11 plots_dir=[ plots_basedir dateStr '/' ]; 12 13 mySigArrayDay = []; 14 mySigmaArrayDay = []; 15 mySignalArrayDay = [];%contains 0 if it's no signal, 1 if it's a signal 16 mySPMArrayDay = [];%contains 0 if it's a LPM, 1 if it's a SPM 17 myTimeArrayDay = []; 18 hourStrArray = []; 19 mySigArrayMeanOverHourLPM = []; 20 mySigmaArrayMeanOverHourLPM = []; 21 mySigArrayMeanOverHourSPM = []; 22 mySigmaArrayMeanOverHourSPM = []; 23 24 txtHTMLlist=''; 25 txtHTMLimg=''; 26 27 for iloop=0:23 28 if (iloop<10) 29 txtZero='0'; 30 else 31 txtZero=''; 32 end 33 hourStr = [ txtZero num2str(iloop) ]; 34 hourStrArray = [hourStrArray str2num(hourStr)]; 35 [mySigArrayHour, mySignalArrayHour, mySPMArrayHour, mySigmaArrayHour, myTimeArrayHour, datameanOverHourLPM, datameanOverHourSPM, datasigmaOverHourLPM, datasigmaOverHourSPM] = read_date_hour_fun(dateStr, hourStr); 36 mySigArrayDay = [mySigArrayDay mySigArrayHour ]; 37 mySigmaArrayDay = [mySigmaArrayDay mySigmaArrayHour ]; 38 mySignalArrayDay = [mySignalArrayDay mySignalArrayHour]; 39 mySPMArrayDay = [mySPMArrayDay mySPMArrayHour]; 40 myTimeArrayDay = [myTimeArrayDay myTimeArrayHour]; 41 mySigArrayMeanOverHourLPM = [mySigArrayMeanOverHourLPM datameanOverHourLPM]; 42 mySigmaArrayMeanOverHourLPM = [mySigmaArrayMeanOverHourLPM datasigmaOverHourLPM]; 43 mySigArrayMeanOverHourSPM = [mySigArrayMeanOverHourSPM datameanOverHourSPM]; 44 mySigmaArrayMeanOverHourSPM = [mySigmaArrayMeanOverHourSPM datasigmaOverHourSPM]; 14 45 15 for iloop=0:23 16 if (iloop<10) 17 txtZero='0'; 18 else 19 txtZero=''; 20 end 21 hourStr = [ txtZero num2str(iloop) ]; 22 hourStrArray = [hourStrArray str2num(hourStr)]; 23 [mySigArrayHour, mySignalArrayHour, mySPMArrayHour, mySigmaArrayHour, myTimeArrayHour, datameanOverHourLPM, datameanOverHourSPM, datasigmaOverHourLPM, datasigmaOverHourSPM] = read_date_hour_fun(dateStr, hourStr); 24 mySigArrayDay = [mySigArrayDay mySigArrayHour ]; 25 mySigmaArrayDay = [mySigmaArrayDay mySigmaArrayHour ]; 26 mySignalArrayDay = [mySignalArrayDay mySignalArrayHour]; 27 mySPMArrayDay = [mySPMArrayDay mySPMArrayHour]; 28 myTimeArrayDay = [myTimeArrayDay myTimeArrayHour] 29 mySigArrayMeanOverHourLPM = [mySigArrayMeanOverHourLPM datameanOverHourLPM]; 30 mySigmaArrayMeanOverHourLPM = [mySigmaArrayMeanOverHourLPM datasigmaOverHourLPM]; 31 mySigArrayMeanOverHourSPM = [mySigArrayMeanOverHourSPM datameanOverHourSPM]; 32 mySigmaArrayMeanOverHourSPM = [mySigmaArrayMeanOverHourSPM datasigmaOverHourSPM]; 33 end %loop over hole day 46 47 txtHTMLlist = [ txtHTMLlist '<TR><TD><A HREF="#' hourStr '> ' hourStr ' </TD><TD> ' num2str(datameanOverHourLPM) '</TD><TD> ' num2str(datameanOverHourSPM) '</TD></TR>\n']; 48 49 txtHTMLimg = [ txtHTMLimg '<TR>\n ']; 50 txtHTMLimg = [ txtHTMLimg '<TD><A NAME="' hourStr '"></A><A HREF="' hourStr '/' 'info_hourly_' dateStr '_' hourStr '.html"> ' dateStr ' ' hourStr ' </A> <BR/>' num2str(datameanOverHourLPM) ' <BR/> ' num2str(datameanOverHourSPM) ' </TD>\n ']; 51 image1Name = [ dateStr '-' hourStr '_means-of-LPM-signals.png' ]; 52 image2Name = [ dateStr '-' hourStr '_means-of-SPM-signals.png' ]; 53 txtHTMLimg = [ txtHTMLimg '<TD><IMG SRC="' hourStr '/' image1Name '" width=600></TD>\n ']; 54 txtHTMLimg = [ txtHTMLimg '<TD><IMG SRC="' hourStr '/' image2Name '" width=600></TD>\n ']; 55 txtHTMLimg = [ txtHTMLimg '</TR>\n ']; 34 56 35 57 %plotting the mean of the signal over one hour for the hole day, LPM 36 58 %and SPM separately: 37 figure( 7)%LPM59 figure(107)%LPM 38 60 clf; 39 61 hold on … … 46 68 xlabel('time [hh]'); 47 69 ylabel('voltage[V]'); 48 print(figure(7), '-dpng', [ plots_dir dateStr '-LPM-signal-means.png']); 70 img7name=[dateStr '-LPM-signal-means.png']; 71 print(figure(107), '-dpng', [ plots_dir img7name ]); 49 72 50 figure( 8)%SPM73 figure(108)%SPM 51 74 clf; 52 75 hold on … … 59 82 xlabel('time [hh]'); 60 83 ylabel('voltage[V]'); 61 print(figure(8), '-dpng', [ plots_dir dateStr '-SPM-signal-means.png']); 84 img8name=[ dateStr '-SPM-signal-means.png']; 85 print(figure(108), '-dpng', [ plots_dir img8name ]); 62 86 63 %plotting holethe data for one day, LPM and SPM separately:64 figure( 9) %LPM87 %plotting all the data for one day, LPM and SPM separately: 88 figure(109) %LPM 65 89 clf; 66 90 hold on … … 69 93 plot(myTimeArrayDay(isLPMIdx), mySigArrayDay(isLPMIdx), '-r'); 70 94 isSignalLPMIdx=find(mySignalArrayDay(isLPMIdx) ==1); 71 plot(myTimeArrayDay(isLPMIdx(isSignalLPMIdx)), mySigArrayDay(isLPMIdx(isSignalLPMIdx)), 'og','MarkerSize', 5)95 plot(myTimeArrayDay(isLPMIdx(isSignalLPMIdx)), mySigArrayDay(isLPMIdx(isSignalLPMIdx)), 'og','MarkerSize',10) 72 96 isNotSignalLPMIdx=find(mySignalArrayDay(isLPMIdx) ==0); 73 plot(myTimeArrayDay(isLPMIdx(isNotSignalLPMIdx)), mySigArrayDay(isLPMIdx(isNotSignalLPMIdx)), 'xm' )97 plot(myTimeArrayDay(isLPMIdx(isNotSignalLPMIdx)), mySigArrayDay(isLPMIdx(isNotSignalLPMIdx)), 'xm','MarkerSize',10) 74 98 plot(myTimeArrayDay(isLPMIdx), mySigArrayDay(isLPMIdx)-mySigmaArrayDay(isLPMIdx), ':g'); 75 99 plot(myTimeArrayDay(isLPMIdx), mySigArrayDay(isLPMIdx)+mySigmaArrayDay(isLPMIdx), ':g'); … … 78 102 ylabel('mean of signal[V]'); 79 103 title([ 'All LPM signals on ' dateStr ]) 80 print(figure(9), '-dpng', [ plots_dir dateStr '-all-LPM-signals.png']); 81 82 figure(10) %SPM 104 img9name=[dateStr '-all-LPM-signals.png']; 105 print(figure(109), '-dpng', [ plots_dir img9name]); 106 107 figure(110) %SPM 83 108 clf; 84 109 hold on … … 87 112 plot(myTimeArrayDay(isSPMIdx), mySigArrayDay(isSPMIdx), '-r'); 88 113 isSignalSPMIdx=find(mySignalArrayDay(isSPMIdx) ==1); 89 plot(myTimeArrayDay(isSPMIdx(isSignalSPMIdx)), mySigArrayDay(isSPMIdx(isSignalSPMIdx)), 'og','MarkerSize', 5)114 plot(myTimeArrayDay(isSPMIdx(isSignalSPMIdx)), mySigArrayDay(isSPMIdx(isSignalSPMIdx)), 'og','MarkerSize',10) 90 115 isNotSignalSPMIdx=find(mySignalArrayDay(isSPMIdx) ==0); 91 plot(myTimeArrayDay(isSPMIdx(isNotSignalSPMIdx)), mySigArrayDay(isSPMIdx(isNotSignalSPMIdx)), 'xm' )116 plot(myTimeArrayDay(isSPMIdx(isNotSignalSPMIdx)), mySigArrayDay(isSPMIdx(isNotSignalSPMIdx)), 'xm','MarkerSize',10) 92 117 plot(myTimeArrayDay(isSPMIdx), mySigArrayDay(isSPMIdx)-mySigmaArrayDay(isSPMIdx), ':g'); 93 118 plot(myTimeArrayDay(isSPMIdx), mySigArrayDay(isSPMIdx)+mySigmaArrayDay(isSPMIdx), ':g'); … … 96 121 ylabel('mean of signal[V]'); 97 122 title([ 'All SPM signals on ' dateStr ]) 98 print(figure(10), '-dpng', [ plots_dir dateStr '-all-SPM-signals.png']); 123 img10name= [dateStr '-all-SPM-signals.png']; 124 print(figure(110), '-dpng', [ plots_dir img10name]); 99 125 100 126 end %loop over hole day 127 128 129 130 fhtml=[ plots_dir 'info_daily_' dateStr '.html' ]; 131 fidhtml=fopen(fhtml,'w'); 132 if (fidhtml<0) 133 error(['Unable to open file ' fhtml ' / fid= ' fidhtml ]); 134 end %if fid -1 135 136 titleStr = [ 'SPESO - Daily - ' dateStr ]; 137 header_fun(fidhtml,titleStr); 138 139 fprintf(fidhtml,['<BR/>\n<A HREF="../info_all_days.html"> Infos for all days </A><BR/>\n']); 140 141 fprintf(fidhtml, '<TABLE>\n') 142 fprintf(fidhtml, [ '<TR>\n ' ]); 143 fprintf(fidhtml, [ '<TD><IMG SRC="' img7name '" width=600> </TD>\n' ]) 144 fprintf(fidhtml, [ '<TD><IMG SRC="' img8name '" width=600> </TD>\n' ]) 145 fprintf(fidhtml, [ '<TD><IMG SRC="' img9name '" width=600> </TD>\n' ]) 146 fprintf(fidhtml, [ '<TD><IMG SRC="' img10name '" width=600> </TD>\n' ]) 147 fprintf(fidhtml, [ '</TR> \n' ]); 148 fprintf(fidhtml, '</TABLE>\n') 149 150 fprintf(fidhtml, '<TABLE>\n') 151 fprintf(fidhtml, txtHTMLlist) 152 fprintf(fidhtml, '</TABLE>\n') 153 154 fprintf(fidhtml, '<TABLE>\n') 155 fprintf(fidhtml, txtHTMLimg) 156 fprintf(fidhtml, '</TABLE>\n') 157 158 fprintf(fidhtml,['<BR/>\n<A HREF="../info_all_days.html"> Infos for all days </A><BR/>\n']); 159 160 footer_fun(fidhtml) 161 162 101 163 end %function -
SPESO/ana2015/read_date_hour_fun.m
r164 r213 1 1 function [mySigArrayHour, mySignalArrayHour, mySPMArrayHour, mySigmaArrayHour, myTimeArrayHour, datameanOverHourLPM, datameanOverHourSPM, datasigmaOverHourLPM, datasigmaOverHourSPM] = read_date_hour_fun(dateStr, hourStr) 2 3 plots_dir='/sps/sera/delerue/smith-purcell/SPESO/analysed/plots/'; 2 3 4 if isdir('/sps_sera/smith-purcell/') 5 basedir1='/sps_sera/smith-purcell/SPESO/data/'; 6 plots_basedir='/mnt/ftpe/data_speso/analysis/'; 7 else 4 8 basedir1='/sps/sera/delerue/smith-purcell/SPESO/data/'; 5 basedir2='_scope/scope_'; 6 hourList=ls([basedir1 dateStr basedir2 dateStr '_' hourStr '*_ch1.csv.gz']) 7 9 plots_basedir='/tmp_mnt/pub/ftp/pub/etalon/data_speso/analysis/'; 10 end %which basedir 11 12 plots_dir=[ plots_basedir dateStr '/' hourStr '/' ]; 13 14 basedir2='_scope/scope_'; 15 16 hourList=[]; 17 18 try 19 hourList=ls([basedir1 dateStr basedir2 dateStr '_' hourStr '*_ch1.csv.gz']); 20 catch err 21 if isempty(hourList) 22 hourList=[] 23 warning(err.identifier,err.identifier) 24 mkdir(plots_dir); 25 else 26 rethrow(err) 27 end %if isempty 28 end %try 29 30 if isempty(hourList) 31 warning('Empty list of files'); 32 else 8 33 mySigArrayHour=[]; 9 34 mySigmaArrayHour=[]; … … 14 39 meanRightArray=[]; 15 40 16 sizeName= 91;41 sizeName=min(strfind(hourList,10)); 17 42 nNames=size(hourList,2)/sizeName; 18 shutDownTimeStr = str2num([ hourStr '4000' ]) 19 20 %first loop: 21 fadress = char(hourList(1:90)) 22 timeNum = str2num(fadress(74:79)) 23 disp('fadress(74:79)') 24 fadress(74:79) 25 [signalVal, isSignal, isSPM, allMean, allSigma]=gen_ana_speso_fun(dateStr,fadress(74:79)); 26 mySigArrayHour = [mySigArrayHour signalVal ]; 27 mySigmaArrayHour = [mySigmaArrayHour allSigma(2) ]; 28 mySignalArrayHour = [mySignalArrayHour isSignal]; 29 mySPMArrayHour = [mySPMArrayHour isSPM]; 30 myTimeArrayHour = [myTimeArrayHour timeNum]; 31 meanLeftArray = [meanLeftArray allMean(1)]; 32 meanRightArray = [meanRightArray allMean(3)]; 33 34 for iloop=1:nNames-1 35 fadress=char(hourList((((iloop)*91)+1):(((iloop)*91))+90)) 36 timeNum = str2num(fadress(74:79)) 37 [signalVal,isSignal, isSPM, allMean, allSigma] = gen_ana_speso_fun(dateStr, fadress(74:79)); 43 shutDownTimeVal = str2num(hourStr)+0.66; 44 45 txtHTMLlist=''; 46 txtHTMLimg=''; 47 48 49 for iloop=1:nNames 50 fadress=char(hourList((((iloop-1)*sizeName)+1):(((iloop-1)*sizeName))+(sizeName-1))); 51 posDate=max(strfind(fadress,dateStr)); 52 timeStr = fadress(posDate+9:posDate+14); 53 timeNum=str2num(timeStr(1:2))+(str2num(timeStr(3:4))/60); 54 [signalVal, isSignal, isSPM, allMean, allSigma]=gen_ana_speso_fun(dateStr,timeStr); 55 56 image2Name = [dateStr '-' timeStr '_ch2.png']; 57 image3Name = [ dateStr '-' timeStr '-means.png']; 58 38 59 arrayLength=length(mySigArrayHour); 39 60 … … 41 62 % is the case, don't add this measurement to the results, as it 42 63 % isn't a new measurement (data from one signal by oscilloscope saved several times) 43 44 if ( signalVal ~= mySigArrayHour(arrayLength)) && (allSigma(2) ~= mySigmaArrayHour(arrayLength)) && (allMean(1) ~= meanLeftArray(arrayLength)) && (allMean(3) ~= meanRightArray(arrayLength))64 65 if ((arrayLength==0) || (signalVal ~= mySigArrayHour(arrayLength)) && (allSigma(2) ~= mySigmaArrayHour(arrayLength)) && (allMean(1) ~= meanLeftArray(arrayLength)) && (allMean(3) ~= meanRightArray(arrayLength))) 45 66 mySigArrayHour = [mySigArrayHour signalVal ]; 46 67 mySigmaArrayHour = [mySigmaArrayHour allSigma(2) ]; 47 68 mySignalArrayHour = [mySignalArrayHour isSignal]; 48 69 mySPMArrayHour = [mySPMArrayHour isSPM]; 49 myTimeArrayHour = [ myTimeArrayHour timeNum]70 myTimeArrayHour = [ myTimeArrayHour timeNum ]; 50 71 meanLeftArray=[meanLeftArray allMean(1)]; 51 72 meanRightArray=[meanRightArray allMean(3)]; 73 74 txtHTMLlist=[ txtHTMLlist '<TR><TD><A HREF="#' timeStr '">' timeStr '</A></TD>\n']; 75 txtHTMLlist=[ txtHTMLlist '<TD> Signal val = ' num2str(signalVal) ' </TD>\n']; 76 if (isSignal==1) 77 txtHTMLlist=[ txtHTMLlist '<TD> Signal </TD>\n']; 78 else 79 txtHTMLlist=[ txtHTMLlist '<TD> NO signal </TD>\n']; 80 end %if 81 if (isSPM==1) 82 txtHTMLlist=[ txtHTMLlist '<TD> SPM </TD>\n']; 83 else 84 txtHTMLlist=[ txtHTMLlist '<TD> LPM </TD>\n']; 85 end %if 86 txtHTMLlist=[ txtHTMLlist '</TR> ']; 87 88 89 txtHTMLimg=[ txtHTMLimg '<TR><TD><A NAME=' timeStr '></A><A HREF="info_' dateStr '_' timeStr '.html">' timeStr '</A><BR/>\n']; 90 txtHTMLimg=[ txtHTMLimg 'Signal val = ' num2str(signalVal) ' <BR/>\n']; 91 if (isSignal==1) 92 txtHTMLimg=[ txtHTMLimg ' Signal <BR/>\n']; 93 else 94 txtHTMLimg=[ txtHTMLimg ' NO signal <BR/>\n']; 95 end %if 96 if (isSPM==1) 97 txtHTMLimg=[ txtHTMLimg ' SPM <BR/>\n']; 98 else 99 txtHTMLimg=[ txtHTMLimg ' LPM <BR/>\n']; 100 end %if 101 txtHTMLimg=[ txtHTMLimg '<TABLE><TR> ']; 102 txtHTMLimg=[ txtHTMLimg '<TD>Mean</TD> ']; 103 for iloop=1:3 104 txtHTMLimg=[ txtHTMLimg ' <TD> ' num2str(allMean(iloop)) '</TD>\n']; 105 end %for 106 txtHTMLimg=[ txtHTMLimg '</TR><TR> ']; 107 txtHTMLimg=[ txtHTMLimg '<TD>Sigma</TD> ']; 108 for iloop=1:3 109 txtHTMLimg=[ txtHTMLimg ' <TD> ' num2str(allSigma(iloop)) '</TD>\n']; 110 end %for 111 112 txtHTMLimg=[ txtHTMLimg '</TR></TABLE> ']; 113 114 txtHTMLimg=[ txtHTMLimg '</TD>']; 115 txtHTMLimg=[ txtHTMLimg '<TD> <IMG SRC="' image2Name '" WIDTH=600></TD><TD><IMG SRC="' image3Name '" WIDTH=600></TD>\n']; 116 txtHTMLimg=[ txtHTMLimg '<TD> <IMG SRC="scope/scope_' dateStr '_' timeStr '_image.png" WIDTH=600> </TD></TR>']; 117 52 118 end %if 119 120 image1Name = [ dateStr '-' hourStr '_means-of-LPM-signals.png' ]; 121 image2Name = [ dateStr '-' hourStr '_means-of-SPM-signals.png' ]; 53 122 54 123 %We wish to have LPM and SPM modes be plottet separately, in each … … 57 126 %mistake for plotting of is signal/is not signal has still to be 58 127 %found 59 figure(5) %LPM plot60 clf;61 hold on62 128 isLPMIdx=find(mySPMArrayHour == 0); 63 errorbar(myTimeArrayHour(isLPMIdx), mySigArrayHour(isLPMIdx),mySigmaArrayHour(isLPMIdx)) 64 plot(myTimeArrayHour(isLPMIdx), mySigArrayHour(isLPMIdx), '-r'); 65 isSignalIdxLPM=find((mySignalArrayHour(isLPMIdx) ==1)); 66 plot(myTimeArrayHour(isLPMIdx(isSignalIdxLPM)), mySigArrayHour(isLPMIdx(isSignalIdxLPM)), 'og','MarkerSize',5) 67 isNotSignalIdxLPM=find(mySignalArrayHour(isLPMIdx) ==0); 68 plot(myTimeArrayHour(isLPMIdx(isNotSignalIdxLPM)), mySigArrayHour(isLPMIdx(isNotSignalIdxLPM)), 'xm') 69 plot(myTimeArrayHour(isLPMIdx), mySigArrayHour(isLPMIdx)-mySigmaArrayHour(isLPMIdx), ':g'); 70 plot(myTimeArrayHour(isLPMIdx), mySigArrayHour(isLPMIdx)+mySigmaArrayHour(isLPMIdx), ':g'); 71 linerange=[min(mySigArrayHour) max(mySigArrayHour)]; 72 line([shutDownTimeStr shutDownTimeStr],linerange,'LineWidth',1,'Color','c'); 73 hold off 74 xlabel('time[hhmmss]'); 75 ylabel('mean of signal[V]'); 76 title([ 'LPM signal for ' hourStr 'h on ' dateStr ]); 77 print(figure(5), '-dpng', [ plots_dir dateStr '-' hourStr 'means-of-LPM-signals.png']); 78 79 figure(6)%SPM plot 80 clf; 81 hold on 129 if (length(isLPMIdx)>=1) 130 figure(5) %LPM plot 131 clf; 132 hold on 133 errorbar(myTimeArrayHour(isLPMIdx), mySigArrayHour(isLPMIdx),mySigmaArrayHour(isLPMIdx)); 134 plot(myTimeArrayHour(isLPMIdx), mySigArrayHour(isLPMIdx), '-r'); 135 isSignalIdxLPM=find((mySignalArrayHour(isLPMIdx) ==1)); 136 plot(myTimeArrayHour(isLPMIdx(isSignalIdxLPM)), mySigArrayHour(isLPMIdx(isSignalIdxLPM)), 'og','MarkerSize',10) 137 isNotSignalIdxLPM=find(mySignalArrayHour(isLPMIdx) ==0); 138 plot(myTimeArrayHour(isLPMIdx(isNotSignalIdxLPM)), mySigArrayHour(isLPMIdx(isNotSignalIdxLPM)), 'xm','MarkerSize',10) 139 plot(myTimeArrayHour(isLPMIdx), mySigArrayHour(isLPMIdx)-mySigmaArrayHour(isLPMIdx), ':g'); 140 plot(myTimeArrayHour(isLPMIdx), mySigArrayHour(isLPMIdx)+mySigmaArrayHour(isLPMIdx), ':g'); 141 linerange=[min(mySigArrayHour(isLPMIdx)) 0 ]; 142 line([shutDownTimeVal shutDownTimeVal],linerange,'LineWidth',1,'Color','c'); 143 hold off 144 xlabel('time[hhmmss]'); 145 ylabel('mean of signal[V]'); 146 title([ 'LPM signal for ' hourStr 'h on ' dateStr ]); 147 print(figure(5), '-dpng', [ plots_dir image1Name ]); 148 end %not empty 149 82 150 isSPMIdx=find(mySPMArrayHour == 1); 83 errorbar(myTimeArrayHour(isSPMIdx), mySigArrayHour(isSPMIdx),mySigmaArrayHour(isSPMIdx)); 84 plot(myTimeArrayHour(isSPMIdx), mySigArrayHour(isSPMIdx), '-r'); 85 isSignalIdxSPM=find((mySignalArrayHour(isSPMIdx) ==1)); 86 plot(myTimeArrayHour(isSPMIdx(isSignalIdxSPM)), mySigArrayHour(isSPMIdx(isSignalIdxSPM)), 'og','MarkerSize',5) 87 isNotSignalIdxSPM=find(mySignalArrayHour(isSPMIdx) ==0); 88 plot(myTimeArrayHour(isSPMIdx(isNotSignalIdxSPM)), mySigArrayHour(isSPMIdx(isNotSignalIdxSPM)), 'xm') 89 plot(myTimeArrayHour(isSPMIdx), mySigArrayHour(isSPMIdx)-mySigmaArrayHour(isSPMIdx), ':g'); 90 plot(myTimeArrayHour(isSPMIdx), mySigArrayHour(isSPMIdx)+mySigmaArrayHour(isSPMIdx), ':g'); 91 line([shutDownTimeStr shutDownTimeStr],linerange,'LineWidth',1,'Color','c'); 92 hold off 93 xlabel('time[hhmmss]'); 94 ylabel('mean of signal[V]'); 95 title([ 'SPM signal for ' hourStr 'h on ' dateStr ]); 96 151 152 if (length(isSPMIdx)>=1) 153 figure(6)%SPM plot 154 clf; 155 hold on 156 errorbar(myTimeArrayHour(isSPMIdx), mySigArrayHour(isSPMIdx),mySigmaArrayHour(isSPMIdx)); 157 plot(myTimeArrayHour(isSPMIdx), mySigArrayHour(isSPMIdx), '-r'); 158 isSignalIdxSPM=find((mySignalArrayHour(isSPMIdx) ==1)); 159 plot(myTimeArrayHour(isSPMIdx(isSignalIdxSPM)), mySigArrayHour(isSPMIdx(isSignalIdxSPM)), 'og','MarkerSize',10); 160 isNotSignalIdxSPM=find(mySignalArrayHour(isSPMIdx) ==0); 161 plot(myTimeArrayHour(isSPMIdx(isNotSignalIdxSPM)), mySigArrayHour(isSPMIdx(isNotSignalIdxSPM)), 'xm','MarkerSize',10); 162 plot(myTimeArrayHour(isSPMIdx), mySigArrayHour(isSPMIdx)-mySigmaArrayHour(isSPMIdx), ':g'); 163 plot(myTimeArrayHour(isSPMIdx), mySigArrayHour(isSPMIdx)+mySigmaArrayHour(isSPMIdx), ':g'); 164 linerange=[min(mySigArrayHour(isSPMIdx)) 0 ]; 165 line([shutDownTimeVal shutDownTimeVal],linerange,'LineWidth',1,'Color','c'); 166 hold off 167 xlabel('time[hhmmss]'); 168 ylabel('mean of signal[V]'); 169 title([ 'SPM signal for ' hourStr 'h on ' dateStr ]); 170 print(figure(6), '-dpng', [ plots_dir image2Name ]); 171 end %not empty 97 172 end %for 98 99 myLPMArrayLength = length(isLPMIdx); 100 figure(5) 101 for iloop=1:myLPMArrayLength 102 text(myTimeArrayHour(isLPMIdx(iloop)), mySigArrayHour(isLPMIdx(iloop)), num2str(myTimeArrayHour(isLPMIdx(iloop)))) 103 end %for 104 print(figure(5), '-dpng', [ plots_dir dateStr '-' hourStr 'means-of-LPM-signals.png']); 105 mySPMArrayLength = length(isSPMIdx); 106 figure(6) 107 for iloop=1:mySPMArrayLength 108 text(myTimeArrayHour(isSPMIdx(iloop)), mySigArrayHour(isSPMIdx(iloop)), num2str(myTimeArrayHour(isSPMIdx(iloop)))) 109 end %for 110 print(figure(6), '-dpng', [ plots_dir dateStr '-' hourStr 'means-of-SPM-signals.png']); 111 %At the moment, isSignal is ignored, but it can be respected in 112 %isLPMIdx 113 datameanOverHourLPM = mean(mySigArrayHour(isSignalIdxLPM)); 114 datasigmaOverHourLPM = rms(mySigArrayHour(isSignalIdxLPM)-datameanOverHourLPM); 115 datameanOverHourSPM = mean(mySigArrayHour(isSignalIdxSPM)); 116 datasigmaOverHourSPM = rms(mySigArrayHour(isSignalIdxSPM)-datameanOverHourSPM); 117 173 174 175 myLPMArrayLength = length(isLPMIdx); 176 figure(5) 177 for iloop=1:myLPMArrayLength 178 text(myTimeArrayHour(isLPMIdx(iloop)), mySigArrayHour(isLPMIdx(iloop)), num2str(myTimeArrayHour(isLPMIdx(iloop)))); 179 end %for 180 print(figure(5), '-dpng', [ plots_dir image1Name ]); 181 mySPMArrayLength = length(isSPMIdx); 182 figure(6) 183 for iloop=1:mySPMArrayLength 184 text(myTimeArrayHour(isSPMIdx(iloop)), mySigArrayHour(isSPMIdx(iloop)), num2str(myTimeArrayHour(isSPMIdx(iloop)))); 185 end %for 186 print(figure(6), '-dpng', [ plots_dir image2Name ]); 187 188 %We use only data take before h+40mins = 0.65 189 idxSignalTimeLPM=find(mod(myTimeArrayHour(isLPMIdx),1)<0.65) 190 datameanOverHourLPM = mean(mySigArrayHour(idxSignalTimeLPM)); 191 datasigmaOverHourLPM = rms(mySigArrayHour(idxSignalTimeLPM)-datameanOverHourLPM); 192 193 idxSignalTimeSPM=find(mod(myTimeArrayHour(isSPMIdx),1)<0.65) 194 datameanOverHourSPM = mean(mySigArrayHour(idxSignalTimeSPM)); 195 datasigmaOverHourSPM = rms(mySigArrayHour(idxSignalTimeSPM)-datameanOverHourSPM); 196 197 end % list not empty 198 199 fhtml=[ plots_dir 'info_hourly_' dateStr '_' hourStr '.html' ]; 200 fidhtml=fopen(fhtml,'w'); 201 if (fidhtml==-1) 202 error(['Unable to open file ' fhtml ' / fid= ' num2str(fidhtml) ]); 203 end %if fid -1 204 205 titleStr = [ 'SPESO - 1 hour - ' dateStr ' - ' hourStr]; 206 header_fun(fidhtml,titleStr); 207 208 fprintf(fidhtml,['<BR/>\n<A HREF="../../info_all_days.html"> Infos for all days </A><BR/>\n']); 209 fprintf(fidhtml,['<BR/>\n<A HREF="../info_daily_' dateStr '.html"> Infos for ' dateStr '</A><BR/>\n']); 210 211 if isempty(hourList) 212 fprintf(fidhtml, 'No files at this date and hour.\n') 213 else 214 fprintf(fidhtml, '<TABLE>\n') 215 fprintf(fidhtml, [ '<TR><TD><IMG SRC="' image1Name '" width=600> </TD>' ]) 216 fprintf(fidhtml, [ '<TD><IMG SRC="' image2Name '" width=600> </TD><TR>' ]) 217 fprintf(fidhtml, '</TABLE>\n') 218 219 fprintf(fidhtml, '<TABLE>\n') 220 fprintf(fidhtml, txtHTMLlist) 221 fprintf(fidhtml, '</TABLE>\n') 222 223 fprintf(fidhtml, '<TABLE>\n') 224 fprintf(fidhtml, txtHTMLimg) 225 fprintf(fidhtml, '</TABLE>\n') 226 end 227 fprintf(fidhtml,['<BR/>\n<A HREF="../info_daily_' dateStr '.html"> Infos for ' dateStr '</A><BR/>\n']); 228 fprintf(fidhtml,['<BR/>\n<A HREF="../../info_all_days.html"> Infos for all days </A><BR/>\n']); 229 230 231 footer_fun(fidhtml) 118 232 end %function
Note: See TracChangeset
for help on using the changeset viewer.