MAROC Scaler test » History » Version 11
Bishnu Karki, 09/01/2020 02:57 PM
| 1 | 10 | Bishnu Karki | h1. MAROC Scaler Data Analysis |
|---|---|---|---|
| 2 | 1 | Bishnu Karki | |
| 3 | 5 | Bishnu Karki | h2. How to run the scripts |
| 4 | 8 | Bishnu Karki | # *Scripts are currently located under the following directories in solid@tunl11* |
| 5 | 1 | Bishnu Karki | # Scripts is located at "/home/clasrun/rich/suite1.0/sw/ana/ped" |
| 6 | 3 | Bishnu Karki | # library is located at "/home/clasrun/rich/suite1.0/sw/ana/lib" |
| 7 | 5 | Bishnu Karki | # The output files are at "/home/clasrun/rich/suite1.0/results/scalers" |
| 8 | 4 | Bishnu Karki | # The main library is created by compiling the code "rich.C" |
| 9 | 3 | Bishnu Karki | # The script "recoPed.sh" take the input file and a integer number (0 or 1) |
| 10 | 1 | Bishnu Karki | >> 0 is for pedestal run |
| 11 | 8 | Bishnu Karki | >> 1 is for dark current run |
| 12 | 1 | Bishnu Karki | |
| 13 | 11 | Bishnu Karki | h2. Example to run the code: |
| 14 | ./recoped.sh filename 0 |
||
| 15 | 1 | Bishnu Karki | |
| 16 | 6 | Bishnu Karki | h2. It runs the following scripts" |
| 17 | 2 | Bishnu Karki | |
| 18 | |||
| 19 | 9 | Bishnu Karki | # "*richDoHistoCount.C*">> It runs the function doHistoCount () in rich.C |
| 20 | 7 | Bishnu Karki | *Output:* |
| 21 | 2 | Bishnu Karki | 1) stat.txt >> It gives the mean, rms of the pedestal in entire range |
| 22 | 2) dead.txt >> Channel having the count less than 1 |
||
| 23 | 3) noisy.txt >> Noisty channels. Channel with RMS>=4 |
||
| 24 | 4) hot.txt >> channel with rate greater than 10 kHz |
||
| 25 | |||
| 26 | 5) rate.txt >>Dark current rate for individual channel between 300-500 |
||
| 27 | 6) chip.txt >> mean and rms of pedestal for each pmt (average of all pixel within same pmt) |
||
| 28 | 7) chiprate.txt >> mean and rms of dark current (average of all pixel within same pmt) |
||
| 29 | |||
| 30 | 8) histo.root >> hCount[channel]-> Rate at different threshold |
||
| 31 | >> hRate[channel]-> Dark current rate in region between 300-500 |
||
| 32 | >> hShoulder[channel]-> Dark current rate from Threshold to threshold +25 unts |
||
| 33 | |||
| 34 | 6 | Bishnu Karki | |
| 35 | 9 | Bishnu Karki | # "*richPlot.C*" >> runs the function plot ( 1 , datatype) from rich.C |
| 36 | 2 | Bishnu Karki | >> datatype = 0 (pedestal) or 1 (dark current) |
| 37 | 7 | Bishnu Karki | *Output:* |
| 38 | 2 | Bishnu Karki | 1) range.txt >> mean, rms of the pedestal fitting the histogram with guassian in narrow range. It also gives the maximum value of Threshold (DAC unit) which has rate >1. That is the end of tail of histogram hCount. For dark current range is take between (150,650) while for pedestal its in between 170,220) |
| 39 | |||
| 40 | 2) "largePedestals.txt" >> if the mean pedestal + 10*sigma > Threshold pedestal. Then that channel is flagged as large pedestal and written in file. |
||
| 41 | |||
| 42 | 3) "slope.txt" >> slope at 5 different point above pedestal. Basically its measure of flucatation of of dark current above threshold. |
||
| 43 | |||
| 44 | >> how is slope determinded |
||
| 45 | 5 point (Threshold +25 , Threshold +50,Threshold +100 , Threshold +200,Threshold +400) are picked |
||
| 46 | Then Dark current rate at each point is computed (average of 7 points in step of 3.5 DAC units) |
||
| 47 | |||
| 48 | 4) plot.pdf >> Its the fit to the pedestal with guassian in narrow range around the peak |
||
| 49 | |||
| 50 | ##################### KEY NOTE ########################### |
||
| 51 | Key note "range.txt" is the output with guassian fit but "stat.txt" contains same information without fitting but taking values from direclty histogram (for example h->GetMean() in case of "stat.txt"). So "stat.txt" is only good when pedestal is very high. |
||
| 52 | |||
| 53 | |||
| 54 | 6 | Bishnu Karki | |
| 55 | 9 | Bishnu Karki | # "*richDisplayCount.C*" >> display2(filename, opt, ymin,ymax) from "rich.C" |
| 56 | 2 | Bishnu Karki | filename is the name of file used to draw information |
| 57 | opt: is 0 (pedestal) or 1 (dark current) |
||
| 58 | ymax, ymin >> range to draw plot |
||
| 59 | |||
| 60 | 6 | Bishnu Karki | *Output:* |
| 61 | 2 | Bishnu Karki | 1) display1.pdf >> plot1 >> xpixel:ypixel:pedestal_mean (using "stat.txt") |
| 62 | >> plot2 >> 1D histogram of pedestal mean value |
||
| 63 | >> plot3 >> mean pedestal for different channel within same PMT (for all PMT) |
||
| 64 | |||
| 65 | |||
| 66 | 2) display2.pdf >> plot1 >> xpixel:ypixel:pedestal_rms (using "stat.txt") |
||
| 67 | >> plot2 >> 1D histogram of pedestal rms value |
||
| 68 | >> plot3 >> rms value of pedestal pedestal for different channel within same PMT (for all PMT) |
||
| 69 | |||
| 70 | 3) display3.pdf >> Equivalent to display1.pdf but using the file "range.txt" (which are extracted by fitting histogram in narrow rangel") |
||
| 71 | 4) display4.pdf >> Equivalen to display2.pdf but using "rangle.txt" (fitted information) |
||
| 72 | |||
| 73 | 5) display11.pdf >> plot1 >> xpixel:ypixel:Mean of Dark Current rate between 300 -500 (using "range.txt") |
||
| 74 | >>plot2 >> 1D histogram of Mean of Dark Current for all 960 channel |
||
| 75 | >> plot3>> Mean of Dark current of different pixel within a PMT |
||
| 76 | |||
| 77 | 6) display12.pdf >> plot1 >> xpixel:ypixel:RMS of Dark Current rate between 300 -500 (using "range.txt") |
||
| 78 | >>plot2 >> 1D histogram of RMS of Dark Current for all 960 channel |
||
| 79 | >> plot3>> RMS Dark current of different pixel within a PMT |
||
| 80 | |||
| 81 | 7) display15.pdf >> plot1 >> xpixel:ypixel:RMS/mean of Dark Current rate between 300 -500 (using "range.txt") |
||
| 82 | >>plot2 >> 1D histogram of RMS/mean of Dark Current for all 960 channel |
||
| 83 | >> plot3>> RMS/mean Dark current of different pixel within a PMT |
||
| 84 | |||
| 85 | |||
| 86 | 8) display16.pdf >> plot1 >> xpixel:ypixel:RMS/sqrt(mean) of Dark Current rate between 300 -500 (using "range.txt") |
||
| 87 | 1 | Bishnu Karki | >>plot2 >> 1D histogram of RMS/sqrt(mean) of Dark Current for all 960 channel |
| 88 | 2 | Bishnu Karki | >> plot3>> RMS/sqrt(mean) Dark current of different pixel within a PMT |
| 89 | |||
| 90 | |||
| 91 | 9 | Bishnu Karki | #"*richDisplayScan.C*">> call a function display3 from "rich.C" |
| 92 | 6 | Bishnu Karki | * |
| 93 | 7 | Bishnu Karki | Output:* |
| 94 | 2 | Bishnu Karki | scan.pdf >> 1D and 2D plot are generated for each value of threshold between 200-300 |
| 95 | >> Dark current is evaluated from 200 to next 300 in step of 1( for example dark current at 200, 201 202 ...) |
||
| 96 | |||
| 97 | >> 2D histo >> xpixel:ypixel:Dark Current |
||
| 98 | >> 1D histogram>> Dark current for given threshold ( for eg reading first plot : xaxis is dark current , most of the channel have dark current around 100. Y axis is count of number of channel have particular value of dark current |
||
| 99 | |||
| 100 | |||
| 101 | 6 | Bishnu Karki | # "doAnalysis.C" >> invokes the function doAnalysis( dark current run) or doPedestalAnalysis( pedestal run) from "rich.C" |
| 102 | 2 | Bishnu Karki | |
| 103 | 6 | Bishnu Karki | *output:* |
| 104 | 2 | Bishnu Karki | 1) ShowLargePedestal() >> largePedestals.pdf (if mean+10*sigma >Threshold) Then its large pedestal |
| 105 | 2) DisplaySlopes() >> 1) slopeDisplay.pdf >> slope of dark current at 4 different points above threshold |
||
| 106 | >> 2) slopeDisplay2.pdf>> slope of dark current of each pixel within a pmt. Red are slope with negative slope while blue a re +ve slope. Though in plot its plots the absolute value |
||
| 107 | |||
| 108 | >> slopeHigh.txt >> if slope< -2 |
||
| 109 | |||
| 110 | >> slopeVeryHigh.txt >> if slope < -10 |
||
| 111 | |||
| 112 | 3) DisplayRange() >> SPErange.pdf >> plot1 >> Maximum value if DAC unit (threshold) with count/rate>0 |
||
| 113 | or last point of x-axis of hCount histogram. |
||
| 114 | >> plot2 >> Maximum value of DAC unit with count>0, for different pixels in same pmt |
||
| 115 | >> plot3>> pedestal mean with file "range.txt" i.e fitted value |
||
| 116 | >> plot4 >> mean of the pedestal for each pixel in same pmt |
||
| 117 | >> plot5>> RMS of the pedestal with file "range.txt" i.e fitted value |
||
| 118 | >> plot6 >> RMS of the pedestal for each pixel in same pmt |
||
| 119 | |||
| 120 | 4) DisplayRate() >> rate.pdf >> plot1 >> distribution of Dark current rate (between 300 -500) for NPIXEL*NPMT |
||
| 121 | >> plot2 >> distribution of RMS of dark current (300-500) |
||
| 122 | >> plot3>> distribution of RMS/Mean |
||
| 123 | >> plot4>> Dark current rate mean for all pixel within same pmt |
||
| 124 | >> plot5 >> Dark current RMS for all pixel within same PMT |
||
| 125 | >> Plot6 >> Dark current RMS/Mean for all pixel within same pmt |
||
| 126 | >> plot7 >> Dark current mean shoulder ( from Threshold + 25 )/ Dark current mean |
||
| 127 | >> plot7 >> RMS Dark current shoulder ( from Threshold + 25 )/ Dark current RMS |
||
| 128 | >> plot8 >> Mean Dark current shoulder ( from Threshold + 25 )/ Dark current mean for different pixel within same PMT |
||
| 129 | >>plot9 >> RMS Dark current shoulder ( from Threshold + 25 )/ RMS Dark current for different pixel within same pmt |
||
| 130 | |||
| 131 | 5) DisplayRatePMT() >> ratePMT.pdf >>plot1>> Mean Dark current rate for every PMT ("chiprate.pdf", dark current 300-500) average of 64 pixel |
||
| 132 | >>plot2>> RMS Dark current rate for every PMT ("chiprate.pdf", dark current 300-500) average of 64 pixel |
||
| 133 | >> plot3>> RMS/Mean of Dark current rate for every PMT ("chiprate.pdf", dark current 300-500) average of 64 pixe |
||
| 134 | 1 | Bishnu Karki | |
| 135 | 6) DisplayHotPixels() >> hot.pdf >> pixels with dark current rate larger than 10 kHz |
||
| 136 | |||
| 137 | 7) showThresholds() >> rateorderedRatio.txt >>Prints the slot, fiber, pmt,pixel, and (ShoulderMean/Mean) Dark Current if its greater than 2. In case of no cross-talk (ShoulderMean/Mean) Dark Current is ==1 . In other words shows possible cross-talk candidates. |
||
| 138 | 9 | Bishnu Karki | |
| 139 | |||
| 140 | |||
| 141 | |||
| 142 | h1. Comparision between the pedestal or RMS between two runs at two different run period |
||
| 143 | # Script is located at "/home/clasrun/rich/suite1.0/sw/ana/ped/comparePed.sh" in (solid@tunl11 machine) |
||
| 144 | # Input of the script are the two directories where the pedestal files (""stat.txt) are located |
||
| 145 | # compiles the script "richStability.C" from "/home/clasrun/rich/suite1.0/sw/ana/lib/" |
||
| 146 | # Example of compilation: ./comparePed.sh <directory1> <directory2> |
||
| 147 | # Output goes to directory "/home/clasrun/rich/suite1.0/results/scalers". Inside the folder "ped-<directory1>-<directory2>" |
||
| 148 | # Contains the pdf file showing the comparsion of pedestals and rms between two runs |