User Tools

Site Tools


itk:extracting_channels_from_root_files

This is an old revision of the document!


Extracting channels from ROOT files

Overview: This script (testanalysis.py) allows the user to print a list of problematic channels after running a test. The user inputs the ROOT file from the test, the specific histogram they would like to analyze, and must input the maximum number of hits possible in the channels.

Instructions:

  • Download the package using the command wget https://atlaswww.hep.anl.gov/asc/wikidoc/lib/exe/fetch.php?media=itk:testanalysis.py -O TestAnalysis.py
  • Once you have the package, make sure that you have already installed ROOT or can open the ROOT file from your test.
  • Open the script vim (or emacs/whatever text editor you use) TestAnalysis.py.
  • Input your ROOT file that contains the histogram from the test, the name of the histogram, and the maximum number of hits possible in all of the channels.
  • Save script.
  • Run script using python TestAnalysis.py
  • The information will be printed to the command line.

Script:

 #This script allows the user to see the specific ouput for specific pixels on different electronic tests
  from ROOT import *
 
  #The user must input the root file, histogram, and the maximum number for bin content
  fileName = "path/to/file.root"
  histogramName = "name of histogram"
  maxValBin = 50
 
  #Do not modify the rest of the code, it should work given what the user has place above.
  test = TFile.Open(fileName)
  h = test.Get(histogramName)
  h.Draw("colz")
  for i in range(1, h.GetNbinsX()):
        for j in range(1, h.GetNbinsY()):
        binContent = h.GetBinContent(i, j)
        if binContent < maxValBin:
              print "*****************************"
              print "Pixel column (x): ", i
              print "Pixel row (y): ", j
              print "Number of hits: ", binContent
              print "*****************************" 
itk/extracting_channels_from_root_files.1473966709.txt.gz · Last modified: 2016/09/15 19:11 by mbeydler