Angular analysis of B+->K*+(K+pi0)mumu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

48 lines
1.5 KiB

#Reorganizes the arrays in TGraph in a way x is ascending, as ROOT is stupidly behaving when plotting when it is not the case
#Renata Kopecna
from ROOT import TTree, TChain, TFile, TVector3, TObject, TGraphErrors, TGraph
import numpy as np
import os
def redoGraph(Run, graphFile, name):
graph = graphFile.Get("MLP "+name+"Run"+str(Run))
size = graph.GetN()
buffer_X = graph.GetX()
X = np.fromiter(buffer_X,dtype=np.float, count = size)
buffer_Y = graph.GetY()
Y = np.fromiter(buffer_Y,dtype=np.float, count = size)
arr = np.column_stack((X,Y))
arr = np.unique(arr,axis=0)
print(arr)
X = arr[:,0].flatten('C')
Y = arr[:,1].flatten('C')
newGraph = TGraph(X.size,X,Y)
newGraph.SetTitle(name)
newGraph.SetName(name)
return newGraph
def rewriteMVAscan(Run):
path = "/home/lhcb/kopecna/B2KstarMuMu_clean/Data/Tuples/FinalSelection/KplusPi0Resolved_BDTscan_Run"+str(Run)+"_fine.root"
graphFile = TFile.Open(path,"READ")
list_of_names = ["sigYield","bkgYield","bkgYield_fromAllEvts","refYield","significance","significance_fromAllEvts"]
newFile = TFile.Open(path.replace(".root","_new.root"),"RECREATE")
newFile.cd()
for name in list_of_names:
redoGraph(Run,graphFile,name).Write()
newFile.Close()
graphFile.Close()
cmd = "mv " + path + " " + path.replace(".root","_old.root")
os.system(cmd)
cmd = "mv " + path.replace(".root","_new.root") + " " + path
os.system(cmd)
rewriteMVAscan(1)
rewriteMVAscan(2)