1 #ifndef JetMETCorrections_Type1MET_METCorrectionAlgorithm_h 2 #define JetMETCorrections_Type1MET_METCorrectionAlgorithm_h 62 for (vInputTag::const_iterator
inputTag = srcUnclEnergySums.begin();
inputTag != srcUnclEnergySums.end(); ++
inputTag)
73 for ( vInputTag::const_iterator srcUnclEnergySum = srcUnclEnergySums.begin();
74 srcUnclEnergySum != srcUnclEnergySums.end(); ++srcUnclEnergySum )
76 std::string instanceLabel = srcUnclEnergySum->instance();
77 if ( instanceLabel !=
"" &&
binLabel_ !=
"" ) instanceLabel.append(
"#");
91 TString
formula = binCorrFormula;
94 int numParameter = parNames.size();
96 for (
int parIndex = 0; parIndex < numParameter; ++parIndex ) {
99 double parValue = binCorrParameter.
getParameter<
double>(parName);
102 TString parName_internal = Form(
"[%i]", parIndex);
103 formula = formula.ReplaceAll(parName.data(), parName_internal);
113 <<
"Formula for Type 2 correction has invalid syntax = " << formula <<
" !!\n";
115 for (
int parIndex = 0; parIndex < numParameter; ++parIndex ) {
void initialize(const std::string &binCorrFormula, const edm::ParameterSet &binCorrParameter)
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
CorrMETData compMETCorrection(edm::Event &, const edm::EventSetup &)
std::vector< std::string > vstring
METCorrectionAlgorithm(const edm::ParameterSet &, edm::ConsumesCollector &&iConsumesCollector)
type2BinningEntryType(const edm::ParameterSet &cfg, const vInputTag &srcUnclEnergySums, edm::ConsumesCollector &iConsumesCollector)
std::vector< edm::InputTag > vInputTag
std::vector< std::string > getParameterNamesForType(bool trackiness=true) const
~METCorrectionAlgorithm()
std::vector< edm::EDGetTokenT< CorrMETData > > corrTokens_
std::vector< edm::EDGetTokenT< CorrMETData > > chsSumTokens_
bool applyType0Corrections_
bool applyType2Corrections_
bool applyType1Corrections_
TFormula * binCorrFormula_
std::vector< type2BinningEntryType * > type2Binning_
std::vector< edm::EDGetTokenT< CorrMETData > > type1Tokens_
type2BinningEntryType(const std::string &binCorrformula, const edm::ParameterSet &binCorrParameter, const vInputTag &srcUnclEnergySums, edm::ConsumesCollector &iConsumesCollector)
std::vector< double > binCorrParameter_
char data[epos_bytes_allocation]