import FWCore.ParameterSet.Config as cms

from RecoBTag.ImpactParameter.impactParameter_EventSetup_cff import *

from RecoBTag.ImpactParameter.impactParameterTagInfos_cfi import *
from RecoBTag.ImpactParameter.pfImpactParameterTagInfos_cfi import *
from RecoBTag.ImpactParameter.pfImpactParameterAK8TagInfos_cfi import *
from RecoBTag.ImpactParameter.pfImpactParameterCA15TagInfos_cfi import *

# MVA
from RecoBTag.ImpactParameter.impactParameterMVABJetTags_cfi import *
# Jet BProb
from RecoBTag.ImpactParameter.jetBProbabilityBJetTags_cfi import *
# Jet Prob
from RecoBTag.ImpactParameter.jetProbabilityBJetTags_cfi import *
# High Eff
from RecoBTag.ImpactParameter.trackCountingHighEffBJetTags_cfi import *
# High Purity
from RecoBTag.ImpactParameter.trackCountingHighPurBJetTags_cfi import *

# Negative Tags

# Jet BProb
from RecoBTag.ImpactParameter.negativeOnlyJetBProbabilityBJetTags_cfi import *
# Jet Prob
from RecoBTag.ImpactParameter.negativeOnlyJetProbabilityBJetTags_cfi import *
# High Eff
from RecoBTag.ImpactParameter.negativeTrackCountingHighEffBJetTags_cfi import *
# High Purity
from RecoBTag.ImpactParameter.negativeTrackCountingHighPurBJetTags_cfi import *

# Positive-only Tags

# Jet BProb
from RecoBTag.ImpactParameter.positiveOnlyJetBProbabilityBJetTags_cfi import *
# Jet Prob
from RecoBTag.ImpactParameter.positiveOnlyJetProbabilityBJetTags_cfi import *


# New candidate based fwk

# Jet BProb
from RecoBTag.ImpactParameter.pfJetBProbabilityBJetTags_cfi import *
# Jet Prob
from RecoBTag.ImpactParameter.pfJetProbabilityBJetTags_cfi import *
# High Eff
from RecoBTag.ImpactParameter.pfTrackCountingHighEffBJetTags_cfi import *
# High Purity
from RecoBTag.ImpactParameter.pfTrackCountingHighPurBJetTags_cfi import *

# Negative Tags

# Jet BProb
from RecoBTag.ImpactParameter.pfNegativeOnlyJetBProbabilityBJetTags_cfi import *
# Jet Prob
from RecoBTag.ImpactParameter.pfNegativeOnlyJetProbabilityBJetTags_cfi import *
# High Eff
from RecoBTag.ImpactParameter.pfNegativeTrackCountingHighEffBJetTags_cfi import *
# High Purity
from RecoBTag.ImpactParameter.pfNegativeTrackCountingHighPurBJetTags_cfi import *

# Positive-only Tags

# Jet BProb
from RecoBTag.ImpactParameter.pfPositiveOnlyJetBProbabilityBJetTags_cfi import *
# Jet Prob
from RecoBTag.ImpactParameter.pfPositiveOnlyJetProbabilityBJetTags_cfi import *

impactParameterTask = cms.Task(
    impactParameterTagInfos,
    pfImpactParameterTagInfos,
    pfImpactParameterAK8TagInfos,
    pfImpactParameterCA15TagInfos,
    impactParameterMVABJetTags,
    jetBProbabilityBJetTags,
    jetProbabilityBJetTags,
    trackCountingHighEffBJetTags,
    trackCountingHighPurBJetTags,
    negativeOnlyJetBProbabilityBJetTags,
    negativeOnlyJetProbabilityBJetTags,
    negativeTrackCountingHighEffBJetTags,
    negativeTrackCountingHighPurBJetTags,
    positiveOnlyJetBProbabilityBJetTags,
    positiveOnlyJetProbabilityBJetTags,
    pfJetBProbabilityBJetTags,
    pfJetProbabilityBJetTags,
    pfTrackCountingHighEffBJetTags,
    pfTrackCountingHighPurBJetTags,
    pfNegativeOnlyJetBProbabilityBJetTags,
    pfNegativeOnlyJetProbabilityBJetTags,
    pfNegativeTrackCountingHighEffBJetTags,
    pfNegativeTrackCountingHighPurBJetTags,
    pfPositiveOnlyJetBProbabilityBJetTags,
    pfPositiveOnlyJetProbabilityBJetTags
)
