17#include <ROOT/RDataFrame.hxx>
59 InputSpec{
"TracksExtension",
"AOD",
"TRACKPAR"}},
62 OutputSpec{{
"derived"},
"AOD",
"TRACKDERIVED"}},
75 auto tracks = aod::Tracks({input1->asArrowTable(), input2->
asArrowTable()});
77 for (
auto& track : tracks) {
78 auto phi = asin(track.snp()) + track.alpha() + M_PI;
79 auto eta = log(tan(0.25 * M_PI - 0.5 * atan(track.tgl())));
80 etaPhiWriter(0, eta, phi);
86 InputSpec{
"etaphi",
"AOD",
"TRACKDERIVED"}},
93 auto h = tracks.Histo1D(
"fPhi");
95 TFile
f(
"result1.root",
"RECREATE");
102 InputSpec{
"etaphi",
"AOD",
"TRACKDERIVED"}},
109 auto h2 = tracks.Histo1D(
"fEta");
111 TFile
f(
"result2.root",
"RECREATE");
#define DECLARE_SOA_COLUMN(_Name_, _Getter_, _Type_)
Class for time synchronization of RawReader instances.
decltype(auto) make(const Output &spec, Args... args)
std::shared_ptr< arrow::Table > asArrowTable()
Return the table in the message as a arrow::Table instance.
ROOT::RDataFrame doSingleLoopOn(std::unique_ptr< framework::TableConsumer > &input)
Do a single loop on all the entries of the input table.
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
AlgorithmSpec::ProcessCallback adaptStateless(LAMBDA l)
std::vector< InputSpec > Inputs
std::vector< OutputSpec > Outputs
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
WorkflowSpec defineDataProcessing(ConfigContext const &specs)
This function hooks up the the workflow specifications into the DPL driver.