Skip to content

Commit c917590

Browse files
mconcasshahor02
authored andcommitted
Add --configKeyValue for MB LUT
1 parent e2112a5 commit c917590

File tree

6 files changed

+40
-7
lines changed

6 files changed

+40
-7
lines changed

Detectors/ITSMFT/ITS/tracking/include/ITStracking/Tracker.h

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,15 @@ class Tracker
6565

6666
std::vector<TrackITSExt>& getTracks();
6767
auto& getTrackLabels() { return mTrackLabels; }
68+
bool isMatLUT();
6869

6970
void clustersToTracks(const ROframe&, std::ostream& = std::cout);
7071

7172
void setROFrame(std::uint32_t f) { mROFrame = f; }
7273
std::uint32_t getROFrame() const { return mROFrame; }
7374
void setParameters(const std::vector<MemoryParameters>&, const std::vector<TrackingParameters>&);
75+
void initMatBudLUTFromFile();
76+
void getGlobalConfiguration();
7477

7578
private:
7679
track::TrackParCov buildTrackSeed(const Cluster& cluster1, const Cluster& cluster2, const Cluster& cluster3,
@@ -111,9 +114,6 @@ inline void Tracker::setParameters(const std::vector<MemoryParameters>& memPars,
111114
{
112115
mMemParams = memPars;
113116
mTrkParams = trkPars;
114-
if (mTrkParams[0].UseMatBudLUT) {
115-
mMatLayerCylSet = o2::base::MatLayerCylSet::loadFromFile();
116-
}
117117
}
118118

119119
inline float Tracker::getBz() const
@@ -126,6 +126,16 @@ inline void Tracker::setBz(float bz)
126126
mBz = bz;
127127
}
128128

129+
inline void Tracker::initMatBudLUTFromFile()
130+
{
131+
mMatLayerCylSet = o2::base::MatLayerCylSet::loadFromFile();
132+
}
133+
134+
inline bool Tracker::isMatLUT()
135+
{
136+
return mMatLayerCylSet;
137+
}
138+
129139
template <typename... T>
130140
void Tracker::initialisePrimaryVertexContext(T&&... args)
131141
{

Detectors/ITSMFT/ITS/tracking/include/ITStracking/TrackingConfigParam.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ namespace o2
1919
namespace its
2020
{
2121

22-
class VertexingParameters;
2322
struct VertexerParamConfig : public o2::conf::ConfigurableParamHelper<VertexerParamConfig> {
2423

2524
// geometrical cuts
@@ -36,7 +35,14 @@ struct VertexerParamConfig : public o2::conf::ConfigurableParamHelper<VertexerPa
3635
O2ParamDef(VertexerParamConfig, "ITSVertexerParam");
3736
};
3837

39-
// VertexerParamConfig VertexerParamConfig::sInstance;
38+
struct TrackerParamConfig : public o2::conf::ConfigurableParamHelper<TrackerParamConfig> {
39+
40+
// Use lookup table for mat. budget
41+
bool useMatBudLUT = false;
42+
43+
O2ParamDef(TrackerParamConfig, "ITSCATrackerParam");
44+
};
45+
4046
} // namespace its
4147
} // namespace o2
4248
#endif

Detectors/ITSMFT/ITS/tracking/src/Tracker.cxx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "ITStracking/Tracklet.h"
2121
#include "ITStracking/TrackerTraits.h"
2222
#include "ITStracking/TrackerTraitsCPU.h"
23+
#include "ITStracking/TrackingConfigParam.h"
2324

2425
#include "ReconstructionDataFormats/Track.h"
2526
#include <cassert>
@@ -653,5 +654,14 @@ track::TrackParCov Tracker::buildTrackSeed(const Cluster& cluster1, const Cluste
653654
s2 * fy * cy, 0.f, s2 * cy * cy});
654655
}
655656

657+
void Tracker::getGlobalConfiguration()
658+
{
659+
auto& tc = o2::its::TrackerParamConfig::Instance();
660+
661+
if (tc.useMatBudLUT) {
662+
initMatBudLUTFromFile();
663+
}
664+
}
665+
656666
} // namespace its
657667
} // namespace o2

Detectors/ITSMFT/ITS/tracking/src/TrackingConfigParam.cxx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ namespace o2
1616
namespace its
1717
{
1818
static auto& sVertexerParamITS = o2::its::VertexerParamConfig::Instance();
19+
static auto& sCATrackerParamITS = o2::its::TrackerParamConfig::Instance();
1920

20-
O2ParamImpl(o2::its::VertexerParamConfig)
21+
O2ParamImpl(o2::its::VertexerParamConfig);
22+
O2ParamImpl(o2::its::TrackerParamConfig);
2123
} // namespace its
2224
} // namespace o2

Detectors/ITSMFT/ITS/tracking/src/TrackingLinkDef.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,7 @@
2020
#pragma link C++ class o2::its::VertexerParamConfig + ;
2121
#pragma link C++ class o2::conf::ConfigurableParamHelper <o2::its::VertexerParamConfig> + ;
2222

23+
#pragma link C++ class o2::its::TrackerParamConfig + ;
24+
#pragma link C++ class o2::conf::ConfigurableParamHelper <o2::its::TrackerParamConfig> + ;
25+
2326
#endif

Detectors/ITSMFT/ITS/workflow/src/TrackerSpec.cxx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,9 @@ void TrackerDPL::init(InitContext& ic)
7979
LOG(INFO) << "Initializing tracker in async. phase reconstruction with " << trackParams.size() << " passes";
8080
}
8181
mVertexer->getGlobalConfiguration();
82-
// mVertexer->dumpTraits();
82+
mTracker->getGlobalConfiguration();
83+
LOG(INFO) << Form("%ssing lookup table for material budget approximation", (mTracker->isMatLUT() ? "U" : "Not u"));
84+
8385
double origD[3] = {0., 0., 0.};
8486
mTracker->setBz(field->getBz(origD));
8587
} else {

0 commit comments

Comments
 (0)