[611] | 1 | ############################################################## |
---|
| 2 | # Check chromaticity of DAB from calib spectra (1204-window) # |
---|
| 3 | ############################################################## |
---|
| 4 | |
---|
| 5 | set user "AST" |
---|
| 6 | set toppath "/sps/baoradio/AmasNancay/${user}" |
---|
| 7 | set source "Abell1205" |
---|
| 8 | set srclower "abell1205" |
---|
| 9 | set date "20110415" |
---|
| 10 | set cycle "8" |
---|
| 11 | set mode "Off" |
---|
| 12 | set path "${toppath}/${source}/${date}${srclower}/${mode}/calibcycle${cycle}" |
---|
| 13 | |
---|
| 14 | # |
---|
| 15 | # Power vs. run (calib monitoring) |
---|
| 16 | #----------------------------------- |
---|
| 17 | #shell ls ${path}/*.fits |
---|
| 18 | shell ls ${path}/*.fits | wc -l > pp |
---|
| 19 | vecfrascii mm pp |
---|
| 20 | vec2var mm nfiles |
---|
| 21 | |
---|
| 22 | set mean0 " " |
---|
| 23 | set mean1 " " |
---|
| 24 | for i 0:$nfiles |
---|
| 25 | openfits ${path}/medfiltmtx${i}.fits |
---|
| 26 | del g0 g1 s0 s1 n0 n1 |
---|
| 27 | objaoper /home/medfiltmtx${i} row 0 g0 |
---|
| 28 | objaoper /home/medfiltmtx${i} row 1 g1 |
---|
| 29 | c++exec sa_size_t n0=g0.NElts()-1; TVector<r_4>s0=g0(Range(1,n0)); KeepObj(s0); \ |
---|
| 30 | sa_size_t n1=g1.NElts()-1; TVector<r_4>s1=g1(Range(1,n1)); KeepObj(s1); |
---|
| 31 | m0 = ${s0.sum}/${s0.size} |
---|
| 32 | m1 = ${s1.sum}/${s1.size} |
---|
| 33 | set mean0 "${mean0} ${m0}" |
---|
| 34 | set mean1 "${mean1} ${m1}" |
---|
| 35 | end |
---|
| 36 | echo ${mean0} |
---|
| 37 | echo ${mean1} |
---|
| 38 | line2vec vmean0 ${mean0} |
---|
| 39 | line2vec vmean1 ${mean1} |
---|
| 40 | |
---|
| 41 | maxplot = ${vmean1.max}+5 |
---|
| 42 | newwin 1 1 |
---|
| 43 | graphicatt "xylimits=0,116,0,3" |
---|
| 44 | plot2d vmean1 n val 1 "red cpts nsta notit" |
---|
| 45 | plot2d vmean0 n val 1 "same blue cpts nsta notit" |
---|
| 46 | settitle "Mean calib $source ${date} ${mode} Ch 0 (blue) Ch 1 (red)" |
---|
| 47 | setaxelabels "File #" "I (a.u)" |
---|
| 48 | |
---|
| 49 | # |
---|
| 50 | # Identify baseline, DAB_1, DAB_2 from monitoring plot |
---|
| 51 | #------------------------------------------------------ |
---|
| 52 | ## Baseline |
---|
| 53 | del ifirst count nspec sum0 sum1 |
---|
| 54 | ifirst = 1 |
---|
| 55 | count = 0 |
---|
| 56 | for i 0:34 |
---|
| 57 | # echo "^^^^^^^^" $i $count |
---|
| 58 | count = $count+1 |
---|
| 59 | del g0 g1 |
---|
| 60 | objaoper /home/medfiltmtx${i} row 0 g0 |
---|
| 61 | objaoper /home/medfiltmtx${i} row 1 g1 |
---|
| 62 | if ( $ifirst == 1 ) then |
---|
| 63 | ifirst = 0 |
---|
| 64 | c++exec TVector<r_4> sum0=g0; KeepObj(sum0); \ |
---|
| 65 | TVector<r_4> sum1=g1; KeepObj(sum1); |
---|
| 66 | else |
---|
| 67 | c++exec sum0+=g0; sum1+=g1; |
---|
| 68 | endif |
---|
| 69 | end |
---|
| 70 | for i 70:$nfiles |
---|
| 71 | count = $count+1 |
---|
| 72 | # echo "^^^^^^^^" $i $count |
---|
| 73 | del g0 g1 |
---|
| 74 | objaoper /home/medfiltmtx${i} row 0 g0 |
---|
| 75 | objaoper /home/medfiltmtx${i} row 1 g1 |
---|
| 76 | c++exec sum0+=g0; sum1+=g1; |
---|
| 77 | end |
---|
| 78 | echo $count |
---|
| 79 | line2vec nspec $count |
---|
| 80 | del base0 base1 |
---|
| 81 | c++exec TVector<r_4> base0=sum0; KeepObj(base0); base0/=nspec[0]; \ |
---|
| 82 | TVector<r_4> base1=sum1; KeepObj(base1); base1/=nspec[0]; |
---|
| 83 | |
---|
| 84 | ## DAB Level 1 |
---|
| 85 | idablev1 = 36 |
---|
| 86 | idablev2 = 51 |
---|
| 87 | |
---|
| 88 | del ifirst count nspec sum0 sum1 |
---|
| 89 | ifirst = 1 |
---|
| 90 | count = 0 |
---|
| 91 | for i $idablev1:$idablev2 |
---|
| 92 | count = $count+1 |
---|
| 93 | echo "^^^^^^^^" $i $count |
---|
| 94 | del g0 g1 |
---|
| 95 | objaoper /home/medfiltmtx${i} row 0 g0 |
---|
| 96 | objaoper /home/medfiltmtx${i} row 1 g1 |
---|
| 97 | if ( $ifirst == 1 ) then |
---|
| 98 | ifirst = 0 |
---|
| 99 | c++exec TVector<r_4> sum0=g0; KeepObj(sum0); \ |
---|
| 100 | TVector<r_4> sum1=g1; KeepObj(sum1); |
---|
| 101 | else |
---|
| 102 | c++exec sum0+=g0; sum1+=g1; |
---|
| 103 | endif |
---|
| 104 | end |
---|
| 105 | echo $count |
---|
| 106 | line2vec nspec $count |
---|
| 107 | del dab01 dab11 |
---|
| 108 | c++exec TVector<r_4> dab01=sum0; KeepObj(dab01); dab01/=nspec[0]; \ |
---|
| 109 | TVector<r_4> dab11=sum1; KeepObj(dab11); dab11/=nspec[0]; |
---|
| 110 | |
---|
| 111 | ## DAB Level 2 |
---|
| 112 | idablev3 = 53 |
---|
| 113 | idablev4 = 67 |
---|
| 114 | |
---|
| 115 | del ifirst count nspec sum0 sum1 |
---|
| 116 | ifirst = 1 |
---|
| 117 | count = 0 |
---|
| 118 | for i $idablev3:$idablev4 |
---|
| 119 | count = $count+1 |
---|
| 120 | echo "^^^^^^^^" $i $count |
---|
| 121 | del g0 g1 |
---|
| 122 | objaoper /home/medfiltmtx${i} row 0 g0 |
---|
| 123 | objaoper /home/medfiltmtx${i} row 1 g1 |
---|
| 124 | if ( $ifirst == 1 ) then |
---|
| 125 | ifirst = 0 |
---|
| 126 | c++exec TVector<r_4> sum0 = g0; KeepObj(sum0); \ |
---|
| 127 | TVector<r_4> sum1 = g1; KeepObj(sum1); |
---|
| 128 | else |
---|
| 129 | c++exec sum0+=g0; sum1+=g1; |
---|
| 130 | endif |
---|
| 131 | end |
---|
| 132 | echo $count |
---|
| 133 | line2vec nspec $count |
---|
| 134 | del dab02 dab12 |
---|
| 135 | c++exec TVector<r_4> dab02=sum0; KeepObj(dab02); dab02/=nspec[0]; \ |
---|
| 136 | TVector<r_4> dab12=sum1; KeepObj(dab12); dab12/=nspec[0]; |
---|
| 137 | |
---|
| 138 | ## Plot results |
---|
| 139 | newwin 1 1 |
---|
| 140 | plot2d base0 (n/8192)*250+1250 val 1 "blue cpts notit nstat" |
---|
| 141 | plot2d base1 (n/8192)*250+1250 val 1 "same red cpts notit nstat" |
---|
| 142 | settitle "Mean baseline $source $date Ch0 blue Ch1 red" |
---|
| 143 | |
---|
| 144 | newwin 1 1 |
---|
| 145 | graphicatt "xylimits=1250,1500,0,3" |
---|
| 146 | plot2d dab01 (n/8192)*250+1250 val 1 "blue cpts notit nstat" |
---|
| 147 | plot2d dab11 (n/8192)*250+1250 val 1 "same red cpts notit nstat" |
---|
| 148 | settitle "Mean First DAB $source $date Ch0 blue Ch1 red" |
---|
| 149 | |
---|
| 150 | newwin 1 1 |
---|
| 151 | graphicatt "xylimits=1250,1500,0,3" |
---|
| 152 | plot2d dab02 (n/8192)*250+1250 val 1 "blue cpts notit nstat" |
---|
| 153 | plot2d dab12 (n/8192)*250+1250 val 1 "same red cpts notit nstat" |
---|
| 154 | settitle "Mean Second DAB $source $date Ch0 blue Ch1 red" |
---|
| 155 | |
---|
| 156 | ## Save results in ppf files |
---|
| 157 | del mtxbase mtxdab1 mtxdab2 |
---|
| 158 | |
---|
| 159 | c++exec TMatrix<r_4> mtxbase(2,base0.NElts()); mtxbase.Row(0)=base0; mtxbase.Row(1)=base1; KeepObj(mtxbase); \ |
---|
| 160 | TMatrix<r_4> mtxdab1(2,dab01.NElts()); mtxdab1.Row(0)=dab01; mtxdab1.Row(1)=dab11; KeepObj(mtxdab1); \ |
---|
| 161 | TMatrix<r_4> mtxdab2(2,dab02.NElts()); mtxdab2.Row(0)=dab02; mtxdab2.Row(1)=dab12; KeepObj(mtxdab2); |
---|
| 162 | |
---|
| 163 | saveppf mtxbase ${toppath}/${source}/${date}${srclower}/baseline_${date}_${srclower}_${mode}.ppf |
---|
| 164 | saveppf mtxdab1 ${toppath}/${source}/${date}${srclower}/dab1_${date}_${srclower}_${mode}.ppf |
---|
| 165 | saveppf mtxdab2 ${toppath}/${source}/${date}${srclower}/dab2_${date}_${srclower}_${mode}.ppf |
---|