Skip to content

Commit

Permalink
Add workflow for ITS PID study (AliceO2Group#12478)
Browse files Browse the repository at this point in the history
* Add workflow for ITS PID study

* Update author

* Update author in the header

* Add MC matching + fix output name

* Add custom BB resolution

* Update PIDStudy.cxx

Co-authored-by: Matteo Concas <[email protected]>

---------

Co-authored-by: Matteo Concas <[email protected]>
  • Loading branch information
fmazzasc and mconcas authored Dec 19, 2023
1 parent 08e4115 commit d3ad989
Show file tree
Hide file tree
Showing 7 changed files with 408 additions and 1 deletion.
1 change: 1 addition & 0 deletions Detectors/ITSMFT/ITS/postprocessing/studies/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
o2_add_library(ITSPostprocessing
SOURCES src/ImpactParameter.cxx
src/AvgClusSize.cxx
src/PIDStudy.cxx
src/ITSStudiesConfigParam.cxx
src/TrackCheck.cxx
src/Helpers.cxx
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,15 @@ struct ITSAvgClusSizeParamConfig : public o2::conf::ConfigurableParamHelper<ITSA
O2ParamDef(ITSAvgClusSizeParamConfig, "ITSAvgClusSizeParam");
};

struct PIDStudyParamConfig : public o2::conf::ConfigurableParamHelper<PIDStudyParamConfig> {
std::string outFileName = "its_PIDStudy.root";
// default: average 2023 from C. Sonnabend, Nov 2023: ([0.217553 4.02762 0.00850178 2.33324 0.880904 ])
// to-do: grab from CCDB when available
float mBBpars[5] = {0.217553, 4.02762, 0.00850178, 2.33324, 0.880904};
float mBBres = 0.07; // default: 7% resolution
O2ParamDef(PIDStudyParamConfig, "PIDStudyParam");
};

struct ITSImpactParameterParamConfig : public o2::conf::ConfigurableParamHelper<ITSImpactParameterParamConfig> {
std::string outFileName = "its_ImpParameter.root";
int minNumberOfContributors = 0;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// 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.

/// \file PIDStudy.h
/// \author Francesco Mazzaschi, [email protected]

#ifndef O2_PID_STUDY_H
#define O2_PID_STUDY_H

#include "Framework/DataProcessorSpec.h"
#include "ReconstructionDataFormats/GlobalTrackID.h"
#include <Steer/MCKinematicsReader.h>

namespace o2
{
namespace its
{
namespace study
{

using mask_t = o2::dataformats::GlobalTrackID::mask_t;

o2::framework::DataProcessorSpec getPIDStudy(mask_t srcTracksMask, mask_t srcClustersMask, bool useMC, std::shared_ptr<o2::steer::MCKinematicsReader> kineReader);
} // namespace study
} // namespace its
} // namespace o2

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,12 @@ namespace its
namespace study
{
static auto& sAvgClusSizeParamITS = o2::its::study::ITSAvgClusSizeParamConfig::Instance();
static auto& sPIDStudyParamITS = o2::its::study::PIDStudyParamConfig::Instance();
static auto& sCheckTracksParamsITS = o2::its::study::ITSCheckTracksParamConfig::Instance();
static auto& sImpactParameterParamsITS = o2::its::study::ITSImpactParameterParamConfig::Instance();

O2ParamImpl(o2::its::study::ITSAvgClusSizeParamConfig);
O2ParamImpl(o2::its::study::PIDStudyParamConfig);
O2ParamImpl(o2::its::study::ITSCheckTracksParamConfig);
O2ParamImpl(o2::its::study::ITSImpactParameterParamConfig);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@
#pragma link off all functions;

#pragma link C++ class o2::its::study::ITSAvgClusSizeParamConfig + ;
#pragma link C++ class o2::its::study::PIDStudyParamConfig + ;
#pragma link C++ class o2::its::study::ITSImpactParameterParamConfig + ;
#pragma link C++ class o2::conf::ConfigurableParamHelper < o2::its::study::ITSAvgClusSizeParamConfig> + ;
#pragma link C++ class o2::conf::ConfigurableParamHelper < o2::its::study::PIDStudyParamConfig> + ;
#pragma link C++ class o2::conf::ConfigurableParamHelper < o2::its::study::ITSCheckTracksParamConfig> + ;
#pragma link C++ class o2::conf::ConfigurableParamHelper < o2::its::study::ITSImpactParameterParamConfig> + ;
#pragma link C++ function o2::its::studies::makeLogBinning + ;
Expand Down
Loading

0 comments on commit d3ad989

Please sign in to comment.