예제 #1
0
            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
예제 #2
0
        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):