From 88c4d9e2bdb09999aee2affb24db1fd55c4ff6e3 Mon Sep 17 00:00:00 2001 From: Stefan Strohauer Date: Tue, 19 Nov 2013 13:09:21 +0100 Subject: [PATCH] Added error calculation. --- PlotGraph/PlotGraph.C | 81 +++++-- PlotGraph/RelevantRuns.csv | 265 +++++++++++----------- ProcessMeasurements/LaborbuchMi29.csv | 82 +++---- ProcessMeasurements/LaborbuchMi29.xls | Bin 29184 -> 57344 bytes ProcessMeasurements/MAPS.C | 36 ++- ProcessMeasurements/ProcessMeasurements.C | 4 +- 6 files changed, 259 insertions(+), 209 deletions(-) diff --git a/PlotGraph/PlotGraph.C b/PlotGraph/PlotGraph.C index e4b5dd6..33f8b7d 100644 --- a/PlotGraph/PlotGraph.C +++ b/PlotGraph/PlotGraph.C @@ -33,28 +33,33 @@ #define COLDONE 10 #define NUMPIXELS 25 -#define RIGHT_BOUNDARY 400 +#define RIGHT_BOUNDARY 1000 +#define VETO_BINSIZE 1000 -#define VETO_THRESHOLD 10 +#define VETO_THRESHOLD 5 +// #define VETO_THRESHOLD 40 #define LABORBUCH "RelevantRuns.csv" // #define DATAPATH "/local/sstrohauer/data/data_15.10.2013_11:36/" // #define DATAPATH "/local/sstrohauer/data/data_18.10.2013_16:8/" // #define DATAPATH "/local/sstrohauer/data/data_22.10.2013_14:9/" // #define DATAPATH "/local/sstrohauer/data/data_25.10.2013_14:50/" -#define DATAPATH "/local/sstrohauer/data/data_4.11.2013_13:57/" -#define USE_SEPARATE_NOISE_RUN false +// #define DATAPATH "/local/sstrohauer/data/data_4.11.2013_13:57/" +// #define DATAPATH "/local/sstrohauer/data/data_6.11.2013_17:50/" +#define DATAPATH "/local/sstrohauer/data/data_15.11.2013_16:3/" + +#define USE_SEPARATE_NOISE_RUN true #define DRAW_SINGLE_HISTOGRAMS true -#define DRAW_SUMMED_HISTOGRAMS false -#define DRAW_VETO_HISTOGRAMS false +#define DRAW_SUMMED_HISTOGRAMS true +#define DRAW_VETO_HISTOGRAMS true #define DRAW_SEEDPIXEL_DISTRIBUTION false #define DRAW_PIXEL_DISTRIBUTION_HISTOGRAMS false // examples for fit functions: gaus, landau -#define FIT_FUNC "landau" -#define DRAW_FITS false -#define DRAW_NOISE_HISTOGRAM true -#define PRINT_HEADER true +#define FIT_FUNC "gaus" +#define DRAW_FITS true +#define DRAW_NOISE_HISTOGRAM false #define PRINT_EXPECTATION_VALUE_HITS_PER_FRAME false +#define PRINT_HEADER false void PlotGraph(Float_t selTemp, Int_t selChip, std::string selSource, Int_t selMatrix6480, Int_t selSubmatrix, Float_t selRadDose) { @@ -92,6 +97,9 @@ void PlotGraph(Float_t selTemp, Int_t selChip, std::string selSource, Int_t selM std::vector fitMaxPosX; std::vector fitMaxPosXSum; std::vector fitMaxPosXVeto; + std::vector fitMaxPosXError; + std::vector fitMaxPosXSumError; + std::vector fitMaxPosXVetoError; std::vector fitLandauErrorLeft; std::vector fitLandauErrorRight; std::vector noiseMedian; @@ -190,7 +198,7 @@ void PlotGraph(Float_t selTemp, Int_t selChip, std::string selSource, Int_t selM // create histogram histNtuple.push_back(new TH1F(Form("hist%i",nHistNtuple), "Histogram title", 200, 0, RIGHT_BOUNDARY)); histNtupleSum.push_back(new TH1F(Form("histSum%i",nHistNtuple), "Histogram title", 200, 0, RIGHT_BOUNDARY)); - histNtupleVeto.push_back(new TH1F(Form("histVeto%i",nHistNtuple), "Histogram title", 200/2, 0, RIGHT_BOUNDARY)); + histNtupleVeto.push_back(new TH1F(Form("histVeto%i",nHistNtuple), "Histogram title", VETO_BINSIZE, 0, RIGHT_BOUNDARY)); histPixelNumIsSeed.push_back(new TH1F(Form("histPixelNumIsSeed_%i",nHistNtuple), "Histogram title", totalPixelNum, 0, totalPixelNum)); histPixelNumIsSeedSelection.push_back(new TH1F(Form("histPixelNumIsSeedSelection_%i",nHistNtuple), "Histogram title", totalPixelNum, 0, totalPixelNum)); histPixelDistribution1.push_back(new TH1F(Form("histPixelDistribution1_%i",nHistNtuple), "Histogram title", totalPixelNum, 0, totalPixelNum)); @@ -447,6 +455,7 @@ void PlotGraph(Float_t selTemp, Int_t selChip, std::string selSource, Int_t selM if (TString(FIT_FUNC)=="gaus") { (*it)->Fit(fitFunc, "N,Q,W", "", xValMax-10, xValMax+10); posMax = fitFunc->GetParameter(1); + fitMaxPosXError.push_back(fitFunc->GetParameter(2)); // sigma of the gaus fit fitFunc->DrawCopy("same"); } else if (TString(FIT_FUNC)=="landau") { @@ -508,6 +517,8 @@ void PlotGraph(Float_t selTemp, Int_t selChip, std::string selSource, Int_t selM (*it)->GetXaxis()->SetRange((*it)->GetXaxis()->FindBin(fitMaxPosX[cnt]),(*it)->GetXaxis()->FindBin(RIGHT_BOUNDARY)); // look only for maxima with x greater than 20 Int_t xValMax = (*it)->GetBinCenter((*it)->GetMaximumBin()); (*it)->Fit(fitFunc, "N,Q,W", "", xValMax-15, xValMax+15); + fitMaxPosXSumError.push_back(fitFunc->GetParameter(2)); // sigma of the gaus fit + (*it)->GetXaxis()->UnZoom(); fitFunc->DrawCopy("same"); // cout << "Maximum bin: " << (*it)->GetBinCenter((*it)->GetMaximumBin()) << endl; @@ -531,6 +542,8 @@ void PlotGraph(Float_t selTemp, Int_t selChip, std::string selSource, Int_t selM (*it)->GetXaxis()->SetRange((*it)->GetXaxis()->FindBin(fitMaxPosX[cnt]),(*it)->GetXaxis()->FindBin(RIGHT_BOUNDARY)); // look only for maxima with x greater than 20 Int_t xValMax = (*it)->GetBinCenter((*it)->GetMaximumBin()); (*it)->Fit(fitFunc, "N,Q,W", "", xValMax-15, xValMax+15); + fitMaxPosXVetoError.push_back(fitFunc->GetParameter(2)); // sigma of the gaus fit + (*it)->GetXaxis()->UnZoom(); fitFunc->DrawCopy("same"); // cout << "Maximum bin: " << (*it)->GetBinCenter((*it)->GetMaximumBin()) << endl; @@ -569,21 +582,51 @@ void PlotGraph(Float_t selTemp, Int_t selChip, std::string selSource, Int_t selM // print all information - TString runDetailsHeader = TString("runNo\tT\tTSens\tChip\tSource\tMatrix\tRadDose\t\tSubmtrx") + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS ? "\tColPeak":"") + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="landau" ? "\tErrL":"") + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="landau" ? "\tErrR":"") + (DRAW_SUMMED_HISTOGRAMS && DRAW_FITS ? "\tSumColPeak":"") + (DRAW_VETO_HISTOGRAMS && DRAW_FITS ? "\tCalPeak":"") + "\tNoise" + "\tNseLo17" + "\tNseHi17" + "\tS/N" + "\n"; + TString runDetailsHeader = TString("runNo\tT\tTSens\tChip\tSource\tMatrix\tRadDose\t\tSubmtrx") + + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="gaus" ? "\tColPeak":"") + + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="gaus" ? "\tColPkEr":"") + + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="landau" ? "\tMPV":"") + + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="landau" ? "\tErrL":"") + + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="landau" ? "\tErrR":"") + + (DRAW_SUMMED_HISTOGRAMS && DRAW_FITS ? "\tSumColPeak":"") + + (DRAW_SUMMED_HISTOGRAMS && DRAW_FITS ? "\tSumColErr":"") + + (DRAW_VETO_HISTOGRAMS && DRAW_FITS ? "\tCalPeak":"") + + (DRAW_VETO_HISTOGRAMS && DRAW_FITS ? "\tCalPkErr":"") + + "\tNoise" + + "\tNseLo17" + + "\tNseHi17" + + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="gaus" ? "\tCCESeed":"") + + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="gaus" ? "\tCCESdEr":"") + + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="gaus" ? "\tCCESum":"") + + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="gaus" ? "\tCCESmEr":"") + + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="landau" ? "\tS/N":"") + + (DRAW_SINGLE_HISTOGRAMS && DRAW_FITS && TString(FIT_FUNC)=="landau" ? "\tS/NErr":"") + + "\n"; + if (PRINT_HEADER) cout << endl << runDetailsHeader; + for (UInt_t i=0; i7k&Y+#yo{`(40avn40QqlmEvaE3Jm=1T|z4 zcuNySCIPIMxfibk%qXjFhb$0ir(c1IYiN~ygM zJ9SHQWZ%-lIi|N6VGq`sQn_?)F|KoYSxKQ zI%fpOC-H zy9|24vJKT`i{)iYrmnH9v~Y}hw;7I#J=G_gQI&gJTV3CB>;$TZoA;Q(s9po|;@s#hoWfaVwoQcmn36^u!P$31bSeV2^L-9tpVGn!=6$Brm;)1M&8@iV zPz@djXC6$}94tSWM8m?C6`S|7=dLKPxM(g%4`IyjE+y@|ykwKa+0j}2w?S3sI6Ekf z@56aijsLfdCyexQW?er|I-h^ce;8) zzs1g1&To<96b1Ty{K)ac_WJk-T|MFXjo~>xF+3Mno1({|KhfS8pZ<*FvGbMlTTD-g zNA!evL{ErE^n`dsPYw_L7U+-SK|DBk-uZR#WXE|A@kqRdcqHC(cyG+7wY)Q3;eq}z z{&U9(@X&4!58@|>7kiFhY~v8^9h*DvAwPFsB6(Wu$=_m6{>t&;x5)8%c5Ocs#9Pj8 z!lN@06I642v@Lao8Jnje48Sf`UJ-&AJcl{aajNv(*Ff)@qH3G{^g$Z^8>j2tJ2$Bq-lV}8yZC$JmFkM0K< zU*h9q%%6n=bMv%Feua3%Ziq+vu@I*P#D5TPA)f0uVt6EOLw+P~9X!7u7X4h-TDw92 zmg9$c8nMf0wfq#f@Cc8e!;1yxIQY7PLNlnn*CoCWZZER$L)v@Wchhd{`_T46`+j+Q zpG)ZkXR9}1-v9PtJW8?IS$#B9U!SQYcG;&KY&NmWKkZ<1?!fe@63;Iriczo(cpzb3 zG%xiUh3#pe78Q`5{W=c?>X*iW>u5N8>&S38yO>ND`G6QhD>YBRh*1D#~WKB~`20O2A zYRoK$*|P(USy5l#bS6`i+&Qbcy773Xk4aRTg*e%hlS!;YDzWrQ%);C39K`K~0?xte zTX?gu5U#-T+^lM9Xn^E*+ruVXPh^s3;iINA$%g9YlQ7bdscwNda$1sSGR+xO)MS!p z>RL}EtCL5oTQc=^jhSR!qutjEN*>L$p2=hylk+MnlGTkh$vNDpZE8-=nq6`KDht^o zH8!;-8=7kBYU^N#^)%mvm*(V&y5lG6QCcGs%EuYgQr(bAR<|UZ+ZvOz7gkixo|!z_ z)|#xTLrZFu`Z-`_(HaBzKsrsg7R)gO&-qr>{N9#T-TauZb|MwT0IjlP4;9+6O#3HC*jxn`lM>4pE0Lx zQxO2y<$b7Y#KM}i}6`TFID$pNYz?<>TKCK8>BiVcG8fr`*^gGoU;D#b7R-o(o4c?Cx4?_VV z_pm(@w(o)`ja;D}H1&E}?I^=8;U17CpL2fpi4R~z@669zS*-g9-uPwl< z@HvT<{ARp!F12CRrtO)QrusI{dd&Qaikee(1lLx#w4%c7Y;Mc&^O|E#jZK&|WDGCT zT4?L3*1CqeS7c08eRW-<+0oF1IRpk6*{7=dcxDG{H)UEe^cjBMo;gk{fH2Q$Jieyp zc*dCZji=gLchonvn$2}JHT4;@uBxgUBU)8ceciFMW@~LNkagAdwXGQcO%=v%9By@{ zwz{pp)vRtiRiC-eY+==3xT>v>-$1&L&=D+z8`col$3{`OR!>|czJ2a?+?wdEuR{Gz6>kyV1H9E z0Q+J5vYiY@SW{epNd_JR(ev=po)~7aL>^`m11-iLF5m?i4;01N??o|8h=IK*om=jB z9Lu6S++B!a9Lb|ROdVnvd($ZIG6ka#qCCw0V;DViSIeqK?rfpL*jHAM&XPck37>@~Mv*kNgTg6`L!pU8(DfOvgGR z$Lxpw7&TH?g8Qe84f)jHOyS+A+^5U1AAKfu157RMm>ctX?9Z$~Pq6dx)Jl_{_jHQA z!rUx#y*!KUTR&!zUoG!#_f5e13_G5G9{1D}XgiNnmE!s3s+q@6pp@HQhR0`{513Rp zk6&Pq&&c5M3)JJY7wb4a)9-+3@8C*_>?0Y1%s3xa;_gE+xGezPFOA-OO$z(xWi_mD|-Q&+L0 zt2n1?XNRu#mYlBQP}c+4;?>!S(9++Y;bK(@bK#I_ca>z}A#-Im?je3Fsl!8k;~x4| zprmi8gdXZ^m9Upg6cphTJw)&HRW&j951Fi@sY21z&(XxQ!Lz1$hhv|dHF~F?j=`9%iFZmu@06&TI8GsUx~ZwZ zqp5$~JLy1E|4vn|H< zA#)hz5c-V?W)jAL{MhE~3x3|qbAB;Dw$;&PnAOEu*XPYhTy2T@A{SbA)4)e!@9d zY|c__j&y8t?DmZTBORL~9h;nAp*{QZ&Sx&RHz+noIW|Yd+Zo38D97d~$0lcrIG=Hw zsf~)w(T>g0@pgu>J=(E3I<(2y=6txTew(v-oO7$|zJ+-+C!@`r##&udu@7T=Y}^-N zY>y3faV9X<>f#tU){c72bVm6&Ydzad>*E~jJfj`h;eda1R}-h|e<7D7aH)B1SF`uI-TKHjlDKD0jGT4%p< z!KBPrFnF#mc+{lrbGvzyx!t@zS0>`hQO7g->73z{R|JwcR&*74g@TnS81pu|??eUT zoIJ{#tYEzO8s#xgqZqGsMX~7$HbcQ?D%dOq<5icajVl$bLcuB(Y_@{UQ7~RxkJ_E5 zVDlC1Dg|4hU<(y&k%BE&uq6t%RKb=h*zyR*UL}cjMar%;uCQCoD#lvcv?Hrln~TWl zG(OKwRoj&ywy_cnK9$(^)#a%ht+o@{LftF_5ti`mnpO*U>lrCFciSfA2K zi>HLv+2Sc-iyy!^H5FGDR-5^_CpRCquQChp1@J}qV)GKjokRiqwKQ(yF$y@AVO!!} zjl5}ARj~e=7WYXii2G@ds%fDrMjrc3ocnItobK4cG^_KavDAC zJVbWNiENINIOA4TGU#Da)h2QAz7#wZ>Cr2!s$liSuh{r{^a@8+MW~9A%~3dQvN4-R z&8AAnW@X$H;V4q+*sOGHa+F7V4)ctM?X;17Wj5Z<*^bTGowRedV{^7+ld}k%aoAjA z(t&TSO>OL$$S<@tc#pz{4dMv@i+@h8*_wr6U<^?&ps$O zqgi0Jb4GKnpdZGGApU#dp56jnDds%Ny#4i~8&*oaok5vnDUNsx!q&*A{5j5oaQx#8 z5HZtDJqsN@3qxO0&%&4GmvuHau zD%d6k+pJ()6l|-4RVmmu1>3G*I}~iEg6&eU-3qox!S*WHJ_XyaV7Sv9^C|B^NBxW| zU@?sM1*5zp5saCh0+u$}cqTdXq#%=0P9~+COi#r!Ddl8RD$FGIdMT&ZW5lQNolhs9 zy<@=&M+LuY(2>t8Vk%ZRDpoiuRyZn{W9ap|sbZz0Vx{AYl`$179Th7b6)PPT%xd&) z`6`szRd7aDIVx5;zE~AgvC2`g%2Bb(QNeyBZL)C{CV!0_s95c&Snc>?bxg%-N5yJK z#p+N6*A{D(wS~KCW(NVF{QL!;p z!CBQNn??Co7gMp>EDXw^-c+V4cdggnBsgr%g7l#~GypJzE_;TOB`cjp^Ac zdeWk2Yp92#)Yj0C%yP~(()f)R$166!@>d9fiYiA%mE)DFn2IXLD^;NidZo&$2v#gr zp;tK1L3G9SI4hPw&o)QTHpeU5VtTeYUfCAvp;xv!Ug69Nv68PMH(uqhSOOK>9TnRh zuWXO0*zR~`d#Hk5*=|*E#ll$G9(skdy0po5Q_l`Z&kn~cJ7RivI9}Ni>Y-P5gkItL zWvA(E{lXb#+L#O@DeL6d+!XNKs1^8Zm(>`oUv@b@+ZEHe%kkN+P$Rvx%W7mSbN-6h z>866+j)L8emv+Y#>~_4g+flGPRKVFX;>K0LY*M3lkE39Z~R$A2^DZ| zo;KOI0#lidpM|}Sg1wFp_Qn+Kb$qbbQLr~uz?A?j)#k-PZj{QOWd(7t&rz_?@xi{B zf_;t;_Bjgng$lUtKpeysWVP(w?#sHrcoWb?iChC^+PJ=uk|- zA;&|990i9$1zgLejXBOJ34LJ4o%|V95G98l1&19U9F8eC?D*iYqu_9;fGbBtiK3u9 z3uTf1>WHJ@h~tAJF$G5)9~^NM9I*;`y=CfPUT?V>*H7eG7H;u#DZT|3TwCFLDXy<{ zJcCcX-U784DK6m^kKErUpwEe6M-}Xtg4HNkM!{+o?6`uRP_Q}$yGFrIDp73>BD zJEvghBN)fsG%)mM`I#g=zOy0-ayji}QrgMobS#t7PA;dNOiG8j%xF)WY+M1p#|Cwg zT&{K$R6Ds`9aB*4U0N*7)iXMNgIfgP8zW|oRF^L|Fq4XE?3#v}A@4GL* z|95)dk-3#fja3`0L~0y=)#TKsp1HT;?RF(nBWhDJ^REfja&}o`)p8|570hV#f8A7( zaa3d+pJieyGNK|WDl(x8&et;GS!4f!xN#N4W=nw|Y8?f&jvs1c3Thoc)P@S^hgz$E zYY+N?JyzOeyQ$*1qvE*ZhvP97#~nW$4^_|)$3s7`e@q)wmlqGpY9sK&2}i*R#}6lB z3QjnFI1wtKA5K^WTy4+~?2!=l$4e(2eJ8{7#BnEWvfWfr z?>x~ZViQPAl4pfRSP(eXi}qo6TVz!4mAU=_4W9OOouEm`{J*%V$);DaVdL6hTy zrkH{z#|KT0f~HUb=L>0*?WTfLj)GH;4^G7toN|0{%29C2DqyBui%jvaFE~%ZD(vLr zsm&(2^yw5=WOGv-b>?v!9wHKWs2TdU;Cs_@{kR$Wct5Ku#XE_ZSKxY)F&*PeGxSxN zL~eX(hCW`=!Y@T&s~P&X*{c@pPdGE$XHwl%(c-9R$*I_BRkXxZw1|q__|oF2XmM0< zF18Q9iQ)JnOJ9^{Gmf4!Ru8}T!g=;S!`~jrpzOf)u3fmMvN zaIWsRwFg#P@Em0Q#5w#9({BCLzVYc4uLjOdW$a)5U>o^NB=|ehSHe#_(HhC;SHe%c zGFN54OY=(jX*d4PIH>CjJL$$}a&`T%pXBlo^GdXVt#*}g<*>tKyQ$=QN6Ga$B|ELP z>m4Q6<7`36wx@G-`AV)=l#Il$8BmF7U@YGk_#|6k==U2;FPypa92t=soY~<+YSTdo6|6M~36c@1g`HxKbk5 zPD+8x^B!DXDL2coTDu+3`|;$plyTP)_0#TQENc(5tli17b|=gD-34X>N3DIhmaq@cEto5A#e8s!y?@4j@J4%tDd4dm zyfJcwsmROjje8s;nNQsrBgti+>0Hi8JNja_g88R&c^8ANxXHF+EO>0iO-?I#mYA)W zRW@?;Np0>JkvYSTk2N>jvor?#@b43E4*NphufiW~<6d>}%MLd?=jG<`yxeT{jI&1= zf+KKr;jcRE0m5H(;OzTm{N;JaoPm7@W}H@Gx=V$(I0|p+MBy#4)G_0~1qy>1{}6MF z=(@kv(RGWXi~Seonoaav*Sc^{s+LZhz#;uO7TOD1us=97V`T(q0I zZgX_q)`_m$99_3Lx^BzUl}I(@&f{&4F81SyG^;Dy<$1i_(RF(#x^8!L-R|hRJzrPF zshqCcLtV@_jwQaHAV1%jEgWMIi?$8-ZRsjo?yzm(l^bTu9g#L5?h#*d&hJ1QI_6?` zpbdL%_TFK$rPLl_2##R0#YSZ!du^^YcZ98>LXLQd%2ReW*`>le9WUS6iNZS_g?EMu z?{pO2sVcnFQONNZ@!3s(`Bnsc(TW-Us`y_fay$VRgc-(Zwh|6|w=&epnO-y61r z^ElccV*V*&AHS}QHgHZS^>0z@Ilq(ox5nzZW~s+wyT0HpW+m1je6BQahsWeO6Wj8X zx|vw3$dli>pJ=y}Xg}91_rXr|H{sr`VPW$LiT1G7t2gy5kz= zhr<4l8PXN|!y%iwqp`XA<98K#{_hXj%&ItB)`|i9BO#ml))o7sA)A@l75if$n>k9h zwrUNOd^}_`d*jD;uL6G}WHYb3Vt+DZGvjr3hX+3uve_4O#r|~2W-rkd`!gY%{YO{q z&xUOFEM2kxC1kVD>5Bcikj>txEB5C@Hv6fr*j%&AoQOSGSL}ba>Rf_+KB{zJhYRIrB>?8^%Fu!23JU|&_RuL0{9 z`9{^(73@(3`-XyjQ^6inux}~Y1qJ)If_+E9zN=v0Q?SPs?E4D#0|k2`g0UCR0_!Sn zvo>zo=Q6rDCJe`xZ@$fF6VAVRIgCEx{JWRKXcW#Dy&OiTaK7Z_Fj|H4A6^clmz*K^ zpIO~@$^4sU?`2YLnuMRt6gPAOx?|C`QY~eiaTxq!P>hl}tF zN(JS14Ja$YiRdqat*+iVK3#;BXy5##f<2{RKUA=%73>)W`;mhESizoEu%9T{PZjKE z3ih0W{anF*pa&kFXUg1w|* zFDuxk2*#1=A~1>Qi)uuZ!`KtflU@#EQ8-U|IgCx={Lsr`tP1C8FNd)!oM*fo# zs|e?k%Hg{0QH+Uu3pyYB+z~U%<+x}P@o_PsV7(NqP{DdDSdoJDQLthK>#Jb>6s$zS z`YYIF3N}E&1}fMf1skkjLlkVNf?cj)!xU_|f{jqHkqXBDpD{Y`8LePr6l|=5jZ?5v z1sfm1*qbrdB&yN5VXNcbMaS%vu_v5_m%~^TPA@Nqu_>HFFNd)zoZemzV^=suUJhef zIDNbv#X@MtV8SX5ozTa+ux18SUjT+l4d6%VG8lXRMdQ-at6xyd3rp!YTD~*jor^ zyvpHt_kMM}OP;@joBVk0JKh zj4O%Yq#D8GFwTT?g_py)6Hb|z!#EVq1TTkiDV&L34&zifle`?pt#BrLIgDfBO!0CU z*TR|V2)wdlhV-g6&tZ0}6In!Hz^Qj!ldqiPe-EtK=}IgtNlSVT=i9rI*8)6V56x zhcPIe)m{!`QaEe99LA_{uJ&>mv%*>D^~Wizscv&qY0qzh-W zm&3>x&K56+nIN34UJf%uI8|N_GetPtyc}kZaJG9n%p~FL@N#yB-ef)rdzY8Z{1VP? zFNgUioIPF+^G`T?y_|iaGG?K$_j}pQO5q&va+syUIqc;yYlU+}_#Kl7 zN3IaCjZ%M1t!I0szDBKQ+oe9E*3%DCU#r&BCsKc0t*3va{)AdjUrBwPT2H@8{WY=r z3%CQ(zrdJ}V|AU3JTKsHANdI088`olV@2cUK?QqA!M?0u|D|9LE7&6n_7w&Ds)Bt@ z!M?6wk1E(V6zrP{_LzcwOTjKE*tZqzI|}w)1^b?YJ+5HiSFj%_*b@U-5DnbHe$m zm%|to&eyyg#-wn*?&UB>h4ZMF!z7#GgByd1{7a4vW` z%mLwi+sk2220;TW|Qpk1MePB zgnL}TZvk!UZOp|){wlAl?E&be*$ZEUt!OX&q=G%AU_Vr_rxolO1^bbL{aC@CRj{8Z z*iRMgXA1V5g8f{yj9uY8Tegv4h4V)*hq*4C7rY$izHt8J<*+Xh&Y!&;_6@>$(aT|9A)J@I9QGZ;dD+WhUm~1K zDu?&_9#rr3bu|j+*K;()S7&0QAxy@w0tM@(V1)|STfvGHtdD{fD_CCz>!)BP3dZ$X zbo9SW!3HSUKm{A5V1pHGh=L7Ou*(%}n1YQ^u#pNjO2I}e*cb&Ht6<|4tW?3qM=*|b zj5UdBgK+YEw6;7d-!`Ky0Z!d?jESw@Qhp{c3K3)!E zT{y*F4r5<9eZ3s!f^hnIIm`{=lz2JJ72)*va+o{9xy;L9E(vFVm&4o=&Ok4Rxh9-J zUJi3lID@?$=Av+hcsa~X;SBY1n5)9M+{O4%O;)fe3N}r_rYqPC z1)Hg0vlOgc!LC%W3I(fFusI4gSHb2f*n9=MO2HN=*g^$cq+p8`Y>9#`Rj}m|%=YNO zBnFde4B8$&c(+UM!sbH%VY)u4X zuS6Tt68!8swzR)Wp-the@N%d@I4ivzY7)*WFNYe1vqt4yz%L+-#2m6J9Ltv#3^AW9 zI)yv(Dc+XPJ;vd0czcb-56J@TZ~I&MT5+9!yf7LP!^jo zTmq-(Kfd%S{^!F5I6{BC*5Hub9*kFmpXn|(FTU^jM>ij>T7Jah(=9&3zP`#L{5jU( zF{yxG8@Oa{M9mipFUR&Ulvi8!YwYXWOqpdQU?agV859*2-9B!~i!YsfVtMes9Y5?{ zK>Y;+z|DVHH&`H*2U|DDXE@D1{&F`w{OSLzZh-2b`N8{N-3>Y4{B6Izj6ba8-+DzK zjEsvnz4g~GY&|jP1AkX+W=#3mcPfCr38fDT>r*HU;B_br>YXSQz_oLZ%y^Jv27;Y=DK6eO)X8et;sdl9m~{PTc+rR=RSM>kwgmh?Jqy| z!s(~Kl0b&`JbFCPv>;6F~?I>LL--F-f+-Fx~U2<)6b>qp}w&qrR=KB6e!%FONvFUv;#m?kX+s^8vnfm%n zW&VfR`5)$({-Dz|FGH{iE1HjH>RMZl)<50anrXI2>bbH2zw|tMJkaBT9uM?*pvMC} z9_aBvj|X}@(Bpv~5A=B8Z^Q#!$8#af)h_SH;}5Ov7i4&kpZD~+p5|9$xUT1#o$Ggg z&4i0)uGa^n@SZ={`N0=hxYp%GD_AP}ZYtK-q}031u_N7L=_hRVdp~wxjGo;rAbQq3lN4 zgR&Q8AIg4|11JYkUcPkc(qX(GK}n-jqZ~y!hEjvV`dYjnM>&B~hjI?cs&3#GgE h5AkqJ9z1#@>Y8x&sUc&}z+a|k!T&`2Gc=sD|KClY#i{@R literal 29184 zcmeHQ3vgA(dEP4tAtBy27!$zPn1{JY@|6G^9l!|j23x$$GZ+x)3S=Z*A_=fDFAMC% z*d{#9vtYn=YPU_(bS9n2gF5as(@C4OlT6xaGShL=X)<|COfqdcX&&_ZcJJMD{W7Sl>PSh?b~@Vc0b&Hhb-`$9M?iLU=d0m6t;O^loFIulzu2>DE(0epbSJAgaQ{( zLr{jI+<|f@$}p7SD0iWZK)D-bB+5rnMxl&G8G~{UN)qK>l(8uHp^QTrk1_#eBFg9zaQ>RH0O(OhKU^=F3C5Vh8JRh}xX$hjZxR3h6fWK$R>)8LUDo~#(`Z8XX z`X0(gwTpej+=iBI$^WaZPIG8Tki(l8WM(CbG1e4dRJx4Uf$GonnJ?k4X7PpOym>sb9d5U&aKm-?D-Ye^OQroTn4+lNj7gQ7l(If#K~)u39?w}`W- z@WG$`B1v|GdzbRD8dKC?y~_T1;r#mfE9X2irl?r`A@ow|F+~H^YwWcjePG@L>#>a~ zDp8+;$yB-$CyUh|v05#wz0PWorsq#i<5a17gDp(K+qxTnRsHAfB$(y5H9NG_>KP z;8qC^(Hy~r{8NTMGY283rzK5BAmp!iQ~!-_Vv3BC|`XBnrnwXIy<;_n0*W%AOD=cA^4+w zY`f3PiHjx=F#SNT-8aVNxpsHz=Xg5xbNV{=MTY1d>Rvxpn zkc0nYIs512j-9PMW@jsp+1bkdJRLjR`Z0UvL zr0|DPKKno(i&Gn4)_*=Z#2;UId8~bl^75SB^7>kNtbMIK=5JOWvwvKk_d_9%*c0;8 z1w~37R=4>+_;8_qA9A=@zYjfJq~Gs2+*iNfdAQH*EjsOb7L&&PoIfJ}c&uS-rlloQ zMcL1{2w62{om+)$%8N)*68QJ!Lc#0~!#i{FGflG;cCV{DL$(xB#j_DL+9@HObL!EIx=k?*>+T%zbDhy*@234cQo(9 z@v7|Z_H7wVwI7`N!1OfCv9h7DxuLT;+m>w1c4REiKu-na1Q} z73~de+cU`h=4M-4aZlWGL1x-CPt(+-b_TCo8JcpP8#g`c7@x&SY!0vAL-kKs-pYkr}r@qViY0>jo(3lU4WSf#r&FvjfKQwQ0*A7^-5+0@b zcI<|i7*cSs`!mgG(x&!od!}s?R$8W1RaT`dtJ76epk{Sdc^ZB&x3MZ+1D8sdn}i)_ zrj%Ew;q*}y-Ez9BX++vwn`Bo*J1oLyZV&&eVo*VuX&MME&~ppMB%et;=U`*7C!UPYANFioH;JT zYTo!e&DceL{CBdFD|6=j0CapUWx27fK=;;|adP9TUr7PGMy>*yMc=~-*b1@)WMw&- zN(|C6wqIPv?l&%D8F~;xewF#%1*0xQu=im(jQ4GWt_oMjwjH=r?g0eJ3uX z|HNhVkpb!>YCegiM%#=1(GqXgE8d2@4AfOGUHb5w{ifzDx$ ziqyRv7jj2^P!s)T?x+~?i%~as)E5&t`j)w_1gp;UDsxnd^=JB%IqHY&$jKa)VO^R& zWRCi)iHI5~UBEjJK(hHItW%TgFjeS@M`(bK9FYjNV?@vGF{R_PJXP*_`pY|N4 zmh|%eg@S*fzJFbef1$WPTWFZ7@8$iA1pgxE{*J;RoA5zm{p)|bD_yPNclzKw*>KE~T#(>)r z12r$xAB=!+cklfJ1+RgY7h9j#r&ODRS(fx+4icDy99x9`K1g5=5}1sGilF0&_?YdJYkoLj)#cEv5EFFpZZ_e$A)n zP=Ptr(KGb&p#pQLz+~Q$QU@K(vKv0kI|Sw(j-H`!-ytyXu$c61<~8)~6ng3u{#Bq< z;xpZ-Z!^zHsV>cHOvJbSJv+zM3Vq)%VN4z7*dpxNhY4Q8EHC;t^Qe@1u9uj@1?F(a z7NKts7ns8ZCiAqEIu^k+zWr6NpWP)e?{f4Eefutfd6&Rs9+*E}deexFj;HF}_R@2M{zBhbe< zx`+NgMxc+e=wmcGJ)Y>Cb)?j5y+pr9px@Jj?)M1vdo21r8lAq+IdT$NRKM8#^XY=&B8XXbzwLrarh?t=sMmz?31~pU9paMOE3gEN(IV)$a)|twVZy zh{-v*i8WdxB{1192kNU4Oyh4q{*ll6lLhAF9`u|nFeeL4_WObQx`WC5(v7fkfmz;z zp5+3wTwros3Dh?CwkN@gVeV7#jv!Vw*D+FeRz~s0UsDE-WnbW#@Rtn6@9`vjf zn3Wcjp3QM_22f|B1ZedDo?Rn6o1|D)~q-qqnD)}ON2do zTChr6R`hI+!h!l%2h$%-RRXihu|$YjB`~W5CP(=|eJ_G(Je#XvuAbEbv$_X8s|9AY zz+@H?sP6-Fp{jq^-g}C`oYI4yQv@bHnvV2T%u)jNBdw>wG@i{_jH~BVfjPAYJ*NuH zsREN(P@sO=OU!8kb6O92P7|2ZEGB18%(8-5ue~VJYqJisF4pPE|Cxma>gV7-Ty2f` zf7BN_E}K>O>6$w;nuGXMa=NuwAwKzrtpe7L5U_v(<(48doHu*wXF&kVt5hUG)6 z%n(*#hK&sNE1|EL*y6gf%VMTrF;iG&ro&>UU@_COps&o-EV%Z@wqZ^Wi}#YnEWu)y zu*EEg#Vo;MmSsU7ouyga#BuEn`lnyvXUS7OA> z7FL?=@S838%@+J-Ykr*l*5YpQ+1nhCtj;5w>ygd#$mV-yoC`el7J6ihJhH_e*%FUz zsYmvRhs&cLS-t1lWggjbk8FiUw$dY8<&iz+nQ^X0z4$DYeQsQ~)+1Zzk*)X0Hh5$o z^>EqfsrR@?w#g&g9Fs9ZYat8NKqmtHV@j=vfLaluwN3=oiU_E+5y0N6R`gc%_&^Pf zu;{4|pCeez5pg)jVKGOrm?K!s5iA&Efg0XR7IlI}ov=ln!=g^Gs1q#e1PexWphiYm zxLHv+e#{jt<_cTPby&<5EanOpa|H|bBY_&@uo&wdKjsM*^MoztIV|Q07V`v)d6os| z1njxuIgy<0vL6f7Sk1F7(t|Ue+#Y;^=E*q$d+-IqS_>SW3k1&vg69IulTpN;Gf)#8 z7XEQ$p}j{;R4VPT@E(#v9rV6jBlVu{0IiD0or zuvj8ka0Cq0gAR+7m&H=SVyUpjQisJ-!D6XkvDC6)HpDS^hR)p|!8HqVdt9mHS&qKu z?4ve^<>-r9ICu|N2P07x_2=QJV`dulns(Wv${al_ma;l!Dp4Q$|{G?Dq)pXmJhA6%36i<4(5^F&pVh=VqI2q+!u+jvLxkZ zB`dVqYRxe}?^rEtw%XyiTG(v0IgY|;JdSQe04ukc=2I~cb^_GFjlbRd`d`iZ(!3M!# zgRsE{hrtG6gAIbg2F-wx!dZ@Q)yvG#Io}D?6Pn+#NTm2jqK%qgKEK;2EVR+#w^3MV zqu{sET8Oi&K(#pxOa#Sa^>M-Aabcmy9R`mJ3q39vJZ>3qE*Gfw2m=!-(Tpnel1+la zCSik34ueg?2Ac$fO_l*?j)B_aFyQmQu9s{U3^ofJY<3uI7B<){7;M%IxK6SK4C3?c z29Injys0Gi$?`UjtkH9A#v^O;$hLcAJ3O*xkL(F>iR-b`Q?JD%YxT(5JhH4uw#y^? zn1@Tdr(TCg*6ES$_Q>{lWP3fbCn1YJasL!#_?4A}e#?F9U>^?3Vo&Bj?UC*G$PRd9 z2O*2&9*W60UT%RbQ2QbgV0!9kCLhM&77+nkL=0|mB4CS%!7U;Jw%8b?w+HH=!yx); zNywl;y*}fd< zx7TR7=`}}U-^?HyHQW3QqEXnZF~_#{-!G@H>ls9&X1g<&u{T<_%nBPdTh1WJf)O34 z=X%K^BUogF%`y&)jApSt$0B1{Fwe@^R%8DWsACZZZk7|;p-C`k5_V{E7&HkxG+73; zLz8B}IRov$9xG7Cd&y$EV6k1;VY|a(yRgG{%Yt^;ZtcMSF;J%>4BS~lXonqw!46@E z9S(yX!VWtu1KMGSX24kj?Z6&6P%k?yqS;Q!qFJzL7ItWMSTqYeG+P$5L$hYVY=`}S zbY75udc$Np90>w-QS&<O0aVJn$ddZ+g zFlZ4LYH=8}2n)3c1}&BWN4Y>M&>(HfR+LS}g;PseyW} zmkinjgEnD<|;;V|eB7U~cTIxGX`V0ij1!oWmIG%F9i zq*E~H6gKE|7<397bP5KYmH{(9JOSr0h^~l*40a0!yM+yQI}COU8|)Sgc3TE}G=sMy z3{0d%v!al}9>HLbu)!XO!5(3QJ%Yg=%YfM|o_%u|EPXwk8-)z^3I=M_0E!%^@_%sJK|rp)Ia`!wUPf-ye@*{9=- zt9Tr#_TjsyGci^U#aOU$_hRlBnEM?) z!{_t&3rx;2Or}N50|N7a#XR7}JRmR+^q}Vffyp_H$*qWaP-8L*sOLe8dC-e_P+%T( z^bEg`a?oPZqYlEOM(f{+Atq-`Ca*F_?78y{4p|0=ybKNr28SH2!*8b?5)2Mm23#LF z3o_gm!vI`#BMUU)~N5)@U zjNASXP%pmTaK%&aYD~sBJB%v_>Hd^n2k%Eu$2fTg+6~g*Ok!m4*E|O4?;)6Tg*Y06 z`s{C?L39k#{Vl&+n(uF)!Tuoq?H+S|UmO*{W6bp>I7*_fIV#1`z4oXdjt1HzM(bF6 zGysu%pFJ9gn&WUp1jYxRkIb>}((L(Uzd09W--Wmi*>`!_cM0}gi0zPl7e>2~eHTW$ zkbM^{7qaid3e70}>$%jk3tEMI8M}BUGROCb;LG1e39WrZ@IB(?dqnU(BKRH=e2-|p z6M;@nM+Dy^g6|Q*m;DN!nauG$D){nOTtdD_1>d7yzDEV$qk`{I!S|@(dsOf}D)=7N zeD4R(o3J|jya24+fBp1%_J2K{XJ6=EONqIj{bG05Gp^W2V$}OlvNRHg?#E)b4egyUX>;{xG$4?1w%3v`yt(avadLSyB#-xC(=L$fKB2RBK2uFU<7jFyPYTSF7W1SR^Q6E$Y4s!KNeA$ zJeWC>(fFK3&wKDWi+(PGJ{+};2cHw@=Y+=Ra_Hf+I_ESxpVgrUGY2!6=LP0@i+SFQ zd0t?i7aE^;FwbjDK9568=6DA4g2v2y@CA!`!Hao8U|tY(am-#D# z`76RkuQ<$K5jG;r5b2sly5>c?CXlWP8(njdu2~yVC+Z%0*ma9^-HUWxAYB(aU3ZYK z3!P}u5b1_Ry5U8-A&_neoo+ZtH>^%S!3rB@Ft--LSMmFew@UDilu!S#_#jnyD~;Vj zs!0D_YeJRY8q9OC4PK+K12OnJGSY&f>T|_UV6Qe(b2RQ#$mtUSy6~^KcsqWtbvqGr z8-7X>&T^Ya%zJ;AeswaTKOcVgU!7FQapV?lfn>A=V3_yZ0=UMufQG4!faw-6$GVBJ z`(X>f2+TqE%HicVKJhh7hPj{LYPnPV%b$Gy z(AN^&KU{O7Ys5c)J<%P1-ml9uH(IJ{9RM(%eJ5o_vUKW z|HU>_GlAa+$*NZTg`;KQ!0h6^ZNx9cCB){|+p8DnDkgy2qMyI&?Uk}#Kj0f=^D58! zkEs8hxl?`c`R8uv--^F@#J~Nu7=HzTA3rY9e{W*M&PQBHi_IfjS%RcyR qmMor)BZrLs3uNz&&-C}9Ka<7I9R3IK_FnDJ@%4ki&EMmHga1D{H^$BY diff --git a/ProcessMeasurements/MAPS.C b/ProcessMeasurements/MAPS.C index a47bb35..c4afc4c 100644 --- a/ProcessMeasurements/MAPS.C +++ b/ProcessMeasurements/MAPS.C @@ -373,6 +373,8 @@ bool MAPS::getNoise(Int_t Frames, Int_t Offset, bool Mode) { Int_t *ARR = new Int_t[Frames*fPixelsSub]; Float_t PEDESTAL; Float_t NOISE; + Float_t PREPEDESTAL; + Float_t PRENOISE; for(Int_t i=Offset; i 5*PRENOISE) { + continueCounter++; + continue; + } + PEDESTAL+=ARR[j*fPixelsSub+i]; + } + PEDESTAL = PEDESTAL/(Frames-continueCounter); + + for(Int_t j=0; j 5*PRENOISE) + continue; + NOISE+=TMath::Power(ARR[j*fPixelsSub+i]-PEDESTAL,2); + } + NOISE = TMath::Sqrt(NOISE/((Frames-continueCounter)-1)); fNoise[i] = NOISE; fPedestals[i] = PEDESTAL; diff --git a/ProcessMeasurements/ProcessMeasurements.C b/ProcessMeasurements/ProcessMeasurements.C index eff2e22..3e13c9d 100644 --- a/ProcessMeasurements/ProcessMeasurements.C +++ b/ProcessMeasurements/ProcessMeasurements.C @@ -14,7 +14,6 @@ #define COLRUNNO 0 #define COLTEMP 2 -#define COLTEMPSENS 3 #define COLCHIP 5 #define COLSOURCE 6 #define COLMATRIX 7 @@ -24,7 +23,7 @@ #define INPUTDATAPATH "/jspc12_F/Mi29/" #define OUTPUTDATAPATH_MAINFOLDER "/local/sstrohauer/data/" // use this #define for processing to a specific file -#define OUTPUTDATAPATH_FIXED_PATH "/local/sstrohauer/data/data_4.11.2013_13:57/" +// #define OUTPUTDATAPATH_FIXED_PATH "/local/sstrohauer/data/data_4.11.2013_13:57/" using std::cout; using std::endl; @@ -142,7 +141,6 @@ void ProcessMeasurements(Bool_t overwrite = false, Bool_t useSeperateNoiseRun = continue; // no relevant data in this row runNo = stoi(row[COLRUNNO]); // run number (conversion works like runNo = stoi(std::string ("300");) temperature = stod(row[COLTEMP]); // temperature - tempSens = stod(row[COLTEMPSENS]); // temperature chip = stoi(row[COLCHIP]); source = row[COLSOURCE]; matrix6480 = stoi(row[COLMATRIX]); // which matrix? -- 2.43.0