File indexing completed on 2023-03-17 10:40:37
0001 from __future__ import print_function
0002 import FWCore.ParameterSet.Config as cms
0003 import sys
0004 from enum import Enum
0005 import FWCore.ParameterSet.VarParsing as VarParsing
0006 from Configuration.StandardSequences.Eras import eras
0007 from Alignment.OfflineValidation.TkAlAllInOneTool.defaultInputFiles_cff import filesDefaultMC_TTBarPU
0008
0009 process = cms.Process("Demo")
0010
0011 options = VarParsing.VarParsing ()
0012 options.register('maxEvents',
0013 -1,
0014 VarParsing.VarParsing.multiplicity.singleton,
0015 VarParsing.VarParsing.varType.int,
0016 "number of events to process (\"-1\" for all)")
0017 options.parseArguments()
0018
0019
0020
0021
0022 process.source = cms.Source("PoolSource",
0023 fileNames = filesDefaultMC_TTBarPU,
0024 duplicateCheckMode = cms.untracked.string('checkAllFilesOpened')
0025 )
0026
0027 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(options.maxEvents) )
0028
0029
0030
0031
0032 process.load('FWCore.MessageService.MessageLogger_cfi')
0033 process.MessageLogger.cerr.enable = False
0034 process.MessageLogger.PrimaryVertexValidation=dict()
0035 process.MessageLogger.FilterOutLowPt=dict()
0036 process.MessageLogger.cout = cms.untracked.PSet(
0037 enable = cms.untracked.bool(True),
0038 threshold = cms.untracked.string("INFO"),
0039 default = cms.untracked.PSet(limit = cms.untracked.int32(0)),
0040 FwkReport = cms.untracked.PSet(limit = cms.untracked.int32(-1),
0041 reportEvery = cms.untracked.int32(1000)
0042 ),
0043 PrimaryVertexValidation = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
0044 FilterOutLowPt = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
0045 enableStatistics = cms.untracked.bool(True)
0046 )
0047
0048
0049
0050
0051 process.load("TrackingTools.TransientTrack.TransientTrackBuilder_cfi")
0052
0053
0054
0055
0056 process.load('Configuration.StandardSequences.MagneticField_cff')
0057
0058
0059
0060
0061 process.load("Configuration.Geometry.GeometryRecoDB_cff")
0062
0063
0064
0065
0066 process.load("RecoVertex.BeamSpotProducer.BeamSpot_cff")
0067
0068
0069
0070
0071 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0072 from Configuration.AlCa.GlobalTag import GlobalTag
0073 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase1_2017_realistic', '')
0074
0075
0076
0077
0078 process.primaryVertexFilter = cms.EDFilter("VertexSelector",
0079 src = cms.InputTag("offlinePrimaryVertices"),
0080 cut = cms.string("!isFake && ndof > 4 && abs(z) <= 24 && position.Rho <= 2"),
0081 filter = cms.bool(True))
0082
0083 process.noscraping = cms.EDFilter("FilterOutScraping",
0084 applyfilter = cms.untracked.bool(True),
0085 src = cms.untracked.InputTag("generalTracks"),
0086 debugOn = cms.untracked.bool(False),
0087 numtrack = cms.untracked.uint32(10),
0088 thresh = cms.untracked.double(0.25))
0089
0090 process.noslowpt = cms.EDFilter("FilterOutLowPt",
0091 applyfilter = cms.untracked.bool(True),
0092 src = cms.untracked.InputTag("generalTracks"),
0093 debugOn = cms.untracked.bool(False),
0094 numtrack = cms.untracked.uint32(0),
0095 thresh = cms.untracked.int32(1),
0096 ptmin = cms.untracked.double(3.),
0097 runControl = cms.untracked.bool(True),
0098 runControlNumber = cms.untracked.vuint32(1))
0099
0100 process.goodvertexSkim = cms.Sequence(process.primaryVertexFilter + process.noscraping + process.noslowpt)
0101
0102 import Alignment.CommonAlignment.tools.trackselectionRefitting as trackselRefit
0103 process.seqTrackselRefit = trackselRefit.getSequence(process, 'generalTracks',
0104 isPVValidation=True,
0105 TTRHBuilder='WithAngleAndTemplate',
0106 usePixelQualityFlag=True,
0107 openMassWindow=False,
0108 cosmicsDecoMode=True,
0109 cosmicsZeroTesla=False,
0110 momentumConstraint=None,
0111 cosmicTrackSplitting=False,
0112 use_d0cut=False,
0113 g4Refitting=True)
0114
0115
0116
0117
0118 process.TFileService = cms.Service("TFileService",
0119 fileName=cms.string("PVValidation_testG4Refit_0.root"))
0120
0121
0122
0123
0124 from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import offlinePrimaryVertices
0125
0126 FilteringParams = offlinePrimaryVertices.TkFilterParameters.clone(
0127 maxNormalizedChi2 = 5.0,
0128 maxD0Significance = 5.0,
0129 maxEta = 5.0,
0130 )
0131
0132
0133 from RecoVertex.PrimaryVertexProducer.TkClusParameters_cff import DA_vectParameters
0134 DAClusterizationParams = DA_vectParameters.clone()
0135
0136
0137
0138
0139 process.PVValidation = cms.EDAnalyzer("PrimaryVertexValidation",
0140 TrackCollectionTag = cms.InputTag("FinalTrackRefitter"),
0141 VertexCollectionTag = cms.InputTag("offlinePrimaryVertices"),
0142 Debug = cms.bool(False),
0143 storeNtuple = cms.bool(False),
0144 useTracksFromRecoVtx = cms.bool(False),
0145 isLightNtuple = cms.bool(True),
0146 askFirstLayerHit = cms.bool(False),
0147 forceBeamSpot = cms.untracked.bool(False),
0148 probePt = cms.untracked.double(3.),
0149 minPt = cms.untracked.double(1.),
0150 maxPt = cms.untracked.double(30.),
0151 runControl = cms.untracked.bool(True),
0152 runControlNumber = cms.untracked.vuint32(1),
0153 TkFilterParameters = FilteringParams,
0154 TkClusParameters = DAClusterizationParams)
0155
0156
0157
0158
0159 process.p = cms.Path(process.goodvertexSkim*
0160 process.seqTrackselRefit*
0161 process.PVValidation)