1 |
"""
|
2 |
Using on top of CMSSW_3_6_X
|
3 |
JetMETAnalysis/HcalReflagging V00-00-16
|
4 |
RecoLocalCalo/HcalRecAlgos V00-07-11
|
5 |
"""
|
6 |
|
7 |
import FWCore.ParameterSet.Config as cms
|
8 |
|
9 |
def addHFReflagging(process,version,isMC):
|
10 |
process.load("JetMETAnalysis/HcalReflagging/HFrechitreflaggerJETMET_cff")
|
11 |
#version = 10
|
12 |
#isMC = False
|
13 |
if version==1:
|
14 |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv1.clone()
|
15 |
elif version==2:
|
16 |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv2.clone()
|
17 |
elif version==3:
|
18 |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv3.clone()
|
19 |
elif version==4:
|
20 |
if (isMC==False):
|
21 |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv4.clone()
|
22 |
else:
|
23 |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv2.clone()
|
24 |
elif version==5:
|
25 |
if (isMC==False):
|
26 |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv5.clone()
|
27 |
else:
|
28 |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv3.clone()
|
29 |
# CURRENT RECOMMENDATION
|
30 |
elif version==10:
|
31 |
process.hfrecoReflagged = process.HFrechitreflaggerJETMETv10.clone()
|
32 |
# V10 cleaning uses results of prior flags when setting new flags; this is the current recommendation as of 21 July 2010
|
33 |
if (isMC==False):
|
34 |
import string
|
35 |
process.hfrecoReflagged.PETstat.flagsToSkip =string.atoi('10',2)
|
36 |
process.hfrecoReflagged.S8S1stat.flagsToSkip=string.atoi('10010',2)
|
37 |
process.hfrecoReflagged.S9S1stat.flagsToSkip=string.atoi('11010',2)
|
38 |
# Flag ordering
|
39 |
# set flag 4 (HFPET -- also sets HFLongShort), then flag 3 (HFS8S1 -- also sets HFLongShort), then flag 0 (HFLongShort -- set directly via S9S1)
|
40 |
process.hfrecoReflagged.FlagsToSet=(4,3,0)
|
41 |
# Add debugging here
|
42 |
#process.hfrecoReflagged.debug=1
|
43 |
import JetMETAnalysis.HcalReflagging.RemoveAddSevLevel as RemoveAddSevLevel
|
44 |
process.hcalRecAlgos=RemoveAddSevLevel.AddFlag(process.hcalRecAlgos,"HFLongShort",11)
|
45 |
if (isMC==False): # Don't use HFDigiTime on MC !
|
46 |
process.hcalRecAlgos=RemoveAddSevLevel.AddFlag(process.hcalRecAlgos,"HFDigiTime",11)
|
47 |
|
48 |
# Use the reflagged HF RecHits to make the CaloTowers
|
49 |
process.towerMaker.hfInput = "hfrecoReflagged"
|
50 |
process.towerMakerWithHO.hfInput = "hfrecoReflagged"
|
51 |
|
52 |
return process
|
53 |
|
54 |
def addHBHEReflagging(process):
|
55 |
process.load("JetMETAnalysis/HcalReflagging/isolhbherechitreflaggerJETMET_cfi")
|
56 |
process.hbherecoReflagged = process.isolhbherechitreflaggerJETMET.clone()
|
57 |
|
58 |
import JetMETAnalysis.HcalReflagging.RemoveAddSevLevel as RemoveAddSevLevel
|
59 |
process.hcalRecAlgos=RemoveAddSevLevel.AddFlag(process.hcalRecAlgos,"UserDefinedBit0",10)
|
60 |
|
61 |
# Use the reflagged HBHE RecHits to make the CaloTowers
|
62 |
process.towerMaker.hbheInput = "hbherecoReflagged"
|
63 |
process.towerMakerWithHO.hbheInput = "hbherecoReflagged"
|
64 |
|
65 |
return process
|