===== Analysis - Instruction (Last version: v4.1 RATE&GIF)===== [[Step by Step |Step by Step: Instruction]] to create your folders for analysis and execute program follow the instruction. **Recommended for the first study.** \\ ----- **CODE:** acqilc@lyosdhcal11:~/CMS-RPC/dataQuest \\ **DATA:** acqilc@lyosdhcal11:/data/local/FE1PR2 \\ All code is available on [[https://github.com/shchablo/dataQuest|GitHub]]: (LyPeti - class). \\ Card - [[https://docs.google.com/spreadsheets/d/1w-kBYTz2jewtyBijuEJCDV5MPRKiT6PcZJYgnc-EoOg/edit?usp=sharing|TESTBEAM.csv]] - You can change it - be careful. ([[https://drive.google.com/open?id=1L11iZaAz74M6XpPpkcMoYw9tZRemXGP_jE9R0A1q1-s|backUp]]) \\ **Important** - You are doing this plots for check beam. Don't take results for any reports without discussing with Lyon team, Please. ** Remarks: ** * ''%%/path/to/dataQues%%'' equals ''%%acqilc@lyosdhcal11:~/CMS-RPC/dataQuest%%''; //Example: ''%%cd /path/to/dataQuest/results%%'' --> ''%%cd ~/CMS-RPC/dataQuest/results%%''// * The run number **739000** does not exist; * Use **myName=sandbox** to play with the program. ----- ==== Preparation ==== === Script: === 1. ''%%ssh acqilc@lyosdhcal11%%'' pass: RPC_2008 \\ 2. ''%% cd ~/CMS-RPC/dataQuest/scripts%%'' \\ 3. ''%% source create_myDir.sh myName%%'' \\ //Example:''%% source ~/CMS-RPC/dataQuest/scripts/create_myDir.sh Victoria%%''// \\ === Manually: === 1. ''%%ssh acqilc@lyosdhcal11%%'' pass: RPC_2008 \\ 2. ''%% cd ~/CMS-RPC/dataQuest/results%%'' \\ 3. ''%%mkdir myName%%'' \\ 4. ''%%cd ../cards%%'' \\ 5. ''%%mkdir myName%%'' \\ 6. ''%% cd myName%%'' \\ 7. ''%% mkdir logs %%'' \\ 8. ''%%cd ../..%%'' (to dataQuest) \\ 9. ''%%cd scripts%%'' \\ 10.''%%source update_cards.sh myName %%'' \\ ==== How to run analysis ==== === Normal way: === ''%%sudo chmod 777 /path/to/data/* %%'' \\ ''%%cd /path/to/dataQuest/bin%%'' \\ ''%%./dq --type=card ../cards/myName/default.csv --dir=myName --fN=newFileName.root%%'' {{ ::run_example.png?linkonly |}} \\ ''%%cd /path/to/dataQuest/results/myName%%'' \\ ''%%root%%'' \\ ''%%TBrowser *b = new TBrowser();%%'' \\ ''%%.q%%'' \\ === I want to update local card: === ''%% source /path/to/dataQuest/scripts/update_cards.sh myName%%'' {{::update_cards.png?linkonly|}} \\ === Where are results: === ''%%cd /path/to/dataQuest/results/myName%%'' \\ or ''%%cd /path/to/dataQuest/results/default%%'' if the wrong name. \\ {{::output.png?400|}} \\ === I want to change output file name: === ''%%./dq --type=card ../cards/myName/default.csv --dir=myName --fN=newFileName.root%% '' \\ === I want to change analysis comment: === ''%%./dq --type=card ../cards/myName/default.csv --dir=myName --comment=theLastOne%% '' \\ {{:commet.png?direct&200|}} \\ === I want to do an analysis with default parameters and run number: 739000: === ''%%.dq --type=card ../cards/myName/default.csv --runs=739000 --dir=myName %%'' === I want to do an analysis with default parameters for run number (739000) which corresponding HV=7300V: === ''%%.dq --type=card ../cards/myName/default.csv --runs=739000 --values=7300 --dir=myName %%'' === I want to do an analysis with default parameters and run number (739000:6800V, 739001:7000V, 739002:7300V): === ''%%.dq --type=card ../cards/myName/default.csv --runs='739000>739002' --values='6800|7000|7300' --dir=myName %%'' === I want to do an analysis with default parameters and run number (COAX-739000:6800 & RETURN-739000:7000) === ''%%.dq --type=card ../cards/myName/default.csv --runs=739000 --0&values=6800 --1000&values=7000 --dir=myName %%'' === It doesn't work! results.root file does not open - something wrong === ''%%rm /path/to/dataQuest/results/myName/myResult.root%%'' \\ and try again! or rewrite card file: \\ * Check default card on google table - if something wrong. Copy form this card all parametors to default card. * ''%%source /path/to/dataQuest/scripts/update_cards.sh myName%%'' * ''%%/path/to/dataQuest/bin/dq --type=card ../cards/myName/default.csv --dir=myName%%'' ==== How to work with cards ==== **1** Use [[https://docs.google.com/spreadsheets/d/1w-kBYTz2jewtyBijuEJCDV5MPRKiT6PcZJYgnc-EoOg/edit?usp=sharing|card]] to set all parameters.\\ \\ **2** ''%%mkdir /path/to/dataQuest/cards/myName%%'' \\ **3** ''%%mkdir /path/to/dataQuest/cards/myName/logs%%'' \\ **4** Execute script: ''%%source /path/to/dataQuest/scripts/update_cards.sh myName%%'' \\ Don't need to download the card just change it online and run the script which would get this card with wget. \\ \\ **5** Start analysis: ''%%/path/to/dataQuest/bin/dq --type=card ../cards/myName/default.csv --dir=myName%%'' \\ \\ **6.1** - Change parameters inside card with google table. \\ **6.2** Execute script: ''%%source /path/to/dataQuest/scripts/update_cards.sh myName%%'' \\ **6.3** Copy card: ''%%cp /path/to/dataQuest/cards/myName/default.csv /path/to/dataQuest/cards/myName/myNameCard.csv %%'' \\ //**6.4** Example: ''%%/path/to/dataQuest/bin/dq --type=card ../cards/kshchablo/myNameCard.csv dir=myName%%''// \\ **Comment** \\ * Not possible to use the comma symbol "," for names and values. Decimal separator is dot ".". \\ * If the name of param has "&" and need to replace values of this param use "\\". Example: ''%%--filter\&\noise_beg=-5000%%'' \\ ----- ==== Description ==== [[https://github.com/shchablo/dataQuest|README]]. === Parameters: === {{:example_of_parametors_2.png?direct&400|}} \\ 1. runs - Runs numbers for analysis; \\ 2. values - value corresponding to the run number; \\ //example: ''%%--runs=739900|739901 --0&values=507|507 --1000&values=500|500%%''// \\ 3. Trigger setup:\\ filter&triger_is - turnON/turnOFF;\\ filter&triger_thr - should be equal to 1;\\ filter&numBoard - should be equal number of FEBs (4).\\ 4. DeadTime filter:\\ filter&deadTime_window - deadtime window (~50ns);\\ filter&deadTime_is - turnON/turnOFF.\\ 5. Window for estimate noise rate: \\ filter&noise_beg - start of window; \\ filter&noise_end - end of window; \\ filter&noise_is - turnON/turnOFF (correction of efficiency). \\ 6. BCID filter: \\ filter&BCID_beg - start of window; \\ filter&BCID_end - end of window; \\ filter&BCID_is - turnON/turnOFF. \\ 7. Time window: \\ filter&window_beg - start of window; \\ filter&window_end - end of window; \\ filter&window_is - turnON/turnOFF. \\ * If add to the first part of name 0& or 1000& this parameter will set only one chamber. Example: ''%%0&filter&window_beg%%''\\ ----- ==== Convert to .root format ==== ''%% ./dq --type=card ../cards/cards/binToROOT.csv --runs='790000|790002' --dir=myName %%'' Code: LyPeti.cpp function: binToROOT - COAX HR:0->N; LR:500->500+N - channel numbers \\ - RETURN HR:1000->1000+N; LR:1500->1500+N - channel numbers \\ TTree T("RAWData", "RAWData"); - Name of tree T.Branch("EventNumber", &number,"EventNumber/I"); T.Branch("TDC_channel", &ch,"TDC_channel/F"); (not strip - TDC: Two channels - one strip) T.Branch("TDC_TimeStamp", &time,"TDC_TimeStamp/F"); - time - timeTrig ----- ==== Sigmoide fitter ==== The fitter is a root script: \\ ''%%/path/to/dataQuest/scripts/SigmoideFitter.C%%'' It runs over a simple txt file like: \\ ''%%/path/to/dataQuest/results/Sigmoids/Efficiency_ATT49.txt%%'' \\ Run the code with: ''%%root -l scripts/SigmoideFitter.C'("Efficiency_ATT49")'%%'' **Example file .txt:** Efficiency at ATT = 49 and THR = 507\\ 6000 0.001 0.001 740206\\ 6500 0.0068 0.0012 740207\\ 6700 0.067 0.002 740208\\ 6900 0.52 0.0058 740209\\ 7000 0.72 0.0061 740210\\ 7100 0.81 0.0065 740211\\ 7200 0.83 0.0012 740212\\ **Comment:** The first line of the script would be the plot title and the txt file name the figure name in png and pdf produced in the same directory. \\ ----- ==== RATE study (v4.1 RATE&GIF) ==== **Comment:** * Only events with the correct trigger are used; \\ * If rate = -100 (Not possible to measure it). \\ **1** LRrate, HRrate, ANDrate show the dependence of the **hitRate** on the value (HVeff, THR, ATT, etc.): \\ $hitRate = \frac{numberOfHits}{surface*time}, where \\ numberOfHits - number\ of\ triggered\ channels\ of\ FEBs \ of \ one \ run; \\ sufrace - active\ PCB\ zone; \\ time - collection \ time: \ (timeWindow*numberOfEvents). $ \\ **2** central&CBrate show the dependence of the **clusterRate** on the value (HVeff, THR, ATT, etc.): \\ **(ONLY for central&CBrate) DOES NOT WORK FOR RATE STUDY (MESSAGE FROM 23.08 - While this message here the result is incorrect)** $ clusterRate = \frac{numberOfClusters}{surface*time}, where \\ numberOfClusters - number\ of\ clusters\ of\ one\ run; \\ sufrace - active\ PCB\ zone; \\ time - collection \ time: \ (timeWindow*numberOfEvents). $ **results:** files are stored in the directory **rate**:\\ {{::rate.png?direct&200|}} \\ **About clustering algorithm:** \\ Events, where the multiplicity is greater than 7 are not processed (the number of clusters for these events is 1). \\ Percent of events which have multiplicity >=7 -> graph **CBfraction** (if beam time windows and noise time windows are equal (directory:analysis). \\ -----