Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-07-14 01:09:11

0001 """
0002 This script runs the SimpleTrackValidation.
0003 It is just meant for testing and development.
0004 
0005 To run:
0006 cmsRun SimpleTrackValidation_cfg.py inputFiles=file:/path/to/step2.root
0007 """
0008 
0009 import FWCore.ParameterSet.Config as cms
0010 
0011 from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0012 
0013 import FWCore.ParameterSet.VarParsing as VarParsing
0014 options = VarParsing.VarParsing ('analysis')
0015 options.inputFiles = ''
0016 options.parseArguments()
0017 
0018 process = cms.Process("SimpleTrackValidation",Phase2C17I13M9)
0019 
0020 # maximum number of events
0021 process.maxEvents = cms.untracked.PSet(
0022     input = cms.untracked.int32(-1),
0023     output = cms.optional.untracked.allowed(cms.int32,cms.PSet)
0024 )
0025 
0026 # Input source
0027 process.source = cms.Source("PoolSource",
0028     dropDescendantsOfDroppedBranches = cms.untracked.bool(False),
0029     fileNames = cms.untracked.vstring(options.inputFiles),
0030     inputCommands = cms.untracked.vstring(
0031         'keep *',
0032         'drop *_hltSiPixelRecHits_*_HLTX'   # we will reproduce them to have their local position available
0033     ),
0034     secondaryFileNames = cms.untracked.vstring()
0035 )
0036 
0037 ### conditions
0038 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0039 from Configuration.AlCa.GlobalTag import GlobalTag
0040 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T33', '')
0041 
0042 ### standard includes
0043 process.load('Configuration/StandardSequences/Services_cff')
0044 process.load('Configuration.Geometry.GeometryExtendedRun4D110Reco_cff')
0045 
0046 # service to get the root file without passing through the Harvestig
0047 process.TFileService = cms.Service("TFileService",
0048     fileName = cms.string('simple_validation.root')
0049 )
0050 
0051 process.hltTPClusterProducer = cms.EDProducer("ClusterTPAssociationProducer",
0052     mightGet = cms.optional.untracked.vstring,
0053     phase2OTClusterSrc = cms.InputTag("hltSiPhase2Clusters"),
0054     phase2OTSimLinkSrc = cms.InputTag("simSiPixelDigis","Tracker"),
0055     pixelClusterSrc = cms.InputTag("hltSiPixelClusters"),
0056     pixelSimLinkSrc = cms.InputTag("simSiPixelDigis","Pixel"),
0057     simTrackSrc = cms.InputTag("g4SimHits"),
0058     stripClusterSrc = cms.InputTag("hltSiStripRawToClustersFacility"),
0059     stripSimLinkSrc = cms.InputTag("simSiStripDigis"),
0060     throwOnMissingCollections = cms.bool(True),
0061     trackingParticleSrc = cms.InputTag("mix","MergedTrackTruth")
0062 )
0063 
0064 process.hltTrackAssociatorByHits = cms.EDProducer("QuickTrackAssociatorByHitsProducer",
0065     AbsoluteNumberOfHits = cms.bool(False),
0066     Cut_RecoToSim = cms.double(0.75),
0067     PixelHitWeight = cms.double(1.0),
0068     Purity_SimToReco = cms.double(0.75),
0069     Quality_SimToReco = cms.double(0.5),
0070     SimToRecoDenominator = cms.string('reco'),
0071     ThreeHitTracksAreSpecial = cms.bool(False),
0072     UseGrouped = cms.bool(False),
0073     UseSplitting = cms.bool(False),
0074     cluster2TPSrc = cms.InputTag("hltTPClusterProducer"),
0075     useClusterTPAssociation = cms.bool(True)
0076 )
0077 
0078 process.SimpleTrackValidation = cms.EDAnalyzer("SimpleTrackValidation",
0079     chargedOnlyTP = cms.bool(True),
0080     intimeOnlyTP = cms.bool(False),
0081     invertRapidityCutTP = cms.bool(False),
0082     lipTP = cms.double(30.0),
0083     maxPhiTP = cms.double(3.2),
0084     maxRapidityTP = cms.double(2.5),
0085     minHitTP = cms.int32(0),
0086     minPhiTP = cms.double(-3.2),
0087     minRapidityTP = cms.double(-2.5),
0088     pdgIdTP = cms.vint32(),
0089     ptMaxTP = cms.double(1e+100),
0090     ptMinTP = cms.double(0.9),
0091     signalOnlyTP = cms.bool(True),
0092     stableOnlyTP = cms.bool(False),
0093     tipTP = cms.double(3.5),
0094     trackAssociator = cms.InputTag("hltTrackAssociatorByHits"),
0095     trackLabels = cms.VInputTag("hltPhase2PixelTracks"),
0096     trackingParticles = cms.InputTag("mix","MergedTrackTruth"),
0097     etaBins = cms.vdouble(-4.0, -1.5, 1.5, 4.0),  # Default bins in eta for negative endcap, barrel, and positive endcap
0098     ptBins = cms.vdouble(0.0, 3.0, 10.0, 1000.0)  # Default bins in pt 0-3 GeV, 3-10 GeV, 10-1000 GeV
0099 )
0100 
0101 ####  set up the paths
0102 process.simDoubletProduction = cms.Path(
0103     process.hltTPClusterProducer *
0104     process.hltTrackAssociatorByHits *
0105     process.SimpleTrackValidation 
0106 )
0107 
0108 process.options = cms.untracked.PSet(
0109     numberOfThreads = cms.untracked.uint32(8),
0110     numberOfStreams = cms.untracked.uint32(8),
0111     wantSummary = cms.untracked.bool(True)
0112 )