31 namespace Calibration {
35 static const char prefix[] =
"PhysicsTools::Calibration::";
38 if (
type.size() <=
sizeof prefix - 1 ||
41 <<
"getInstanceName failed for " 42 <<
typeid(*this).name() <<
"." << std::endl;
44 return type.substr(
sizeof prefix - 1);
47 std::unique_ptr<VarProcessor>
49 return(std::unique_ptr<VarProcessor>(
new VarProcessor(*
this)));
52 std::unique_ptr<VarProcessor>
54 return(std::unique_ptr<VarProcessor>(
new ProcOptional(*
this)));
57 std::unique_ptr<VarProcessor>
59 return(std::unique_ptr<VarProcessor>(
new ProcCount(*
this)));
62 std::unique_ptr<VarProcessor>
64 return(std::unique_ptr<VarProcessor>(
new ProcClassed(*
this)));
67 std::unique_ptr<VarProcessor>
69 return(std::unique_ptr<VarProcessor>(
new ProcSplitter(*
this)));
72 std::unique_ptr<VarProcessor>
74 return(std::unique_ptr<VarProcessor>(
new ProcForeach(*
this)));
77 std::unique_ptr<VarProcessor>
79 return(std::unique_ptr<VarProcessor>(
new ProcSort(*
this)));
82 std::unique_ptr<VarProcessor>
84 return(std::unique_ptr<VarProcessor>(
new ProcCategory(*
this)));
87 std::unique_ptr<VarProcessor>
89 return(std::unique_ptr<VarProcessor>(
new ProcNormalize(*
this)));
92 std::unique_ptr<VarProcessor>
97 std::unique_ptr<VarProcessor>
99 return(std::unique_ptr<VarProcessor>(
new ProcLinear(*
this)));
102 std::unique_ptr<VarProcessor>
104 return(std::unique_ptr<VarProcessor>(
new ProcMultiply(*
this)));
107 std::unique_ptr<VarProcessor>
109 return(std::unique_ptr<VarProcessor>(
new ProcMatrix(*
this)));
112 std::unique_ptr<VarProcessor>
114 return(std::unique_ptr<VarProcessor>(
new ProcExternal(*
this)));
117 std::unique_ptr<VarProcessor>
119 return(std::unique_ptr<VarProcessor>(
new ProcMLP(*
this)));
129 static std::atomic<MVAComputer::CacheId> nextCacheId{0};
131 return ++nextCacheId;
144 for(std::vector<VarProcessor*>::const_iterator iter =
152 for(std::vector<VarProcessor*>::iterator iter =
processors.begin();
164 for(std::vector<VarProcessor*>::iterator iter =
processors.begin();
169 for(std::vector<VarProcessor*>::const_iterator iter =
191 return ++nextCacheId;
209 std::vector<Entry>::const_iterator
pos =
215 <<
"Calibration record " << label
216 <<
" not found in MVAComputerContainer." << std::endl;
223 std::vector<Entry>::const_iterator
pos =
226 if (pos ==
entries.end())
return false;
TrainProcessor *const proc
std::string const & className() const