31 std::vector<double> calibHF_eta_step;
32 std::vector<double> calibHF_a_EMonly;
33 std::vector<double> calibHF_b_HADonly;
34 std::vector<double> calibHF_a_EMHAD;
35 std::vector<double> calibHF_b_EMHAD;
37 calibHF_eta_step = iConfig.
getParameter<std::vector<double> >(
"calibHF_eta_step");
38 calibHF_a_EMonly = iConfig.
getParameter<std::vector<double> >(
"calibHF_a_EMonly");
39 calibHF_b_HADonly = iConfig.
getParameter<std::vector<double> >(
"calibHF_b_HADonly");
40 calibHF_a_EMHAD = iConfig.
getParameter<std::vector<double> >(
"calibHF_a_EMHAD");
41 calibHF_b_EMHAD = iConfig.
getParameter<std::vector<double> >(
"calibHF_b_EMHAD");
42 boost::shared_ptr<PFEnergyCalibrationHF>
43 thepfEnergyCalibrationHF (
new PFEnergyCalibrationHF(calibHF_use,calibHF_eta_step,calibHF_a_EMonly,calibHF_b_HADonly,calibHF_a_EMHAD,calibHF_b_EMHAD) ) ;
64 if( useEGammaElectrons_) {
69 = iConfig.
getParameter<std::string>(
"pf_electron_output_col");
72 std::vector<double> calibPFSCEle_Fbrem_barrel;
73 std::vector<double> calibPFSCEle_Fbrem_endcap;
74 std::vector<double> calibPFSCEle_barrel;
75 std::vector<double> calibPFSCEle_endcap;
76 usePFSCEleCalib = iConfig.
getParameter<
bool>(
"usePFSCEleCalib");
77 calibPFSCEle_Fbrem_barrel = iConfig.
getParameter<std::vector<double> >(
"calibPFSCEle_Fbrem_barrel");
78 calibPFSCEle_Fbrem_endcap = iConfig.
getParameter<std::vector<double> >(
"calibPFSCEle_Fbrem_endcap");
79 calibPFSCEle_barrel = iConfig.
getParameter<std::vector<double> >(
"calibPFSCEle_barrel");
80 calibPFSCEle_endcap = iConfig.
getParameter<std::vector<double> >(
"calibPFSCEle_endcap");
81 boost::shared_ptr<PFSCEnergyCalibration>
82 thePFSCEnergyCalibration (
new PFSCEnergyCalibration(calibPFSCEle_Fbrem_barrel,calibPFSCEle_Fbrem_endcap,
83 calibPFSCEle_barrel,calibPFSCEle_endcap ));
85 bool useEGammaSupercluster = iConfig.
getParameter<
bool>(
"useEGammaSupercluster");
86 double sumEtEcalIsoForEgammaSC_barrel = iConfig.
getParameter<
double>(
"sumEtEcalIsoForEgammaSC_barrel");
87 double sumEtEcalIsoForEgammaSC_endcap = iConfig.
getParameter<
double>(
"sumEtEcalIsoForEgammaSC_endcap");
88 double coneEcalIsoForEgammaSC = iConfig.
getParameter<
double>(
"coneEcalIsoForEgammaSC");
89 double sumPtTrackIsoForEgammaSC_barrel = iConfig.
getParameter<
double>(
"sumPtTrackIsoForEgammaSC_barrel");
90 double sumPtTrackIsoForEgammaSC_endcap = iConfig.
getParameter<
double>(
"sumPtTrackIsoForEgammaSC_endcap");
91 double coneTrackIsoForEgammaSC = iConfig.
getParameter<
double>(
"coneTrackIsoForEgammaSC");
92 unsigned int nTrackIsoForEgammaSC = iConfig.
getParameter<
unsigned int>(
"nTrackIsoForEgammaSC");
96 produces<reco::PFCandidateCollection>();
97 produces<reco::PFCandidateCollection>(
"CleanedHF");
98 produces<reco::PFCandidateCollection>(
"CleanedCosmicsMuons");
99 produces<reco::PFCandidateCollection>(
"CleanedTrackerAndGlobalMuons");
100 produces<reco::PFCandidateCollection>(
"CleanedFakeMuons");
101 produces<reco::PFCandidateCollection>(
"CleanedPunchThroughMuons");
102 produces<reco::PFCandidateCollection>(
"CleanedPunchThroughNeutralHadrons");
103 produces<reco::PFCandidateCollection>(
"AddedMuonsAndHadrons");
106 if (usePFElectrons_) {
120 string mvaWeightFileEleID
121 = iConfig.
getParameter<
string>(
"pf_electronID_mvaWeightFile");
123 bool applyCrackCorrectionsForElectrons
124 = iConfig.
getParameter<
bool>(
"pf_electronID_crackCorrection");
126 string path_mvaWeightFileEleID;
129 path_mvaWeightFileEleID =
edm::FileInPath ( mvaWeightFileEleID.c_str() ).fullPath();
134 string path_mvaWeightFileConvID;
135 string mvaWeightFileConvID;
136 double mvaConvCut=-99.;
139 mvaWeightFileConvID =iConfig.
getParameter<
string>(
"pf_convID_mvaWeightFile");
141 mvaConvCut = iConfig.
getParameter<
double>(
"pf_conv_mvaCut");
142 path_mvaWeightFileConvID =
edm::FileInPath ( mvaWeightFileConvID.c_str() ).fullPath();
148 bool rejectTracks_Bad
151 bool rejectTracks_Step45
154 bool usePFNuclearInteractions
155 = iConfig.
getParameter<
bool>(
"usePFNuclearInteractions");
157 bool usePFConversions
163 double dptRel_DispVtx
175 boost::shared_ptr<PFEnergyCalibration>
189 pfAlgo_->setParameters( nSigmaECAL,
192 thepfEnergyCalibrationHF);
195 pfAlgo_->setPFEleParameters(mvaEleCut,
196 path_mvaWeightFileEleID,
198 thePFSCEnergyCalibration,
200 sumEtEcalIsoForEgammaSC_barrel,
201 sumEtEcalIsoForEgammaSC_endcap,
202 coneEcalIsoForEgammaSC,
203 sumPtTrackIsoForEgammaSC_barrel,
204 sumPtTrackIsoForEgammaSC_endcap,
205 nTrackIsoForEgammaSC,
206 coneTrackIsoForEgammaSC,
207 applyCrackCorrectionsForElectrons,
210 useEGammaSupercluster);
215 pfAlgo_->setPFPhotonParameters(usePFPhotons_,
216 path_mvaWeightFileConvID,
223 pfAlgo_->setDisplacedVerticesParameters(rejectTracks_Bad,
225 usePFNuclearInteractions,
230 if (usePFNuclearInteractions)
231 pfAlgo_->setCandConnectorParameters( iCfgCandConnector );
234 std::vector<double> muonHCAL
235 = iConfig.
getParameter<std::vector<double> >(
"muon_HCAL");
236 std::vector<double> muonECAL
237 = iConfig.
getParameter<std::vector<double> >(
"muon_ECAL");
238 assert ( muonHCAL.size() == 2 && muonECAL.size() == 2 );
247 std::vector<double> factors45
248 = iConfig.
getParameter<std::vector<double> >(
"factors_45");
249 assert ( factors45.size() == 2 );
251 bool usePFMuonMomAssign
255 pfAlgo_->setPFMuonAndFakeParameters(muonHCAL,
266 double minHFCleaningPt
268 double minSignificance
270 double maxSignificance
272 double minSignificanceReduction
273 = iConfig.
getParameter<
double>(
"minSignificanceReduction");
280 pfAlgo_->setPostHFCleaningParameters(postHFCleaning,
284 minSignificanceReduction,
290 = iConfig.
getParameter< std::vector<edm::InputTag> >(
"cleanedHF");
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::auto_ptr< PFAlgo > pfAlgo_
particle flow algorithm
edm::InputTag inputTagMuons_
std::vector< edm::InputTag > inputTagCleanedHF_
bool useCalibrationsFromDB_
bool useVerticesForNeutral_
edm::InputTag inputTagBlocks_
edm::InputTag inputTagEgammaElectrons_
std::string electronOutputCol_
std::string electronExtraOutputCol_