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