32std::unique_ptr<RooAbsArg> createSimultaneousNLL(
RooSimultaneous const &simPdf, 
bool isExtended,
 
   39   for (
auto const &catState : simCat) {
 
   40      std::string 
const &catName = catState.
first;
 
   45      if (!rangeName.empty()) {
 
   48         auto simCatAsRooCategory = 
dynamic_cast<RooCategory const *
>(&simCat);
 
   49         if (simCatAsRooCategory && !simCatAsRooCategory->isStateInRange(rangeName.c_str(), catIndex)) {
 
   56         std::unique_ptr<RooArgSet> observables(
 
   57            static_cast<RooArgSet *
>(std::unique_ptr<RooArgSet>(pdf->getVariables())->selectByAttrib(
"__obs__", 
true)));
 
   58         auto nll = std::make_unique<RooNLLVarNew>(
name.c_str(), 
name.c_str(), *pdf, *observables, isExtended, 
offset);
 
   60         nll->setPrefix(std::string(
"_") + catName + 
"_");
 
   66      nll->setSimCount(nllTerms.
size());
 
   70   auto nll = std::make_unique<RooAddition>(
"mynll", 
"mynll", nllTerms);
 
   71   nll->addOwnedComponents(std::move(nllTerms));
 
   77std::unique_ptr<RooAbsReal>
 
   79                                    std::string 
const &rangeName, 
RooArgSet const &projDeps, 
bool isExtended,
 
   84      constraints->setData(
data, 
false);
 
   93   observables.
remove(projDeps, 
true, 
true);
 
   96                            << 
") fixing normalization set for coefficient determination to observables in data" 
  103   RooAbsPdf &finalPdf = wrappedPdf ? *wrappedPdf : pdf;
 
  105      binSamplingPdfs.
addOwned(std::move(wrappedPdf));
 
  114      nllTerms.
addOwned(createSimultaneousNLL(*simPdf, isExtended, rangeName, 
offset));
 
  117         std::make_unique<RooNLLVarNew>(
"RooNLLVarNew", 
"RooNLLVarNew", finalPdf, observables, isExtended, 
offset));
 
  120      nllTerms.
addOwned(std::move(constraints));
 
  123   std::string nllName = std::string(
"nll_") + pdf.
GetName() + 
"_" + 
data.GetName();
 
  124   auto nll = std::make_unique<RooAddition>(nllName.c_str(), nllName.c_str(), nllTerms);
 
  125   nll->addOwnedComponents(std::move(binSamplingPdfs));
 
  126   nll->addOwnedComponents(std::move(nllTerms));
 
ROOT::RRangeCast< T, false, Range_t > static_range_cast(Range_t &&coll)
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
 
RooFit::OwningPtr< RooArgSet > getObservables(const RooArgSet &set, bool valueOnly=true) const
Given a set of possible observables, return the observables that this PDF depends on.
 
RooAbsCategoryLValue is the common abstract base class for objects that represent a discrete value th...
 
virtual bool remove(const RooAbsArg &var, bool silent=false, bool matchByNameOnly=false)
Remove the specified argument from our list.
 
Storage_t::size_type size() const
 
RooAbsArg * first() const
 
virtual bool addOwned(RooAbsArg &var, bool silent=false)
Add an argument and transfer the ownership to the collection.
 
RooAbsData is the common abstract base class for binned and unbinned datasets.
 
virtual void fixAddCoefNormalization(const RooArgSet &addNormSet=RooArgSet(), bool force=true)
Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by...
 
RooArgList is a container object that can hold multiple RooAbsArg objects.
 
RooArgSet is a container object that can hold multiple RooAbsArg objects.
 
static std::unique_ptr< RooAbsPdf > create(RooAbsPdf &pdf, RooAbsData const &data, double precision)
Creates a wrapping RooBinSamplingPdf if appropriate.
 
RooCategory is an object to represent discrete states.
 
RooSimultaneous facilitates simultaneous fitting of multiple PDFs to subsets of a given dataset.
 
RooAbsPdf * getPdf(RooStringView catName) const
Return the p.d.f associated with the given index category name.
 
void wrapPdfsInBinSamplingPdfs(RooAbsData const &data, double precision)
Wraps the components of this RooSimultaneous in RooBinSamplingPdfs.
 
const RooAbsCategoryLValue & indexCat() const
 
const char * GetName() const override
Returns name of object.
 
std::unique_ptr< RooAbsReal > createNLL(RooAbsPdf &pdf, RooAbsData &data, std::unique_ptr< RooAbsReal > &&constraints, std::string const &rangeName, RooArgSet const &projDeps, bool isExtended, double integrateOverBinsPrecision, RooFit::OffsetMode offset)
 
OffsetMode
For setting the offset mode with the Offset() command argument to RooAbsPdf::fitTo()