1 #ifndef PFProducer_PFCandConnector_H_
2 #define PFProducer_PFCandConnector_H_
31 bool bCorrect, bCalibPrimary;
32 double dptRel_PrimaryTrack, dptRel_MergedTrack, ptErrorSecondary;
33 std::vector<double> nuclCalibFactors;
36 bCorrect = iCfgCandConnector.
getParameter<
bool>(
"bCorrect");
38 bCalibPrimary = iCfgCandConnector.
getParameter<
bool>(
"bCalibPrimary");
40 if (iCfgCandConnector.
exists(
"dptRel_PrimaryTrack"))
41 dptRel_PrimaryTrack = iCfgCandConnector.
getParameter<
double>(
"dptRel_PrimaryTrack");
43 edm::LogWarning(
"PFCandConnector") <<
"dptRel_PrimaryTrack doesn't exist. Setting a default safe value 0"
45 dptRel_PrimaryTrack = 0;
48 if (iCfgCandConnector.
exists(
"dptRel_MergedTrack"))
49 dptRel_MergedTrack = iCfgCandConnector.
getParameter<
double>(
"dptRel_MergedTrack");
51 edm::LogWarning(
"PFCandConnector") <<
"dptRel_MergedTrack doesn't exist. Setting a default safe value 0"
53 dptRel_MergedTrack = 0;
56 if (iCfgCandConnector.
exists(
"ptErrorSecondary"))
57 ptErrorSecondary = iCfgCandConnector.
getParameter<
double>(
"ptErrorSecondary");
59 edm::LogWarning(
"PFCandConnector") <<
"ptErrorSecondary doesn't exist. Setting a default safe value 0"
64 if (iCfgCandConnector.
exists(
"nuclCalibFactors"))
65 nuclCalibFactors = iCfgCandConnector.
getParameter<std::vector<double> >(
"nuclCalibFactors");
67 edm::LogWarning(
"PFCandConnector") <<
"nuclear calib factors doesn't exist the factor would not be applyed"
71 setParameters(bCorrect, bCalibPrimary, dptRel_PrimaryTrack, dptRel_MergedTrack, ptErrorSecondary, nuclCalibFactors);
76 double dptRel_PrimaryTrack,
77 double dptRel_MergedTrack,
78 double ptErrorSecondary,
79 const std::vector<double>& nuclCalibFactors);
bool isPrimaryNucl(const reco::PFCandidate &pf) const
bool isSecondaryNucl(const reco::PFCandidate &pf) const
void analyseNuclearWSec(reco::PFCandidateCollection &, std::vector< bool > &, unsigned int) const
Analyse nuclear interactions where a secondary track is present.
double rescaleFactor(const double pt, const double cFrac) const
Return a calibration factor for a reconstructed nuclear interaction.
bool exists(std::string const ¶meterName) const
checks if a parameter exists
static const reco::PFCandidate::Flags fT_FROM_DISP_
static const reco::PFCandidate::Flags fT_TO_DISP_
std::vector< double > fExp_
Based on a class from : V. Roberfroid, February 2008.
std::vector< double > fNorm_
reco::PFCandidateCollection connect(reco::PFCandidateCollection &pfCand) const
void analyseNuclearWPrim(reco::PFCandidateCollection &, std::vector< bool > &, unsigned int) const
Analyse nuclear interactions where a primary or merged track is present.
static const double pion_mass2
Useful constants.
std::vector< double > fConst_
static void fillPSetDescription(edm::ParameterSetDescription &iDesc)
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
double dptRel_PrimaryTrack_
bool bCalibPrimary_
Calibration parameters for the reconstructed nuclear interactions.
T getParameter(std::string const &) const
Particle reconstructed by the particle flow algorithm.
bool bCorrect_
Parameters.
void setParameters(const edm::ParameterSet &iCfgCandConnector)
Log< level::Warning, false > LogWarning
double dptRel_MergedTrack_