Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 maxevents=10
0004 isMC=False
0005 #isMC=True
0006 
0007 
0008 process = cms.Process('TEST')
0009 
0010 #process.load('JetMETAnalysis.PromptAnalysis.ntuple_cff')
0011 
0012 process.load('Configuration.StandardSequences.Services_cff')
0013 process.load('Configuration/StandardSequences/GeometryExtended_cff')
0014 process.load('Configuration/StandardSequences/Reconstruction_cff')
0015 process.load("Configuration/StandardSequences/FrontierConditions_GlobalTag_cff")
0016 
0017 # GLOBAL TAGS:  REPLACE WITH WHATEVER IS APPROPRIATE FOR YOUR WORK!
0018 
0019 #MC (Summer09-V16D_900GeV-v1)
0020 if (isMC):
0021     process.GlobalTag.globaltag ='START3X_V16D::All'
0022 
0023 #DATA (Feb9ReReco)  
0024 else:
0025     process.GlobalTag.globaltag ='GR09_R_34X_V5::All'
0026 
0027 #process.TFileService = cms.Service("TFileService",
0028     #fileName = cms.string( THISROOTFILE ),
0029     #closeFileFast = cms.untracked.bool(True)
0030 #)
0031 
0032 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(maxevents) )
0033 process.source = cms.Source (
0034     "PoolSource",
0035     fileNames = cms.untracked.vstring(
0036        '/store/data/BeamCommissioning09/ZeroBias/RECO/Feb9ReReco_v2/0027/F08E9178-7016-DF11-82B4-00163E0101D2.root',
0037     ),
0038     duplicateCheckMode = cms.untracked.string("noDuplicateCheck"),
0039     secondaryFileNames = cms.untracked.vstring()
0040 )
0041 
0042 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0043 process.MessageLogger.cerr.FwkReport.reportEvery = 1
0044 process.MessageLogger.cerr.default.limit = 100
0045 
0046 # summary
0047 process.options   = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) )
0048 process.load("hcalrechitreflagger_cfi")
0049 #process.hcalrecoReflagged = cms.EDProducer("RecHitReflagger")
0050 #process.hcalrechitReflagger.debug=4
0051 process.towerMakerPET = process.towerMaker.clone()
0052 process.towerMakerPET.hfInput = cms.InputTag("hcalrechitReflagger")
0053 process.metPET = process.met.clone()
0054 process.metPET.src = cms.InputTag("towerMakerPET")
0055 process.ak5CaloJetsPET = process.ak5CaloJets.clone()
0056 process.ak5CaloJetsPET.src = cms.InputTag("towerMakerPET")
0057 
0058 # Output definition
0059 process.output = cms.OutputModule("PoolOutputModule",
0060     splitLevel = cms.untracked.int32(0),
0061     #outputCommands = process.RECOSIMEventContent.outputCommands,
0062     fileName = cms.untracked.string('output_file.root')
0063 )
0064 
0065 
0066 #New SeverityLevelComputer that forces RecHits with UserDefinedBit0 set to be excluded from new rechit collection
0067 
0068 #process.hcalRecAlgos.SeverityLevels.append(cms.PSet(Level = cms.int32(2),
0069 #                                                    RecHitFlags = cms.vstring('HFPET','HFS9S1'),
0070 #                                                    ChannelStatus = cms.vstring('')))
0071 
0072 print("STARTING SL:")
0073 for i in process.hcalRecAlgos.SeverityLevels:
0074         print(i)
0075         
0076 
0077 
0078 severitylevels=[]  # Store all severity levels
0079 AddedFlag=False
0080 NewSevLevel=10
0081 for i in range(len(process.hcalRecAlgos.SeverityLevels)):  # loop over each severity level
0082     severitylevels.append(process.hcalRecAlgos.SeverityLevels[i].Level.value())  # store severity value
0083     flagvec=process.hcalRecAlgos.SeverityLevels[i].RecHitFlags.value()  # Get vector of rechit flags for this severity level
0084     flaglevel=process.hcalRecAlgos.SeverityLevels[i].Level.value()
0085     if "UserDefinedBit0" in flagvec and flaglevel!=10:  # remove HFLongShort from its default position
0086         flagvec.remove("UserDefinedBit0")
0087         process.hcalRecAlgos.SeverityLevels[i].RecHitFlags=flagvec
0088         print("Removed 'UserDefinedBit0' from severity level %i"%(process.hcalRecAlgos.SeverityLevels[i].Level.value()))
0089     if (flaglevel==NewSevLevel):  # Set UserDefinedBit0 severity to 10, which will exclude such rechits from CaloTower
0090         print("FOUND LEVEL %i!"%NewSevLevel)
0091         if "UserDefinedBit0" not in flagvec:
0092             if (flagvec!=['']):
0093                 flagvec.append("UserDefinedBit0")
0094             else:
0095                 flagvec=["UserDefinedBit0"]
0096             process.hcalRecAlgos.SeverityLevels[i].RecHitFlags=flagvec
0097             AddedFlag=True
0098 if (AddedFlag==False):
0099     print("Found no Severity Level = %i; Adding it now"%NewSevLevel)
0100     process.hcalRecAlgos.SeverityLevels.append(cms.PSet(Level=cms.int32(NewSevLevel),
0101                                                         RecHitFlags=cms.vstring("UserDefinedBit0"),
0102                                                         ChannelStatus=cms.vstring("")))
0103 
0104 print("New Severity Levels:")
0105 for i in process.hcalRecAlgos.SeverityLevels:
0106     print(i)
0107 
0108 #print process.hbhereco.firstSample, "  FIRST"
0109 
0110 process.reflagging_step = cms.Path(process.hcalrechitReflagger)
0111 process.reconstruction_step = cms.Path(process.towerMakerPET*(process.metPET+process.ak5CaloJetsPET))
0112 process.out_step = cms.EndPath(process.output)
0113 
0114 process.schedule = cms.Schedule(process.reflagging_step,process.reconstruction_step,process.out_step)
0115