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}}}}
65 LOGP(info,
"Invoking the simple one");
66 for (
auto& track : tracks) {
67 etaClsH->Fill(track.eta(), track.pt());
68 skimEx(track.pt(), track.eta());
87 {
"a/b/eta",
"#Eta", {HistType::kTH1F, {{100, -2.0, 2.0}}}},
88 {
"a/phi",
"#Phi", {HistType::kTH1D, {{102, 0, 2 * M_PI}}}},
89 {
"c/pt",
"p_{T}", {HistType::kTH1D, {{1002, -0.01, 50.1}}}},
90 {
"ptToPt",
"#ptToPt", {HistType::kTH2F, {{100, -0.01, 10.01}, {100, -0.01, 10.01}}}}
103 LOGP(info,
"Invoking the simple one IU");
104 for (
auto& track : tracks) {
105 etaClsH->Fill(track.eta(), track.pt());
106 skimEx(track.pt(), track.eta());
117 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)};
122 {
"a/b/eta",
"#Eta", {HistType::kTH1F, {{100, -2.0, 2.0}}}},
123 {
"a/phi",
"#Phi", {HistType::kTH1D, {{102, 0, 2 * M_PI}}}},
124 {
"c/pt",
"p_{T}", {HistType::kTH1D, {{1002, -0.01, 50.1}}}},
125 {
"ptToPt",
"#ptToPt", {HistType::kTH2F, {{100, -0.01, 10.01}, {100, -0.01, 10.01}}}}
141 LOGP(info,
"Invoking the run 3 one");
142 for (
auto& track : tracks) {
143 etaClsH->Fill(track.eta(), track.tpcNClsFindable(), track.sigma1Pt());
155 std::string runType =
"3";
156 std::vector<std::string> tables;
158 runType = cfgc.
options().
get<std::string>(
"aod-metadata-Run");
161 tables = cfgc.
options().
get<std::vector<std::string>>(
"aod-metadata-tables");
163 LOGP(info,
"Runtype is {}", runType);
164 bool hasTrackCov =
false;
165 bool hasTrackIU =
false;
166 for (
auto& table : tables) {
167 if (table ==
"O2trackcov") {
170 if (table.starts_with(
"O2track_iu")) {
173 LOGP(info,
"- {} present.", table);
176 if (runType ==
"2" || !hasTrackCov) {
177 LOGP(info,
"Using only tracks {}", runType);
180 adaptAnalysisTask<EtaAndClsHistogramsIUSimple>(cfgc,
TaskName{
"simple-histos"}),
184 adaptAnalysisTask<EtaAndClsHistogramsSimple>(cfgc,
TaskName{
"simple-histos"}),
187 LOGP(info,
"Using tracks extra {}", runType);
190 adaptAnalysisTask<EtaAndClsHistogramsIUSimple>(cfgc,
TaskName{
"simple-histos"}),
194 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
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)