CMS 3D CMS Logo

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