Exemplo n.º 1
0
class PartonBlock((Parton + MatchedObject).prefix('parton1_') +
                  (Parton + MatchedObject).prefix('parton2_')):
    dEta_partons = FloatCol(default=-1)
    dR_partons = FloatCol()
    dR_parton_tau = FloatCol()
    parton_beta = Vector3

    @classmethod
    def set(cls, tree, parton1, parton2):
        # TODO: UPDATE

        # sort by eta
        parton1, parton2 = sorted([parton1, parton2],
                                  key=lambda parton: parton.fourvect.Eta())

        parton1_fourvect = parton1.fourvect
        parton2_fourvect = parton2.fourvect

        tree.mass_true_quark1_quark2 = (parton1_fourvect +
                                        parton2_fourvect).M()

        tree.parton1_fourvect.copy_from(parton1_fourvect)
        tree.parton2_fourvect.copy_from(parton2_fourvect)

        beta = (parton1_fourvect + parton2_fourvect).BoostVector()
        tree.parton_beta.copy_from(beta)

        parton1_fourvect.Boost(beta * -1)
        parton2_fourvect.Boost(beta * -1)

        tree.parton1_fourvect_boosted.copy_from(parton1_fourvect)
        tree.parton2_fourvect_boosted.copy_from(parton2_fourvect)

        tree.parton1_pdgId = parton1.pdgId
        tree.parton2_pdgId = parton2.pdgId
Exemplo n.º 2
0
class EmbeddingModel(TreeModel):
    # embedding corrections
    embedding_reco_unfold = FloatCol(default=1.)
    embedding_trigger_weight = FloatCol(default=1.)
    embedding_dimuon_mass = FloatCol()
    embedding_isolation = IntCol()
    embedding_spin_weight = FloatCol(default=1.)
Exemplo n.º 3
0
class TrueTau(FourMomentum + FourMomentum.prefix('full_')):
    nProng = IntCol(default=-1111)
    nPi0 = IntCol(default=-1111)
    charge = IntCol()
    flavor = CharCol()
    pdgId = IntCol(default=-1111)
    index = IntCol()
    eta_centrality = FloatCol() 
    collinear_momentum_fraction= FloatCol() 

    

    @classmethod
    def set_full(cls, this, other):
        if isinstance(other, TLorentzVector):
            vect = other
        else:
            vect = other.fourvect
        this.full_pt = vect.Pt()
        this.full_p = vect.P()
        this.full_et = vect.Et()
        this.full_e = vect.E()
        this.full_m = vect.M()
        with ignore_warning:
            this.full_phi = vect.Phi()
            this.full_eta = vect.Eta()
Exemplo n.º 4
0
 class Event(TreeModel):
     data = FloatCol()
     forecast = FloatCol()  #FloatArrayCol(mulmax)
     year = IntCol()
     month = IntCol()
     day = IntCol()
     hour = IntCol()
Exemplo n.º 5
0
class TrueJetBlock(TrueJet.prefix('jet1_') + TrueJet.prefix('jet2_')):
    

    dEta_jet1_jet2 = FloatCol(default = -9999)
    eta_product_jets = FloatCol(default = -9999)
    eta_product_jets_boosted = FloatCol(default = -9999)
    mass_jet1_jet2 = FloatCol(default = -9999) 
     
    jet_beta = Vector3
    numJets = IntCol()
    nonisolatedjet=IntCol()
    #num_true_jets_no_overlap =IntCol()


    @classmethod 
    def set(cls, tree, jet1, jet2):
        if jet1 is not None:
            tree.jet1.index = jet1.index
            FourMomentum.set(tree.jet1, jet1)
        if jet2 is not None:
            tree.jet2.index = jet2.index
            FourMomentum.set(tree.jet2, jet2)
            
            tree.dEta_jet1_jet2 = abs(jet1.eta - jet2.eta)
            tree.eta_product_jets = jet1.eta * jet2.eta
            tree.eta_product_jets_boosted = (jet1.fourvect_boosted.Eta() * jet2.fourvect_boosted.Eta())

            tree.mass_jet1_jet2 = (jet1.fourvect + jet2.fourvect).M()
