CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
particleFlowEGamma_cfi.py
Go to the documentation of this file.
2 
3 particleFlowEGamma = cms.EDProducer("PFEGammaProducer",
4 
5  # PF Blocks label
6  blocks = cms.InputTag("particleFlowBlock"),
7 
8  # reco::muons label and Post Muon cleaning
9  muons = cms.InputTag("muons1stStep"),
10  postMuonCleaning = cms.bool(True),
11 
12  # Vertices label
13  vertexCollection = cms.InputTag("offlinePrimaryVertices"),
14  useVerticesForNeutral = cms.bool(True),
15 
16  # Algorithm type ?
17  algoType = cms.uint32(0),
18 
19  # Verbose and debug flags
20  verbose = cms.untracked.bool(False),
21  debug = cms.untracked.bool(False),
22 
23  # Use HO clusters in PF hadron reconstruction
24  useHO = cms.bool(True),
25 
26  # Use electron identification in PFAlgo
27  usePFElectrons = cms.bool(True),
28  pf_electron_output_col=cms.string('electrons'),
29  pf_electronID_mvaWeightFile = cms.string('RecoParticleFlow/PFProducer/data/MVAnalysis_BDT.weights_PfElectrons23Jan_IntToFloat.txt'),
30 
31  # Use Photon identification in PFAlgo (for now this has NO impact, algo is swicthed off hard-coded
32  usePFPhotons = cms.bool(True),
33  usePhotonReg=cms.bool(False),
34  useRegressionFromDB=cms.bool(True),
35  pf_convID_mvaWeightFile = cms.string('RecoParticleFlow/PFProducer/data/MVAnalysis_BDT.weights_pfConversionAug0411.txt'),
36  pf_conv_mvaCut=cms.double(0.0),
37  pf_locC_mvaWeightFile=cms.string('RecoParticleFlow/PFProducer/data/TMVARegression_BDTG_PFClusterLCorr_14Dec2011.root'),
38  pf_GlobC_mvaWeightFile=cms.string('RecoParticleFlow/PFProducer/data/TMVARegression_BDTG_PFGlobalCorr_14Dec2011.root'),
39  pf_Res_mvaWeightFile=cms.string('RecoParticleFlow/PFProducer/data/TMVARegression_BDTG_PFRes_14Dec2011.root'),
40  X0_Map=cms.string('RecoParticleFlow/PFProducer/data/allX0histos.root'),
41  sumPtTrackIsoForPhoton=cms.double(2.0),
42  sumPtTrackIsoSlopeForPhoton=cms.double(0.001),
43 
44 
45  pf_electron_mvaCut = cms.double(-0.1),
46  # apply the crack corrections
47  pf_electronID_crackCorrection = cms.bool(False),
48  usePFSCEleCalib = cms.bool(True),
49  #new corrections #MM /*
50  calibPFSCEle_Fbrem_barrel = cms.vdouble(0.6, 6, #Range of non constant correction
51  -0.0255975, 0.0576727, 0.975442, -0.000546394, 1.26147, #standard parameters
52  25, #pt value for switch to low pt corrections
53  -0.02025, 0.04537, 0.9728, -0.0008962, 1.172), # low pt parameters
54  calibPFSCEle_Fbrem_endcap = cms.vdouble(0.9, 6.5, #Range of non constant correction
55  -0.0692932, 0.101776, 0.995338, -0.00236548, 0.874998, #standard parameters eta < switch value
56  1.653, #eta value for correction switch
57  -0.0750184, 0.147000, 0.923165, 0.000474665, 1.10782), #standard parameters eta > switch value
58  calibPFSCEle_barrel = cms.vdouble(1.004, -1.536, 22.88, -1.467, #standard
59  0.3555, 0.6227, 14.65, 2051, #parameters
60  25, #pt value for switch to low pt corrections
61  0.9932, -0.5444, 0, 0.5438, #low pt
62  0.7109, 7.645, 0.2904, 0), #parameters
63  calibPFSCEle_endcap = cms.vdouble(1.153, -16.5975, 5.668,
64  -0.1772, 16.22, 7.326,
65  0.0483, -4.068, 9.406),
66  #old corrections #MM */
67 # calibPFSCEle_barrel = cms.vdouble(1.0326,-13.71,339.72,0.4862,0.00182,0.36445,1.411,1.0206,0.0059162,-5.14434e-05,1.42516e-07),
68 # calibPFSCEle_endcap = cms.vdouble(0.9995,-12.313,2.8784,-1.057e-04,10.282,3.059,1.3502e-03,-2.2185,3.4206),
69 
70  useEGammaSupercluster = cms.bool(True),
71  sumEtEcalIsoForEgammaSC_barrel = cms.double(1.),
72  sumEtEcalIsoForEgammaSC_endcap = cms.double(2.),
73  coneEcalIsoForEgammaSC = cms.double(0.3),
74  sumPtTrackIsoForEgammaSC_barrel = cms.double(4.),
75  sumPtTrackIsoForEgammaSC_endcap = cms.double(4.),
76  nTrackIsoForEgammaSC = cms.uint32(2),
77  coneTrackIsoForEgammaSC = cms.double(0.3),
78  useEGammaElectrons = cms.bool(True),
79  egammaElectrons = cms.InputTag('mvaElectrons'),
80 
81  # Input displaced vertices
82  # It is strongly adviced to keep usePFNuclearInteractions = bCorrect
83 
84  rejectTracks_Bad = cms.bool(True),
85  rejectTracks_Step45 = cms.bool(True),
86 
87  usePFNuclearInteractions = cms.bool(True),
88  usePFConversions = cms.bool(True),
89  usePFDecays = cms.bool(False),
90 
91  dptRel_DispVtx = cms.double(10.),
92 
93  iCfgCandConnector = cms.PSet(
94 
95  bCorrect = cms.bool(True),
96  bCalibPrimary = cms.bool(True),
97  dptRel_PrimaryTrack = cms.double(10.),
98  dptRel_MergedTrack = cms.double(5.0),
99  ptErrorSecondary = cms.double(1.0),
100  nuclCalibFactors = cms.vdouble(0.8, 0.15, 0.5, 0.5, 0.05)
101  ),
102 
103 
104 
105  # Treatment of muons :
106  # Expected energy in ECAL and HCAL, and RMS
107  muon_HCAL = cms.vdouble(3.0,3.0),
108  muon_ECAL = cms.vdouble(0.5,0.5),
109  muon_HO = cms.vdouble(0.9,0.9),
110 
111  # Muon ID and post cleaning parameters
112  maxDPtOPt = cms.double(1.),
113  minTrackerHits = cms.int32(8),
114  minPixelHits = cms.int32(1),
115  trackQuality = cms.string('highPurity'),
116  dzPV = cms.double(0.2),
117  ptErrorScale = cms.double(8.),
118  minPtForPostCleaning = cms.double(20.),
119  eventFactorForCosmics =cms.double(10.),
120  metSignificanceForCleaning = cms.double(3.),
121  metSignificanceForRejection = cms.double(4.),
122  metFactorForCleaning = cms.double(4.),
123  eventFractionForCleaning =cms.double(0.5),
124  eventFractionForRejection = cms.double(0.8),
125  metFactorForRejection =cms.double(4.),
126  metFactorForHighEta = cms.double(25.),
127  ptFactorForHighEta = cms.double(2.),
128  metFactorForFakes = cms.double(4.),
129  minMomentumForPunchThrough = cms.double(100.),
130  minEnergyForPunchThrough = cms.double(100.),
131  punchThroughFactor = cms.double(3.),
132  punchThroughMETFactor = cms.double(4.),
133  cosmicRejectionDistance = cms.double(1.),
134 
135  # Treatment of potential fake tracks
136  # Number of sigmas for fake track detection
137  nsigma_TRACK = cms.double(1.0),
138  # Absolute pt error to detect fake tracks in the first three iterations
139  # dont forget to modify also ptErrorSecondary if you modify this parameter
140  pt_Error = cms.double(1.0),
141  # Factors to be applied in the four and fifth steps to the pt error
142  factors_45 = cms.vdouble(10.,100.),
143 
144  # Post HF cleaning
145  postHFCleaning = cms.bool(False),
146  # Clean only objects with pt larger than this value
147  minHFCleaningPt = cms.double(5.),
148  # Clean only if the initial MET/sqrt(sumet) is larger than this value
149  maxSignificance = cms.double(2.5),
150  # Clean only if the final MET/sqrt(sumet) is smaller than this value
151  minSignificance = cms.double(2.5),
152  # Clean only if the significance reduction is larger than this value
153  minSignificanceReduction = cms.double(1.4),
154  # Clean only if the MET and the to-be-cleaned object satisfy this DeltaPhi * Pt cut
155  # (the MET angular resoution is in 1/MET)
156  maxDeltaPhiPt = cms.double(7.0),
157  # Clean only if the MET relative reduction from the to-be-cleaned object
158  # is larger than this value
159  minDeltaMet = cms.double(0.4),
160 
161  # Check HF cleaning
162  cleanedHF = cms.VInputTag(
163  cms.InputTag("particleFlowRecHitHCAL","Cleaned"),
164  cms.InputTag("particleFlowClusterHFHAD","Cleaned"),
165  cms.InputTag("particleFlowClusterHFEM","Cleaned")
166  ),
167 
168  # number of sigmas for neutral energy detection
169  pf_nsigma_ECAL = cms.double(0.0),
170  pf_nsigma_HCAL = cms.double(1.0),
171 
172  # ECAL/HCAL PF cluster calibration : take it from global tag ?
173  useCalibrationsFromDB = cms.bool(True),
174 
175  # calibration parameters for HF:
176  calibHF_use = cms.bool(False),
177  calibHF_eta_step = cms.vdouble(0.0,2.90,3.00,3.20,4.20,4.40,4.60,4.80,5.20,5.40),
178 # calibHF_a_EMonly = cms.vdouble(10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00),
179 # calibHF_b_HADonly = cms.vdouble(10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00),
180 # calibHF_a_EMHAD = cms.vdouble(10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00),
181 # calibHF_b_EMHAD = cms.vdouble(10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00,10.00)
182  calibHF_a_EMonly = cms.vdouble(0.96945,0.96701,0.76309,0.82268,0.87583,0.89718,0.98674,1.4681,1.4580,1.4580),
183  calibHF_b_HADonly = cms.vdouble(1.27541,0.85361,0.86333,0.89091,0.94348,0.94348,0.94370,1.0034,1.0444,1.0444),
184  calibHF_a_EMHAD = cms.vdouble(1.42215,1.00496,0.68961,0.81656,0.98504,0.98504,1.00802,1.0593,1.4576,1.4576),
185  calibHF_b_EMHAD = cms.vdouble(1.27541,0.85361,0.86333,0.89091,0.94348,0.94348,0.94370,1.0034,1.0444,1.0444)
186 
187 # toRead = cms.untracked.vstring("PFfa_BARREL",
188 # "PFfa_ENDCAP",
189 # "PFfb_BARREL",
190 # "PFfb_ENDCAP",
191 # "PFfc_BARREL",
192 # "PFfc_ENDCAP",
193 # "PFfaEta_BARREL",
194 # "PFfaEta_ENDCAP",
195 # "PFfbEta_BARREL",
196 # "PFfbEta_ENDCAP") # same strings as fType
197 
198 )
199 
200 
201