Project
Loading...
Searching...
No Matches
ITSStudiesConfigParam.h
Go to the documentation of this file.
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 ITS_STUDY_CONFIG_PARAM_H
13#define ITS_STUDY_CONFIG_PARAM_H
14
17
18namespace o2
19{
20namespace its
21{
22namespace study
23{
24struct ITSCheckTracksParamConfig : public o2::conf::ConfigurableParamHelper<ITSCheckTracksParamConfig> {
25 std::string outFileName = "TrackCheckStudy.root";
26 size_t effHistBins = 100;
27 unsigned short trackLengthMask = 0x7f;
28 float effPtCutLow = 0.01;
29 float effPtCutHigh = 10.;
30
31 O2ParamDef(ITSCheckTracksParamConfig, "ITSCheckTracksParam");
32};
33
34struct ITSAvgClusSizeParamConfig : public o2::conf::ConfigurableParamHelper<ITSAvgClusSizeParamConfig> {
35 // Data parameters
36 double b = 5; // Solenoid field in kG (+/-)
37
38 // K0s ID cuts
39 std::string targetV0 = "K0"; // target V0; set as "K0" or "Lambda"
40 float tgV0window = 0.02; // half-width of mass window for target V0 mass hypothesis testing (GeV)
41 float bgV0window = 0.01; // half-width of mass window for background V0 mass hypothesis testing (GeV)
42 float Rmin = 0.; // lower limit on V0 decay length (cm?)
43 float Rmax = 5.4; // upper limit on V0 decay length (cm?)
44 float cosPAmin = 0.995; // lower limit on cosine of pointing angle
45 float prongDCAmax = 0.2; // upper limit on DCA between two daughter prongs (cm?)
46 float dauPVDCAmin = 0.2; // lower limit on DCA between prong and primary vertex (cm?)
47 float v0PVDCAmax = 0.2; // upper limit on DCA between V0 and primary vertex (cm?)
48 int dauNClusMin = 0; // lower limit on number of ITS clusters on daughter tracks TODO: not yet implemented
49
50 // Kinematic cut disable flags, false="leave this cut on"; NOTE: may be a better way to implement this with std::bitset<8>
51 bool disableCosPA = false;
52 bool disableRmin = false;
53 bool disableRmax = false;
54 bool disableProngDCAmax = false;
55 bool disableDauPVDCAmin = false;
56 bool disableV0PVDCAmax = false;
57 bool disableDauNClusmin = false; // TODO: not yet implemented
58 bool disableMassHypoth = true; // applies to both target and background V0 cuts
59
60 // Plotting options
61 bool generatePlots = true; // flag to generate plots
62 std::string outFileName = "o2standalone_cluster_size_study.root"; // filename for the ROOT output of this study
63
64 // Average cluster size plot: eta binning parameters
65 float etaMin = -1.5; // lower edge of lowest bin for eta binning on average cluster size
66 float etaMax = 1.5; // upper edge for highest bin for eta binning on average cluster size
67 int etaNBins = 5; // number of eta bins
68
69 // Average cluster size plot: cluster size binning parameters
70 float sizeMax = 15; // upper edge of highest bin for average cluster size
71 int sizeNBins = 20; // number of cluster size bins
72
73 O2ParamDef(ITSAvgClusSizeParamConfig, "ITSAvgClusSizeParam");
74};
75
76struct PIDStudyParamConfig : public o2::conf::ConfigurableParamHelper<PIDStudyParamConfig> {
77 std::string outFileName = "its_PIDStudy.root";
78 // default: average 2023 from C. Sonnabend, Nov 2023: ([0.217553 4.02762 0.00850178 2.33324 0.880904 ])
79 // to-do: grab from CCDB when available
80 float mBBpars[5] = {0.217553, 4.02762, 0.00850178, 2.33324, 0.880904};
81 float mBBres = 0.07; // default: 7% resolution
83};
84
85struct AnomalyStudyParamConfig : public o2::conf::ConfigurableParamHelper<AnomalyStudyParamConfig> {
86 std::string outFileName = "its_AnomalyStudy.root";
87 size_t nLayersToProcess = 3;
88 size_t nTimeFramesOffset = 500;
89 size_t nRofTimeFrames = 192;
90 float nPhiBinsMultiplier = 1.f;
91 float pValueCut = 0.05;
92 bool doROFAnalysis = false;
93
94 O2ParamDef(AnomalyStudyParamConfig, "AnomalyStudyParam");
95};
96
97struct ITSEfficiencyParamConfig : public o2::conf::ConfigurableParamHelper<ITSEfficiencyParamConfig> {
98 std::string outFileName = "ITS_efficiencyStudy.root";
99 double b = 0; // Solenoid field in kG (+/-)
100
101 O2ParamDef(ITSEfficiencyParamConfig, "ITSEfficiencyParam");
102};
103
104struct ITSImpactParameterParamConfig : public o2::conf::ConfigurableParamHelper<ITSImpactParameterParamConfig> {
105 std::string outFileName = "its_ImpParameter.root";
107 bool applyTrackCuts = false;
108 bool useAllTracks = false;
109 bool generatePlots = false;
110
111 O2ParamDef(ITSImpactParameterParamConfig, "ITSImpactParameterParam");
112};
113
114} // namespace study
115} // namespace its
116} // namespace o2
117
118#endif
GLboolean GLboolean GLboolean b
Definition glcorearb.h:1233
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
O2ParamDef(AnomalyStudyParamConfig, "AnomalyStudyParam")
O2ParamDef(ITSAvgClusSizeParamConfig, "ITSAvgClusSizeParam")
O2ParamDef(ITSCheckTracksParamConfig, "ITSCheckTracksParam")
O2ParamDef(ITSEfficiencyParamConfig, "ITSEfficiencyParam")
O2ParamDef(ITSImpactParameterParamConfig, "ITSImpactParameterParam")
O2ParamDef(PIDStudyParamConfig, "PIDStudyParam")