29namespace skimmedExampleTrack
36 skimmedExampleTrack::Pt,
37 skimmedExampleTrack::Eta);
49 {
"a/b/eta",
"#Eta", {HistType::kTH1F, {{100, -2.0, 2.0}}}},
50 {
"a/phi",
"#Phi", {HistType::kTH1D, {{102, 0, 2 * M_PI}}}},
51 {
"c/pt",
"p_{T}", {HistType::kTH1D, {{1002, -0.01, 50.1}}}},
52 {
"ptToPt",
"#ptToPt", {HistType::kTH2F, {{100, -0.01, 10.01}, {100, -0.01, 10.01}}}}
59 {
"a/foo/b/eta",
"#Eta", {HistType::kTH1F, {{100, -2.0, 2.0}}}},
60 {
"fii/c/hpt",
"p_{T}", {HistType::kTH1D, {{1002, -0.01, 50.1}}}},
61 {
"a/foobar/phi",
"#Phi", {HistType::kTH1D, {{102, 0, 2 * M_PI}}}},
62 {
"fifi/ptToPt",
"#ptToPt", {HistType::kTH2F, {{100, -0.01, 10.01}, {100, -0.01, 10.01}}}}
64 OutputObjHandlingPolicy::AnalysisObject,
77 LOGP(info,
"Invoking the simple one");
78 for (
auto& track : tracks) {
79 etaClsH->Fill(track.eta(), track.pt());
80 skimEx(track.pt(), track.eta());
99 {
"a/b/eta",
"#Eta", {HistType::kTH1F, {{100, -2.0, 2.0}}}},
100 {
"a/phi",
"#Phi", {HistType::kTH1D, {{102, 0, 2 * M_PI}}}},
101 {
"c/pt",
"p_{T}", {HistType::kTH1D, {{1002, -0.01, 50.1}}}},
102 {
"ptToPt",
"#ptToPt", {HistType::kTH2F, {{100, -0.01, 10.01}, {100, -0.01, 10.01}}}}
115 LOGP(info,
"Invoking the simple one IU");
116 for (
auto& track : tracks) {
117 etaClsH->Fill(track.eta(), track.pt());
118 skimEx(track.pt(), track.eta());
129 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)};
134 {
"a/b/eta",
"#Eta", {HistType::kTH1F, {{100, -2.0, 2.0}}}},
135 {
"a/phi",
"#Phi", {HistType::kTH1D, {{102, 0, 2 * M_PI}}}},
136 {
"c/pt",
"p_{T}", {HistType::kTH1D, {{1002, -0.01, 50.1}}}},
137 {
"ptToPt",
"#ptToPt", {HistType::kTH2F, {{100, -0.01, 10.01}, {100, -0.01, 10.01}}}}
153 LOGP(info,
"Invoking the run 3 one");
154 for (
auto& track : tracks) {
155 etaClsH->Fill(track.eta(), track.tpcNClsFindable(), track.sigma1Pt());
167 std::string runType =
"3";
168 std::vector<std::string> tables;
170 runType = cfgc.
options().
get<std::string>(
"aod-metadata-Run");
173 tables = cfgc.
options().
get<std::vector<std::string>>(
"aod-metadata-tables");
175 LOGP(info,
"Runtype is {}", runType);
176 bool hasTrackCov =
false;
177 bool hasTrackIU =
false;
178 for (
auto& table : tables) {
179 if (table ==
"O2trackcov") {
182 if (table.starts_with(
"O2track_iu")) {
185 LOGP(info,
"- {} present.", table);
188 if (runType ==
"2" || !hasTrackCov) {
189 LOGP(info,
"Using only tracks {}", runType);
192 adaptAnalysisTask<EtaAndClsHistogramsIUSimple>(cfgc,
TaskName{
"simple-histos"}),
196 adaptAnalysisTask<EtaAndClsHistogramsSimple>(cfgc,
TaskName{
"simple-histos"}),
199 LOGP(info,
"Using tracks extra {}", runType);
202 adaptAnalysisTask<EtaAndClsHistogramsIUSimple>(cfgc,
TaskName{
"simple-histos"}),
206 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
void fill(const HistName &histName, Ts... positionAndWeight)
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.
HistogramRegistry registry
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)
HistogramRegistry registry
Configurable< std::string > trackFilterString
Produces< o2::aod::SkimmedExampleTrack > skimEx
HistogramRegistry registry
Configurable< std::string > trackFilterString
HistogramRegistry registry2
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)