26namespace skimmedExampleTrack
33 skimmedExampleTrack::Pt,
34 skimmedExampleTrack::Eta);
46 {
"a/b/eta",
"#Eta", {HistType::kTH1F, {{100, -2.0, 2.0}}}},
47 {
"a/phi",
"#Phi", {HistType::kTH1D, {{102, 0, 2 * M_PI}}}},
48 {
"c/pt",
"p_{T}", {HistType::kTH1D, {{1002, -0.01, 50.1}}}},
49 {
"ptToPt",
"#ptToPt", {HistType::kTH2F, {{100, -0.01, 10.01}, {100, -0.01, 10.01}}}}
56 {
"a/foo/b/eta",
"#Eta", {HistType::kTH1F, {{100, -2.0, 2.0}}}},
57 {
"fii/c/hpt",
"p_{T}", {HistType::kTH1D, {{1002, -0.01, 50.1}}}},
58 {
"a/foobar/phi",
"#Phi", {HistType::kTH1D, {{102, 0, 2 * M_PI}}}},
59 {
"fifi/ptToPt",
"#ptToPt", {HistType::kTH2F, {{100, -0.01, 10.01}, {100, -0.01, 10.01}}}}
61 OutputObjHandlingPolicy::AnalysisObject,
74 LOGP(info,
"Invoking the simple one");
75 for (
auto& track :
tracks) {
76 etaClsH->Fill(track.eta(), track.pt());
77 skimEx(track.pt(), track.eta());
96 {
"a/b/eta",
"#Eta", {HistType::kTH1F, {{100, -2.0, 2.0}}}},
97 {
"a/phi",
"#Phi", {HistType::kTH1D, {{102, 0, 2 * M_PI}}}},
98 {
"c/pt",
"p_{T}", {HistType::kTH1D, {{1002, -0.01, 50.1}}}},
99 {
"ptToPt",
"#ptToPt", {HistType::kTH2F, {{100, -0.01, 10.01}, {100, -0.01, 10.01}}}}
112 LOGP(info,
"Invoking the simple one IU");
113 for (
auto& track :
tracks) {
114 etaClsH->Fill(track.eta(), track.pt());
115 skimEx(track.pt(), track.eta());
126 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)};
131 {
"a/b/eta",
"#Eta", {HistType::kTH1F, {{100, -2.0, 2.0}}}},
132 {
"a/phi",
"#Phi", {HistType::kTH1D, {{102, 0, 2 * M_PI}}}},
133 {
"c/pt",
"p_{T}", {HistType::kTH1D, {{1002, -0.01, 50.1}}}},
134 {
"ptToPt",
"#ptToPt", {HistType::kTH2F, {{100, -0.01, 10.01}, {100, -0.01, 10.01}}}}
150 LOGP(info,
"Invoking the run 3 one");
151 for (
auto& track :
tracks) {
152 etaClsH->Fill(track.eta(), track.tpcNClsFindable(), track.sigma1Pt());
164 std::string runType =
"3";
165 std::vector<std::string> tables;
167 runType = cfgc.
options().
get<std::string>(
"aod-metadata-Run");
170 tables = cfgc.
options().
get<std::vector<std::string>>(
"aod-metadata-tables");
172 LOGP(info,
"Runtype is {}", runType);
173 bool hasTrackCov =
false;
174 bool hasTrackIU =
false;
175 for (
auto& table : tables) {
176 if (table ==
"O2trackcov") {
179 if (table.starts_with(
"O2track_iu")) {
182 LOGP(info,
"- {} present.", table);
185 if (runType ==
"2" || !hasTrackCov) {
186 LOGP(info,
"Using only tracks {}", runType);
189 adaptAnalysisTask<EtaAndClsHistogramsIUSimple>(cfgc,
TaskName{
"simple-histos"}),
193 adaptAnalysisTask<EtaAndClsHistogramsSimple>(cfgc,
TaskName{
"simple-histos"}),
196 LOGP(info,
"Using tracks extra {}", runType);
199 adaptAnalysisTask<EtaAndClsHistogramsIUSimple>(cfgc,
TaskName{
"simple-histos"}),
203 adaptAnalysisTask<EtaAndClsHistogramsFull>(cfgc,
TaskName{
"simple-histos"}),
#define DECLARE_SOA_TABLE(_Name_, _Origin_, _Desc_,...)
#define DECLARE_SOA_COLUMN(_Name_, _Getter_, _Type_)
std::vector< o2::its::TrackITS > tracks
ConfigParamRegistry & options() const
bool hasOption(const char *key) const
T get(const char *key) const
void fill(const HistName &histName, Ts... positionAndWeight)
Defining ITS Vertex 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
void process(soa::Filtered< aod::TracksIU > const &tracks, aod::FT0s const &)
OutputObj< TH2F > etaClsH
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 &)
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)