Table of Contents
The run_table.xlsx
file contains the details of the different configurations associated to the ROOT files used for this data analysis.
The focus is on different momenta (165 GeV,40 GeV and 180 GeV) muon beam runs from 6th July.
The following README could be deprecated in some parts, so please read carefully the general instructions in TestBeam2022/drifttubes_offline_analysis/instructions.txt
,testbeam_analysis/instructions_first.txt
and testbeam_analysis/instructions_second.txt
to run the code.
- Federica Cuna (University and INFN Lecce)
- Brunella D'Anzi (University and INFN Bari)
- Nicola De Filippis (Politecnico and INFN Bari)
On Bari ReCAS and in the testbeam_analysis\
directory of this repository:
$ cmsrel CMSSW_10_2_22
$ cd CMSSW_10_2_22/src
$ cmsenv
$ source setDCDataReaderEnv.sh
$ bash compile.sh
$ ./read_data . 4 0 -10 1
On lxplus and in the testbeam_analysis\
directory of this repository:
$ source setDCDataReaderEnv.sh
$ bash compile.sh
$ ./read_data . 4 0 -10 1
where in the last code line:
-
4 is the run number of root files converted from binary files (request via mail to receive the link reaching converted root files)
-
0 -10 is the number of events to be processed
-
1 is the sampling rate.
These macros find voltage amplitude peaks without any filter algorithm is applied to the waveform. For each sample and each channel it is able to count how many events with an actual signal we have. Config files and executables are created to run on more than one ROOT file (not available here, too much large in size).
$ bash submit_root_to_histos_root_22test.sh
It will produce in executables\
:
- executable files
submit_executable_conversion*.sh
per eachrun_*.root
file that has to be converted in a root file containing histos with the most important physical variables - config files that can be run as job in recas for accelerating the process of the histos ROOT file generation
$ bash submit_executable.sh
It will produce:
- by using the plots.txt, per each .root file in the first column, per each channel in the second column, per each event in the third column some physical quantities which are related to
- number of peaks, First Time Peak and Last Time Peak distributions
- maxima
- integral of the wavefunction
- wave functions w & w/o peak arrows
- minima
- number of events per each channel which passes a voltage amplitude requirement for the waveform maximum of 5 mV
- 1,2,3,5,6,8,9,10 : 8 Drift Tubes of 1 cm cell size respectively:
- Channel 2,3 Wire diameter of 15 micrometer
- Channel 1,5,6,8 Wire diameter of 20 micrometer
- Channel 9 and 10 Wire diameter of 25 micrometer
- 0,4,7,11 : 4 Drift Tubes of 1.5 cm cell size respectively:
- Channel 7,11 Wire diameter of 15 micrometer
- Channel 0 Wire diameter of 20 micrometer
- Channel 4 Wire diameter of 25 micrometer
- 12,13,14,15 : Trigger Counters
A new feature in the read_data.C
has been added for this. Every time you run analysis on each event, you can select a bunch of channels from which you store into a output_*.txt
file the waveform information (number of clusters, electrons, integral charge..). Each waveform represents an hit for a track. For example, a 200 hits track corresponds to a txt files of 200 lines. You can change the lineCount
requirement to store information of a 50 hits/100 hits/etc. track. You will get these output directly from running the analysis. If you set a high limit for lineCounts (like 10k) you will have only one output_0.txt
file to do the next steps.
Then you can use testbeam_analysis/LoopOnOutput.sh
to run on selected ranges of output_*.txt
files (e.g. from 0 to highest id number of txt file you retrieved from analysis) and get truncated mean distributions plots + MeandEdx.txt
and MeandNdx.txt
files.
If you are interested in just a fixed resolution distribution you can use the PlotdEdxdNdx.py
code to retrieve them from MeandEdx.txt
and MeandNdx.txt
files. If you want to show resolution vs lenght (you should have run the analysis changing lineCounts thresholds (e.g. 50,100,150,200,250), use the testbeam_analysis/ResolutionWithErrorsVsTrackLength.py
, making sure your folders containing txt files are renamed accordingly.