28void customize(std::vector<o2::framework::CallbacksPolicy>& policies)
34void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
37 std::vector<o2::framework::ConfigParamSpec> options{
38 {
"disable-root-input", VariantType::Bool,
false, {
"disable root-files input readers"}},
39 {
"disable-root-output", VariantType::Bool,
false, {
"disable root-files output writers"}},
40 {
"disable-mc", VariantType::Bool,
false, {
"disable MC propagation even if available"}},
41 {
"enable-mc", VariantType::Bool,
false, {
"store the MC truth of the track data (needs MC input and send-track-data)"}},
42 {
"vtx-sources", VariantType::String, std::string{
GID::ALL}, {
"comma-separated list of sources used for the vertex finding"}},
43 {
"tracking-sources", VariantType::String, std::string{
GID::ALL}, {
"comma-separated list of sources to use for track inter-/extrapolation"}},
44 {
"tracking-sources-map-extraction", VariantType::String, std::string{
GID::ALL}, {
"can be subset of \"tracking-sources\""}},
45 {
"send-track-data", VariantType::Bool,
false, {
"Send also the track information to the aggregator"}},
46 {
"debug-output", VariantType::Bool,
false, {
"Dump extended tracking information for debugging"}},
47 {
"skip-ext-det-residuals", VariantType::Bool,
false, {
"Do not produce residuals for external detectors"}},
48 {
"configKeyValues", VariantType::String,
"", {
"Semicolon separated key=value strings ..."}}};
51 std::swap(workflowOptions, options);
56void customize(std::vector<o2::framework::CompletionPolicy>& policies)
78 if (srcTracks.count() > srcVtx.count()) {
82 srcTracksMap &= srcVtx;
83 if (((srcTracksMap | srcTracks) ^ srcTracks).any()) {
85 }
else if (srcTracksMap != srcTracks) {
88 LOGP(info,
"Only a single track source is defined for residuals extraction: {}",
GID::getSourcesNames(srcTracks));
108 auto useMC = configcontext.
options().
get<
bool>(
"enable-mc") && !configcontext.
options().
get<
bool>(
"disable-mc");
110 auto sendTrackData = configcontext.
options().
get<
bool>(
"send-track-data");
111 auto debugOutput = configcontext.
options().
get<
bool>(
"debug-output");
112 auto extDetResid = !configcontext.
options().
get<
bool>(
"skip-ext-det-residuals");
114 specs.emplace_back(
o2::tpc::getTPCInterpolationSpec(srcClusters, srcVtx, srcTracks, srcTracksMap, useMC, processITSTPConly, sendTrackData, debugOutput, extDetResid, doStag));
115 if (!configcontext.
options().
get<
bool>(
"disable-root-output")) {
Global index for barrel track: provides provenance (detectors combination), index in respective array...
DPL completion policy helper for TPC scetor data.
static void writeINI(std::string const &filename, std::string const &keyOnly="")
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
Defining ITS Vertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
framework::DataProcessorSpec getTPCResidualWriterSpec(bool writeTrackData, bool debugOutput, bool writeTrackDataMC)
create a processor spec
framework::DataProcessorSpec getTPCInterpolationSpec(o2::dataformats::GlobalTrackID::mask_t srcCls, o2::dataformats::GlobalTrackID::mask_t srcVtx, o2::dataformats::GlobalTrackID::mask_t srcTrk, o2::dataformats::GlobalTrackID::mask_t srcTrkMap, bool useMC, bool processITSTPConly, bool sendTrackData, bool debugOutput, bool extDetResid, bool itsStag)
create a processor spec
static CompletionPolicy consumeWhenAllOrdered(const char *name, CompletionPolicy::Matcher matcher)
as consumeWhenAll, but ensures that records are processed with incremental timeSlice (DataHeader::sta...
static bool isITSStaggeringEnabled(o2::framework::ConfigContext const &cfgc)
static void addITSConfigOption(std::vector< o2::framework::ConfigParamSpec > &opts)
static void addNewTimeSliceCallback(std::vector< o2::framework::CallbacksPolicy > &policies)
static void addConfigOption(std::vector< o2::framework::ConfigParamSpec > &opts, const std::string &defOpt=std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE))
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"
WorkflowSpec defineDataProcessing(ConfigContext const &configcontext)
void customize(std::vector< o2::framework::CallbacksPolicy > &policies)