Esempio n. 1
0
def make_TwoTrackVertex_D3PDObject(
        name,
        prefix,
        object_name,
        sgkey,
        label=JetTagD3PDKeys.JFTwoTrackVertexGetterLabel(),
        allowMissing=False,
        **kw):

    getter = D3PDMakerCoreComps.SGDataVectorGetterTool(
        name + '_Getter',
        SGKey=sgkey,
        TypeName='JetTagTwoTrackVertexDataHolder',
        Label=label)

    defs = kw

    for k in defs.keys():
        if not hasattr(D3PDMakerCoreComps.VectorFillerTool, k):
            del defs[k]

    if not defs.has_key("SaveMetadata"):
        defs["SaveMetadata"] = D3PDMakerFlags.SaveObjectMetadata()

    return D3PDMakerCoreComps.VectorFillerTool(name,
                                               Prefix=prefix,
                                               Getter=getter,
                                               ObjectName=object_name,
                                               AllowMissing=allowMissing,
                                               **defs)
TrackD3PDFlags.storeBLayerHolesOnTrack = False
TrackD3PDFlags.storePixelHolesOnTrack = False
TrackD3PDFlags.storeSCTHolesOnTrack = False
TrackD3PDFlags.storeTRTHolesOnTrack = False
TrackD3PDFlags.storeVertexAssociation = True
TrackD3PDFlags.storeTrackPredictionAtBLayer = False

### configure association labels
JetTagD3PDFlags.TrackAssocLabel = JetTagD3PDKeys.TrackGetterLabel()
JetTagD3PDFlags.MuonAssocLabel = JetTagD3PDKeys.MuonInJetGetterLabel()
JetTagD3PDFlags.Muon2AssocLabel = JetTagD3PDKeys.Muon2InJetGetterLabel()
JetTagD3PDFlags.ElectronAssocLabel = JetTagD3PDKeys.ElectronInJetGetterLabel()
#JetTagD3PDFlags.PhotonAssocLabel = JetTagD3PDKeys.PhotonInJetGetterLabel()
JetTagD3PDFlags.JFVxOnJetAxisAssocLabel = JetTagD3PDKeys.JFVxOnJetAxisGetterLabel(
)
JetTagD3PDFlags.JFTwoTrackVertexAssocLabel = JetTagD3PDKeys.JFTwoTrackVertexGetterLabel(
)
TruthD3PDFlags.GenParticleAssocLabel = TruthD3PDKeys.GenParticleGetterLabel()
TruthD3PDFlags.GenVertexAssocLabel = TruthD3PDKeys.GenVertexGetterLabel()
TruthD3PDFlags.GenEventAssocLabel = TruthD3PDKeys.GenEventGetterLabel()
TruthD3PDFlags.TruthTrackAssocLabel = TruthD3PDKeys.TruthTrackGetterLabel()
JetTagD3PDFlags.MSVVtxInfoAssocLabel = JetTagD3PDKeys.MSVVtxInfoInJetGetterLabel(
)

### configure jet tag flags
JetTagD3PDFlags.SkimD3PD = True
JetTagD3PDFlags.FilterMinNJets = 1
JetTagD3PDFlags.TrackPtCut = 250.
JetTagD3PDFlags.MCPtMinCut = 250.
JetTagD3PDFlags.Taggers = JetTagD3PDFlags.AllTaggers()
JetTagD3PDFlags.JetFitterFlipTwoTrackVertexAssoc = True
JetTagD3PDFlags.JetFitterFlipVxOnJetAxisAssoc = True
    if rec.readESD:
        topSequence.truthtaus.truth_container = 'INav4MomTruthEvent'

from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
D3PDMakerFlags.TruthWriteHadrons = True

############ begin for b-tagging ###########
from JetRec.JetRecFlags import jetFlags
jetFlags.doBTagging = True

# switch on branches for Higgs group
from JetTagD3PDMaker.JetTagD3PDMakerFlags import JetTagD3PDFlags
from JetTagD3PDMaker.JetTagD3PDMakerKeys import JetTagD3PDKeys
JetTagD3PDFlags.AddTwoTrackVertexInJetsObject = True
JetTagD3PDFlags.JFTwoTrackVertexAssocLabel.set_Value_and_Lock(
    JetTagD3PDKeys.JFTwoTrackVertexGetterLabel())
JetTagD3PDFlags.JetFitterVertexFinderInfo.set_Value_and_Lock(True)

from BTagging.BTaggingFlags import BTaggingFlags
######### setup local calib db ###########
#BTaggingFlags.CalibrationFromLocalReplica = True
#BTaggingFlags.CalibrationFolderRoot = '/GLOBAL/BTagCalib/'
#BTaggingFlags.CalibrationTag = 'BTagCalibALL-07-06'
#########################################
from JetTagD3PDMaker.JetTagD3PDMakerFlags import JetTagD3PDFlags
BTaggingFlags.Enable("SoftMuChi2")
BTaggingFlags.Runmodus = "analysis"
BTaggingFlags.PoolInputType = "AOD"
BTaggingFlags.Active = True
BTaggingFlags.MV3_bVSu = False
BTaggingFlags.MV3_bVSc = False