else: # Access muon SF: G and H if random_mu_SF: mu_weight = _Nrandom_for_Gaus_SF.Gaus(mu_weight_GH,mu_weight_GH_err) else: mu_weight = mu_weight_GH else: ele_weight, ele_weight_err = myWF.get_ele_scale(lep_pT,ele_etaSC) if random_ele_SF: ele_weight = _Nrandom_for_Gaus_SF.Gaus(ele_weight,ele_weight_err) ph_weight, ph_weight_err = myWF.get_photon_scale(gamma_eT,gamma_etaSC) if random_ph_SF: ph_weight = _Nrandom_for_Gaus_SF.Gaus(ph_weight,ph_weight_err) if not "Data" in name_sample: MC_Weight = mytree.MC_Weight # Add MC weight PU_Weight = mytree.PU_Weight # Add Pile Up weight Event_Weight = norm_factor*ph_weight*MC_Weight*PU_Weight/math.fabs(MC_Weight) # Just take the sign of the gen weight if isMuon: Event_Weight = Event_Weight*mu_weight else: Event_Weight = Event_Weight*ele_weight
gamma_eT = mytree.photon_eT gamma_E = mytree.photon_energy gamma_FourMomentum = ROOT.TLorentzVector() gamma_FourMomentum.SetPtEtaPhiE(gamma_eT, gamma_eta, gamma_phi, gamma_E) ele_gamma_InvMass = (ele_FourMomentum + gamma_FourMomentum).M() deltaphi = math.fabs(mytree.lepton_phi - mytree.pi_phi) if deltaphi > 3.14: deltaphi = 6.28 - deltaphi #---------Determine the total event weight---------# if (not isMuon): ele_Weight = myWF.get_ele_scale(lep_pT, lep_eta) ph_Weight = myWF.get_photon_scale(gamma_eT, gamma_eta) PU_Weight = mytree.PU_Weight Event_Weight = norm_factor * PU_Weight * ph_Weight if not isMuon: Event_Weight = Event_Weight * ele_Weight Event_Weight_err = Event_Weight / math.sqrt(N_evts_processed) #--------------------------------------------------# if not is_Event_selected( mytree.Wmass, mytree.nBjets_25, mytree.lepton_iso, ele_gamma_InvMass): #,lep_pT):#,pi_pT,gamma_eT): continue for icut1 in xrange(steps_cut1):