Demonstrate the RNTupleProcessor for horizontal compositions (joins) of RNTuples
{
auto fldI = model->MakeField<std::uint32_t>(
"i");
auto fldVpx = model->MakeField<
float>(
"vpx");
}
std::cout <<
"Wrote " <<
writer->GetNEntries() <<
" to the main RNTuple" << std::endl;
}
{
auto fldI = model->MakeField<std::uint32_t>(
"i");
auto fldVpy = model->MakeField<
float>(
"vpy");
}
std::cout <<
"Wrote " <<
writer->GetNEntries() <<
" to the auxiliary RNTuple" << std::endl;
}
void Read()
{
auto c =
new TCanvas(
"c",
"RNTupleJoinProcessor Example", 200, 10, 700, 500);
TH1F hPy(
"h",
"This is the px + py distribution", 100, -4, 4);
float px, py;
px = *
entry.GetPtr<
float>(
"vpx");
}
std::cout <<
"Processed a total of " <<
processor->GetNEntriesProcessed() <<
" entries" << std::endl;
}
{
Read();
}
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
R__EXTERN TRandom * gRandom
Specification of the name and location of an RNTuple, used for creating a new RNTupleProcessor.
Interface for iterating over entries of RNTuples and vertically concatenated RNTuples (chains).
static std::unique_ptr< RNTupleModel > Create()
static std::unique_ptr< RNTupleWriter > Recreate(std::unique_ptr< ROOT::RNTupleModel > model, std::string_view ntupleName, std::string_view storage, const ROOT::RNTupleWriteOptions &options=ROOT::RNTupleWriteOptions())
Creates an RNTupleWriter backed by storage, overwriting it if one with the same URI exists.
1-D histogram with a float per channel (see TH1 documentation)
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1)
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigm...
- Date
- November 2024
- Author
- The ROOT Team
Definition in file ntpl015_processor_join.C.