Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:39:45

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