import FWCore.ParameterSet.Config as cms

from TopQuarkAnalysis.TopSkimming.TtDecayChannelFilter_cfi import ttDecayChannelFilter

## full-leptonic decay
ttFullLeptonicFilter = ttDecayChannelFilter.clone()
ttFullLeptonicFilter.allowedTopDecays.decayBranchA.electron = True
ttFullLeptonicFilter.allowedTopDecays.decayBranchA.muon     = True
ttFullLeptonicFilter.allowedTopDecays.decayBranchB.electron = True
ttFullLeptonicFilter.allowedTopDecays.decayBranchB.muon     = True
ttFullLeptonicFilter.allowedTopDecays.decayBranchA.tau      = True
ttFullLeptonicFilter.allowedTopDecays.decayBranchB.tau      = True

#more di-leptonic filters
ttFullLeptonicEEFilter = ttDecayChannelFilter.clone()
ttFullLeptonicEEFilter.allowedTopDecays.decayBranchA.electron = True
ttFullLeptonicEEFilter.allowedTopDecays.decayBranchB.electron = True

ttFullLeptonicMuMuFilter = ttDecayChannelFilter.clone()
ttFullLeptonicMuMuFilter.allowedTopDecays.decayBranchA.muon = True
ttFullLeptonicMuMuFilter.allowedTopDecays.decayBranchB.muon = True

ttFullLeptonicTauTauFilter = ttDecayChannelFilter.clone()
ttFullLeptonicTauTauFilter.allowedTopDecays.decayBranchA.tau = True
ttFullLeptonicTauTauFilter.allowedTopDecays.decayBranchB.tau = True
#mixed leptons
ttFullLeptonicETauFilter = ttDecayChannelFilter.clone()
ttFullLeptonicETauFilter.allowedTopDecays.decayBranchA.electron = True
ttFullLeptonicETauFilter.allowedTopDecays.decayBranchB.tau = True

ttFullLeptonicEMuFilter = ttDecayChannelFilter.clone()
import FWCore.ParameterSet.Config as cms

from TopQuarkAnalysis.TopSkimming.TtDecayChannelFilter_cfi import ttDecayChannelFilter

## fully-hadronic decay
ttFullHadronicFilter = ttDecayChannelFilter.clone()
ttFullHadronicFilter.allowedTopDecays.decayBranchA.electron = False
ttFullHadronicFilter.allowedTopDecays.decayBranchA.muon     = False
ttFullHadronicFilter.allowedTopDecays.decayBranchA.tau      = False
ttFullHadronicFilter.allowedTopDecays.decayBranchB.electron = False
ttFullHadronicFilter.allowedTopDecays.decayBranchB.muon     = False
ttFullHadronicFilter.allowedTopDecays.decayBranchB.tau      = False
import FWCore.ParameterSet.Config as cms

from TopQuarkAnalysis.TopSkimming.TtDecayChannelFilter_cfi import ttDecayChannelFilter

## semi-leptonic-tau decay
ttSemiLeptonicElectronFilter = ttDecayChannelFilter.clone()
ttSemiLeptonicElectronFilter.allowedTopDecays.decayBranchA.electron = True
## semi-leptonic-tau decay
ttSemiLeptonicMuonFilter = ttDecayChannelFilter.clone()
ttSemiLeptonicMuonFilter.allowedTopDecays.decayBranchA.muon = True
## semi-leptonic-tau decay
ttSemiLeptonicTauFilter = ttDecayChannelFilter.clone()
ttSemiLeptonicTauFilter.allowedTopDecays.decayBranchA.tau = True