|
19 | 19 | #include "Common/CCDB/EventSelectionParams.h" |
20 | 20 | #include "Common/DataModel/Centrality.h" |
21 | 21 | #include "Common/DataModel/EventSelection.h" |
| 22 | +#include "Common/DataModel/PIDResponseITS.h" |
22 | 23 | #include "Common/DataModel/PIDResponseTOF.h" |
23 | 24 | #include "Common/DataModel/PIDResponseTPC.h" |
24 | 25 | #include "Common/DataModel/Qvectors.h" |
|
37 | 38 | #include <Framework/Logger.h> |
38 | 39 | #include <Framework/OutputObjHeader.h> |
39 | 40 | #include <Framework/runDataProcessing.h> |
| 41 | +#include <ReconstructionDataFormats/PID.h> |
40 | 42 |
|
41 | 43 | #include <Math/Vector4D.h> // IWYU pragma: keep (do not replace with Math/Vector4Dfwd.h) |
42 | 44 | #include <Math/Vector4Dfwd.h> |
@@ -70,6 +72,8 @@ struct Cha01710analysis { |
70 | 72 |
|
71 | 73 | Service<o2::ccdb::BasicCCDBManager> ccdb{}; |
72 | 74 |
|
| 75 | + o2::aod::ITSResponse itsResponse; |
| 76 | + |
73 | 77 | Configurable<std::string> cfgUrl{"cfgUrl", "http://alice-ccdb.cern.ch", "CCDB URL"}; |
74 | 78 |
|
75 | 79 | struct : ConfigurableGroup { |
@@ -110,6 +114,8 @@ struct Cha01710analysis { |
110 | 114 | Configurable<float> cfgDcaZMax{"cfgDcaZMax", 2.f, "maximum |DCAz| (cm)"}; |
111 | 115 | Configurable<float> cfgTPCNSigmaMax{"cfgTPCNSigmaMax", 3.f, "maximum |TPC nSigma(K)| without TOF"}; |
112 | 116 | Configurable<float> cfgCombinedNSigmaMax{"cfgCombinedNSigmaMax", 3.f, "maximum combined TPC-TOF nSigma(K)"}; |
| 117 | + Configurable<bool> cfgPIDITSFlag{"cfgPIDITSFlag", true, "PID ITS flag"}; |
| 118 | + Configurable<float> cfgPIDMaxITSnSigmaKaon{"cfgPIDMaxITSnSigmaKaon", 3.0, "ITS nSigma selection"}; |
113 | 119 | } kaonCuts; |
114 | 120 |
|
115 | 121 | struct : ConfigurableGroup { |
@@ -193,6 +199,8 @@ struct Cha01710analysis { |
193 | 199 | histos.add("Kaon/hTOFNSigma", "charged kaon TOF PID", HistType::kTH2F, {cfgAxisPt, {120, -6., 6.}}); |
194 | 200 | histos.add("Kaon/hTPCNSigmaSelected", "charged kaon TPC PID", HistType::kTH2F, {cfgAxisPt, {120, -6., 6.}}); |
195 | 201 | histos.add("Kaon/hTOFNSigmaSelected", "charged kaon TOF PID", HistType::kTH2F, {cfgAxisPt, {120, -6., 6.}}); |
| 202 | + histos.add("Kaon/hITSNSigma", "charged kaon ITS PID", HistType::kTH2F, {cfgAxisPt, {120, -6., 6.}}); |
| 203 | + histos.add("Kaon/hITSNSigmaSelected", "charged kaon ITS PID", HistType::kTH2F, {cfgAxisPt, {120, -6., 6.}}); |
196 | 204 |
|
197 | 205 | histos.add("Pair/hSignalPlus", "K0S K+ same-event versus EP", HistType::kTHnSparseF, {cfgAxisMass, cfgAxisPt, cfgAxisCent, cfgAxisEP}); |
198 | 206 | histos.add("Pair/hSignalMinus", "K0S K- same-event versus EP", HistType::kTHnSparseF, {cfgAxisMass, cfgAxisPt, cfgAxisCent, cfgAxisEP}); |
@@ -263,9 +271,28 @@ struct Cha01710analysis { |
263 | 271 | histos.fill(HIST("Kaon/hTPCNSigma"), track.pt(), track.tpcNSigmaKa()); |
264 | 272 | if (track.hasTOF()) { |
265 | 273 | histos.fill(HIST("Kaon/hTOFNSigma"), track.pt(), track.tofNSigmaKa()); |
266 | | - return std::hypot(track.tpcNSigmaKa(), track.tofNSigmaKa()) < kaonCuts.cfgCombinedNSigmaMax; |
267 | 274 | } |
268 | | - return std::abs(track.tpcNSigmaKa()) < kaonCuts.cfgTPCNSigmaMax; |
| 275 | + histos.fill(HIST("Kaon/hITSNSigma"), track.pt(), itsResponse.nSigmaITS<o2::track::PID::Kaon>(track)); |
| 276 | + |
| 277 | + Configurable<bool> cfgPIDITSFlag{"cfgPIDITSFlag", true, "PID ITS flag"}; |
| 278 | + Configurable<float> cfgPIDMaxITSnSigmaKaon{"cfgPIDMaxITSnSigmaKaon", 3.0, "ITS nSigma selection"}; |
| 279 | + |
| 280 | + if (track.hasTOF()) { |
| 281 | + if (std::hypot(track.tpcNSigmaKa(), track.tofNSigmaKa()) > kaonCuts.cfgCombinedNSigmaMax) { |
| 282 | + return false; |
| 283 | + } |
| 284 | + if (kaonCuts.cfgPIDITSFlag && std::abs(itsResponse.nSigmaITS<o2::track::PID::Kaon>(track)) > kaonCuts.cfgPIDMaxITSnSigmaKaon) { |
| 285 | + return false; |
| 286 | + } |
| 287 | + return true; |
| 288 | + } |
| 289 | + if (std::abs(track.tpcNSigmaKa()) > kaonCuts.cfgTPCNSigmaMax) { |
| 290 | + return false; |
| 291 | + } |
| 292 | + if (kaonCuts.cfgPIDITSFlag && std::abs(itsResponse.nSigmaITS<o2::track::PID::Kaon>(track)) > kaonCuts.cfgPIDMaxITSnSigmaKaon) { |
| 293 | + return false; |
| 294 | + } |
| 295 | + return true; |
269 | 296 | } |
270 | 297 |
|
271 | 298 | template <typename T> |
|
0 commit comments