35 std::vector<double> calibHF_eta_step;
36 std::vector<double> calibHF_a_EMonly;
37 std::vector<double> calibHF_b_HADonly;
38 std::vector<double> calibHF_a_EMHAD;
39 std::vector<double> calibHF_b_EMHAD;
41 calibHF_eta_step = iConfig.
getParameter<std::vector<double> >(
"calibHF_eta_step");
42 calibHF_a_EMonly = iConfig.
getParameter<std::vector<double> >(
"calibHF_a_EMonly");
43 calibHF_b_HADonly = iConfig.
getParameter<std::vector<double> >(
"calibHF_b_HADonly");
44 calibHF_a_EMHAD = iConfig.
getParameter<std::vector<double> >(
"calibHF_a_EMHAD");
45 calibHF_b_EMHAD = iConfig.
getParameter<std::vector<double> >(
"calibHF_b_EMHAD");
46 boost::shared_ptr<PFEnergyCalibrationHF>
47 thepfEnergyCalibrationHF (
new PFEnergyCalibrationHF(calibHF_use,calibHF_eta_step,calibHF_a_EMonly,calibHF_b_HADonly,calibHF_a_EMHAD,calibHF_b_EMHAD) ) ;
82 std::vector<double> calibPFSCEle_Fbrem_barrel;
83 std::vector<double> calibPFSCEle_Fbrem_endcap;
84 std::vector<double> calibPFSCEle_barrel;
85 std::vector<double> calibPFSCEle_endcap;
86 usePFSCEleCalib = iConfig.
getParameter<
bool>(
"usePFSCEleCalib");
87 calibPFSCEle_Fbrem_barrel = iConfig.
getParameter<std::vector<double> >(
"calibPFSCEle_Fbrem_barrel");
88 calibPFSCEle_Fbrem_endcap = iConfig.
getParameter<std::vector<double> >(
"calibPFSCEle_Fbrem_endcap");
89 calibPFSCEle_barrel = iConfig.
getParameter<std::vector<double> >(
"calibPFSCEle_barrel");
90 calibPFSCEle_endcap = iConfig.
getParameter<std::vector<double> >(
"calibPFSCEle_endcap");
91 boost::shared_ptr<PFSCEnergyCalibration>
92 thePFSCEnergyCalibration (
new PFSCEnergyCalibration(calibPFSCEle_Fbrem_barrel,calibPFSCEle_Fbrem_endcap,
93 calibPFSCEle_barrel,calibPFSCEle_endcap ));
95 bool useEGammaSupercluster = iConfig.
getParameter<
bool>(
"useEGammaSupercluster");
96 double sumEtEcalIsoForEgammaSC_barrel = iConfig.
getParameter<
double>(
"sumEtEcalIsoForEgammaSC_barrel");
97 double sumEtEcalIsoForEgammaSC_endcap = iConfig.
getParameter<
double>(
"sumEtEcalIsoForEgammaSC_endcap");
98 double coneEcalIsoForEgammaSC = iConfig.
getParameter<
double>(
"coneEcalIsoForEgammaSC");
99 double sumPtTrackIsoForEgammaSC_barrel = iConfig.
getParameter<
double>(
"sumPtTrackIsoForEgammaSC_barrel");
100 double sumPtTrackIsoForEgammaSC_endcap = iConfig.
getParameter<
double>(
"sumPtTrackIsoForEgammaSC_endcap");
101 double coneTrackIsoForEgammaSC = iConfig.
getParameter<
double>(
"coneTrackIsoForEgammaSC");
102 unsigned int nTrackIsoForEgammaSC = iConfig.
getParameter<
unsigned int>(
"nTrackIsoForEgammaSC");
106 produces<reco::PFCandidateCollection>();
107 produces<reco::PFCandidateCollection>(
"CleanedHF");
108 produces<reco::PFCandidateCollection>(
"CleanedCosmicsMuons");
109 produces<reco::PFCandidateCollection>(
"CleanedTrackerAndGlobalMuons");
110 produces<reco::PFCandidateCollection>(
"CleanedFakeMuons");
111 produces<reco::PFCandidateCollection>(
"CleanedPunchThroughMuons");
112 produces<reco::PFCandidateCollection>(
"CleanedPunchThroughNeutralHadrons");
113 produces<reco::PFCandidateCollection>(
"AddedMuonsAndHadrons");
116 if (usePFElectrons_) {
136 string mvaWeightFileEleID
137 = iConfig.
getParameter<
string>(
"pf_electronID_mvaWeightFile");
139 bool applyCrackCorrectionsForElectrons
140 = iConfig.
getParameter<
bool>(
"pf_electronID_crackCorrection");
142 string path_mvaWeightFileEleID;
145 path_mvaWeightFileEleID =
edm::FileInPath ( mvaWeightFileEleID.c_str() ).fullPath();
150 string path_mvaWeightFileConvID;
151 string mvaWeightFileConvID;
152 string path_mvaWeightFileGCorr;
153 string path_mvaWeightFileLCorr;
155 string path_mvaWeightFileRes;
156 double mvaConvCut=-99.;
157 double sumPtTrackIsoForPhoton = 99.;
158 double sumPtTrackIsoSlopeForPhoton = 99.;
162 mvaWeightFileConvID =iConfig.
getParameter<
string>(
"pf_convID_mvaWeightFile");
163 mvaConvCut = iConfig.
getParameter<
double>(
"pf_conv_mvaCut");
164 path_mvaWeightFileConvID =
edm::FileInPath ( mvaWeightFileConvID.c_str() ).fullPath();
165 sumPtTrackIsoForPhoton = iConfig.
getParameter<
double>(
"sumPtTrackIsoForPhoton");
166 sumPtTrackIsoSlopeForPhoton = iConfig.
getParameter<
double>(
"sumPtTrackIsoSlopeForPhoton");
172 string mvaWeightFileLCorr=iConfig.
getParameter<
string>(
"pf_locC_mvaWeightFile");
173 path_mvaWeightFileLCorr =
edm::FileInPath( mvaWeightFileLCorr.c_str() ).fullPath();
174 string mvaWeightFileGCorr=iConfig.
getParameter<
string>(
"pf_GlobC_mvaWeightFile");
175 path_mvaWeightFileGCorr =
edm::FileInPath( mvaWeightFileGCorr.c_str() ).fullPath();
176 string mvaWeightFileRes=iConfig.
getParameter<
string>(
"pf_Res_mvaWeightFile");
177 path_mvaWeightFileRes=
edm::FileInPath(mvaWeightFileRes.c_str()).fullPath();
179 TFile *fgbr =
new TFile(path_mvaWeightFileGCorr.c_str(),
"READ");
181 TFile *fgbr2 =
new TFile(path_mvaWeightFileLCorr.c_str(),
"READ");
183 TFile *fgbr3 =
new TFile(path_mvaWeightFileRes.c_str(),
"READ");
185 LogDebug(
"PFProducer")<<
"Will set regressions from binary files " <<endl;
193 bool rejectTracks_Bad
196 bool rejectTracks_Step45
199 bool usePFNuclearInteractions
200 = iConfig.
getParameter<
bool>(
"usePFNuclearInteractions");
202 bool usePFConversions
208 double dptRel_DispVtx
220 boost::shared_ptr<PFEnergyCalibration>
234 pfAlgo_->setParameters( nSigmaECAL,
237 thepfEnergyCalibrationHF);
240 pfAlgo_->setPFEleParameters(mvaEleCut,
241 path_mvaWeightFileEleID,
243 thePFSCEnergyCalibration,
245 sumEtEcalIsoForEgammaSC_barrel,
246 sumEtEcalIsoForEgammaSC_endcap,
247 coneEcalIsoForEgammaSC,
248 sumPtTrackIsoForEgammaSC_barrel,
249 sumPtTrackIsoForEgammaSC_endcap,
250 nTrackIsoForEgammaSC,
251 coneTrackIsoForEgammaSC,
252 applyCrackCorrectionsForElectrons,
255 useEGammaSupercluster);
260 pfAlgo_->setPFPhotonParameters(usePFPhotons_,
261 path_mvaWeightFileConvID,
266 sumPtTrackIsoForPhoton,
267 sumPtTrackIsoSlopeForPhoton);
272 pfAlgo_->setDisplacedVerticesParameters(rejectTracks_Bad,
274 usePFNuclearInteractions,
279 if (usePFNuclearInteractions)
280 pfAlgo_->setCandConnectorParameters( iCfgCandConnector );
285 pfAlgo_->setPFMuonAndFakeParameters(iConfig);
290 double minHFCleaningPt
292 double minSignificance
294 double maxSignificance
296 double minSignificanceReduction
297 = iConfig.
getParameter<
double>(
"minSignificanceReduction");
304 pfAlgo_->setPostHFCleaningParameters(postHFCleaning,
308 minSignificanceReduction,
314 = iConfig.
getParameter< std::vector<edm::InputTag> >(
"cleanedHF");
const GBRForest * ReaderRes_
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::string photonExtraOutputCol_
std::auto_ptr< PFAlgo > pfAlgo_
particle flow algorithm
edm::InputTag inputTagMuons_
const GBRForest * ReaderLC_
std::vector< edm::InputTag > inputTagCleanedHF_
bool useCalibrationsFromDB_
bool useVerticesForNeutral_
bool useRegressionFromDB_
edm::InputTag inputTagBlocks_
edm::InputTag inputTagEgammaElectrons_
std::string electronOutputCol_
std::string electronExtraOutputCol_
const GBRForest * ReaderGC_