File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed
roofit/roofitcore/src/RooFit Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -112,6 +112,7 @@ struct NodeInfo {
112
112
bool isCategory = false ;
113
113
bool hasLogged = false ;
114
114
bool computeInGPU = false ;
115
+ bool isValueServer = false ; // if this node is a value server to the top node
115
116
std::size_t outputSize = 1 ;
116
117
std::size_t lastSetValCount = std::numeric_limits<std::size_t >::max();
117
118
int lastCatVal = std::numeric_limits<int >::max();
@@ -207,6 +208,16 @@ Evaluator::Evaluator(const RooAbsReal &absReal, bool useGPU)
207
208
}
208
209
}
209
210
211
+ // Figure out which nodes are value servers to the top node
212
+ _nodes.back ().isValueServer = true ; // the top node itself
213
+ for (auto iter = _nodes.rbegin (); iter != _nodes.rend (); ++iter) {
214
+ if (!iter->isValueServer )
215
+ continue ;
216
+ for (auto &serverInfo : iter->serverInfos ) {
217
+ serverInfo->isValueServer = true ;
218
+ }
219
+ }
220
+
210
221
syncDataTokens ();
211
222
212
223
if (_useGPU) {
@@ -687,7 +698,7 @@ RooArgSet Evaluator::getParameters() const
687
698
{
688
699
RooArgSet parameters;
689
700
for (auto &nodeInfo : _nodes) {
690
- if (nodeInfo.absArg ->isFundamental ()) {
701
+ if (nodeInfo.isValueServer && nodeInfo. absArg ->isFundamental ()) {
691
702
parameters.add (*nodeInfo.absArg );
692
703
}
693
704
}
You can’t perform that action at this time.
0 commit comments