Skip to content

Commit 84ee7bd

Browse files
authored
ITS3: add study workflow and fix QA macros (#14780)
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
1 parent 98cd61e commit 84ee7bd

17 files changed

+1677
-1109
lines changed

Detectors/Upgrades/ITS3/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ add_subdirectory(base)
1919
add_subdirectory(workflow)
2020
add_subdirectory(reconstruction)
2121
add_subdirectory(macros)
22+
add_subdirectory(study)

Detectors/Upgrades/ITS3/macros/test/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
its3_add_macro(CheckDigitsITS3.C)
1313
its3_add_macro(CheckClustersITS3.C)
1414
its3_add_macro(CheckTracksITS3.C)
15-
its3_add_macro(CheckDCA.C)
1615
its3_add_macro(CreateDictionariesITS3.C)
1716
its3_add_macro(buildMatBudLUT.C)
1817
its3_add_macro(CheckHits.C)

Detectors/Upgrades/ITS3/macros/test/CheckClustersITS3.C

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ void CheckClustersITS3(const std::string& clusfile = "o2clus_its.root",
283283
nt.Draw("cgy:cgx>>h_cgy_vs_cgx_OB(1000, -50, 50, 1000, -50, 50)", "id >= 3456", "colz");
284284
canvCgXCgY->cd(4);
285285
nt.Draw("cgy:cgz>>h_cgy_vs_cgz_OB(1000, -100, 100, 1000, -50, 50)", "id >= 3456", "colz");
286-
canvCgXCgY->SaveAs("it3clusters_y_vs_x_vs_z.pdf");
286+
canvCgXCgY->SaveAs("it3clusters_y_vs_x_vs_z.png");
287287

288288
auto canvdXdZ = new TCanvas("canvdXdZ", "", 1600, 800);
289289
canvdXdZ->Divide(2, 2);
@@ -295,7 +295,7 @@ void CheckClustersITS3(const std::string& clusfile = "o2clus_its.root",
295295
nt.Draw("dx:dz>>h_dx_vs_dz_IB_z(1000, -0.01, 0.01, 1000, -0.01, 0.01)", "id < 3456 && abs(cgz) < 2", "colz");
296296
canvdXdZ->cd(4)->SetLogz();
297297
nt.Draw("dx:dz>>h_dx_vs_dz_OB_z(1000, -0.01, 0.01, 1000, -0.01, 0.01)", "id >= 3456 && abs(cgz) < 2", "colz");
298-
canvdXdZ->SaveAs("it3clusters_dx_vs_dz.pdf");
298+
canvdXdZ->SaveAs("it3clusters_dx_vs_dz.png");
299299

300300
auto canvCHXZ = new TCanvas("canvCHXZ", "", 1600, 1600);
301301
canvCHXZ->Divide(2, 2);
@@ -307,7 +307,7 @@ void CheckClustersITS3(const std::string& clusfile = "o2clus_its.root",
307307
nt.Draw("(cgz-hgz)*10000:eta>>h_chz_IB(101,-1.4,1.4,101,-50,50)", "id<3456", "prof");
308308
canvCHXZ->cd(4);
309309
nt.Draw("(cgz-hgz)*10000:eta>>h_chz_OB(101,-1.4,1.4,101,-50,50)", "id>=3456", "prof");
310-
canvCgXCgY->SaveAs("it3clusters_xz_eta.pdf");
310+
canvCgXCgY->SaveAs("it3clusters_xz_eta.png");
311311

312312
auto c1 = new TCanvas("p1", "pullX");
313313
c1->cd();

Detectors/Upgrades/ITS3/macros/test/CheckDCA.C

Lines changed: 0 additions & 965 deletions
This file was deleted.

Detectors/Upgrades/ITS3/macros/test/CheckDigitsITS3.C

Lines changed: 173 additions & 140 deletions
Large diffs are not rendered by default.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
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+
# add_compile_options(-O0 -g -fPIC -fno-omit-frame-pointer)
13+
14+
o2_add_library(ITS3TrackingStudy
15+
TARGETVARNAME targetName
16+
SOURCES src/ITS3TrackingStudyParam.cxx
17+
src/TrackingStudy.cxx
18+
src/ParticleInfoExt.cxx
19+
PUBLIC_LINK_LIBRARIES O2::ITS3Workflow
20+
O2::GlobalTracking
21+
O2::GlobalTrackingWorkflowReaders
22+
O2::GlobalTrackingWorkflowHelpers
23+
O2::DataFormatsGlobalTracking
24+
O2::DetectorsVertexing
25+
O2::SimulationDataFormat)
26+
27+
o2_target_root_dictionary(ITS3TrackingStudy
28+
HEADERS include/ITS3TrackingStudy/ITS3TrackingStudyParam.h
29+
include/ITS3TrackingStudy/ParticleInfoExt.h
30+
LINKDEF src/ITS3TrackingStudyLinkDef.h)
31+
32+
o2_add_executable(study-workflow
33+
COMPONENT_NAME its3-tracking
34+
SOURCES src/its3-tracking-study-workflow.cxx
35+
PUBLIC_LINK_LIBRARIES O2::ITS3TrackingStudy)
36+
37+
add_subdirectory(macros)
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
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 O2_TRACKING_STUDY_CONFIG_H
13+
#define O2_TRACKING_STUDY_CONFIG_H
14+
#include "CommonUtils/ConfigurableParam.h"
15+
#include "CommonUtils/ConfigurableParamHelper.h"
16+
17+
#include "DetectorsBase/Propagator.h"
18+
19+
namespace o2::its3::study
20+
{
21+
22+
struct ITS3TrackingStudyParam : o2::conf::ConfigurableParamHelper<ITS3TrackingStudyParam> {
23+
/// general track selection
24+
float maxChi2{36};
25+
float maxEta{1.0};
26+
float minPt{0.1};
27+
float maxPt{1e2};
28+
/// PV selection
29+
int minPVCont{5};
30+
/// ITS track selection
31+
int minITSCls{7};
32+
bool refitITS{true}; // refit ITS track including the PV
33+
/// TPC track selection
34+
int minTPCCls{110};
35+
36+
// propagator
37+
o2::base::PropagatorImpl<float>::MatCorrType CorrType = o2::base::PropagatorImpl<float>::MatCorrType::USEMatCorrLUT;
38+
39+
/// studies
40+
bool doDCA = true;
41+
bool doDCARefit = true;
42+
bool doPull = true;
43+
bool doMC = false;
44+
O2ParamDef(ITS3TrackingStudyParam, "ITS3TrackingStudyParam");
45+
};
46+
47+
} // namespace o2::its3::study
48+
49+
#endif
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_PARTICLEINFO_EXT_H
13+
#define ALICEO2_PARTICLEINFO_EXT_H
14+
15+
#include "ReconstructionDataFormats/Track.h"
16+
#include "ReconstructionDataFormats/GlobalTrackID.h"
17+
#include "SimulationDataFormat/MCTrack.h"
18+
19+
namespace o2::its3::study
20+
{
21+
22+
struct ParticleInfoExt {
23+
// cluster info
24+
uint8_t clusters{0};
25+
uint8_t fakeClusters{0};
26+
// reco info
27+
uint8_t isReco{0};
28+
uint8_t isFake{0};
29+
// matching info
30+
uint8_t recoTracks;
31+
uint8_t fakeTracks;
32+
// reco track
33+
track::TrackParCov recoTrack;
34+
// mc info
35+
MCTrack mcTrack;
36+
37+
ClassDefNV(ParticleInfoExt, 1);
38+
};
39+
40+
} // namespace o2::its3::study
41+
42+
#endif
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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 O2_ITS3_TRACKING_STUDY_H
13+
#define O2_ITS3_TRACKING_STUDY_H
14+
15+
#include "ReconstructionDataFormats/GlobalTrackID.h"
16+
#include "Framework/DataProcessorSpec.h"
17+
18+
namespace o2::its3::study
19+
{
20+
21+
o2::framework::DataProcessorSpec getTrackingStudySpec(o2::dataformats::GlobalTrackID::mask_t srcTracks, o2::dataformats::GlobalTrackID::mask_t srcClus, bool useMC);
22+
23+
} // namespace o2::its3::study
24+
25+
#endif
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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+
o2_add_test_root_macro(PlotDCA.C
13+
PUBLIC_LINK_LIBRARIES O2::ITS3TrackingStudy
14+
LABELS its COMPILE_ONLY)
15+
16+
o2_add_test_root_macro(PlotPulls.C
17+
PUBLIC_LINK_LIBRARIES O2::ITS3TrackingStudy
18+
LABELS its COMPILE_ONLY)

0 commit comments

Comments
 (0)