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
import FWCore.ParameterSet.Config as cms

import FWCore.ParameterSet.VarParsing as VarParsing

process = cms.Process("CALIB")

options = VarParsing.VarParsing("analysis")

options.register ('connectionString',
                  "",
                  VarParsing.VarParsing.multiplicity.singleton, # singleton or list
                  VarParsing.VarParsing.varType.string,          # string, int, or float
                  "connection string")
options.register ('noiseTagName',
                  "",
                  VarParsing.VarParsing.multiplicity.singleton, # singleton or list
                  VarParsing.VarParsing.varType.string,          # string, int, or float
                  "noise tag name")
options.register ('gainTagName',
                  "",
                  VarParsing.VarParsing.multiplicity.singleton, # singleton or list
                  VarParsing.VarParsing.varType.string,          # string, int, or float
                  "gain tag name")
options.register ('firstRunNumber',
                  0,
                  VarParsing.VarParsing.multiplicity.singleton, # singleton or list
                  VarParsing.VarParsing.varType.int,          # string, int, or float
                  "first run number")
options.register ('secondRunNumber',
                  0,
                  VarParsing.VarParsing.multiplicity.singleton, # singleton or list
                  VarParsing.VarParsing.varType.int,          # string, int, or float
                  "second run number")

options.parseArguments()


process.MessageLogger = cms.Service("MessageLogger",
                                    out = cms.untracked.PSet(threshold = cms.untracked.string('INFO')),
                                    cerr = cms.untracked.PSet(threshold = cms.untracked.string('WARNING')),
                                    destinations = cms.untracked.vstring('out','cerr')
                                    )

process.source = cms.Source("EmptyIOVSource",
                            firstValue = cms.uint64(options.firstRunNumber),
                            lastValue = cms.uint64(options.secondRunNumber),
                            timetype = cms.string('runnumber'),
                            interval = cms.uint64(1)
                            )

# the DB Geometry is NOT used because in this cfg only one tag is taken from the DB and no GT is used. To be fixed if this is a problem
process.load('Configuration.Geometry.GeometryExtended_cff')
process.TrackerTopologyEP = cms.ESProducer("TrackerTopologyEP")
process.load("Geometry.TrackerGeometryBuilder.trackerParameters_cfi")

process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(-1))

process.poolDBESSource = cms.ESSource("PoolDBESSource",
                                      DBParameters = cms.PSet(messageLevel = cms.untracked.int32(1), # it used to be 2
                                                              authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb')
                                                              ),
                                      connect = cms.string(options.connectionString),
                                      toGet = cms.VPSet(cms.PSet(record = cms.string('SiStripNoisesRcd'),
                                                                 tag = cms.string(options.noiseTagName)
                                                                 ),
                                                        cms.PSet(record = cms.string('SiStripApvGainRcd'),
                                                                 tag = cms.string(options.gainTagName)
                                                                 )
                                                        )
                                      )


process.analysis = cms.EDAnalyzer("SiStripCorrelateNoise")


process.p = cms.Path(process.analysis)