Changeset 213 in ETALON for SPESO


Ignore:
Timestamp:
Mar 19, 2015, 12:33:26 AM (10 years ago)
Author:
delerue
Message:

SPESO analysis updated for March data

Location:
SPESO/ana2015
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • SPESO/ana2015/footer_fun.m

    r164 r213  
    11function 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')
     2fprintf(fid, '<EM> SPESO DATA PRELIMINARY </EM> <BR/>\n');
     3fprintf(fid, '<A HREF="http://groups.lal.in2p3.fr/etalon/">ETALON</A><BR/>\n');
     4fprintf(fid, 'For more details contact <A HREF="http://lal.delerue.org/">Nicolas Delerue</A>.<BR/>\n');
    45end
  • SPESO/ana2015/gen_ana_speso_fun.m

    r164 r213  
    11function [signalVal, isSignal, isSPM, allMean, allSigma]=gen_ana_speso_fun(dateStr,timeStr)
    22
     3
     4
     5if isdir('/sps_sera/smith-purcell/')
     6basedir='/sps_sera/smith-purcell/SPESO/data/';
     7    plots_basedir='/mnt/ftpe/data_speso/analysis/';
     8else
    39basedir='/sps/sera/delerue/smith-purcell/SPESO/data/';
     10    plots_basedir='/tmp_mnt/pub/ftp/pub/etalon/data_speso/analysis/';
     11end %which basedir
     12
     13
    414fnamebase=[ basedir dateStr '_scope/scope_' dateStr '_' timeStr '_' ];
    515
    616fname1 = [ fnamebase 'ch1.csv.gz' ];
    717fname2 = [ fnamebase 'ch2.csv.gz' ];
    8 plots_dir= [  '/sps/sera/delerue/smith-purcell/SPESO/analysed/plots/' dateStr '/' timeStr(1:2) '/' ];
     18plots_dir= [  plots_basedir  dateStr '/' timeStr(1:2) '/' ]
    919mkdir(plots_dir);
    1020
    1121myParameters = parameters_from_time_fun(dateStr, timeStr(1:2));
    1222
    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)
     23fhtml=[ plots_dir 'info_' dateStr '_' timeStr '.html' ];
     24fid=fopen(fhtml,'w');
     25if (fid==-1)
     26    error(['Unable to open file ' fhtml ' / fid=  ' fid ]);
     27end %if fid -1
     28titleStr = [ 'SPESO - 1-Shot - ' dateStr ' - ' timeStr];
     29header_fun(fid, titleStr);
     30
     31fprintf(fid,['<BR/>\n<A HREF="../../info_all_days.html"> Infos for all days </A><BR/>\n']);
     32fprintf(fid,['<BR/>\n<A HREF="../info_daily_' dateStr '.html"> Infos for ' dateStr  '</A><BR/>\n']);
     33fprintf(fid,['<BR/>\n<A HREF="info_hourly_' dateStr '_' timeStr(1:2) '.html"> Infos for ' dateStr '_' timeStr(1:2)  '</A><BR/>\n']);
    1734
    1835%CHANNEL 1:
     
    2340data2 = strrep(data', ',' , ' ');
    2441dnum=str2num(data2);
    25 
    2642%finding the beginning of the trigger
    2743timtrigidx=find(dnum(:,2)>3,1);
     
    2945figure(1)
    3046clf;
    31 plot(dnum(:,1), dnum(:,2), '-')
    32 line([timtrig timtrig],[0 5],'LineWidth',1,'Color','r')
     47plot(dnum(:,1), dnum(:,2), '-');
     48line([timtrig timtrig],[0 5],'LineWidth',1,'Color','r');
    3349title([ dateStr timeStr 'ch1']);
    3450xlabel('time[seconds]');
    3551ylabel('voltage[V]');
    36 Image1Name =  [dateStr '-' timeStr '_ch1.png']
     52Image1Name =  [dateStr '-' timeStr '_ch1.png'];
    3753print(figure(1), '-dpng', [ plots_dir Image1Name]);
    3854
     
    5470sigstop2idx=min(sigstart1idx+myParameters.sigDurationLPM,length(dnum2(:,1)-1));
    5571
    56 minSig1=min(dnum2(sigstart1idx:sigstop1idx, 2))
    57 minSig2=min(dnum2(sigstart2idx:sigstop2idx, 2))
     72minSig1=min(dnum2(sigstart1idx:sigstop1idx, 2));
     73minSig2=min(dnum2(sigstart2idx:sigstop2idx, 2));
    5874
    5975%calculating the ground:
     
    7490%Finally building the ratio Rat=(minSig2-ground)/(minSig1-ground),
    7591%for Rat<0.8: defined as SPM
    76 Rat=(minSig2-groundmeanAll)/(minSig1-groundmeanAll)
     92Rat=(minSig2-groundmeanAll)/(minSig1-groundmeanAll);
    7793
    7894if Rat<0.8
    79     isSPM=1
     95    isSPM=1;
    8096else
    81     isSPM=0
     97    isSPM=0;
    8298end
    8399
     
    153169line([sigstop sigstop],linerange,'LineWidth',1,'Color','c');
    154170text(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) ])
     171sigstart
     172max(dnum2(:,2))
     173riseEndIdx
     174size(dnum2)
     175groundmeanAf
     176riseEndIdxPos=min(riseEndIdx,size(dnum2,1))
     177text(sigstart, max(dnum2(:,2)), ['mean: ' num2str(datamean) ' , sigma: ' num2str(datasigma) ]);
     178text(dnum2(riseEndIdxPos,1), max(dnum2(:,2)), ['mean: ' num2str(groundmeanAf) ' , sigma: ' num2str(groundsigmaAf) ]);
    157179line([dnum2(anaStartIdx,1) dnum2(anaStartIdx,1)],linerange,'LineWidth',1,'Color','m');
    158180line([dnum2(anaEndIdx,1) dnum2(anaEndIdx,1)],linerange,'LineWidth',1,'Color','m');
    159181line([dnum2(riseStartIdx,1) dnum2(riseStartIdx,1)],linerange,'LineWidth',1,'Color','m');
    160 line([dnum2(riseEndIdx,1) dnum2(riseEndIdx,1)],linerange,'LineWidth',1,'Color','m');
     182line([dnum2(riseEndIdxPos,1) dnum2(riseEndIdxPos,1)],linerange,'LineWidth',1,'Color','m');
    161183title([ dateStr ' ' timeStr ' zoom-on-signal' titleappendix]);
    162184xlabel('time[seconds]');
    163185ylabel('voltage[V]');
    164 Image2Name =  [dateStr '-' timeStr '-signal-and-zoom_ch2.png']
     186Image2Name =  [dateStr '-' timeStr '_ch2.png'];
    165187print(figure(2), '-dpng', [ plots_dir Image2Name]);
    166188
     
    175197errorbar(allMean,allSigma);
    176198ylabel('voltage[V]');
    177 title([dateStr ' ' timeStr ' means' ])
    178 Image3Name =  [ dateStr '-' timeStr '-means.png']
     199title([dateStr ' ' timeStr ' means' ]);
     200Image3Name =  [ dateStr '-' timeStr '-means.png'];
    179201print(figure(4), '-dpng',[ plots_dir Image3Name]);
    180202
     
    191213end %outer if
    192214
    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)
     215MeansStr = ['<TR><TD>Means: </TD><TD> ' num2str(groundmeanBf) ' </TD><TD> ' num2str(datamean) ' </TD><TD> ' num2str(groundmeanAf) '</TD></TR>\n'];
     216SigmaStr = ['<TR><TD>The correspondig sigmas: </TD><TD> ' num2str(groundsigmaBf) ' </TD><TD> ' num2str(datasigma) ' </TD><TD> ' num2str(groundsigmaAf) '</TD></TR>\n'];
     217SignalStr = ['<TR><TD> Signal </TD><TD>' num2str(isSignal) '</TD><TD></TD><TD> ' titleappendix ' </TD></TR>\n'];
     218fprintf(fid, '<TABLE>\n');
     219fprintf(fid, MeansStr);
     220fprintf(fid, SigmaStr);
     221fprintf(fid, SignalStr);
     222fprintf(fid, '</TABLE>\n');
     223Image1Str = ['<IMG SRC="' Image1Name '" WIDTH=600><BR/>\n'];
     224Image2Str = ['<IMG SRC="' Image2Name '" WIDTH=600><BR/>\n'];
     225Image3Str = ['<IMG SRC="' Image3Name '" WIDTH=600><BR/>\n'];
     226fprintf(fid, Image1Str) ;
     227fprintf(fid, Image2Str) ;
     228fprintf(fid, Image3Str) ;
     229
     230
     231Image4Str = ['<IMG SRC="../scope/scope_' dateStr '_' timeStr '_image.png" WIDTH=600><BR/>\n'];
     232fprintf(fid, Image4Str) ;
     233
     234
     235fprintf(fid,['<BR/>\n<A HREF="../../info_all_days.html"> Infos for all days </A><BR/>\n']);
     236fprintf(fid,['<BR/>\n<A HREF../info_daily_' dateStr '.html"> Infos for ' dateStr  '</A><BR/>\n']);
     237fprintf(fid,['<BR/>\n<A HREF="info_hourly_' dateStr '_' timeStr(1:2) '.html"> Infos for ' dateStr '_' timeStr(1:2)  '</A><BR/>\n']);
     238
     239footer_fun(fid);
     240fclose(fid);
    208241
    209242end %function
  • SPESO/ana2015/header_fun.m

    r164 r213  
    11function 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>')
     2fprintf(fid,'<HTML>\n');
     3fprintf(fid,'<TITLE>\n');
     4fprintf(fid, title);
     5fprintf(fid,'\n</TITLE>\n');
    76end %function
  • SPESO/ana2015/parameters_from_time_fun.m

    r164 r213  
    11%sigDuration of the LPM has to be pair!
    22function [myParameters] = parameters_from_time_fun(dateStr, hourStr)
    3 dateNum=str2double(dateStr)
    4 if (dateNum<=20150222)
     3dateNum=str2double(dateStr);
     4if (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;
     11elseif (dateNum>=20150222)
    512        myParameters.sigOffsetLPM=550;
    613        myParameters.sigDurationLPM=400;
  • SPESO/ana2015/read_date_fun.m

    r164 r213  
    11function [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
     3if isdir('/sps_sera/smith-purcell/')
     4    basedir='/sps_sera/smith-purcell/SPESO/data/';
     5    plots_basedir='/mnt/ftpe/data_speso/analysis/';
     6else
     7    basedir='/sps/sera/delerue/smith-purcell/SPESO/data/';
     8    plots_basedir='/tmp_mnt/pub/ftp/pub/etalon/data_speso/analysis/';
     9end %which basedir
     10
     11plots_dir=[ plots_basedir dateStr '/'  ];
     12
     13mySigArrayDay = [];
     14mySigmaArrayDay = [];
     15mySignalArrayDay = [];%contains 0 if it's no signal, 1 if it's a signal
     16mySPMArrayDay = [];%contains 0 if it's a LPM, 1 if it's a SPM
     17myTimeArrayDay = [];
     18hourStrArray = [];
     19mySigArrayMeanOverHourLPM = [];
     20mySigmaArrayMeanOverHourLPM = [];
     21mySigArrayMeanOverHourSPM = [];
     22mySigmaArrayMeanOverHourSPM = [];
     23
     24txtHTMLlist='';
     25txtHTMLimg='';
     26
     27for 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];
    1445   
    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 '];
    3456   
    3557    %plotting the mean of the signal over one hour for the hole day, LPM
    3658    %and SPM separately:
    37     figure(7)%LPM
     59    figure(107)%LPM
    3860    clf;
    3961    hold on
     
    4668    xlabel('time [hh]');
    4769    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 ]);
    4972   
    50     figure(8)%SPM
     73    figure(108)%SPM
    5174    clf;
    5275    hold on
     
    5982    xlabel('time [hh]');
    6083    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 ]);
    6286   
    63     %plotting hole the data for one day, LPM and SPM separately:
    64     figure(9) %LPM
     87    %plotting all the data for one day, LPM and SPM separately:
     88    figure(109) %LPM
    6589    clf;
    6690    hold on
     
    6993    plot(myTimeArrayDay(isLPMIdx), mySigArrayDay(isLPMIdx), '-r');
    7094    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)
    7296    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)
    7498    plot(myTimeArrayDay(isLPMIdx), mySigArrayDay(isLPMIdx)-mySigmaArrayDay(isLPMIdx), ':g');
    7599    plot(myTimeArrayDay(isLPMIdx), mySigArrayDay(isLPMIdx)+mySigmaArrayDay(isLPMIdx), ':g');
     
    78102    ylabel('mean of signal[V]');
    79103    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
    83108    clf;
    84109    hold on
     
    87112    plot(myTimeArrayDay(isSPMIdx), mySigArrayDay(isSPMIdx), '-r');
    88113    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)
    90115    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)
    92117    plot(myTimeArrayDay(isSPMIdx), mySigArrayDay(isSPMIdx)-mySigmaArrayDay(isSPMIdx), ':g');
    93118    plot(myTimeArrayDay(isSPMIdx), mySigArrayDay(isSPMIdx)+mySigmaArrayDay(isSPMIdx), ':g');
     
    96121    ylabel('mean of signal[V]');
    97122    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]);
    99125   
    100    
     126end %loop over hole day
     127
     128
     129
     130fhtml=[ plots_dir 'info_daily_' dateStr  '.html' ];
     131fidhtml=fopen(fhtml,'w');
     132if (fidhtml<0)
     133    error(['Unable to open file ' fhtml ' / fid=  ' fidhtml ]);
     134end %if fid -1
     135
     136titleStr = [ 'SPESO -  Daily - ' dateStr ];
     137header_fun(fidhtml,titleStr);
     138
     139fprintf(fidhtml,['<BR/>\n<A HREF="../info_all_days.html"> Infos for all days </A><BR/>\n']);
     140
     141fprintf(fidhtml, '<TABLE>\n')
     142fprintf(fidhtml, [ '<TR>\n ' ]);
     143fprintf(fidhtml, [ '<TD><IMG SRC="' img7name '" width=600> </TD>\n' ])
     144fprintf(fidhtml, [ '<TD><IMG SRC="' img8name '" width=600> </TD>\n' ])
     145fprintf(fidhtml, [ '<TD><IMG SRC="' img9name '" width=600> </TD>\n' ])
     146fprintf(fidhtml, [ '<TD><IMG SRC="' img10name '" width=600> </TD>\n' ])
     147fprintf(fidhtml, [ '</TR> \n' ]);
     148fprintf(fidhtml, '</TABLE>\n')
     149
     150fprintf(fidhtml, '<TABLE>\n')
     151fprintf(fidhtml, txtHTMLlist)
     152fprintf(fidhtml, '</TABLE>\n')
     153
     154fprintf(fidhtml, '<TABLE>\n')
     155fprintf(fidhtml, txtHTMLimg)
     156fprintf(fidhtml, '</TABLE>\n')
     157
     158fprintf(fidhtml,['<BR/>\n<A HREF="../info_all_days.html"> Infos for all days </A><BR/>\n']);
     159
     160footer_fun(fidhtml)
     161
     162
    101163end %function
  • SPESO/ana2015/read_date_hour_fun.m

    r164 r213  
    11function [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
     4if isdir('/sps_sera/smith-purcell/')
     5    basedir1='/sps_sera/smith-purcell/SPESO/data/';
     6    plots_basedir='/mnt/ftpe/data_speso/analysis/';
     7else
    48    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/';
     10end %which basedir
     11
     12plots_dir=[ plots_basedir dateStr '/' hourStr '/' ];
     13
     14basedir2='_scope/scope_';
     15
     16hourList=[];
     17
     18try
     19    hourList=ls([basedir1 dateStr basedir2 dateStr '_' hourStr '*_ch1.csv.gz']);
     20catch 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
     28end %try
     29
     30if isempty(hourList)
     31    warning('Empty list of files');
     32else
    833    mySigArrayHour=[];
    934    mySigmaArrayHour=[];
     
    1439    meanRightArray=[];
    1540   
    16     sizeName=91;
     41    sizeName=min(strfind(hourList,10));
    1742    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       
    3859        arrayLength=length(mySigArrayHour);
    3960       
     
    4162        % is the case, don't add this measurement to the results, as it
    4263        % 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)))
    4566            mySigArrayHour = [mySigArrayHour signalVal ];
    4667            mySigmaArrayHour = [mySigmaArrayHour allSigma(2) ];
    4768            mySignalArrayHour = [mySignalArrayHour isSignal];
    4869            mySPMArrayHour = [mySPMArrayHour isSPM];
    49             myTimeArrayHour = [myTimeArrayHour timeNum]
     70            myTimeArrayHour = [ myTimeArrayHour timeNum ];
    5071            meanLeftArray=[meanLeftArray allMean(1)];
    5172            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           
    52118        end %if
     119       
     120        image1Name = [ dateStr '-' hourStr '_means-of-LPM-signals.png' ];
     121        image2Name = [ dateStr '-' hourStr '_means-of-SPM-signals.png' ];
    53122       
    54123        %We wish to have LPM and SPM modes be plottet separately, in each
     
    57126        %mistake for plotting of is signal/is not signal has still to be
    58127        %found
    59         figure(5) %LPM plot
    60         clf;
    61         hold on
    62128        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       
    82150        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
    97172    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   
     197end % list not empty
     198
     199fhtml=[ plots_dir 'info_hourly_' dateStr '_' hourStr '.html' ];
     200fidhtml=fopen(fhtml,'w');
     201if (fidhtml==-1)
     202    error(['Unable to open file ' fhtml ' / fid=  ' num2str(fidhtml) ]);
     203end %if fid -1
     204
     205titleStr = [ 'SPESO -  1 hour - ' dateStr ' - ' hourStr];
     206header_fun(fidhtml,titleStr);
     207
     208fprintf(fidhtml,['<BR/>\n<A HREF="../../info_all_days.html"> Infos for all days </A><BR/>\n']);
     209fprintf(fidhtml,['<BR/>\n<A HREF="../info_daily_' dateStr '.html"> Infos for ' dateStr  '</A><BR/>\n']);
     210
     211if isempty(hourList)
     212    fprintf(fidhtml, 'No files at this date and hour.\n')
     213else
     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')
     226end
     227fprintf(fidhtml,['<BR/>\n<A HREF="../info_daily_' dateStr '.html"> Infos for ' dateStr  '</A><BR/>\n']);
     228fprintf(fidhtml,['<BR/>\n<A HREF="../../info_all_days.html"> Infos for all days </A><BR/>\n']);
     229
     230
     231footer_fun(fidhtml)
    118232end %function
Note: See TracChangeset for help on using the changeset viewer.