Skip to content

Commit 2d6844a

Browse files
iouribelikovshahor02
authored andcommitted
Possibility to set tracking parameters from the command line
1 parent 4b772a5 commit 2d6844a

File tree

6 files changed

+112
-4
lines changed

6 files changed

+112
-4
lines changed

Detectors/ITSMFT/ITS/reconstruction/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,17 @@
1111

1212
o2_add_library(
1313
ITSReconstruction
14-
SOURCES src/ClustererTask.cxx src/CookedTracker.cxx src/RecoGeomHelper.cxx
15-
src/FastMultEstConfig.cxx src/FastMultEst.cxx
14+
SOURCES src/ClustererTask.cxx src/CookedTracker.cxx src/CookedConfigParam.cxx
15+
src/RecoGeomHelper.cxx src/FastMultEstConfig.cxx src/FastMultEst.cxx
1616
PUBLIC_LINK_LIBRARIES O2::ITSBase O2::ITSMFTReconstruction O2::DataFormatsITS
1717
O2::CommonUtils)
1818

1919
o2_target_root_dictionary(
2020
ITSReconstruction
2121
HEADERS include/ITSReconstruction/ClustererTask.h
2222
include/ITSReconstruction/CookedTracker.h
23+
include/ITSReconstruction/CookedConfigParam.h
2324
include/ITSReconstruction/RecoGeomHelper.h
2425
include/ITSReconstruction/FastMultEst.h
2526
include/ITSReconstruction/FastMultEstConfig.h
26-
)
27+
LINKDEF src/CookedTrackerLinkDef.h)
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
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+
12+
#ifndef ALICEO2_COOKEDTRACKINGPARAM_H_
13+
#define ALICEO2_COOKEDTRACKINGPARAM_H_
14+
15+
#include "CommonUtils/ConfigurableParamHelper.h"
16+
17+
namespace o2
18+
{
19+
namespace its
20+
{
21+
22+
struct CookedConfigParam : public o2::conf::ConfigurableParamHelper<CookedConfigParam> {
23+
// seed "windows" in z and phi: makeSeeds
24+
float zWin = 0.33;
25+
float minPt = 0.05;
26+
// Maximal accepted impact parameters for the seeds
27+
float maxDCAxy = 3.;
28+
float maxDCAz = 3.;
29+
// Space-point resolution
30+
float sigma = 0.0005;
31+
// Tracking "road" from layer to layer
32+
float roadY = 0.2;
33+
float roadZ = 0.3;
34+
// Minimal number of attached clusters
35+
int minNumberOfClusters = 4;
36+
37+
O2ParamDef(CookedConfigParam, "ITSCookedTracker");
38+
};
39+
40+
} // namespace its
41+
} // namespace o2
42+
#endif

Detectors/ITSMFT/ITS/reconstruction/include/ITSReconstruction/CookedTracker.h

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include "DataFormatsITS/TrackITS.h"
3030
#include "DataFormatsITSMFT/ROFRecord.h"
3131
#include "ReconstructionDataFormats/Vertex.h"
32+
#include "ITSReconstruction/CookedConfigParam.h"
3233

3334
using Point3Df = o2::math_utils::Point3D<float>;
3435

@@ -59,6 +60,20 @@ class CookedTracker
5960
CookedTracker& operator=(const CookedTracker& tr) = delete;
6061
~CookedTracker() = default;
6162

63+
void setConfigParams()
64+
{
65+
const auto& par = CookedConfigParam::Instance();
66+
LOG(INFO) << " Setting configurable parameters...";
67+
68+
gzWin = par.zWin;
69+
gminPt = par.minPt;
70+
gmaxDCAxy = par.maxDCAxy;
71+
gmaxDCAz = par.maxDCAz;
72+
gSigma2 = par.sigma * par.sigma;
73+
gRoadY = par.roadY;
74+
gRoadZ = par.roadZ;
75+
gminNumberOfClusters = par.minNumberOfClusters;
76+
}
6277
void setParameters(const std::vector<float>& par)
6378
{
6479
gzWin = par[0];
@@ -68,7 +83,7 @@ class CookedTracker
6883
gSeedingLayer1 = par[5];
6984
gSeedingLayer2 = par[6];
7085
gSeedingLayer3 = par[7];
71-
gSigma2 = par[8];
86+
gSigma2 = par[8] * par[8];
7287
gmaxChi2PerCluster = par[9];
7388
gmaxChi2PerTrack = par[10];
7489
gRoadY = par[11];
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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+
12+
#include "ITSReconstruction/CookedConfigParam.h"
13+
14+
namespace o2
15+
{
16+
namespace its
17+
{
18+
static auto& sITSCookedTrackerParam = o2::its::CookedConfigParam::Instance();
19+
20+
O2ParamImpl(o2::its::CookedConfigParam);
21+
} // namespace its
22+
} // namespace o2
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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+
12+
#ifdef __CLING__
13+
14+
#pragma link off all globals;
15+
#pragma link off all classes;
16+
#pragma link off all functions;
17+
18+
#pragma link C++ class o2::its::ClustererTask + ;
19+
#pragma link C++ class o2::its::CookedTracker + ;
20+
#pragma link C++ class o2::its::CookedConfigParam + ;
21+
#pragma link C++ class o2::conf::ConfigurableParamHelper < o2::its::CookedConfigParam> + ;
22+
#pragma link C++ class o2::its::RecoGeomHelper + ;
23+
#pragma link C++ class o2::its::FastMultEst + ;
24+
#pragma link C++ class o2::its::FastMultEstConfig + ;
25+
26+
#endif

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ void CookedTrackerDPL::init(InitContext& ic)
8181
o2::math_utils::TransformType::T2G));
8282
mTracker.setGeometry(geom);
8383

84+
mTracker.setConfigParams();
85+
8486
double origD[3] = {0., 0., 0.};
8587
mTracker.setBz(field->getBz(origD));
8688

0 commit comments

Comments
 (0)