예제 #1
0
def makePlots(inputFiles,message) :

  #Open all files (keep them in dict so have them in memory simultaneously)
  rootFiles = OrderedDict()
  for key, rootFileName in inputFiles.iteritems() :
    print key,':',rootFileName
    rootFiles[key] = rh.openFile(rootFileName)

  mg_numDigits = TMultiGraph()

  #Loop over files to get each graph to add to mutligraph
  counter = 0
  for key, rootFile in rootFiles.items() :

    counter += 1

    #Get graph
    g_numDigits = rh.getFromFile(rootFile,"straw_unpackers_summary/g_numDigits")

    #Set colors
    g_numDigits.SetMarkerColor(counter)
    g_numDigits.SetLineColor(counter)

    #Add to multigraph to canvas
    mg_numDigits.Add(g_numDigits)


  #
  # Draw the final multigraph
  #

  mg_numDigits.Draw("APL") #Draw once to populate axes
  mg_numDigits.GetXaxis().SetTitle( "Event number" )
  mg_numDigits.GetYaxis().SetTitle( "Num hits" )
  mg_numDigits.GetYaxis().SetTitleOffset(1.2)
  #mg_numDigits.GetXaxis().SetRangeUser(700.,900.)
  mg_numDigits.SetTitle(message)
  mg_numDigits.Draw("APL")
  raw_input("Press Enter to continue...")
import argparse
import RootHelper as rh
import math

#Inputs
#rootFileName = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/sim/singleOcc/mtestRecoAnalysis_compareSiliconTrackToStraws.root'
#rootFileName = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/sim/singleOcc-Res_140um/mtestRecoAnalysis_compareSiliconTrackToStraws.root'
#rootFileName = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/sim/singleOcc-Res_200um/mtestRecoAnalysis_compareSiliconTrackToStraws.root'
#rootFileName = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/sim/MO_80_15_5/mtestRecoAnalysis_compareSiliconTrackToStraws.root'
#rootFileName = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/sim/MO_80_15_5-Eff_80/mtestRecoAnalysis_compareSiliconTrackToStraws.root'
#rootFileName = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/sim/MO_80_15_5-Res_140um/mtestRecoAnalysis_compareSiliconTrackToStraws.root'
rootFileName = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/testbeam/run00402/mtestRecoAnalysis_compareSiliconTrackToStraws.root'
#rootFileName = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/testbeam/run00404/mtestRecoAnalysis_compareSiliconTrackToStraws.root'

#Open input file
rootFile = rh.openFile(rootFileName)

gStyle.SetOptStat(0)


#
# Fit y residuals
#

#Get histo
h_yResiduals = rh.getFromFile(rootFile,'CompareTrackToStraws/StrawRecoHits/h_recoHitToTrackYResidual')

#Fit core
f_yResiduals = TF1("f_yResiduals", "gaus", -500., 500.);
h_yResiduals.Fit("f_yResiduals","R")
예제 #3
0
#Compare calibration scan results in different fibers

from ROOT import TFile, gROOT, TCanvas, gStyle, TGraph, TMultiGraph, Double, kRed, kGreen, kBlue, TLegend
import os, argparse, math, sys
import RootHelper as rh

#Get args
parser = argparse.ArgumentParser(description='')
parser.add_argument('-i','--input-file', type=str, required=False, default="./fiberHarpCalibrationPlots.root", \
                    help='Input ROOT file containing plots from FiberHarpCalibrationScan module', dest='inputFile')
args = parser.parse_args()

#Open input file
rootFile = rh.openFile(args.inputFile)
if not rootFile : sys.exit(-1)

gStyle.SetOptStat(0)

#Prepare multi-graphs
mg_x_amplitude = TMultiGraph()
leg_x_amplitude = TLegend(0.4,0.6,0.7,0.8)

mg_x_area = TMultiGraph()
leg_x_area = TLegend(0.4,0.6,0.7,0.8)

#
# Loop over fibers
#

for i_fiber in range(0,7) :
예제 #4
0
import RootHelper as rh
from collections import OrderedDict

#Define files to read
inputRootDir = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/testbeam/'
inputFileName = 'mtestRecoAnalysis_strawRecoPlots.root'
efficiencyScanFiles = OrderedDict()
inputFiles = OrderedDict()
inputFiles['Ar-CO2 : Run 316'] = inputRootDir + '/run00316/' + inputFileName
inputFiles['Ar-Ethane : Run 402'] = inputRootDir + '/run00402/' + inputFileName

#Open all files (keep them in dict so have them in memory simultaneously)
rootFiles = OrderedDict()
for key, rootFileName in inputFiles.iteritems() :
  print key,':',rootFileName
  rootFiles[key] = rh.openFile(rootFileName)


#
# Num digits in island histo
#

#Create a fresh canvas
canvas = TCanvas()
canvas.Divide(2)
#gStyle.SetOptStat(False)

#Loop over files
counter = 0
for key, rootFile in rootFiles.items() :
예제 #5
0
  #Init plotting
  gStyle.SetOptStat(111111)


  #
  # Loop over input files
  #

  i_file = 0 

  for inputFile in inputFiles :

    #Open input file
    print "\n+++ Opening %s\n" % (inputFile)
    rootFile = rh.openFile(inputFile)
    if not rootFile : sys.exit(-1)

    #Get run info tree
    t_runInfo = rh.getFromFile(rootFile,"Garfield/RunInfo")
    t_runInfo.GetEntry(0) #Only one entry

    #
    # Event loop
    #

    #Get event tree
    t_event = rh.getFromFile(rootFile,"Garfield/Events")

    #Get mean gain for this run
    tmpHistName = "h_tmp_%i" % (i_file)
