File indexing completed on 2024-04-06 12:22:45
0001 import FWCore.ParameterSet.Config as cms
0002 import FWCore.ParameterSet.VarParsing as VarParsing
0003
0004
0005 process = cms.Process("TREE")
0006 process.options = cms.untracked.PSet(wantSummary=cms.untracked.bool(True))
0007 process.options = cms.untracked.PSet(SkipEvent = cms.untracked.vstring('ProductNotFound'))
0008
0009
0010 options = VarParsing.VarParsing()
0011
0012
0013 options.register('etaMax1',
0014 2.4,
0015 VarParsing.VarParsing.multiplicity.singleton,
0016 VarParsing.VarParsing.varType.float,
0017 "eta max (muon1)")
0018
0019 options.register('etaMin1',
0020 -2.4,
0021 VarParsing.VarParsing.multiplicity.singleton,
0022 VarParsing.VarParsing.varType.float,
0023 "eta min (muon1)")
0024
0025 options.register('etaMax2',
0026 2.4,
0027 VarParsing.VarParsing.multiplicity.singleton,
0028 VarParsing.VarParsing.varType.float,
0029 "eta max (muon2)")
0030
0031 options.register('etaMin2',
0032 -2.4,
0033 VarParsing.VarParsing.multiplicity.singleton,
0034 VarParsing.VarParsing.varType.float,
0035 "eta min (muon2)")
0036
0037
0038
0039
0040
0041
0042
0043
0044 process.load("FWCore.MessageService.MessageLogger_cfi")
0045 process.MessageLogger.cerr.FwkReport.reportEvery = 500
0046
0047 from CondCore.DBCommon.CondDBSetup_cfi import *
0048 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0049
0050
0051 from Configuration.AlCa.GlobalTag import GlobalTag
0052 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_mc', '')
0053
0054
0055 process.source = cms.Source(
0056 "PoolSource",
0057
0058 fileNames = cms.untracked.vstring(
0059 '/store/mc/Phys14DR/DYToMuMu_M-50_Tune4C_13TeV-pythia8/MINIAODSIM/PU40bx25_tsg_castor_PHYS14_25_V1-v2/00000/622CAFBA-BD9A-E411-BE11-002481E14FFC.root'
0060 )
0061 )
0062 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(-1))
0063
0064
0065
0066
0067
0068
0069
0070 process.RunTwoMuons = cms.EDFilter("PATMuonSelector",
0071 src = cms.InputTag("slimmedMuons"),
0072 cut = cms.string(
0073 'pt > 20 & abs(eta)<2.4' +
0074 '&& (isPFMuon && (isGlobalMuon || isTrackerMuon) )'+
0075 '&& (pfIsolationR04().sumChargedHadronPt+max(0.,pfIsolationR04().sumNeutralHadronEt+pfIsolationR04().sumPhotonEt-0.50*pfIsolationR04().sumPUPt))/pt < 0.20'
0076 )
0077 )
0078
0079
0080
0081
0082
0083
0084
0085
0086 class SetParameters:
0087
0088 def __init__(self):
0089 self.parResolFix = cms.vint32()
0090 self.parResolOrder = cms.vint32()
0091 self.parResol = cms.vdouble()
0092 self.parResolStep = cms.untracked.vdouble()
0093 self.parResolMin = cms.untracked.vdouble()
0094 self.parResolMax = cms.untracked.vdouble()
0095
0096 def set(self, fix, order, value, step, min, max):
0097 self.parResolFix.append(fix)
0098 self.parResolOrder.append(order)
0099 self.parResol.append(value)
0100 self.parResolStep.append(step)
0101 self.parResolMin.append(min)
0102 self.parResolMax.append(max)
0103
0104
0105
0106 setter = SetParameters()
0107
0108 setter.set( 0 ,0, -0.00113112 , 0.002, -0.1, 0.1 )
0109 setter.set( 0 ,0, 0.000246547 , 0.00002, -0.01, 0.01 )
0110 setter.set( 0 ,0, 0.00545563 , 0.000002, 0., 0.01 )
0111 setter.set( 0 ,0, 0.00501745 , 0.0002, -0.01, 0.02 )
0112 setter.set( 1 ,0, 0.0091978 , 0.00002, 0., 0.01 )
0113 setter.set( 0 ,0, 0.0999428 , 0.0002, 0., 0.2 )
0114 setter.set( 0 ,0, 0.0484629 , 0.0000002, -0.2, 0.5 )
0115 setter.set( 0 ,0, -1.24738 , 0.0002, -2.2, -0.8 )
0116 setter.set( 1 ,0, 0. , 0.00002, 0., 0.01 )
0117 setter.set( 0 ,0, -0.0499885 , 0.0002, -0.2, 0.1 )
0118 setter.set( 0 ,0, 0.252381 , 0.000002, -0.1, 0.5 )
0119 setter.set( 0 ,0, 1.75024 , 0.0002, 0., 3. )
0120 setter.set( 0 ,0, -1.99739 , 0.001, -2.2, -1.6 )
0121 setter.set( 0 ,0, 1.59216 , 0.001, 1., 2.2 )
0122 setter.set( 1 ,0, 0. , 0.0001, 0., 0.01 )
0123
0124
0125 TREEINPUTNAME=""
0126 TREEOUTPUTNAME="zmumuTree.root"
0127 process.looper = cms.Looper(
0128 "MuScleFit",
0129
0130 MaxEventsFromRootTree = cms.int32(-1),
0131
0132
0133
0134
0135 InputRootTreeFileName = cms.string(TREEINPUTNAME),
0136
0137
0138
0139
0140 OutputRootTreeFileName = cms.string(TREEOUTPUTNAME),
0141
0142
0143
0144
0145 MuonLabel = cms.InputTag("RunTwoMuons"),
0146 MuonType = cms.int32(11),
0147
0148
0149
0150 PATmuons = cms.untracked.bool(True),
0151
0152
0153
0154
0155
0156
0157
0158 resfind = cms.vint32(1, 0, 0, 0, 0, 0),
0159
0160
0161
0162 maxLoopNumber = cms.untracked.int32(1),
0163
0164 doResolFit = cms.vint32(0),
0165 doScaleFit = cms.vint32(0),
0166 doBackgroundFit = cms.vint32(0),
0167 doCrossSectionFit = cms.vint32(0),
0168
0169
0170
0171 UseProbsFile = cms.untracked.bool(False),
0172
0173
0174 speedup = cms.bool(False),
0175 GenParticlesName = cms.untracked.string("prunedGenParticles"),
0176
0177
0178
0179 compareToSimTracks = cms.bool(False),
0180
0181
0182
0183 OutputFileName = cms.untracked.string("zmumuHisto.root"),
0184
0185
0186
0187 BiasType = cms.int32(0),
0188 parBias = cms.vdouble(),
0189
0190
0191
0192 SmearType = cms.int32(0),
0193 parSmear = cms.vdouble(),
0194
0195
0196 ResolFitType = cms.int32(0),
0197 parResolFix = setter.parResolFix,
0198 parResolOrder = setter.parResolOrder,
0199 parResol = setter.parResol,
0200 parResolStep = setter.parResolStep,
0201 parResolMin = setter.parResolMin,
0202 parResolMax = setter.parResolMax,
0203
0204
0205
0206
0207
0208
0209
0210 ScaleFitType = cms.int32(0),
0211 parScaleOrder = cms.vint32( 0, 0, 0, 0, 0),
0212 parScaleFix = cms.vint32(1, 1, 1, 1, 1),
0213 parScale = cms.vdouble(-7.3019e-05, 0., 0.00147514, 0.000114635, 0.246663),
0214
0215
0216
0217
0218
0219
0220
0221
0222
0223
0224
0225
0226
0227
0228
0229
0230 parCrossSectionOrder = cms.vint32(0, 0, 0, 0, 0, 0),
0231 parCrossSectionFix = cms.vint32(0, 0, 0, 0, 0, 0),
0232 parCrossSection = cms.vdouble(1.233, 2.07, 6.33, 13.9, 2.169, 127.2),
0233
0234
0235
0236
0237
0238
0239 LeftWindowBorder = cms.vdouble(70., 8., 1.391495),
0240 RightWindowBorder = cms.vdouble(110., 12., 5.391495),
0241
0242
0243
0244
0245
0246 BgrFitType = cms.vint32(2, 2, 2),
0247
0248 parBgr = cms.vdouble(0., 0., 0., 0., 0., 0.,
0249 0., 0., 0., 0., 0., 0., 0.,0., 0.,0., 0.,0.),
0250 parBgrFix = cms.vint32(0, 0, 0, 0, 0, 0,
0251
0252
0253 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
0254 parBgrOrder = cms.vint32(0, 0, 0, 0, 0, 0,
0255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
0256
0257
0258
0259
0260
0261 FitStrategy = cms.int32(2),
0262
0263
0264 StartWithSimplex = cms.bool(True),
0265 ComputeMinosErrors = cms.bool(False),
0266 MinimumShapePlots = cms.bool(True),
0267
0268
0269
0270
0271 MinMuonPt = cms.untracked.double(0.),
0272 MaxMuonPt = cms.untracked.double(1000.),
0273 MinMuonEtaFirstRange = cms.untracked.double(options.etaMin1),
0274 MaxMuonEtaFirstRange = cms.untracked.double(options.etaMax1),
0275 MinMuonEtaSecondRange = cms.untracked.double(options.etaMin2),
0276 MaxMuonEtaSecondRange = cms.untracked.double(options.etaMax2),
0277
0278
0279
0280
0281
0282 PileUpSummaryInfo = cms.untracked.InputTag("addPileupInfo"),
0283 PrimaryVertexCollection = cms.untracked.InputTag("offlineSlimmedPrimaryVertices"),
0284
0285
0286 TriggerResultsLabel = cms.untracked.string("TriggerResults"),
0287 TriggerResultsProcess = cms.untracked.string("HLT"),
0288 TriggerPath = cms.untracked.vstring(""),
0289
0290 NegateTrigger = cms.untracked.bool(False),
0291 debug = cms.untracked.int32(0)
0292 )
0293
0294
0295 process.p = cms.Path(
0296 process.RunTwoMuons
0297 )
0298