CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
particleFlow_cfi.py
Go to the documentation of this file.
2 
3 particleFlowTmp = cms.EDProducer("PFProducer",
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('electronsCiCLoose'),
80  egammaElectrons = cms.InputTag('mvaElectrons'),
81 
82  # Input displaced vertices
83  # It is strongly adviced to keep usePFNuclearInteractions = bCorrect
84 
85  rejectTracks_Bad = cms.bool(True),
86  rejectTracks_Step45 = cms.bool(True),
87 
88  usePFNuclearInteractions = cms.bool(True),
89  usePFConversions = cms.bool(True),
90  usePFDecays = cms.bool(False),
91 
92  dptRel_DispVtx = cms.double(10.),
93 
94  iCfgCandConnector = cms.PSet(
95 
96  bCorrect = cms.bool(True),
97  bCalibPrimary = cms.bool(True),
98  dptRel_PrimaryTrack = cms.double(10.),
99  dptRel_MergedTrack = cms.double(5.0),
100  ptErrorSecondary = cms.double(1.0),
101  nuclCalibFactors = cms.vdouble(0.8, 0.15, 0.5, 0.5, 0.05)
102  ),
103 
104 
105 
106  # Treatment of muons :
107  # Expected energy in ECAL and HCAL, and RMS
108  muon_HCAL = cms.vdouble(3.0,3.0),
109  muon_ECAL = cms.vdouble(0.5,0.5),
110  muon_HO = cms.vdouble(0.9,0.9),
111 
112  # Use PF muon momentum assigment instead of default reco muon one
113  usePFMuonMomAssign = cms.bool(False),
114  useBestMuonTrack = cms.bool(False),
115 
116  # Treatment of potential fake tracks
117  # Number of sigmas for fake track detection
118  nsigma_TRACK = cms.double(1.0),
119  # Absolute pt error to detect fake tracks in the first three iterations
120  # dont forget to modify also ptErrorSecondary if you modify this parameter
121  pt_Error = cms.double(1.0),
122  # Factors to be applied in the four and fifth steps to the pt error
123  factors_45 = cms.vdouble(10.,100.),
124 
125  # Post HF cleaning
126  postHFCleaning = cms.bool(False),
127  # Clean only objects with pt larger than this value
128  minHFCleaningPt = cms.double(5.),
129  # Clean only if the initial MET/sqrt(sumet) is larger than this value
130  maxSignificance = cms.double(2.5),
131  # Clean only if the final MET/sqrt(sumet) is smaller than this value
132  minSignificance = cms.double(2.5),
133  # Clean only if the significance reduction is larger than this value
134  minSignificanceReduction = cms.double(1.4),
135  # Clean only if the MET and the to-be-cleaned object satisfy this DeltaPhi * Pt cut
136  # (the MET angular resoution is in 1/MET)
137  maxDeltaPhiPt = cms.double(7.0),
138  # Clean only if the MET relative reduction from the to-be-cleaned object
139  # is larger than this value
140  minDeltaMet = cms.double(0.4),
141 
142  # Check HF cleaning
143  cleanedHF = cms.VInputTag(
144  cms.InputTag("particleFlowRecHitHCAL","Cleaned"),
145  cms.InputTag("particleFlowClusterHFHAD","Cleaned"),
146  cms.InputTag("particleFlowClusterHFEM","Cleaned")
147  ),
148 
149  # number of sigmas for neutral energy detection
150  pf_nsigma_ECAL = cms.double(0.0),
151  pf_nsigma_HCAL = cms.double(1.0),
152 
153  # ECAL/HCAL PF cluster calibration : take it from global tag ?
154  useCalibrationsFromDB = cms.bool(True),
155 
156  # calibration parameters for HF:
157  calibHF_use = cms.bool(False),
158  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),
159 # 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),
160 # 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),
161 # 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),
162 # 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)
163  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),
164  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),
165  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),
166  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)
167 
168 # toRead = cms.untracked.vstring("PFfa_BARREL",
169 # "PFfa_ENDCAP",
170 # "PFfb_BARREL",
171 # "PFfb_ENDCAP",
172 # "PFfc_BARREL",
173 # "PFfc_ENDCAP",
174 # "PFfaEta_BARREL",
175 # "PFfaEta_ENDCAP",
176 # "PFfbEta_BARREL",
177 # "PFfbEta_ENDCAP") # same strings as fType
178 
179 )
180 
181 
182