25 inputComputerNames( params.getParameter<std::vector<std::
string> >(
"jetTagComputers") ),
27 variables( params.getParameter<std::vector<std::
string> >(
"variables") ),
28 spectators( params.getParameter<std::vector<std::
string> >(
"spectators") ),
29 useCondDB(params.getParameter<bool>(
"useCondDB")),
30 gbrForestLabel(params.existsAs<std::
string>(
"gbrForestLabel") ? params.getParameter<std::
string>(
"gbrForestLabel") :
""),
32 useGBRForest(params.existsAs<bool>(
"useGBRForest") ? params.getParameter<bool>(
"useGBRForest") :
false),
33 useAdaBoost(params.existsAs<bool>(
"useAdaBoost") ? params.getParameter<bool>(
"useAdaBoost") :
false)
36 uses(0,
"ipTagInfos");
37 uses(1,
"svAVRTagInfos");
38 uses(2,
"svIVFTagInfos");
39 uses(3,
"smTagInfos");
40 uses(4,
"seTagInfos");
63 "Color:Silent:Error",
mvaName.c_str(),
69 record.
get(
name, computerHandle);
81 std::vector<const BaseTagInfo*> jpTagInfos({ &info.
getBase(0) });
84 std::vector<const BaseTagInfo*> avrTagInfos({ &info.
getBase(0), &info.
getBase(1) });
87 std::vector<const BaseTagInfo*> ivfTagInfos({ &info.
getBase(0), &info.
getBase(2) });
90 std::vector<const BaseTagInfo*> smTagInfos({ &info.
getBase(3) });
93 std::vector<const BaseTagInfo*> seTagInfos({ &info.
getBase(4) });
95 std::map<std::string,float>
inputs;
113 if (inputs[
"Jet_JP"] <= 0) {
114 inputs[
"Jet_JP"] = 0;
116 if (inputs[
"Jet_JBP"] <= 0) {
117 inputs[
"Jet_JBP"] = 0;
119 if (inputs[
"Jet_CSV"] <= 0) {
120 inputs[
"Jet_CSV"] = 0;
122 if (inputs[
"Jet_CSVIVF"] <= 0) {
123 inputs[
"Jet_CSVIVF"] = 0;
125 if (inputs[
"Jet_SoftMu"] <= 0) {
126 inputs[
"Jet_SoftMu"] = 0;
128 if (inputs[
"Jet_SoftEl"] <= 0) {
129 inputs[
"Jet_SoftEl"] = 0;
132 if (inputs[
"Jet_CSV"] >= 1) {
133 inputs[
"Jet_CSV"] = 1;
135 if (inputs[
"Jet_CSVIVF"] >= 1) {
136 inputs[
"Jet_CSVIVF"] = 1;
138 if (inputs[
"Jet_SoftMu"] >= 1) {
139 inputs[
"Jet_SoftMu"] = 1;
141 if (inputs[
"Jet_SoftEl"] >= 1) {
142 inputs[
"Jet_SoftEl"] = 1;
146 value =
mvaID->evaluate(inputs);
const std::vector< std::string > variables
virtual void initialize(const JetTagComputerRecord &record) override
CombinedMVAV2JetTagComputer(const edm::ParameterSet ¶meters)
std::unique_ptr< TMVAEvaluator > mvaID
const std::vector< std::string > spectators
const DepRecordT & getRecord() const
std::vector< const JetTagComputer * > computers
void get(HolderT &iHolder) const
void uses(unsigned int id, const std::string &label)
const reco::BaseTagInfo & getBase(unsigned int index) const
const std::string mvaName
const std::vector< std::string > inputComputerNames
float discriminator(const TagInfoHelper &info) const override
T const * product() const
virtual ~CombinedMVAV2JetTagComputer()
const std::string gbrForestLabel
volatile std::atomic< bool > shutdown_flag false
std::string fullPath() const
const edm::FileInPath weightFile