Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-15 22:39:33

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 process = cms.Process("rerunMVAIsolationOnMiniAOD")
0004 
0005 ## Geometry and Detector Conditions (needed for a few tau reco steps)
0006 process.load("Configuration.Geometry.GeometryRecoDB_cff")
0007 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0008 from Configuration.AlCa.GlobalTag import GlobalTag
0009 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_mc')
0010 process.load("Configuration.StandardSequences.MagneticField_cff")
0011 
0012 process.load("FWCore.MessageService.MessageLogger_cfi")
0013 process.MessageLogger.cerr.FwkReport.reportEvery = 1
0014 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )
0015 
0016 process.source = cms.Source("PoolSource",
0017     # replace 'myfile.root' with the source file you want to use
0018     fileNames = cms.untracked.vstring(
0019         'file:patMiniAOD_standard.root'
0020     )
0021 )
0022 
0023 process.TFileService = cms.Service("TFileService",
0024   fileName = cms.string('rerunTauID_miniAOD.root')
0025 )
0026 
0027 from RecoTauTag.RecoTau.TauDiscriminatorTools import noPrediscriminants
0028 from RecoTauTag.RecoTau.PATTauDiscriminationByMVAIsolationRun2_cff import *
0029 from RecoTauTag.RecoTau.patTauDiscriminationAgainstElectronMVA6_cfi import *
0030 
0031 process.rerunDiscriminationByIsolationMVArun2v1raw = patDiscriminationByIsolationMVArun2v1raw.clone(
0032     PATTauProducer = cms.InputTag('slimmedTaus'),
0033     Prediscriminants = noPrediscriminants,
0034     loadMVAfromDB = cms.bool(True),
0035     mvaName = cms.string("RecoTauTag_tauIdMVAIsoDBoldDMwLT"),
0036     mvaOpt = cms.string("DBoldDMwLTwGJ"),
0037     verbosity = cms.int32(0)
0038 )
0039 
0040 process.rerunDiscriminationByIsolationMVArun2v1 = patDiscriminationByIsolationMVArun2v1.clone(
0041     PATTauProducer = cms.InputTag('slimmedTaus'),    
0042     Prediscriminants = noPrediscriminants,
0043     toMultiplex = cms.InputTag('rerunDiscriminationByIsolationMVArun2v1raw'),
0044     loadMVAfromDB = cms.bool(True),
0045     mvaOutput_normalization = cms.string("RecoTauTag_tauIdMVAIsoDBoldDMwLT_mvaOutput_normalization"),
0046     mapping = cms.VPSet(
0047         cms.PSet(
0048             category = cms.uint32(0),
0049             cut = cms.string("RecoTauTag_tauIdMVAIsoDBoldDMwLT"),
0050             variable = cms.string("pt"),
0051         )
0052     ),
0053     workingPoints = cms.vstring(
0054         "_VVLoose",
0055         "_VLoose",
0056         "_Loose",
0057         "_Medium",
0058         "_Tight",
0059         "_VTight",
0060         "_VVTight"
0061     )
0062 )
0063 
0064 process.rerunDiscriminationAgainstElectronMVA6 = patTauDiscriminationAgainstElectronMVA6.clone(
0065     PATTauProducer = cms.InputTag('slimmedTaus'),
0066     Prediscriminants = noPrediscriminants,
0067     #Prediscriminants = requireLeadTrack,
0068     srcElectrons = cms.InputTag('slimmedElectrons'),
0069     loadMVAfromDB = cms.bool(True),
0070     vetoEcalCracks = cms.bool(False),
0071     returnMVA = cms.bool(True),
0072     method = cms.string("BDTG"),
0073     mvaName_NoEleMatch_woGwoGSF_BL = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_woGwoGSF_BL"),
0074     mvaName_NoEleMatch_wGwoGSF_BL = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_wGwoGSF_BL"),
0075     mvaName_woGwGSF_BL = cms.string("RecoTauTag_antiElectronMVA_woGwGSF_BL"),
0076     mvaName_wGwGSF_BL = cms.string("RecoTauTag_antiElectronMVA_wGwGSF_BL"),
0077     mvaName_NoEleMatch_woGwoGSF_EC = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_woGwoGSF_EC"),
0078     mvaName_NoEleMatch_wGwoGSF_EC = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_wGwoGSF_EC"),
0079     mvaName_woGwGSF_EC = cms.string("RecoTauTag_antiElectronMVA_woGwGSF_EC"),
0080     mvaName_wGwGSF_EC = cms.string("RecoTauTag_antiElectronMVA_wGwGSF_EC"),
0081     minMVANoEleMatchWOgWOgsfBL = cms.double(0.0),
0082     minMVANoEleMatchWgWOgsfBL  = cms.double(0.0),
0083     minMVAWOgWgsfBL            = cms.double(0.0),
0084     minMVAWgWgsfBL             = cms.double(0.0),
0085     minMVANoEleMatchWOgWOgsfEC = cms.double(0.0),
0086     minMVANoEleMatchWgWOgsfEC  = cms.double(0.0),
0087     minMVAWOgWgsfEC            = cms.double(0.0),
0088     minMVAWgWgsfEC             = cms.double(0.0),
0089     usePhiAtEcalEntranceExtrapolation = cms.bool(True)
0090 )
0091 
0092 process.rerunMvaIsolation2SeqRun2 = cms.Sequence(
0093    process.rerunDiscriminationByIsolationMVArun2v1raw
0094    *process.rerunDiscriminationByIsolationMVArun2v1
0095 )
0096 
0097 process.rerunMVAIsolationOnMiniAOD = cms.EDAnalyzer('rerunMVAIsolationOnMiniAOD'
0098 )
0099 
0100 process.rerunMVAIsolationOnMiniAOD.verbosity = cms.int32(0)
0101 process.rerunMVAIsolationOnMiniAOD.additionalCollectionsAvailable = cms.bool(True)
0102 
0103 # embed new id's into tau
0104 def tauIDMVAinputs(module, wp):
0105     return cms.PSet(inputTag = cms.InputTag(module), workingPointIndex = cms.int32(-1 if wp=="raw" else -2 if wp=="category" else getattr(process, module).workingPoints.index(wp)))
0106 embedID = cms.EDProducer("PATTauIDEmbedder",
0107    src = cms.InputTag('slimmedTaus'),
0108    tauIDSources = cms.PSet(
0109       byIsolationMVArun2v1DBoldDMwLTrawNew = tauIDMVAinputs("rerunDiscriminationByIsolationMVArun2v1", "raw"),
0110       byVVLooseIsolationMVArun2v1DBoldDMwLTNew = tauIDMVAinputs("rerunDiscriminationByIsolationMVArun2v1", "_VVLoose"),
0111       byVLooseIsolationMVArun2v1DBoldDMwLTNew = tauIDMVAinputs("rerunDiscriminationByIsolationMVArun2v1", "_VLoose"),
0112       byLooseIsolationMVArun2v1DBoldDMwLTNew = tauIDMVAinputs("rerunDiscriminationByIsolationMVArun2v1", "_Loose"),
0113       byMediumIsolationMVArun2v1DBoldDMwLTNew = tauIDMVAinputs("rerunDiscriminationByIsolationMVArun2v1", "_Medium"),
0114       byTightIsolationMVArun2v1DBoldDMwLTNew = tauIDMVAinputs("rerunDiscriminationByIsolationMVArun2v1", "_Tight"),
0115       byVTightIsolationMVArun2v1DBoldDMwLTNew = tauIDMVAinputs("rerunDiscriminationByIsolationMVArun2v1", "_VTight"),
0116       byVVTightIsolationMVArun2v1DBoldDMwLTNew = tauIDMVAinputs("rerunDiscriminationByIsolationMVArun2v1", "_VVTight"),
0117       againstElectronMVA6RawNew = tauIDMVAinputs("rerunDiscriminationAgainstElectronMVA6", "raw")
0118    ),
0119 )
0120 setattr(process, "newTauIDsEmbedded", embedID)
0121 
0122 ## added for mvaIsolation on miniAOD testing
0123 process.out = cms.OutputModule("PoolOutputModule",
0124                                fileName = cms.untracked.string('patTuple_newTauIDs.root'),
0125                                ## save only events passing the full path
0126                                #SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ),
0127                                ## save PAT output; you need a '*' to unpack the list of commands
0128                                ## 'patEventContent'
0129                                outputCommands = cms.untracked.vstring('drop *', "keep *_newTauIDsEmbedded_*_*")
0130                                )
0131 
0132 process.p = cms.Path(
0133    process.rerunMvaIsolation2SeqRun2
0134   *process.rerunDiscriminationAgainstElectronMVA6
0135   *process.newTauIDsEmbedded
0136   *process.rerunMVAIsolationOnMiniAOD
0137 )
0138 
0139 process.outpath = cms.EndPath(process.out)