예제 #6
0
#Define files to read
inputRootDir = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_merge/data/'
inputFileName = 'mtestRecoAnalysis_strawEfficiencyPlots.root'
efficiencyScanFiles = OrderedDict()
inputFiles = OrderedDict()
inputFiles[1500.] = inputRootDir + 'run00359/deadTime150ns/' + inputFileName
inputFiles[1600.] = inputRootDir + 'run00372/deadTime150ns/' + inputFileName
inputFiles[1700.] = inputRootDir + 'run00390/deadTime150ns/' + inputFileName
inputFiles[1800.] = inputRootDir + 'run00405/deadTime150ns/' + inputFileName

#Open all files (keep them in dict so have them in memory simultaneously)
rootFiles = OrderedDict()
for hv, rootFileName in inputFiles.iteritems() :
  print str(hv)+'V',':',rootFileName
  rootFiles[hv] = rh.openFile(rootFileName)


#
# Num digits in island histo
#

#Create a fresh canvas
canvas = TCanvas()
canvas.Divide(2,2)
#gStyle.SetOptStat(False)

#Loop over files
counter = 0
for hv, rootFile in rootFiles.items() :
예제 #7
0
#Define files to read
inputRootDir = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_merge/data/'
inputFileName = 'mtestRecoAnalysis_strawEfficiencyPlots.root'
efficiencyScanFiles = OrderedDict()
inputFiles = OrderedDict()
inputFiles[200.] = inputRootDir + 'run00402/deadTime150ns/' + inputFileName
inputFiles[300.] = inputRootDir + 'run00404/deadTime150ns/' + inputFileName
inputFiles[400.] = inputRootDir + 'run00405/deadTime150ns/' + inputFileName
inputFiles[600.] = inputRootDir + 'run00407/deadTime150ns/' + inputFileName
inputFiles[700.] = inputRootDir + 'run00409/deadTime150ns/' + inputFileName

#Open all files (keep them in dict so have them in memory simultaneously)
rootFiles = OrderedDict()
for threshold, rootFileName in inputFiles.iteritems() :
  print str(threshold)+' mV',':',rootFileName
  rootFiles[threshold] = rh.openFile(rootFileName)


#
# Num digits in island histo
#

#Create a fresh canvas
canvas = TCanvas()
canvas.Divide(3,2)
#gStyle.SetOptStat(False)

#Loop over files
counter = 0
for threshold, rootFile in rootFiles.items() :
from collections import OrderedDict

# Define files to read
inputRootDir = "/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_merge/data/sim/"
inputFileName = "mtestRecoAnalysis_strawEfficiencyPlots.root"
efficiencyScanFiles = OrderedDict()
efficiencyScanFiles[0.25] = inputRootDir + "strawEff25/" + inputFileName
efficiencyScanFiles[0.5] = inputRootDir + "strawEff50/" + inputFileName
efficiencyScanFiles[0.75] = inputRootDir + "strawEff75/" + inputFileName
efficiencyScanFiles[1.0] = inputRootDir + "strawEff100/" + inputFileName

# Open all files (keep them in dict so have them in memory simultaneously)
rootFiles = OrderedDict()
for efficiency, rootFileName in efficiencyScanFiles.iteritems():
    print efficiency, ":", rootFileName
    rootFiles[efficiency] = rh.openFile(rootFileName)


#
# Num digits in island histo
#

# Create a fresh canvas
canvas = TCanvas()
canvas.Divide(2, 2)
# gStyle.SetOptStat(False)

# Loop over files
counter = 0
for efficiency, rootFile in rootFiles.iteritems():
#rootFileDir = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/sim/MO_80_15_5-Res_140um/'
#rootFileDir = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/sim/MO_80_15_5-Res_200um/'
#rootFileDir = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/sim/MO_80_15_5-Eff_80-Res_200um/'
#rootFileDir = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/testbeam/run00316/'
rootFileDir = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/testbeam/run00402/'
#rootFileDir = '/unix/muons/g-2/scratch/tom/sim/gm2Dev_v6_01_00_testbeam_coordSystems/data/testbeam/run00404/'

#Plots
#rootFileName = 'mtestRecoAnalysis_compareSiliconTrackToStraws.root'  #If using silicon for t0
rootFileName = 'mtestDriftTimesFromOtherView.root'  #If using one straw view to trigger the other
rootFilePath = rootFileDir + "/" + rootFileName
#graphName = 'CompareTrackToStraws/StrawDoublets/g_doubletDriftTimes'   #If using silicon for t0
graphName = 'UTriggersV/g_doubletDriftTimes'   #If using one straw view to trigger the other

#Open input file
rootFile = rh.openFile(rootFilePath)


'''
#
# Doublet drift time pairs profile
#

#Get drift time pair graph
profile = rh.getFromFile(rootFile,rootDirName+"p_doubletDriftTimesCut")

#Fit it
profileFit = TF1("profileFit", "[0] + [1]*x", 15., 35.)
profileFit.SetParameters(50., -1)
profileFit.FixParameter(1,profileFit.GetParameter(1)) #Fix gradient
profile.Fit("profileFit","R") #R enforces range of TF1 for fit