Exemplo n.º 6
0
class Event(TreeModel):
    s = CharCol()
    string = CharArrayCol(5)
    x = FloatCol()
    y = FloatCol()
    z = FloatCol()
    f = FloatArrayCol(5)
    i = IntCol()
Exemplo n.º 7
0
class Track(FourMomentum):
    d0 = FloatCol(default=-1111.)
    z0 = FloatCol(default=-1111.)
    nBLHits = IntCol(default=-1111)
    nPixHits = IntCol(default=-1111)
    nSCTHits = IntCol(default=-1111)
    nTRTHits = IntCol(default=-1111)
    nHits = IntCol(default=-1111)
Exemplo n.º 8
0
 class OpDet(TreeModel):
     eventid = IntCol()
     id = IntCol()
     NTDC = IntCol()
     NS_PER_TDC = FloatCol()
     adc = FloatArrayCol(GPUDaqUBooNE.NTDC)
     q = FloatCol()
     t = FloatCol()
Exemplo n.º 9
0
class RecoTau(FourMomentum + CaloTau + TrackTau + CaloTrackTau +
              ClusterBasedTau):
    index = IntCol(default=-1)
    BDTloose = FloatCol(default=-1111.)
    BDTmedium = FloatCol(default=-1111.)
    BDTtight = FloatCol(default=-1111.)
    index_matched_true = IntCol(default=-1)
    index_matched_EF = IntCol(default=-1)
    index_matched_L1 = IntCol(default=-1)
Exemplo n.º 10
0
class FourMomentum(TreeModel):
    pt = FloatCol()
    et = FloatCol()
    eta = FloatCol(default=-1111)
    phi = FloatCol(default=-1111)
    m = FloatCol()

    @classmethod
    def set(cls, this, other):
        if isinstance(other, TLorentzVector):
        this.pt = other.Pt()
        this.p = other.P()
        this.et = other.Et()
        this.e = other.E()
        this.m = other.M()
        with ignore_warning:
            this.phi = other.Phi()
            this.eta = other.Eta()

class Met(FourMomentum):
    met_et=FloatCol()
    met_etx=FloatCol()
    met_ety=FloatCol()
    met_phi=FloatCol()
    met_sumet=FloatCol()
    @classmethod
    def set(cls, this,other):
        this.met_et=other.true_met_et
        this.met_etx=other.true_met_etx
        this.met_ety=other.true_met_ety
        this.met_phi=other.true_met_phi
        this.met_sumet=other.true_met_sumet
        
    
class Tau(FourMomentum + FourMomentum.prefix('full_')):

     true_tau_0_decay_mode = 6
     true_tau_0_n_charged = 1
     true_tau_0_n_charged_pion = 0
     true_tau_0_n_neutral = 0
     true_tau_0_n_neutral_pion = 0
     
    
    @classmethod
    def set_full(cls, this, other):
        if isinstance(other, TLorentzVector):
            vect = other
        else:
            vect = other.fourvect
        this.full_pt = vect.Pt()
        this.full_p = vect.P()
        this.full_et = vect.Et()
        this.full_e = vect.E()
        this.full_m = vect.M()
        with ignore_warning:
            this.full_phi = vect.Phi()
            this.full_eta = vect.Eta()
Exemplo n.º 11
0
class Event(TreeModel):
    s = CharCol()
    string = CharArrayCol(5)
    x = FloatCol()
    y = FloatCol()
    z = FloatCol()
    f = FloatArrayCol(5)
    num_vals = IntCol()
    # variable-length array
    vals = FloatArrayCol(5, length_name='num_vals')
Exemplo n.º 12
0
class Met(TreeModel):
    et = FloatCol(default=-1111)
    phi = FloatCol(default=-1111)
    etx = FloatCol(default=-1111)
    ety = FloatCol(default=-1111)

    @classmethod
    def set(cls, this, other):
        this.et = other.Mod()
        this.phi = other.Phi()
        this.etx = other.X()
        this.ety = other.Y()
