Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-25 02:29:04

0001 import os
0002 import FWCore.ParameterSet.Config as cms
0003 
0004 # for json support
0005 try: # FUTURE: Python 2.6, prior to 2.6 requires simplejson
0006     import json
0007 except:
0008     try:
0009         import simplejson as json
0010     except:
0011         print("Please use lxplus or set an environment (for example crab) with json lib available")
0012         sys.exit(1)
0013 
0014 inputfiles = os.environ["ALIGNMENT_INPUTFILES"].split(" ")
0015 iteration = int(os.environ["ALIGNMENT_ITERATION"])
0016 jobnumber = int(os.environ["ALIGNMENT_JOBNUMBER"])
0017 mapplots = (os.environ["ALIGNMENT_MAPPLOTS"] == "True")
0018 segdiffplots = (os.environ["ALIGNMENT_SEGDIFFPLOTS"] == "True")
0019 curvatureplots = (os.environ["ALIGNMENT_CURVATUREPLOTS"] == "True")
0020 
0021 globaltag = os.environ["ALIGNMENT_GLOBALTAG"]
0022 inputdb = os.environ["ALIGNMENT_INPUTDB"]
0023 trackerconnect = os.environ["ALIGNMENT_TRACKERCONNECT"]
0024 trackeralignment = os.environ["ALIGNMENT_TRACKERALIGNMENT"]
0025 trackerAPEconnect = os.environ["ALIGNMENT_TRACKERAPECONNECT"]
0026 trackerAPE = os.environ["ALIGNMENT_TRACKERAPE"]
0027 trackerBowsconnect = os.environ["ALIGNMENT_TRACKERBOWSCONNECT"]
0028 trackerBows = os.environ["ALIGNMENT_TRACKERBOWS"]
0029 gprcdconnect = os.environ["ALIGNMENT_GPRCDCONNECT"]
0030 gprcd = os.environ["ALIGNMENT_GPRCD"]
0031 
0032 iscosmics = (os.environ["ALIGNMENT_ISCOSMICS"] == "True")
0033 station123params = os.environ["ALIGNMENT_STATION123PARAMS"]
0034 station4params = os.environ["ALIGNMENT_STATION4PARAMS"]
0035 cscparams = os.environ["ALIGNMENT_CSCPARAMS"]
0036 minTrackPt = float(os.environ["ALIGNMENT_MINTRACKPT"])
0037 maxTrackPt = float(os.environ["ALIGNMENT_MAXTRACKPT"])
0038 minTrackP = float(os.environ["ALIGNMENT_MINTRACKP"])
0039 maxTrackP = float(os.environ["ALIGNMENT_MAXTRACKP"])
0040 minTrackerHits = int(os.environ["ALIGNMENT_MINTRACKERHITS"])
0041 maxTrackerRedChi2 = float(os.environ["ALIGNMENT_MAXTRACKERREDCHI2"])
0042 allowTIDTEC = (os.environ["ALIGNMENT_ALLOWTIDTEC"] == "True")
0043 twoBin = (os.environ["ALIGNMENT_TWOBIN"] == "True")
0044 weightAlignment = (os.environ["ALIGNMENT_WEIGHTALIGNMENT"] == "True")
0045 minAlignmentHits = int(os.environ["ALIGNMENT_MINALIGNMENTHITS"])
0046 combineME11 = (os.environ["ALIGNMENT_COMBINEME11"] == "True")
0047 maxEvents = int(os.environ["ALIGNMENT_MAXEVENTS"])
0048 skipEvents = int(os.environ["ALIGNMENT_SKIPEVENTS"])
0049 maxResSlopeY = float(os.environ["ALIGNMENT_MAXRESSLOPEY"])
0050 preFilter = (os.environ["ALIGNMENT_PREFILTER"] == "True")
0051 muonCollectionTag = os.environ["ALIGNMENT_MUONCOLLECTIONTAG"]
0052 maxDxy = float(os.environ["ALIGNMENT_MAXDXY"])
0053 minNCrossedChambers = int(os.environ["ALIGNMENT_MINNCROSSEDCHAMBERS"])
0054 
0055 # optionally: create ntuples along with tmp files 
0056 createAlignNtuple = False
0057 envNtuple = os.getenv("ALIGNMENT_CREATEALIGNNTUPLE")
0058 if envNtuple is not None:
0059   if envNtuple=='True': createAlignNtuple = True
0060 
0061 # optionally: create a ntuple with MapPlot plugin
0062 createMapNtuple = False
0063 envNtuple = os.getenv("ALIGNMENT_CREATEMAPNTUPLE")
0064 if envNtuple is not None:
0065   if envNtuple=='True': createMapNtuple = True
0066 
0067 # optionally do selective DT or CSC alignment
0068 doDT = True
0069 doCSC = True
0070 envDT = os.getenv("ALIGNMENT_DO_DT")
0071 envCSC = os.getenv("ALIGNMENT_DO_CSC")
0072 if envDT is not None and envCSC is not None:
0073   if envDT=='True' and envCSC=='False':
0074     doDT = True
0075     doCSC = False
0076   if envDT=='False' and envCSC=='True':
0077     doDT = False
0078     doCSC = True
0079 
0080 # optionally use JSON file for good limi mask
0081 good_lumis = []
0082 json_file = os.getenv("ALIGNMENT_JSON")
0083 #json_file = 'Cert_136035-144114_7TeV_StreamExpress_Collisions10_JSON.txt'
0084 if json_file is not None and json_file != '':
0085   jsonfile=file(json_file, 'r')
0086   jsondict = json.load(jsonfile)
0087   runs = sorted(jsondict.keys())
0088   for run in runs:
0089     blocks = sorted(jsondict[run])
0090     prevblock = [-2,-2]
0091     for lsrange in blocks:
0092       if lsrange[0] == prevblock[1]+1:
0093         #print "Run: ",run,"- This lumi starts at ", lsrange[0], " previous ended at ", prevblock[1]+1, " so I should merge"
0094         prevblock[1] = lsrange[1]
0095         good_lumis[-1] = str("%s:%s-%s:%s" % (run, prevblock[0], run, prevblock[1]))
0096       else:
0097         good_lumis.append(str("%s:%s-%s:%s" % (run, lsrange[0], run, lsrange[1])))
0098         prevblock = lsrange
0099 
0100 
0101 process = cms.Process("GATHER")
0102 
0103 process.load("Geometry.MuonNumbering.muonNumberingInitialization_cfi")
0104 process.load("Geometry.DTGeometry.dtGeometry_cfi")
0105 process.load("Geometry.RPCGeometry.rpcGeometry_cfi")
0106 process.load("Geometry.CSCGeometry.cscGeometry_cfi")
0107 process.load("Geometry.CommonTopologies.bareGlobalTrackingGeometry_cfi")
0108 
0109 #add TrackDetectorAssociator lookup maps to the EventSetup
0110 process.load("TrackingTools.TrackAssociator.DetIdAssociatorESProducer_cff") 
0111 from TrackingTools.TrackAssociator.DetIdAssociatorESProducer_cff import *  
0112 from TrackingTools.TrackAssociator.default_cfi import *       
0113 
0114 
0115 process.load("Configuration.StandardSequences.Reconstruction_cff")
0116 
0117 process.MuonNumberingInitialization = cms.ESProducer("MuonNumberingInitialization")
0118 process.MuonNumberingRecord = cms.ESSource( "EmptyESSource",
0119     recordName = cms.string( "MuonNumberingRecord" ),
0120     iovIsRunNotTime = cms.bool( True ),
0121     firstValid = cms.vuint32( 1 )
0122 )
0123 
0124 process.load("Configuration.StandardSequences.GeometryDB_cff")
0125 process.load('Configuration.StandardSequences.MagneticField_cff')
0126 
0127 if len(good_lumis)>0:
0128   process.source = cms.Source("PoolSource",
0129     fileNames = cms.untracked.vstring(*inputfiles),
0130     skipEvents = cms.untracked.uint32(skipEvents), 
0131     lumisToProcess = cms.untracked.VLuminosityBlockRange(*good_lumis))
0132 else:
0133   process.source = cms.Source("PoolSource",
0134     fileNames = cms.untracked.vstring(*inputfiles),
0135     skipEvents = cms.untracked.uint32(skipEvents))
0136 
0137 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(maxEvents))
0138 #process.options = cms.untracked.PSet(  wantSummary = cms.untracked.bool(True) )
0139 
0140 
0141 process.MessageLogger = cms.Service("MessageLogger",
0142                                     destinations = cms.untracked.vstring("cout"),
0143                                     cout = cms.untracked.PSet(threshold = cms.untracked.string("ERROR"),
0144                                                               ERROR = cms.untracked.PSet(limit = cms.untracked.int32(10))))
0145 
0146 process.load("Alignment.MuonAlignmentAlgorithms.MuonAlignmentFromReference_cff")
0147 process.looper.ParameterBuilder.Selector.alignParams = cms.vstring("MuonDTChambers,%s,stations123" % station123params, "MuonDTChambers,%s,station4" % station4params, "MuonCSCChambers,%s" % cscparams)
0148 # TODO : uncomment the line below when AlignmentProducer is updated:
0149 #process.looper.muonCollectionTag = cms.InputTag(muonCollectionTag)
0150 process.looper.algoConfig.writeTemporaryFile = "alignment%04d.tmp" % jobnumber
0151 process.looper.algoConfig.doAlignment = False
0152 process.looper.algoConfig.muonCollectionTag = cms.InputTag(muonCollectionTag)
0153 process.looper.algoConfig.minTrackPt = minTrackPt
0154 process.looper.algoConfig.maxTrackPt = maxTrackPt
0155 process.looper.algoConfig.minTrackP = minTrackP
0156 process.looper.algoConfig.maxTrackP = maxTrackP
0157 process.looper.algoConfig.maxDxy = maxDxy
0158 process.looper.algoConfig.minTrackerHits = minTrackerHits
0159 process.looper.algoConfig.maxTrackerRedChi2 = maxTrackerRedChi2
0160 process.looper.algoConfig.allowTIDTEC = allowTIDTEC
0161 process.looper.algoConfig.minNCrossedChambers = minNCrossedChambers
0162 process.looper.algoConfig.twoBin = twoBin
0163 process.looper.algoConfig.weightAlignment = weightAlignment
0164 process.looper.algoConfig.minAlignmentHits = minAlignmentHits
0165 process.looper.algoConfig.combineME11 = combineME11
0166 process.looper.algoConfig.maxResSlopeY = maxResSlopeY
0167 #process.looper.algoConfig.createNtuple = createAlignNtuple
0168 process.looper.algoConfig.minDT13Hits = 7
0169 process.looper.algoConfig.doDT = doDT
0170 process.looper.algoConfig.doCSC = doCSC
0171 
0172 process.looper.monitorConfig = cms.PSet(monitors = cms.untracked.vstring())
0173 
0174 if mapplots:
0175     process.load("Alignment.CommonAlignmentMonitor.AlignmentMonitorMuonSystemMap1D_cfi")
0176     process.looper.monitorConfig.monitors.append("AlignmentMonitorMuonSystemMap1D")
0177     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D = process.AlignmentMonitorMuonSystemMap1D
0178     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.muonCollectionTag = cms.InputTag(muonCollectionTag)
0179     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.minTrackPt = minTrackPt
0180     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.maxTrackPt = maxTrackPt
0181     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.minTrackP = minTrackP
0182     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.maxTrackP = maxTrackP
0183     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.maxDxy = maxDxy
0184     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.minTrackerHits = minTrackerHits
0185     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.maxTrackerRedChi2 = maxTrackerRedChi2
0186     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.allowTIDTEC = allowTIDTEC
0187     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.minNCrossedChambers = process.looper.algoConfig.minNCrossedChambers
0188     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.minDT13Hits = process.looper.algoConfig.minDT13Hits
0189     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.minDT2Hits = process.looper.algoConfig.minDT2Hits
0190     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.minCSCHits = process.looper.algoConfig.minCSCHits
0191     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.doDT = doDT
0192     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.doCSC = doCSC
0193     process.looper.monitorConfig.AlignmentMonitorMuonSystemMap1D.createNtuple = createMapNtuple
0194 
0195 if segdiffplots:
0196     process.load("Alignment.CommonAlignmentMonitor.AlignmentMonitorSegmentDifferences_cfi")
0197     process.looper.monitorConfig.monitors.append("AlignmentMonitorSegmentDifferences")
0198     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences = process.AlignmentMonitorSegmentDifferences
0199     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.muonCollectionTag = cms.InputTag(muonCollectionTag)
0200     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.minTrackPt = minTrackPt
0201     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.minTrackP = minTrackP
0202     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.maxDxy = maxDxy
0203     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.minTrackerHits = minTrackerHits
0204     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.maxTrackerRedChi2 = maxTrackerRedChi2
0205     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.allowTIDTEC = allowTIDTEC
0206     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.minNCrossedChambers = process.looper.algoConfig.minNCrossedChambers
0207     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.minDT13Hits = process.looper.algoConfig.minDT13Hits
0208     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.minDT2Hits = process.looper.algoConfig.minDT2Hits
0209     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.minCSCHits = process.looper.algoConfig.minCSCHits
0210     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.doDT = doDT
0211     process.looper.monitorConfig.AlignmentMonitorSegmentDifferences.doCSC = doCSC
0212 
0213 if curvatureplots:
0214     process.load("Alignment.CommonAlignmentMonitor.AlignmentMonitorMuonVsCurvature_cfi")
0215     process.looper.monitorConfig.monitors.append("AlignmentMonitorMuonVsCurvature")
0216     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature = process.AlignmentMonitorMuonVsCurvature
0217     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.muonCollectionTag = cms.InputTag(muonCollectionTag)
0218     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.minTrackPt = minTrackPt
0219     #process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.minTrackP = minTrackP
0220     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.maxDxy = maxDxy
0221     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.minTrackerHits = minTrackerHits
0222     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.maxTrackerRedChi2 = maxTrackerRedChi2
0223     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.allowTIDTEC = allowTIDTEC
0224     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.minNCrossedChambers = process.looper.algoConfig.minNCrossedChambers
0225     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.minDT13Hits = process.looper.algoConfig.minDT13Hits
0226     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.minDT2Hits = process.looper.algoConfig.minDT2Hits
0227     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.minCSCHits = process.looper.algoConfig.minCSCHits
0228     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.doDT = doDT
0229     process.looper.monitorConfig.AlignmentMonitorMuonVsCurvature.doCSC = doCSC
0230 
0231 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0232 process.GlobalTag.globaltag = cms.string(globaltag)
0233 process.looper.applyDbAlignment = True
0234 process.load("RecoVertex.BeamSpotProducer.BeamSpot_cfi")
0235 
0236 process.load("Alignment.MuonAlignmentAlgorithms.MuonAlignmentPreFilter_cfi")
0237 process.MuonAlignmentPreFilter.minTrackPt = minTrackPt
0238 process.MuonAlignmentPreFilter.minTrackP = minTrackP
0239 process.MuonAlignmentPreFilter.minTrackerHits = minTrackerHits
0240 process.MuonAlignmentPreFilter.allowTIDTEC = allowTIDTEC
0241 
0242 if iscosmics:
0243     process.MuonAlignmentPreFilter.tracksTag = cms.InputTag("ALCARECOMuAlGlobalCosmics:GlobalMuon")
0244     if preFilter: process.Path = cms.Path(process.offlineBeamSpot * process.MuonAlignmentPreFilter * process.MuonAlignmentFromReferenceGlobalCosmicRefit)
0245     else: process.Path = cms.Path(process.offlineBeamSpot * process.MuonAlignmentFromReferenceGlobalCosmicRefit)
0246     process.looper.tjTkAssociationMapTag = cms.InputTag("MuonAlignmentFromReferenceGlobalCosmicRefit:Refitted")
0247 else:
0248     #process.MuonAlignmentPreFilter.tracksTag = cms.InputTag("ALCARECOMuAlCalIsolatedMu:GlobalMuon")
0249     process.MuonAlignmentPreFilter.tracksTag = cms.InputTag("globalMuons")
0250     process.MuonAlignmentFromReferenceGlobalMuonRefit.Tracks = cms.InputTag("globalMuons")
0251     if preFilter: process.Path = cms.Path(process.offlineBeamSpot * process.MuonAlignmentPreFilter * process.MuonAlignmentFromReferenceGlobalMuonRefit)
0252     else: process.Path = cms.Path(process.offlineBeamSpot * process.MuonAlignmentFromReferenceGlobalMuonRefit)
0253     process.looper.tjTkAssociationMapTag = cms.InputTag("MuonAlignmentFromReferenceGlobalMuonRefit:Refitted")
0254 
0255 
0256 if len(muonCollectionTag) > 0: # use Tracker Muons 
0257     process.Path = cms.Path(process.offlineBeamSpot * process.newmuons)
0258 
0259 
0260 process.MuonAlignmentFromReferenceInputDB.connect = cms.string("sqlite_file:%s" % inputdb)
0261 process.MuonAlignmentFromReferenceInputDB.toGet = cms.VPSet(cms.PSet(record = cms.string("DTAlignmentRcd"), tag = cms.string("DTAlignmentRcd")),
0262                                                             cms.PSet(record = cms.string("CSCAlignmentRcd"), tag = cms.string("CSCAlignmentRcd")))
0263 
0264 if trackerconnect != "":
0265     from CondCore.DBCommon.CondDBSetup_cfi import *
0266     process.TrackerAlignmentInputDB = cms.ESSource("PoolDBESSource",
0267                                                    CondDBSetup,
0268                                                    connect = cms.string(trackerconnect),
0269                                                    toGet = cms.VPSet(cms.PSet(record = cms.string("TrackerAlignmentRcd"), tag = cms.string(trackeralignment))))
0270     process.es_prefer_TrackerAlignmentInputDB = cms.ESPrefer("PoolDBESSource", "TrackerAlignmentInputDB")
0271 
0272 if trackerAPEconnect != "":
0273     from CondCore.DBCommon.CondDBSetup_cfi import *
0274     process.TrackerAlignmentErrorInputDB = cms.ESSource("PoolDBESSource",
0275                                                    CondDBSetup,
0276                                                    connect = cms.string(trackerAPEconnect),
0277                                                    toGet = cms.VPSet(cms.PSet(cms.PSet(record = cms.string("TrackerAlignmentErrorExtendedRcd"), tag = cms.string(trackerAPE)))))
0278     process.es_prefer_TrackerAlignmentErrorInputDB = cms.ESPrefer("PoolDBESSource", "TrackerAlignmentErrorInputDB")
0279 
0280 if trackerBowsconnect != "":
0281     from CondCore.DBCommon.CondDBSetup_cfi import *
0282     process.TrackerSurfaceDeformationInputDB = cms.ESSource("PoolDBESSource",
0283                                                    CondDBSetup,
0284                                                    connect = cms.string(trackerBowsconnect),
0285                                                    toGet = cms.VPSet(cms.PSet(cms.PSet(record = cms.string("TrackerSurfaceDeformationRcd"), tag = cms.string(trackerBows)))))
0286     process.es_prefer_TrackerSurfaceDeformationInputDB = cms.ESPrefer("PoolDBESSource", "TrackerSurfaceDeformationInputDB")
0287 
0288 if gprcdconnect != "":
0289     from CondCore.DBCommon.CondDBSetup_cfi import *
0290     process.GlobalPositionInputDB = cms.ESSource("PoolDBESSource",
0291                                                    CondDBSetup,
0292                                                    connect = cms.string(gprcdconnect),
0293                                                    toGet = cms.VPSet(cms.PSet(record = cms.string("GlobalPositionRcd"), tag = cms.string(gprcd))))
0294     process.es_prefer_GlobalPositionInputDB = cms.ESPrefer("PoolDBESSource", "GlobalPositionInputDB")
0295 
0296 
0297 ## the following was needed for Nov 2010 alignment to pick up new lorentz angle and strip conditions for tracker
0298 #process.poolDBESSourceLA = cms.ESSource("PoolDBESSource",
0299 #  BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'),
0300 #  DBParameters = cms.PSet(
0301 #    messageLevel = cms.untracked.int32(0),
0302 #    authenticationPath = cms.untracked.string('.')
0303 #    #messageLevel = cms.untracked.int32(2),
0304 #    #authenticationPath = cms.untracked.string('/path/to/authentication')
0305 #  ),
0306 #  timetype = cms.untracked.string('runnumber'),
0307 #  connect = cms.string('frontier://PromptProd/CMS_COND_31X_STRIP'),
0308 #  toGet = cms.VPSet(cms.PSet(
0309 #    record = cms.string('SiStripLorentzAngleRcd'),
0310 #    tag = cms.string('SiStripLorentzAngle_GR10_v2_offline')
0311 #  ))
0312 #)
0313 #process.es_prefer_LA = cms.ESPrefer('PoolDBESSource','poolDBESSourceLA')
0314 #
0315 #process.poolDBESSourceBP = cms.ESSource("PoolDBESSource",
0316 #  BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'),
0317 #  DBParameters = cms.PSet(
0318 #    messageLevel = cms.untracked.int32(0),
0319 #    authenticationPath = cms.untracked.string('.')
0320 #    #messageLevel = cms.untracked.int32(2),
0321 #    #authenticationPath = cms.untracked.string('/path/to/authentication')
0322 #  ),
0323 #  timetype = cms.untracked.string('runnumber'),
0324 #  connect = cms.string('frontier://PromptProd/CMS_COND_31X_STRIP'),
0325 #  toGet = cms.VPSet(cms.PSet(
0326 #    record = cms.string('SiStripConfObjectRcd'),
0327 #    tag = cms.string('SiStripShiftAndCrosstalk_GR10_v2_offline')
0328 #  ))
0329 #)
0330 #process.es_prefer_BP = cms.ESPrefer('PoolDBESSource','poolDBESSourceBP')
0331 
0332 
0333 process.looper.saveToDB = False
0334 process.looper.saveApeToDB = False
0335 del process.PoolDBOutputService
0336 
0337 process.TFileService = cms.Service("TFileService", fileName = cms.string("plotting%03d.root" % jobnumber))