Difference between revisions of "BCAL hadronic efficiencies"

From GlueXWiki
Jump to: navigation, search
(Analysis Procedure)
(Data Studies)
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Description of Method ==
 
== Description of Method ==
 +
 +
This procedure determines a (biased) efficiency for each cell using charged tracks that are tracked with the drift chambers and point at the BCAL. The sample of tracks consists of charged particles with a reconstructed track and a matched shower in the BCAL. While the absolute value of the efficiency does not reflect the true efficiency of a cell, it is used to monitor the uniformity from run to run and can effectively identify issues with the data and the software reconstruction process. In checking the efficiency for a given layer, the algorithm requires a pointing track and a hit in at least one layer past the layer of interest, except for layer 4 since this is the last layer. The code then checks whether here is a hit close to the extrapolated track in the layer of interest (currently +/- 3 sectors). An inefficiency is tagged if no hit is found in this range. Efficiencies are computed, averaged over other variables, as a function of position along the calorimeter z, track momentum pmom, and cell id.
 +
 +
The cell id is defined as id = 4(Module-1) + sector;  Module = (id-1)/4 + 1; sector = id - (Module-1)*4.  id range= [1-192], Module range = [1-48], sector range = [1-4]
  
 
== Analysis Procedure ==
 
== Analysis Procedure ==
Line 20: Line 24:
 
# Run the ROOT script plot_bcal_hadronic_eff.C, Edit as needed to produce useful output.
 
# Run the ROOT script plot_bcal_hadronic_eff.C, Edit as needed to produce useful output.
 
#* The output of this script is the file bcal_hadronic_eff.pdf file with various plots of efficiency vs run number.
 
#* The output of this script is the file bcal_hadronic_eff.pdf file with various plots of efficiency vs run number.
 +
 +
== Index Mapping ==
 +
* The mapping between the index in the BCAL Hadronic Efficiency histograms and module is as follows (the mapping is for each layer):
 +
* Correspondence between histogram id and Module/Sector: id = 4*(Module-1) + sector;  Module = (id-1)/4 + 1; sector = id - (Module-1)*4. 
 +
* Range of variables: Histogram id range= [1-192], module=[1-4], sector=[1-4]
 +
 +
== MC Efficiency table ==
 +
 +
* If inefficient or dead channels are found, the CCDB channel_mc_efficiency table should be updated to match the data. A script to update CCDB can be found on GitHub:
 +