Exemplo n.º 13
0
class Met(FourMomentum):
    met_et=FloatCol()
    met_etx=FloatCol()
    met_ety=FloatCol()
    met_phi=FloatCol()
    met_sumet=FloatCol()
    @classmethod
    def set(cls, this,other):
        this.met_et=other.true_met_et
        this.met_etx=other.true_met_etx
        this.met_ety=other.true_met_ety
        this.met_phi=other.true_met_phi
        this.met_sumet=other.true_met_sumet
Exemplo n.º 14
0
class Event(TreeModel):
    W = FloatCol() 
    Q2 = FloatCol() 
    tp = FloatCol() 
    t = FloatCol() 
    asy = FloatCol() 
    asysfi = FloatCol() 
    asy2fi = FloatCol() 
    asyfpfs = FloatCol() 
    asy3f = FloatCol() 
Exemplo n.º 15
0
class CaloTrackTau(TreeModel):
    EMPOverTrkSysP = FloatCol(-1111.)
    ChPiEMEOverCaloEME = FloatCol(-1111.)
    EtOverLeadTrackPt = FloatCol(-1111.)
    corrFTrk = FloatCol(-1111.)
    trkAvgDist = FloatCol(-1111.)

    @classmethod
    def set(cls, this, other):
        this.EMPOverTrkSysP = other.calcVars_EMPOverTrkSysP
        this.ChPiEMEOverCaloEME = other.calcVars_ChPiEMEOverCaloEME
        this.corrFTrk = other.calcVars_corrFTrk
        this.EtOverLeadTrackPt = 1. / this.corrFTrk
        this.trkAvgDist = other.seedCalo_trkAvgDist
Exemplo n.º 16
0
class EventModel(TreeModel):
    runnumber = IntCol()
    evtnumber = IntCol()
    weight = FloatCol()
    hadhad = IntCol() # 1 or 0
    lephad = IntCol() # 1 or 0
    leplep = IntCol() # 1 or 0
Exemplo n.º 17
0
class ClusterBasedTau(TreeModel):
    pi0BDTPrimary = FloatCol(-1111.)
    pi0BDTSecondary = FloatCol(-1111.)
    pi0_ptratio = FloatCol(-1111.)
    pi0_vistau_m = FloatCol(-1111.)
    pi0_n = IntCol(-1111)
    clbased_pt = FloatCol(-1111.)

    @classmethod
    def set(cls, this, other):
        this.pi0BDTPrimary = other.calcVars_pi0BDTPrimaryScore
        this.pi0BDTSecondary = other.calcVars_pi0BDTSecondaryScore
        this.pi0_ptratio = other.pi0_vistau_pt / other.pt
        this.pi0_vistau_m = other.pi0_vistau_m
        this.pi0_n = other.pi0_n
        this.clbased_pt = other.fourvect_clbased.Pt()
Exemplo n.º 18
0
class EventInfo(TreeModel):
    runnumber = IntCol()
    evtnumber = IntCol()
    lumiblock = IntCol()
    npv = IntCol()
    mu = FloatCol()
    chain_EF_tau20_medium1 = IntCol()
    chain_EF_tauNoCut = IntCol()
    chain_L2_tauNoCut = IntCol()
    chain_L1_TAU8 = IntCol()
    chain_L1_TAU11I = IntCol()
    chain_L2_tau18Ti_loose2_e18vh_medium1 = IntCol(-1111)

    @classmethod
    def set(cls, this, other):
        this.runnumber = other.RunNumber
        this.evtnumber = other.EventNumber
        this.lumiblock = other.lbn
        this.npv = other.evt_calcVars_numGoodVertices
        this.mu = other.averageIntPerXing
        this.chain_EF_tau20_medium1 = other.EF_tau20_medium1
        this.chain_EF_tauNoCut = other.EF_tauNoCut
        this.chain_L2_tauNoCut = other.L2_tauNoCut
        this.chain_L1_TAU8 = other.L1_TAU8
        this.chain_L1_TAU11I = other.L1_TAU11I
