Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
import FWCore.ParameterSet.Config as cms

process = cms.Process("SiStrpDQMLive")

#process.load("DQM.SiStripCommon.MessageLogger_cfi")

process.MessageLogger = cms.Service("MessageLogger",
    cerr = cms.untracked.PSet(
        enable = cms.untracked.bool(False)
    ),
    cout = cms.untracked.PSet(
        enable = cms.untracked.bool(True),
        threshold = cms.untracked.string('ERROR')
    ),
    debugModules = cms.untracked.vstring('SiStripFineDelayHit')
)

#----------------------------
# Event Source
#-----------------------------

process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )
process.source = cms.Source("PoolSource",
        fileNames = cms.untracked.vstring('INPUTFILE')
)

#-----------------------------
# Magnetic Field
#-----------------------------
process.load('Configuration.StandardSequences.MagneticField_cff')

#-------------------------------------------------
# GEOMETRY
#-------------------------------------------------
process.load("Configuration.StandardSequences.GeometryRecoDB_cff")

#--------------------------
# Global tag
#--------------------------
process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
process.GlobalTag.globaltag = "GR09_P_V4::All"

#--------------------------------------------
## Patch to avoid using Run Info information in reconstruction
#
process.siStripQualityESProducer.ListOfRecordToMerge = cms.VPSet(
   cms.PSet( record = cms.string("SiStripDetVOffRcd"),    tag    = cms.string("") ),
   cms.PSet( record = cms.string("SiStripDetCablingRcd"), tag    = cms.string("") ),
#  cms.PSet( record = cms.string("RunInfoRcd"),           tag    = cms.string("") ),
   cms.PSet( record = cms.string("SiStripBadChannelRcd"), tag    = cms.string("") ),
   cms.PSet( record = cms.string("SiStripBadFiberRcd"),   tag    = cms.string("") ),
   cms.PSet( record = cms.string("SiStripBadModuleRcd"),  tag    = cms.string("") )
   )
#-------------------------------------------
                                                                                           
#-----------------------
#  Reconstruction Modules
#-----------------------
# Real data raw to digi
process.load("EventFilter.SiStripRawToDigi.SiStripDigis_cfi")
process.siStripDigis.ProductLabel = 'source'
process.load("EventFilter.SiPixelRawToDigi.SiPixelRawToDigi_cfi")
process.siPixelDigis.InputLabel = 'source'

# Local and Track Reconstruction
process.load("RecoLocalTracker.Configuration.RecoLocalTracker_Cosmics_cff")
process.load("RecoTracker.Configuration.RecoTrackerP5_cff")

# offline beam spot
process.load("RecoVertex.BeamSpotProducer.BeamSpot_cff")

#tweak unpacking for commissioning
process.siStripDigis.UseDaqRegister = True
process.siStripDigis.UseFedKey = True
process.siStripDigis.TriggerFedId = -1

#tweak the reconstruction: change thresholds
process.siStripClusters.Clusterizer.ClusterThreshold = 9
process.siStripClusters.Clusterizer.SeedThreshold = 6
process.siStripClusters.Clusterizer.ChannelThreshold = 4

#commissioning sequence
process.DQMStore = cms.Service("DQMStore")

process.siStripFineDelayHit = cms.EDProducer("SiStripFineDelayHit",
    TrajInEvent = cms.bool(True),
    SeedsLabel = cms.InputTag("cosmicseedfinder"),
    MaxClusterDistance = cms.double(2.0),
    TracksLabel = cms.InputTag("ctfWithMaterialTracksP5"), #cosmictrackfinderP5
    ExplorationWindow = cms.uint32(10),
    MagneticField = cms.bool(True),
    cosmic = cms.bool(True),
    InputModuleLabel = cms.InputTag("siStripDigis"),
    DigiLabel = cms.InputTag("siStripZeroSuppression","VirginRaw"),
    ClustersLabel = cms.InputTag("siStripClusters"),
    #mode = cms.string('DelayScan'),
    TTRHBuilder = cms.string('WithTrackAngle'),
    NoClustering = cms.bool(False),
    NoTracking = cms.bool(False),
    MaxTrackAngle = cms.double(45.0),
    MinTrackMomentum = cms.double(1.0)
)

process.histos = cms.EDAnalyzer("SiStripCommissioningSource",
    SummaryInputModuleLabel = cms.string('siStripDigis'),
    CommissioningTask = cms.untracked.string('UNDEFINED'),
    HistoUpdateFreq = cms.untracked.int32(10),
    InputModuleLabel = cms.string('siStripFineDelayHit'),
    RootFileName = cms.untracked.string('SiStripCommissioningSource'),
    SignalToNoiseCut = cms.double(3.0)
)

#--------------------------
# Scheduling
#--------------------------
process.RecoForDQM = cms.Sequence(process.siPixelDigis*process.siStripDigis*process.offlineBeamSpot*process.trackerlocalreco*process.ctftracksP5)
process.commissioning = cms.Sequence(process.siStripFineDelayHit*process.histos)
process.p = cms.Path(process.RecoForDQM*process.commissioning)