Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:08:35

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 # process declaration
0004 process = cms.Process('SiStripOffline')
0005 
0006 
0007 #############################################
0008 # General setup
0009 #############################################
0010 
0011 # message logger
0012 process.load('DQM.SiStripCommissioningSources.OfflineMessageLogger_cff')
0013 
0014 # DQM service
0015 process.load('DQM.SiStripCommissioningSources.OfflineDQM_cff')
0016 
0017 # config db settings
0018 process.load('DQM.SiStripCommissioningSources.OfflineSiStripConfigDb_cff')
0019 process.SiStripConfigDb.Partitions.PrimaryPartition.PartitionName = 'DBPART'
0020 process.SiStripConfigDb.Partitions.PrimaryPartition.RunNumber     = RUNNUMBER
0021 
0022 # input source
0023 process.load('DQM.SiStripCommissioningSources.OfflineSource_cfi')
0024 
0025 
0026 ##############################################
0027 # modules & path for analysis without tracking
0028 ##############################################
0029 
0030 # tracker digi producer
0031 process.load('EventFilter.SiStripRawToDigi.FedChannelDigis_cfi')
0032 
0033 # filter to distinguish between runs not needing or needing tracking
0034 process.load('DQM.SiStripCommissioningSources.TrackingRunTypeFilter_cfi')
0035 
0036 # Commissioning source file production
0037 process.load('DQM.SiStripCommissioningSources.CommissioningHistos_cfi')
0038 process.CommissioningHistos.CommissioningTask = 'UNDEFINED'  # <-- run type taken from event data, but can be overriden
0039 
0040 # the path to run for analysis without tracking
0041 process.p1 = cms.Path(
0042     process.FedChannelDigis *
0043     ~process.trackingRunTypeFilter *
0044     process.CommissioningHistos
0045 )
0046 
0047 
0048 #############################################
0049 # setup to prepare tracking
0050 #############################################
0051 
0052 # reco inclusion ; cleanup? // was: I'd love to include less, but I fail...
0053 process.load('Configuration.StandardSequences.Reconstruction_cff')
0054 # geometry
0055 process.load('DQM.SiStripCommissioningSources.CRackGeometry_cff')
0056 # magnetic field (0T by default)
0057 process.load('MagneticField.Engine.uniformMagneticField_cfi')
0058 
0059 # fake global position
0060 process.load('Alignment.CommonAlignmentProducer.GlobalPosition_Fake_cff')
0061 # fake conditions for gain
0062 process.load('CalibTracker.Configuration.SiStripGain.SiStripGain_Fake_cff')
0063 # empty quality fake, avoiding RunIfoRcd from DB
0064 process.load("CalibTracker.SiStripESProducers.SiStripQualityESProducer_cfi")
0065 process.siStripQualityESProducer.UseEmptyRunInfo = cms.bool(True)
0066 process.siStripQualityESProducer.ListOfRecordToMerge = cms.VPSet()
0067 # fake LA conditions
0068 process.load('CalibTracker.SiStripESProducers.fake.SiStripLorentzAngleFakeESSource_cfi')
0069 # fake conditions for threshold
0070 process.load('CalibTracker.SiStripESProducers.fake.SiStripThresholdFakeESSource_cfi')
0071 process.load('CalibTracker.SiPixelESProducers.SiPixelFakeLorentzAngleESSource_cfi')
0072 # beam spot fake conditions
0073 process.load('RecoVertex.BeamSpotProducer.BeamSpotFakeConditionsNominalCollision_cfi')
0074 
0075 # rechit matcher
0076 process.load('RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitMatcher_cfi')
0077 # CPEs
0078 process.load('RecoLocalTracker.SiStripRecHitConverter.StripCPEfromTrackAngle_cfi')
0079 # TransientTrackingBuilder
0080 process.load('RecoTracker.TransientTrackingRecHit.TransientTrackingRecHitBuilder_cfi')
0081 process.ttrhbwr.PixelCPE = cms.string('PixelCPEfromTrackAngle')
0082 # MeasurementTracker
0083 process.load('RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cff')
0084 process.MeasurementTracker.StripCPE = cms.string('StripCPEfromTrackAngle')
0085 process.MeasurementTracker.PixelCPE = cms.string('PixelCPEfromTrackAngle')
0086 process.MeasurementTracker.UseStripModuleQualityDB = cms.bool(False)   # read Module status from SiStripQuality
0087 process.MeasurementTracker.UseStripAPVFiberQualityDB = cms.bool(False) # read APV and Fiber status from SiStripQuality
0088 process.MeasurementTracker.UseStripStripQualityDB = cms.bool(False)    # read Strip status from SiStripQuality
0089 
0090 
0091 #############################################
0092 # modules & path for analysis with tracking
0093 #############################################
0094 
0095 # strips digi zero suppression
0096 process.load('RecoLocalTracker.SiStripZeroSuppression.SiStripZeroSuppression_cfi')
0097 process.siStripZeroSuppression.RawDigiProducersList = cms.VInputTag(
0098     cms.InputTag('FedChannelDigis','VirginRaw'), 
0099     cms.InputTag('FedChannelDigis','ProcessedRaw'),
0100     cms.InputTag('FedChannelDigis','ScopeMode')
0101 )
0102 
0103 # produce clusters from zero suppressed digis
0104 process.load('RecoLocalTracker.SiStripClusterizer.SiStripClusterizer_cfi')
0105 process.siStripClusters.DigiProducersList = cms.VInputTag(
0106     cms.InputTag('FedChannelDigis','ZeroSuppressed'),
0107     cms.InputTag('siStripZeroSuppression','VirginRaw'),
0108     cms.InputTag('siStripZeroSuppression','ProcessedRaw'),
0109     cms.InputTag('siStripZeroSuppression','ScopeMode')
0110 )
0111 
0112 # produce the rechits
0113 process.load('RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi')
0114 
0115 # find the seeds
0116 process.load('DQM.SiStripCommissioningSources.CRackSeedGenerator_cff')
0117 
0118 # reconstruct track candidates
0119 process.load('DQM.SiStripCommissioningSources.CRackCosmicCandidateFinder_cff')
0120 
0121 # reconstruct tracks
0122 process.load('RecoTracker.TrackProducer.TrackProducer_cfi')
0123 process.TrackProducer.src = cms.InputTag('cosmicCandidateFinder')
0124 process.TrackProducer.Fitter = cms.string('RKFittingSmoother')
0125 process.TrackProducer.TrajectoryInEvent = cms.bool(True)
0126 process.TrackProducer.TTRHBuilder = cms.string('WithTrackAngle')
0127 process.TrackProducer.AlgorithmName = cms.string('cosmic')
0128 process.TrackProducer.alias=('') # can we drop this?
0129 
0130 # do the fine delay analysis
0131 process.load('DQM.SiStripCommissioningSources.SiStripFineDelayHit_cfi')
0132 
0133 # Commissioning source file production
0134 process.CommissioningHistosWithTracking = process.CommissioningHistos.clone(
0135     InputModuleLabel = 'siStripFineDelayHit',
0136     SignalToNoiseCut = cms.double(3.0)
0137 )
0138 
0139 # the path to run for analysis with tracking
0140 process.p2 = cms.Path(
0141     process.FedChannelDigis *
0142     process.trackingRunTypeFilter *
0143     process.offlineBeamSpot *
0144     process.siStripZeroSuppression *
0145     process.siStripClusters *
0146     process.siStripMatchedRecHits *
0147     process.cosmicseedfinder *
0148     process.cosmicCandidateFinder *
0149     process.TrackProducer *
0150     process.siStripFineDelayHit *
0151     process.CommissioningHistosWithTracking
0152 )
0153 
0154 
0155 #############################################
0156 # output
0157 #############################################
0158 
0159 #process.load('DQM.SiStripCommissioningSources.OfflineOutput_cfi')
0160 #process.outpath = cms.EndPath( process.consumer )
0161 
0162 
0163 #############################################
0164