29namespace skimmedExampleTrack
36 skimmedExampleTrack::Pt,
37 skimmedExampleTrack::Eta);
55 LOGP(info,
"Invoking the simple one");
56 for (
auto& track : tracks) {
57 etaClsH->Fill(track.eta(), track.pt());
58 skimEx(track.pt(), track.eta());
78 LOGP(info,
"Invoking the simple one IU");
79 for (
auto& track : tracks) {
80 etaClsH->Fill(track.eta(), track.pt());
81 skimEx(track.pt(), track.eta());
87 OutputObj<TH3F> etaClsH{TH3F(
"eta_vs_cls_vs_sigmapT",
"#eta vs N_{cls} vs sigma_{1/pT}", 102, -2.01, 2.01, 160, -0.5, 159.5, 100, 0, 10)};
100 LOGP(info,
"Invoking the run 3 one");
101 for (
auto& track : tracks) {
102 etaClsH->Fill(track.eta(), track.tpcNClsFindable(), track.sigma1Pt());
109 std::string runType =
"3";
110 std::vector<std::string> tables;
112 runType = cfgc.
options().
get<std::string>(
"aod-metadata-Run");
115 tables = cfgc.
options().
get<std::vector<std::string>>(
"aod-metadata-tables");
117 LOGP(info,
"Runtype is {}", runType);
118 bool hasTrackCov =
false;
119 bool hasTrackIU =
false;
120 for (
auto& table : tables) {
121 if (table ==
"O2trackcov") {
124 if (table.starts_with(
"O2track_iu")) {
127 LOGP(info,
"- {} present.", table);
130 if (runType ==
"2" || !hasTrackCov) {
131 LOGP(info,
"Using only tracks {}", runType);
134 adaptAnalysisTask<EtaAndClsHistogramsIUSimple>(cfgc,
TaskName{
"simple-histos"}),
138 adaptAnalysisTask<EtaAndClsHistogramsSimple>(cfgc,
TaskName{
"simple-histos"}),
141 LOGP(info,
"Using tracks extra {}", runType);
144 adaptAnalysisTask<EtaAndClsHistogramsIUSimple>(cfgc,
TaskName{
"simple-histos"}),
148 adaptAnalysisTask<EtaAndClsHistogramsFull>(cfgc,
TaskName{
"simple-histos"}),
#define O2ORIGIN(_Str_)
Pre-declare Hash specialization for an origin string.
#define DECLARE_SOA_TABLE(_Name_, _Origin_, _Desc_,...)
#define DECLARE_SOA_COLUMN(_Name_, _Getter_, _Type_)
ConfigParamRegistry & options() const
bool hasOption(const char *key) const
T get(const char *key) const
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
WorkflowSpec defineDataProcessing(ConfigContext const &cfgc)
This function hooks up the the workflow specifications into the DPL driver.
void process(soa::Filtered< soa::Join< aod::FullTracks, aod::TracksCov > > const &tracks)
OutputObj< TH3F > etaClsH
Configurable< std::string > trackFilterString
OutputObj< TH2F > etaClsH
void process(soa::Filtered< aod::TracksIU > const &tracks, aod::FT0s const &, aod::TracksIUFrom< o2::aod::Hash<"EMB"_h > > const &otherTracks)
Configurable< std::string > trackFilterString
Produces< o2::aod::SkimmedExampleTrack > skimEx
Configurable< std::string > trackFilterString
OutputObj< TH2F > etaClsH
void process(soa::Filtered< aod::Tracks > const &tracks, aod::FT0s const &, aod::StoredTracksFrom< o2::aod::Hash<"EMB"_h > > const &ortherTracks)
Produces< o2::aod::SkimmedExampleTrack > skimEx
Struct to differentiate task names from possible task string arguments.
A struct, containing the root of the expression tree.
static Node parse(std::string const &input)