Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Detectors/Upgrades/ITS3/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ add_subdirectory(base)
add_subdirectory(workflow)
add_subdirectory(reconstruction)
add_subdirectory(macros)
add_subdirectory(study)
1 change: 0 additions & 1 deletion Detectors/Upgrades/ITS3/macros/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
its3_add_macro(CheckDigitsITS3.C)
its3_add_macro(CheckClustersITS3.C)
its3_add_macro(CheckTracksITS3.C)
its3_add_macro(CheckDCA.C)
its3_add_macro(CreateDictionariesITS3.C)
its3_add_macro(buildMatBudLUT.C)
its3_add_macro(CheckHits.C)
Expand Down
6 changes: 3 additions & 3 deletions Detectors/Upgrades/ITS3/macros/test/CheckClustersITS3.C
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ void CheckClustersITS3(const std::string& clusfile = "o2clus_its.root",
nt.Draw("cgy:cgx>>h_cgy_vs_cgx_OB(1000, -50, 50, 1000, -50, 50)", "id >= 3456", "colz");
canvCgXCgY->cd(4);
nt.Draw("cgy:cgz>>h_cgy_vs_cgz_OB(1000, -100, 100, 1000, -50, 50)", "id >= 3456", "colz");
canvCgXCgY->SaveAs("it3clusters_y_vs_x_vs_z.pdf");
canvCgXCgY->SaveAs("it3clusters_y_vs_x_vs_z.png");

auto canvdXdZ = new TCanvas("canvdXdZ", "", 1600, 800);
canvdXdZ->Divide(2, 2);
Expand All @@ -295,7 +295,7 @@ void CheckClustersITS3(const std::string& clusfile = "o2clus_its.root",
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");
canvdXdZ->cd(4)->SetLogz();
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");
canvdXdZ->SaveAs("it3clusters_dx_vs_dz.pdf");
canvdXdZ->SaveAs("it3clusters_dx_vs_dz.png");

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

auto c1 = new TCanvas("p1", "pullX");
c1->cd();
Expand Down
965 changes: 0 additions & 965 deletions Detectors/Upgrades/ITS3/macros/test/CheckDCA.C

This file was deleted.

313 changes: 173 additions & 140 deletions Detectors/Upgrades/ITS3/macros/test/CheckDigitsITS3.C

Large diffs are not rendered by default.

37 changes: 37 additions & 0 deletions Detectors/Upgrades/ITS3/study/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Copyright 2019-2020 CERN and copyright holders of ALICE O2.
# See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
# All rights not expressly granted are reserved.
#
# This software is distributed under the terms of the GNU General Public
# License v3 (GPL Version 3), copied verbatim in the file "COPYING".
#
# In applying this license CERN does not waive the privileges and immunities
# granted to it by virtue of its status as an Intergovernmental Organization
# or submit itself to any jurisdiction.

# add_compile_options(-O0 -g -fPIC -fno-omit-frame-pointer)

o2_add_library(ITS3TrackingStudy
TARGETVARNAME targetName
SOURCES src/ITS3TrackingStudyParam.cxx
src/TrackingStudy.cxx
src/ParticleInfoExt.cxx
PUBLIC_LINK_LIBRARIES O2::ITS3Workflow
O2::GlobalTracking
O2::GlobalTrackingWorkflowReaders
O2::GlobalTrackingWorkflowHelpers
O2::DataFormatsGlobalTracking
O2::DetectorsVertexing
O2::SimulationDataFormat)

o2_target_root_dictionary(ITS3TrackingStudy
HEADERS include/ITS3TrackingStudy/ITS3TrackingStudyParam.h
include/ITS3TrackingStudy/ParticleInfoExt.h
LINKDEF src/ITS3TrackingStudyLinkDef.h)

o2_add_executable(study-workflow
COMPONENT_NAME its3-tracking
SOURCES src/its3-tracking-study-workflow.cxx
PUBLIC_LINK_LIBRARIES O2::ITS3TrackingStudy)

add_subdirectory(macros)
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.

#ifndef O2_TRACKING_STUDY_CONFIG_H
#define O2_TRACKING_STUDY_CONFIG_H
#include "CommonUtils/ConfigurableParam.h"
#include "CommonUtils/ConfigurableParamHelper.h"

#include "DetectorsBase/Propagator.h"

namespace o2::its3::study
{

struct ITS3TrackingStudyParam : o2::conf::ConfigurableParamHelper<ITS3TrackingStudyParam> {
/// general track selection
float maxChi2{36};
float maxEta{1.0};
float minPt{0.1};
float maxPt{1e2};
/// PV selection
int minPVCont{5};
/// ITS track selection
int minITSCls{7};
bool refitITS{true}; // refit ITS track including the PV
/// TPC track selection
int minTPCCls{110};

// propagator
o2::base::PropagatorImpl<float>::MatCorrType CorrType = o2::base::PropagatorImpl<float>::MatCorrType::USEMatCorrLUT;

/// studies
bool doDCA = true;
bool doDCARefit = true;
bool doPull = true;
bool doMC = false;
O2ParamDef(ITS3TrackingStudyParam, "ITS3TrackingStudyParam");
};

} // namespace o2::its3::study

#endif
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.

#ifndef ALICEO2_PARTICLEINFO_EXT_H
#define ALICEO2_PARTICLEINFO_EXT_H

#include "ReconstructionDataFormats/Track.h"
#include "ReconstructionDataFormats/GlobalTrackID.h"
#include "SimulationDataFormat/MCTrack.h"

namespace o2::its3::study
{

struct ParticleInfoExt {
// cluster info
uint8_t clusters{0};
uint8_t fakeClusters{0};
// reco info
uint8_t isReco{0};
uint8_t isFake{0};
// matching info
uint8_t recoTracks;
uint8_t fakeTracks;
// reco track
track::TrackParCov recoTrack;
// mc info
MCTrack mcTrack;

ClassDefNV(ParticleInfoExt, 1);
};

} // namespace o2::its3::study

#endif
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.

#ifndef O2_ITS3_TRACKING_STUDY_H
#define O2_ITS3_TRACKING_STUDY_H

#include "ReconstructionDataFormats/GlobalTrackID.h"
#include "Framework/DataProcessorSpec.h"

namespace o2::its3::study
{

o2::framework::DataProcessorSpec getTrackingStudySpec(o2::dataformats::GlobalTrackID::mask_t srcTracks, o2::dataformats::GlobalTrackID::mask_t srcClus, bool useMC);

} // namespace o2::its3::study

#endif
18 changes: 18 additions & 0 deletions Detectors/Upgrades/ITS3/study/macros/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright 2019-2020 CERN and copyright holders of ALICE O2.
# See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
# All rights not expressly granted are reserved.
#
# This software is distributed under the terms of the GNU General Public
# License v3 (GPL Version 3), copied verbatim in the file "COPYING".
#
# In applying this license CERN does not waive the privileges and immunities
# granted to it by virtue of its status as an Intergovernmental Organization
# or submit itself to any jurisdiction.

o2_add_test_root_macro(PlotDCA.C
PUBLIC_LINK_LIBRARIES O2::ITS3TrackingStudy
LABELS its COMPILE_ONLY)

o2_add_test_root_macro(PlotPulls.C
PUBLIC_LINK_LIBRARIES O2::ITS3TrackingStudy
LABELS its COMPILE_ONLY)
Loading