CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiStripOfflineP5_cfg.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # process declaration
4 process = cms.Process('SiStripOffline')
5 
6 
7 #############################################
8 # General setup
9 #############################################
10 
11 # message logger
12 process.load('DQM.SiStripCommissioningSources.OfflineMessageLogger_cff')
13 
14 # DQM service
15 process.load('DQM.SiStripCommissioningSources.OfflineDQM_cff')
16 
17 # config db settings
18 process.load('DQM.SiStripCommissioningSources.OfflineSiStripConfigDb_cff')
19 process.SiStripConfigDb.Partitions.PrimaryPartition.PartitionName = 'DBPART'
20 process.SiStripConfigDb.Partitions.PrimaryPartition.RunNumber = RUNNUMBER
21 
22 # input source
23 process.load('DQM.SiStripCommissioningSources.OfflineSource_cfi')
24 
25 
26 ##############################################
27 # modules & path for analysis without tracking
28 ##############################################
29 
30 # tracker digi producer
31 process.load('EventFilter.SiStripRawToDigi.FedChannelDigis_cfi')
32 
33 # filter to distinguish between runs not needing or needing tracking
34 process.load('DQM.SiStripCommissioningSources.TrackingRunTypeFilter_cfi')
35 
36 # Commissioning source file production
37 process.load('DQM.SiStripCommissioningSources.CommissioningHistos_cfi')
38 process.CommissioningHistos.CommissioningTask = 'UNDEFINED' # <-- run type taken from event data, but can be overriden
39 
40 # the path to run for analysis without tracking
41 process.p1 = cms.Path(
42  process.FedChannelDigis *
43  ~process.trackingRunTypeFilter *
44  process.CommissioningHistos
45 )
46 
47 
48 #############################################
49 # setup to prepare tracking
50 #############################################
51 
52 # reco inclusion ; cleanup? // was: I'd love to include less, but I fail...
53 process.load('Configuration.StandardSequences.Reconstruction_cff')
54 # geometry
55 process.load('DQM.SiStripCommissioningSources.P5Geometry_cff')
56 # magnetic field (0T by default)
57 process.load('MagneticField.Engine.uniformMagneticField_cfi')
58 
59 # fake global position
60 process.load('Alignment.CommonAlignmentProducer.GlobalPosition_Fake_cff')
61 # fake conditions for gain
62 process.load('CalibTracker.Configuration.SiStripGain.SiStripGain_Fake_cff')
63 # empty quality fake, avoiding RunIfoRcd from DB
64 process.load("CalibTracker.SiStripESProducers.SiStripQualityESProducer_cfi")
65 process.siStripQualityESProducer.UseEmptyRunInfo = cms.bool(True)
66 process.siStripQualityESProducer.ListOfRecordToMerge = cms.VPSet()
67 # fake LA conditions
68 process.load('CalibTracker.SiStripESProducers.fake.SiStripLorentzAngleFakeESSource_cfi')
69 process.load('CalibTracker.SiStripESProducers.fake.SiStripLorentzAngleFakeESSource_cfi')
70 # fake conditions for threshold
71 process.load('CalibTracker.SiStripESProducers.fake.SiStripThresholdFakeESSource_cfi')
72 process.load('CalibTracker.SiPixelESProducers.SiPixelFakeLorentzAngleESSource_cfi')
73 # beam spot fake conditions
74 process.load('RecoVertex.BeamSpotProducer.BeamSpotFakeConditionsNominalCollision_cfi')
75 
76 # rechit matcher
77 process.load('RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitMatcher_cfi')
78 # CPEs
79 process.load('RecoLocalTracker.SiStripRecHitConverter.StripCPEfromTrackAngle_cfi')
80 process.load('RecoLocalTracker.SiPixelRecHits.PixelCPEParmError_cfi')
81 # TransientTrackingBuilder
82 process.load('RecoTracker.TransientTrackingRecHit.TransientTrackingRecHitBuilder_cfi')
83 process.ttrhbwr.PixelCPE = cms.string('PixelCPEfromTrackAngle')
84 # MeasurementTracker
85 process.load('RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cff')
86 process.MeasurementTracker.StripCPE = cms.string('StripCPEfromTrackAngle')
87 process.MeasurementTracker.PixelCPE = cms.string('PixelCPEfromTrackAngle')
88 process.MeasurementTracker.UseStripModuleQualityDB = cms.bool(False) # read Module status from SiStripQuality
89 process.MeasurementTracker.UseStripAPVFiberQualityDB = cms.bool(False) # read APV and Fiber status from SiStripQuality
90 process.MeasurementTracker.UseStripStripQualityDB = cms.bool(False) # read Strip status from SiStripQuality
91 
92 
93 #############################################
94 # modules & path for analysis with tracking
95 #############################################
96 
97 # strips digi zero suppression
98 process.load('RecoLocalTracker.SiStripZeroSuppression.SiStripZeroSuppression_cfi')
99 process.siStripZeroSuppression.RawDigiProducersList = cms.VInputTag(
100  cms.InputTag('FedChannelDigis','VirginRaw'),
101  cms.InputTag('FedChannelDigis','ProcessedRaw'),
102  cms.InputTag('FedChannelDigis','ScopeMode')
103 )
104 
105 # produce clusters from zero suppressed digis
106 process.load('RecoLocalTracker.SiStripClusterizer.SiStripClusterizer_cfi')
107 process.siStripClusters.DigiProducersList = cms.VInputTag(
108  cms.InputTag('FedChannelDigis','ZeroSuppressed'),
109  cms.InputTag('siStripZeroSuppression','VirginRaw'),
110  cms.InputTag('siStripZeroSuppression','ProcessedRaw'),
111  cms.InputTag('siStripZeroSuppression','ScopeMode')
112 )
113 
114 # produce the rechits
115 process.load('RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi')
116 
117 # find the seeds
118 process.load('DQM.SiStripCommissioningSources.P5SeedGenerator_cff')
119 
120 # reconstruct track candidates
121 process.load('DQM.SiStripCommissioningSources.P5CosmicCandidateFinder_cff')
122 
123 # reconstruct tracks
124 process.load('RecoTracker.TrackProducer.TrackProducer_cfi')
125 process.TrackProducer.src = cms.InputTag('cosmicCandidateFinder')
126 process.TrackProducer.Fitter = cms.string('RKFittingSmoother')
127 process.TrackProducer.TrajectoryInEvent = cms.bool(True)
128 process.TrackProducer.TTRHBuilder = cms.string('WithTrackAngle')
129 process.TrackProducer.AlgorithmName = cms.string('cosmic')
130 process.TrackProducer.alias=('') # can we drop this?
131 
132 # do the fine delay analysis
133 process.load('DQM.SiStripCommissioningSources.SiStripFineDelayHit_cfi')
134 
135 # Commissioning source file production
136 process.CommissioningHistosWithTracking = process.CommissioningHistos.clone()
137 process.CommissioningHistosWithTracking.InputModuleLabel = cms.string('siStripFineDelayHit')
138 process.CommissioningHistosWithTracking.SignalToNoiseCut = cms.double(3.0)
139 
140 # the path to run for analysis with tracking
141 process.p2 = cms.Path(
142  process.FedChannelDigis *
143  process.trackingRunTypeFilter *
144  process.offlineBeamSpot *
145  process.siStripZeroSuppression *
146  process.siStripClusters *
147  process.siStripMatchedRecHits *
148  process.cosmicseedfinder *
149  process.cosmicCandidateFinder *
150  process.TrackProducer *
151  process.siStripFineDelayHit *
152  process.CommissioningHistosWithTracking
153 )
154 
155 
156 #############################################
157 # output
158 #############################################
159 
160 #process.load('DQM.SiStripCommissioningSources.OfflineOutput_cfi')
161 #process.outpath = cms.EndPath( process.consumer )
162 
163 
164 #############################################
165