Exemplo n.º 19
0
class OutputTree(TreeModel):
    classID = FloatCol(default=-1111.)
    var1 = FloatCol(default=-1111.)
    var2 = FloatCol(default=-1111.)
    var3 = FloatCol(default=-1111.)
    weight = FloatCol(default=-1111.)
    cls0 = FloatCol(default=-1111.)
    cls1 = FloatCol(default=-1111.)
    cls2 = FloatCol(default=-1111.)
Exemplo n.º 20
0
class TrueTau(FourMomentum):
    nProng = IntCol(default=-1111)
    nPi0 = IntCol(default=-1111)
    charge = IntCol(default=-1111)
    vis_pt = FloatCol(default=-1111.)
    vis_p = FloatCol(default=-1111.)
    vis_et = FloatCol(default=-1111.)
    vis_e = FloatCol(default=-1111.)
    vis_eta = FloatCol(default=-1111.)
    vis_phi = FloatCol(default=-1111.)
    vis_m = FloatCol(default=-1111.)

    @classmethod
    def set(cls, this, other):
        FourMomentum.set(this, other)
        this.nProng = other.nProng
        this.nPi0 = other.nPi0
        this.charge = other.charge
        this.vis_pt = other.fourvect_vis.Pt()
        this.vis_p = other.fourvect_vis.P()
        this.vis_et = other.fourvect_vis.Et()
        this.vis_e = other.fourvect_vis.E()
        this.vis_m = other.fourvect_vis.M()
        with ignore_warning:
            this.vis_eta = other.fourvect_vis.Eta()
            this.vis_phi = other.fourvect_vis.Phi()
Exemplo n.º 21
0
class TrackTau(TreeModel):
    numTrack = IntCol(default=-1111)
    nWideTrk = IntCol(default=-1111)
    nOtherTrk = IntCol(default=-1111)
    ipSigLeadTrk = FloatCol(-1111.)
    trFlightPathSig = FloatCol(-1111.)
    massTrkSys = FloatCol(-1111.)
    dRmax = FloatCol(-1111.)

    @classmethod
    def set(cls, this, other):
        this.numTrack = other.numTrack
        this.nWideTrk = other.seedCalo_nWideTrk
        this.nOtherTrk = other.otherTrk_n
        this.ipSigLeadTrk = other.ipSigLeadTrk
        this.trFlightPathSig = other.trFlightPathSig
        this.massTrkSys = other.massTrkSys
        this.dRmax = other.seedCalo_dRmax
Exemplo n.º 22
0
    class PhotonData(TreeModel):
        end_x = FloatCol()
        end_y = FloatCol()
        end_z = FloatCol()
        reflect_diffuse = IntCol()
        reflect_specular = IntCol()
        bulk_scatter = IntCol()
        bulk_absorb = IntCol()
        surface_detect = IntCol()
        surface_absorb = IntCol()
        surface_reemit = IntCol()

        def reset(self):
            self.reflect_diffuse = 0
            self.reflect_specular = 0
            self.bulk_scatter = 0
            self.bulk_absorb = 0
            self.surface_detect = 0
            self.surface_absorb = 0
            self.surface_reemit = 0
Exemplo n.º 23
0
 class rTrack(TreeModel):
     id = IntCol()
     event_id = IntCol()
     hit_indices = stl.vector("int")
     residuals = stl.vector("float")
     lincoords = stl.vector("float")
     color = IntCol()
     length = FloatCol()
     rho = FloatCol()
     theta = FloatCol()
     x0 = FloatCol()
     y0 = FloatCol()
     x1 = FloatCol()
     y1 = FloatCol()
     nHits = IntCol()
     R2 = FloatCol()
     is_good = IntCol()
