Project
Loading...
Searching...
No Matches
TrackingInterface.cxx
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
18
19namespace o2::its3
20{
21
23{
25 static bool initOnceDone = false;
26 if (!initOnceDone) { // this params need to be queried only once
27 initOnceDone = true;
28 pc.inputs().get<o2::its3::TopologyDictionary*>("cldict"); // just to trigger the finaliseCCDB
30 if (pc.inputs().getPos("itsTGeo") >= 0) {
31 pc.inputs().get<o2::its::GeometryTGeo*>("itsTGeo");
32 }
33 auto geom = its::GeometryTGeo::Instance();
35 initialise();
37 if (pc.services().get<const o2::framework::DeviceSpec>().inputTimesliceId == 0) { // print settings only for the 1st pipeling
40 const auto& trParams = getTracker()->getParameters();
41 for (size_t it = 0; it < trParams.size(); it++) {
42 const auto& par = trParams[it];
43 LOGP(info, "recoIter#{} : {}", it, par.asString());
44 }
45 }
46 }
47}
48
50{
52 return;
53 }
54 if (matcher == framework::ConcreteDataMatcher("IT3", "CLUSDICT", 0)) {
55 LOG(info) << "cluster dictionary updated";
57 return;
58 }
59 if (matcher == framework::ConcreteDataMatcher("ITS", "ALPIDEPARAM", 0)) {
60 LOG(info) << "Alpide param updated";
62 par.printKeyValues();
63 return;
64 }
65 if (matcher == framework::ConcreteDataMatcher("GLO", "MEANVERTEX", 0)) {
66 LOGP(info, "Mean vertex acquired");
68 return;
69 }
70 if (matcher == framework::ConcreteDataMatcher("ITS", "GEOMTGEO", 0)) {
71 LOG(info) << "ITS GeometryTGeo loaded from ccdb";
73 return;
74 }
75}
76
77void ITS3TrackingInterface::loadROF(gsl::span<itsmft::ROFRecord>& trackROFspan,
78 gsl::span<const itsmft::CompClusterExt> clusters,
79 gsl::span<const unsigned char>::iterator& pattIt,
81{
82 ioutils::loadROFrameDataITS3(mTimeFrame, trackROFspan, clusters, pattIt, mDict, mcLabels);
83}
84
85} // namespace o2::its3
Helper for geometry and GRP related CCDB requests.
Definition of the GeometryTGeo class.
void checkUpdates(o2::framework::ProcessingContext &pc)
static GRPGeomHelper & instance()
A container to hold and manage MC truth information/labels.
int getPos(const char *name) const
decltype(auto) get(R binding, int part=0) const
InputRecord & inputs()
The inputs associated with this processing context.
ServiceRegistryRef services()
The services registry associated with this processing context.
void finaliseCCDB(framework::ConcreteDataMatcher &matcher, void *obj) final
void updateTimeDependentParams(framework::ProcessingContext &pc) final
void setClusterDictionary(const o2::its3::TopologyDictionary *d)
void loadROF(gsl::span< itsmft::ROFRecord > &trackROFspan, gsl::span< const itsmft::CompClusterExt > clusters, gsl::span< const unsigned char >::iterator &pattIt, const dataformats::MCTruthContainer< MCCompLabel > *mcLabels) final
static GeometryTGeo * Instance()
static void adopt(GeometryTGeo *raw, bool canDelete=false)
void setMeanVertex(const o2::dataformats::MeanVertexObject *v)
void getConfiguration(framework::ProcessingContext &pc)
int loadROFrameDataITS3(its::TimeFrame *tf, gsl::span< o2::itsmft::ROFRecord > rofs, gsl::span< const itsmft::CompClusterExt > clusters, gsl::span< const unsigned char >::iterator &pattIt, const its3::TopologyDictionary *dict, const dataformats::MCTruthContainer< MCCompLabel > *mcLabels=nullptr)
Definition IOUtils.cxx:59
size_t inputTimesliceId
The time pipelining id of this particular device.
Definition DeviceSpec.h:68
static constexpr int T2L
Definition Cartesian.h:55
static constexpr int T2GRot
Definition Cartesian.h:57
static constexpr int T2G
Definition Cartesian.h:56
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"
std::vector< Cluster > clusters