39 #include <Math/VectorUtil.h>
150 : isMC_(iConfig.getParameter<
bool>(
"isMC")),
151 deltaR_(iConfig.getParameter<double>(
"deltaR")),
152 ptThreshold_(iConfig.getParameter<double>(
"ptThreshold")),
153 eleMapTags_(iConfig.getParameter<
std::vector<
std::
string>>(
"eleMVAs")),
154 eleMapBranchNames_(iConfig.getParameter<
std::vector<
std::
string>>(
"eleMVALabels")),
155 nEleMaps_(eleMapBranchNames_.
size()),
156 valMapTags_(iConfig.getParameter<
std::vector<
std::
string>>(
"eleMVAValMaps")),
157 valMapBranchNames_(iConfig.getParameter<
std::vector<
std::
string>>(
"eleMVAValMapLabels")),
158 nValMaps_(valMapBranchNames_.
size()),
159 mvaCatTags_(iConfig.getParameter<
std::vector<
std::
string>>(
"eleMVACats")),
160 mvaCatBranchNames_(iConfig.getParameter<
std::vector<
std::
string>>(
"eleMVACatLabels")),
161 nCats_(mvaCatBranchNames_.
size()),
168 mvaPasses_(nEleMaps_),
169 mvaValues_(nValMaps_),
171 variableHelper_(consumesCollector()),
172 mvaVarMngr_(iConfig.getParameter<
std::
string>(
"variableDefinition")),
173 nVars_(mvaVarMngr_.getNVars()),
175 doEnergyMatrix_(iConfig.getParameter<
bool>(
"doEnergyMatrix")),
176 energyMatrixSize_(iConfig.getParameter<
int>(
"energyMatrixSize")) {
248 std::unique_ptr<noZS::EcalClusterLazyTools> lazyTools;
263 int bx =
pu.getBunchCrossing();
291 for (
auto const& ele :
src->ptrs()) {
297 const auto&
seed = *(ele->superCluster()->seed());
302 eleQ_ = ele->charge();
303 ele3Q_ = ele->chargeInfo().isGsfCtfScPixConsistent;
305 for (
int iVar = 0; iVar <
nVars_; ++iVar) {
347 if (
std::abs(particle.pdgId()) != 11 || particle.status() != 1)
353 closestElectron = &particle;
357 if (closestElectron ==
nullptr ||
dR >=
deltaR_)
380 desc.
add<
bool>(
"doEnergyMatrix",
false);
381 desc.
add<
int>(
"energyMatrixSize", 2)->setComment(
"extension of crystals in each direction away from the seed");
382 desc.
add<
bool>(
"isMC",
true);
383 desc.
add<
double>(
"deltaR", 0.1);
384 desc.
add<
double>(
"ptThreshold", 5.0);
385 desc.
add<std::vector<std::string>>(
"eleMVAs", {});
386 desc.
add<std::vector<std::string>>(
"eleMVALabels", {});
387 desc.
add<std::vector<std::string>>(
"eleMVAValMaps", {});
388 desc.
add<std::vector<std::string>>(
"eleMVAValMapLabels", {});
389 desc.
add<std::vector<std::string>>(
"eleMVACats", {});
390 desc.
add<std::vector<std::string>>(
"eleMVACatLabels", {});