Exemplo n.º 24
0
class Event(TreeModel):
    # properties of particle "a"
    a_x = FloatCol()
    a_y = FloatCol()
    a_z = FloatCol()
    # properties of particle "b"
    b_x = FloatCol()
    b_y = FloatCol()
    b_z = FloatCol()
    # a collection of particles
    col_x = stl.vector("float")
    col_y = stl.vector("float")
    col_z = stl.vector("float")
    col_n = IntCol()
    # a TLorentzVector
    p = LorentzVector
    i = IntCol()
Exemplo n.º 25
0
class FourMomentum(TreeModel):
    pt = FloatCol()
    p = FloatCol()
    et = FloatCol()
    e = FloatCol()
    eta = FloatCol(default=-1111)
    phi = FloatCol(default=-1111)
    m = FloatCol()

    @classmethod
    def set(cls, this, other):
        if isinstance(other, TLorentzVector):
            vect = other
        else:
            vect = other.fourvect
        this.pt = vect.Pt()
        this.p = vect.P()
        this.et = vect.Et()
        this.e = vect.E()
        this.m = vect.M()
        with ignore_warning:
            this.phi = vect.Phi()
            this.eta = vect.Eta()
Exemplo n.º 26
0
class EcalVetoEvent(TreeModel):
    evtNum = IntCol()
    pnWeight = FloatCol()
    trigPass = BoolCol()
    nReadoutHits = IntCol()
    summedDet = FloatCol()
    summedTightIso = FloatCol()
    maxCellDep = FloatCol()
    showerRMS = FloatCol()
    xStd = FloatCol()
    yStd = FloatCol()
    avgLayerHit = FloatCol()
    stdLayerHit = FloatCol()
    deepestLayerHit = IntCol()
    discValue = FloatCol()
    #discValueFernand = FloatCol()
    hcalMaxPE = FloatCol()
    passHcalVeto = BoolCol()
    passTrackerVeto = BoolCol()
    recoilPx = FloatCol()
    recoilPy = FloatCol()
    recoilPz = FloatCol()
    recoilX = FloatCol()
    recoilY = FloatCol()
    fiducial = BoolCol()
    leadhadpid = IntCol()
    leadhadke = FloatCol()
    leadhadthetaz = FloatCol()
    nelectrons = IntCol()
    trigEnergy = FloatCol()
    ecalBackEnergy = FloatCol()
    eleP = FloatArrayCol(3)
    elePTarget = FloatArrayCol(3)
    elePosSP = FloatArrayCol(3)
    photonP = FloatArrayCol(3)
    photonPosSP = FloatArrayCol(3)
    ele68TotalEnergies = FloatArrayCol(34)
    photon68TotalEnergies = FloatArrayCol(34)
    overlap68TotalEnergies = FloatArrayCol(34)
    outside68TotalEnergies = FloatArrayCol(34)
    outside68TotalNHits = FloatArrayCol(34)
    outside68Xmeans = FloatArrayCol(34)
    outside68Ymeans = FloatArrayCol(34)
    outside68Xstds = FloatArrayCol(34)
    outside68Ystds = FloatArrayCol(34)
    ele68ContEnergy = FloatCol()
    ele68x2ContEnergy = FloatCol()
    ele68x3ContEnergy = FloatCol()
    ele68x4ContEnergy = FloatCol()
    ele68x5ContEnergy = FloatCol()
    photon68ContEnergy = FloatCol()
    photon68x2ContEnergy = FloatCol()
    photon68x3ContEnergy = FloatCol()
    photon68x4ContEnergy = FloatCol()
    photon68x5ContEnergy = FloatCol()
    overlap68ContEnergy = FloatCol()
    overlap68x2ContEnergy = FloatCol()
    overlap68x3ContEnergy = FloatCol()
    overlap68x4ContEnergy = FloatCol()
    overlap68x5ContEnergy = FloatCol()
    outside68ContEnergy = FloatCol()
    outside68x2ContEnergy = FloatCol()
    outside68x3ContEnergy = FloatCol()
    outside68x4ContEnergy = FloatCol()
    outside68x5ContEnergy = FloatCol()
    outside68ContNHits = FloatCol()
    outside68x2ContNHits = FloatCol()
    outside68x3ContNHits = FloatCol()
    outside68x4ContNHits = FloatCol()
    outside68x5ContNHits = FloatCol()
    outside68ContXmean = FloatCol()
    outside68x2ContXmean = FloatCol()
    outside68x3ContXmean = FloatCol()
    outside68x4ContXmean = FloatCol()
    outside68x5ContXmean = FloatCol()
    outside68ContYmean = FloatCol()
    outside68x2ContYmean = FloatCol()
    outside68x3ContYmean = FloatCol()
    outside68x4ContYmean = FloatCol()
    outside68x5ContYmean = FloatCol()
    outside68ContXstd = FloatCol()
    outside68x2ContXstd = FloatCol()
    outside68x3ContXstd = FloatCol()
    outside68x4ContXstd = FloatCol()
    outside68x5ContXstd = FloatCol()
    outside68ContYstd = FloatCol()
    outside68x2ContYstd = FloatCol()
    outside68x3ContYstd = FloatCol()
    outside68x4ContYstd = FloatCol()
    outside68x5ContYstd = FloatCol()
    outside68ContShowerRMS = FloatCol()
    outside68x2ContShowerRMS = FloatCol()
    outside68x3ContShowerRMS = FloatCol()
    outside68x4ContShowerRMS = FloatCol()
    outside68x5ContShowerRMS = FloatCol()
