Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:22:14

0001 /// \cond ROOFIT_INTERNAL
0002 
0003 /*
0004  * Project: RooFit
0005  * Authors:
0006  *   Jonas Rembser, CERN 2022
0007  *
0008  * Copyright (c) 2022, CERN
0009  *
0010  * Redistribution and use in source and binary forms,
0011  * with or without modification, are permitted according to the terms
0012  * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
0013  */
0014 
0015 #ifndef RooFit_BatchModeDataHelpers_h
0016 #define RooFit_BatchModeDataHelpers_h
0017 
0018 #include <RooFit/EvalContext.h>
0019 
0020 #include <ROOT/RSpan.hxx>
0021 #include <string_view>
0022 
0023 #include <functional>
0024 #include <map>
0025 #include <memory>
0026 #include <stack>
0027 #include <vector>
0028 
0029 class RooAbsCategory;
0030 class RooAbsData;
0031 class RooSimultaneous;
0032 
0033 class TNamed;
0034 
0035 namespace RooFit {
0036 namespace Detail {
0037 namespace BatchModeDataHelpers {
0038 
0039 std::map<RooFit::Detail::DataKey, std::span<const double>>
0040 getDataSpans(RooAbsData const &data, std::string const &rangeName, RooSimultaneous const *simPdf, bool skipZeroWeights,
0041              bool takeGlobalObservablesFromData, std::stack<std::vector<double>> &buffers);
0042 
0043 std::map<RooFit::Detail::DataKey, std::size_t>
0044 determineOutputSizes(RooAbsArg const &topNode, std::function<int(RooFit::Detail::DataKey)> const &inputSizeFunc);
0045 
0046 } // namespace BatchModeDataHelpers
0047 } // namespace Detail
0048 } // namespace RooFit
0049 
0050 #endif
0051 
0052 /// \endcond