14#include "TGeoGlobalMagField.h"
32#include <fmt/format.h>
36namespace strangeness_tracking
60 LOG(info) <<
"Initialized strangeness tracker...";
66 LOG(
debug) <<
"Running strangeness tracker...";
70 updateTimeDependentParams(pc);
90 static bool initOnceDone =
false;
114 LOG(info) <<
"cluster dictionary updated";
119 LOG(info) <<
"ITS GeomtetryTGeo loaded from ccdb";
123#ifdef ENABLE_UPGRADES
125 LOG(info) <<
"it3 cluster dictionary updated";
134 LOGF(info,
"Strangeness tracking total timing: Cpu: %.3e Real: %.3e s in %d slots",
135 mTimer.CpuTime(), mTimer.RealTime(), mTimer.Counter() - 1);
141 auto dataRequest = std::make_shared<DataRequest>();
142 dataRequest->requestITSClusters(useMC);
143 dataRequest->requestTracks(
src, useMC);
144 dataRequest->requestPrimaryVertices(useMC);
145 dataRequest->requestSecondaryVertices(useMC);
147 auto ggRequest = std::make_shared<o2::base::GRPGeomRequest>(
false,
156 ggRequest->addInput({
"itsTGeo",
"ITS",
"GEOMTGEO", 0, Lifetime::Condition,
framework::ccdbParamSpec(
"ITS/Config/Geometry")}, dataRequest->inputs);
158 std::vector<OutputSpec> outputs;
159 outputs.emplace_back(
"GLO",
"STRANGETRACKS", 0, Lifetime::Timeframe);
160 outputs.emplace_back(
"GLO",
"CLUSUPDATES", 0, Lifetime::Timeframe);
162 outputs.emplace_back(
"GLO",
"STRANGETRACKS_MC", 0, Lifetime::Timeframe);
163 LOG(info) <<
"Strangeness tracker will use MC";
167 "strangeness-tracker",
170 AlgorithmSpec{adaptFromTask<StrangenessTrackerSpec>(dataRequest, ggRequest, useMC)},
Definition of the Names Generator class.
Header of the General Run Parameters object.
Definition of the MagF class.
Definition of the ITS track.
Result of refitting TPC-ITS matched track.
void checkUpdates(o2::framework::ProcessingContext &pc)
static GRPGeomHelper & instance()
void setRequest(std::shared_ptr< GRPGeomRequest > req)
GPUd() value_type estimateLTFast(o2 static GPUd() float estimateLTIncrement(const o2 PropagatorImpl * Instance(bool uninitialized=false)
static const StrangenessTrackingParamConfig & Instance()
void snapshot(const Output &spec, T const &object)
DataAllocator & outputs()
The data allocator is used to allocate memory for the output data.
InputRecord & inputs()
The inputs associated with this processing context.
static GeometryTGeo * Instance()
void fillMatrixCache(int mask) override
static void adopt(GeometryTGeo *raw, bool canDelete=false)
StrangenessTrackerSpec(std::shared_ptr< DataRequest > dr, std::shared_ptr< o2::base::GRPGeomRequest > gr, bool isMC)
void finaliseCCDB(framework::ConcreteDataMatcher &matcher, void *obj) final
void init(framework::InitContext &ic) final
void run(framework::ProcessingContext &pc) final
void endOfStream(framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
void setConfigParams(const StrangenessTrackingParamConfig *params)
std::vector< StrangeTrack > & getStrangeTrackVec(int iThread=0)
void setupThreads(int nThreads=1)
void setCorrType(const o2::base::PropagatorImpl< float >::MatCorrType &type)
std::vector< ClusAttachments > & getClusAttachments(int iThread=0)
void setClusterDictionaryITS(const o2::itsmft::TopologyDictionary *d)
void setMCTruthOn(bool v)
bool loadData(const o2::globaltracking::RecoContainer &recoData)
std::vector< o2::MCCompLabel > & getStrangeTrackLabels(int iThread=0)
Defining PrimaryVertex explicitly as messageable.
std::vector< ConfigParamSpec > ccdbParamSpec(std::string const &path, int runDependent, std::vector< CCDBMetadata > metadata={}, int qrate=0)
std::vector< ConfigParamSpec > Options
o2::framework::DataProcessorSpec getStrangenessTrackerSpec(o2::dataformats::GlobalTrackID::mask_t src, bool useMC, bool useGeom)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
void collectData(o2::framework::ProcessingContext &pc, const DataRequest &request)
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"