Exemplo n.º 27
0
class Event(TreeModel):
    """Event model definition"""
    x = FloatCol()
    y = FloatCol()
    z = FloatCol()
    i = IntCol()
Exemplo n.º 28
0
    class JetImage(TreeModel):

        '''
        Buffer for Jet Image
        '''
        # -- START BUFFER

        # -- raveled image
        image = FloatArrayCol(25 ** 2)

        # -- 1 if signal, 0 otherwise
        signal = FloatCol()

        # -- kinematics
        jet_pt = FloatCol()
        jet_eta = FloatCol()
        jet_phi = FloatCol()
        jet_m = FloatCol()
        jet_delta_R = FloatCol()

        # -- NSJ
        tau_32 = FloatCol()
        tau_21 = FloatCol()
        tau_1 = FloatCol()
        tau_2 = FloatCol()
        tau_3 = FloatCol()
Exemplo n.º 29
0
class Particle(TreeModel):
  q = IntCol()
  pt = FloatCol()
  eta = FloatCol()
  phi = FloatCol()
Exemplo n.º 30
0
class RecoTau(FourMomentum):
    index = IntCol(default=-1)

    BDTJetScore = FloatCol()
    BDTEleScore = FloatCol()

    JetBDTSigLoose = BoolCol()
    JetBDTSigMedium = BoolCol()
    JetBDTSigTight = BoolCol()
    id = IntCol()

    nPi0 = IntCol()
    seedCalo_numTrack = IntCol()
    numTrack = IntCol()
    charge = IntCol()
    jvtxf = FloatCol()
    seedCalo_centFrac = FloatCol()

    BCHMedium = BoolCol()
    BCHTight = BoolCol()

    centrality = FloatCol(default=-1E10)
    centrality_boosted = FloatCol(default=-1E10)

    # efficiency scale factor if matches truth
    id_sf = FloatCol(default=1.)
    id_sf_high = FloatCol(default=1.)
    id_sf_low = FloatCol(default=1.)
    id_sf_stat_high = FloatCol(default=1.)
    id_sf_stat_low = FloatCol(default=1.)
    id_sf_sys_high = FloatCol(default=1.)
    id_sf_sys_low = FloatCol(default=1.)

    # trigger efficiency
    trigger_sf = FloatCol(default=1.)
    trigger_sf_high = FloatCol(default=1.)
    trigger_sf_low = FloatCol(default=1.)
    trigger_sf_mc_stat_high = FloatCol(default=1.)
    trigger_sf_mc_stat_low = FloatCol(default=1.)
    trigger_sf_data_stat_high = FloatCol(default=1.)
    trigger_sf_data_stat_low = FloatCol(default=1.)
    trigger_sf_stat_high = FloatCol(default=1.)
    trigger_sf_stat_low = FloatCol(default=1.)
    trigger_sf_stat_scale_high = FloatCol(default=1.)
    trigger_sf_stat_scale_low = FloatCol(default=1.)
    trigger_sf_sys_high = FloatCol(default=1.)
    trigger_sf_sys_low = FloatCol(default=1.)

    trigger_eff = FloatCol(default=1.)
    trigger_eff_high = FloatCol(default=1.)
    trigger_eff_low = FloatCol(default=1.)
    trigger_eff_stat_high = FloatCol(default=1.)
    trigger_eff_stat_low = FloatCol(default=1.)
    trigger_eff_stat_scale_high = FloatCol(default=1.)
    trigger_eff_stat_scale_low = FloatCol(default=1.)
    trigger_eff_sys_high = FloatCol(default=1.)
    trigger_eff_sys_low = FloatCol(default=1.)

    trigger_sf_stat_scale_PeriodA_high = FloatCol(default=1.)
    trigger_sf_stat_scale_PeriodA_low = FloatCol(default=1.)
    trigger_sf_stat_scale_PeriodBD_Barrel_high = FloatCol(default=1.)
    trigger_sf_stat_scale_PeriodBD_Barrel_low = FloatCol(default=1.)
    trigger_sf_stat_scale_PeriodBD_EndCap_high = FloatCol(default=1.)
    trigger_sf_stat_scale_PeriodBD_EndCap_low = FloatCol(default=1.)
    trigger_sf_stat_scale_PeriodEM_Barrel_high = FloatCol(default=1.)
    trigger_sf_stat_scale_PeriodEM_Barrel_low = FloatCol(default=1.)
    trigger_sf_stat_scale_PeriodEM_EndCap_high = FloatCol(default=1.)
    trigger_sf_stat_scale_PeriodEM_EndCap_low = FloatCol(default=1.)

    trigger_eff_stat_scale_PeriodA_high = FloatCol(default=1.)
    trigger_eff_stat_scale_PeriodA_low = FloatCol(default=1.)
    trigger_eff_stat_scale_PeriodBD_Barrel_high = FloatCol(default=1.)
    trigger_eff_stat_scale_PeriodBD_Barrel_low = FloatCol(default=1.)
    trigger_eff_stat_scale_PeriodBD_EndCap_high = FloatCol(default=1.)
    trigger_eff_stat_scale_PeriodBD_EndCap_low = FloatCol(default=1.)
    trigger_eff_stat_scale_PeriodEM_Barrel_high = FloatCol(default=1.)
    trigger_eff_stat_scale_PeriodEM_Barrel_low = FloatCol(default=1.)
    trigger_eff_stat_scale_PeriodEM_EndCap_high = FloatCol(default=1.)
    trigger_eff_stat_scale_PeriodEM_EndCap_low = FloatCol(default=1.)

    # fake rate scale factor for taus that do not match truth
    fakerate_sf = FloatCol(default=1.)
    fakerate_sf_high = FloatCol(default=1.)
    fakerate_sf_low = FloatCol(default=1.)

    # fake rate reco scale factor for taus that do not match truth
    fakerate_sf_reco = FloatCol(default=1.)
    fakerate_sf_reco_high = FloatCol(default=1.)
    fakerate_sf_reco_low = FloatCol(default=1.)

    #trigger_match_thresh = IntCol(default=0)

    # overlap checking
    min_dr_jet = FloatCol(default=9999)

    # track recounting
    numTrack_recounted = IntCol(default=-1)

    # vertex association
    vertex_prob = FloatCol()

    collinear_momentum_fraction = FloatCol()