Draft: adapt for use of velo hit efficiencies
Goes with Rec!3907 Adaptations to make use of VELO hit efficiencies. In principle NOT FOR MERGE.
usage:
def hitMapMaker():
from ROOT import TFile, TH2F
dataFile = TFile.Open("/eos/lhcb/user/m/mwaterla/ftHitEfficiencyFiles/combinedEfficiencies.root")
mcFile = TFile.Open("/eos/lhcb/user/m/mwaterla/ftHitEfficiencyFiles/combinedFTMC.root")
vals = [0]*4096
for layer in range(0,12):
hmc = mcFile.Get("FTHitEfficiencyLayer"+str(layer)+"/EfficiencyVsSipm")
hdata = dataFile.Get("FTHitEfficiencyLayer"+str(layer)+"/EfficiencyVsSipm")
for iBin in range(1,4097):
if(hmc.GetBinContent(iBin) > 0):
content = hdata.GetBinContent(iBin)/hmc.GetBinContent(iBin)
else:
content = hdata.GetBinContent(iBin)
#content = hdata.GetBinContent(iBin)/targetEff
vals[iBin-1] = max(vals[iBin-1],content)
mcFile.Close()
dataFile.Close()
return vals
import json
eff_file = open("efficienciesTitus.json")
eff_dict = json.load(eff_file)
eff_list = []
for i in range(624):
eff_list.append(eff_dict[str(i)]["eff"])
with reconstruction.bind(from_file=False),\
make_VeloClusterTrackingSIMD.bind(algorithm=VeloRetinaClusterTrackingSIMD, SkipForward=4, sensor_efficiencies=eff_list),\
PrStoreSciFiHits.bind(AdditionalHitEfficiencyMap=hitMapMaker()), PrHybridSeeding.bind(nCasesUsed=4),\
[...]