BCAL hadronic efficiencies

From GlueXWiki
Jump to: navigation, search

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