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")
#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) :
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() :
#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)
#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() :
#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