* [https://github.com/JeffersonLab/hd_utilities/blob/master/CCDButils/ccdb_put_channel_mc_efficiency.py Python script to update CCDB channel_mc_efficiency]
 +
* CCDB  id = (module-1)*32 + (layer-1)*8 + (sector-1)*2 + end
 +
* Range of variables: CCDB id=[0-1535], module=[1-4], layer=[1-4], sector=[1-4], end=[0-1]
  
 
== Data Studies ==
 
== Data Studies ==
  
 +
* Log book entry for Spring 2020 [https://logbooks.jlab.org/entry/3854515 Spring 2020 ver17]
 +
* Log book entry for Spring 2020 [https://logbooks.jlab.org/entry/3845485 Spring 2020 ver18]
 +
* Log book entry for Spring 2020 [https://logbooks.jlab.org/entry/3845480 Spring 2020 ver16]
 +
* Log book entry for Spring 2020 [https://logbooks.jlab.org/entry/3830769 Log Entry 3830769].  Set CCDB BCAL/channel_mc_efficiency for M22 S3 L4 Up (Runs 72120-72435).
 +
* Log book entry for Spring 2020 [https://logbooks.jlab.org/entry/3817726 Log Entry 3817726]. Set CCDB BCAL/channel_mc_efficiency for M37 L1 S4 Down (Runs 72316-72369)
 
* Log book entry for Spring 2020 data [https://logbooks.jlab.org/entry/3812382 Log Entry 3812382]
 
* Log book entry for Spring 2020 data [https://logbooks.jlab.org/entry/3812382 Log Entry 3812382]
 
* Log book entry for 2018 [https://logbooks.jlab.org/entry/3642018 Log Entry 3642018]
 
* Log book entry for 2018 [https://logbooks.jlab.org/entry/3642018 Log Entry 3642018]
 
* Log book entry for 2017 tracking improvements (comparison between versions 19 and 21) [https://logbooks.jlab.org/entry/3486656 Log Entry 3486656]  
 
* Log book entry for 2017 tracking improvements (comparison between versions 19 and 21) [https://logbooks.jlab.org/entry/3486656 Log Entry 3486656]  
 
* Log book entry for 2016 and 2017 efficiency studies [https://logbooks.jlab.org/entry/3478578 Log Entry 3478578]. Shows comparison of data and MC and including inefficient channels into the CCDB database.
 
* Log book entry for 2016 and 2017 efficiency studies [https://logbooks.jlab.org/entry/3478578 Log Entry 3478578]. Shows comparison of data and MC and including inefficient channels into the CCDB database.

Revision as of 09:39, 12 October 2020

Description of Method

This procedure determines a (biased) efficiency for each cell using charged tracks that are tracked with the drift chambers and point at the BCAL. The sample of tracks consists of charged particles with a reconstructed track and a matched shower in the BCAL. While the absolute value of the efficiency does not reflect the true efficiency of a cell, it is used to monitor the uniformity from run to run and can effectively identify issues with the data and the software reconstruction process. In checking the efficiency for a given layer, the algorithm requires a pointing track and a hit in at least one layer past the layer of interest, except for layer 4 since this is the last layer. The code then checks whether here is a hit close to the extrapolated track in the layer of interest (currently +/- 3 sectors). An inefficiency is tagged if no hit is found in this range. Efficiencies are computed, averaged over other variables, as a function of position along the calorimeter z, track momentum pmom, and cell id.

The cell id is defined as id = 4(Module-1) + sector; Module = (id-1)/4 + 1; sector = id - (Module-1)*4. id range= [1-192], Module range = [1-48], sector range = [1-4]

Analysis Procedure

The code is located on Github. The user will be mainly interested in the scripts contained in the folder ROOT_macros.

Steps to extract the BCAL Hadronic Efficiencies (see README file on Github):

  1. Generate the root trees using the BCAL_Hadronic_Eff plugin. This is usually completed as part of the routine GlueX monitoring launches.
    • The output trees are located in files such as /cache/halld/offline_monitoring/RunPeriod-2019-11/ver12/tree_bcal_hadronic_eff/merged/tree_*.root
  2. Run python script Read_bcal_hadronic_eff2.py. Edit the file as needed to point to the correct directories.
    • Create directories with the names of 'root', 'dat' and 'pdf'
    • Execute the python script Read_bcal_hadronic_eff2.py.
    • This script iteratively executes the Read_bcal_hadronic_eff2.C script on each of the root trees.
    • The ROOT output files will be placed in the 'root/' subdirectory.
    • Summaries of the efficiencies are stored in the 'dat/' subdirectory. These will be used later for plotting summaries.
    • Output plots with details of the efficiency systematics are placed in the 'pdf/' subdirectory. These can be checked for problems.
  3. Run python script plot_bcal_hadronic_eff.py. Edit the file as needed to point to the correct directories.
    • The output of this script is just a file called plot_bcal_hadronic_eff.list, which contains the list of run numbers obtained from the 'dat' subdirectory.
  4. Run the ROOT script plot_bcal_hadronic_eff.C, Edit as needed to produce useful output.
    • The output of this script is the file bcal_hadronic_eff.pdf file with various plots of efficiency vs run number.

Index Mapping

  • The mapping between the index in the BCAL Hadronic Efficiency histograms and module is as follows (the mapping is for each layer):
  • Correspondence between histogram id and Module/Sector: id = 4*(Module-1) + sector; Module = (id-1)/4 + 1; sector = id - (Module-1)*4.
  • Range of variables: Histogram id range= [1-192], module=[1-4], sector=[1-4]

MC Efficiency table

  • If inefficient or dead channels are found, the CCDB channel_mc_efficiency table should be updated to match the data. A script to update CCDB can be found on GitHub:
  • Python script to update CCDB channel_mc_efficiency
  • CCDB id = (module-1)*32 + (layer-1)*8 + (sector-1)*2 + end
  • Range of variables: CCDB id=[0-1535], module=[1-4], layer=[1-4], sector=[1-4], end=[0-1]

Data Studies