Skip to content

Commit 0d380bd

Browse files
authored
[PWGEM] add PID scenario: TPC only selection hadron rej, TOF required" (#8426)
1 parent 1581c47 commit 0d380bd

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

PWGEM/Dilepton/Core/DielectronCut.h

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@ class DielectronCut : public TNamed
8686
kTPChadrejORTOFreq = 2,
8787
kTPConly = 3,
8888
kTOFif = 4,
89-
kPIDML = 5
89+
kPIDML = 5,
90+
kTPChadrejORTOFreq_woTOFif = 6
9091
};
9192

9293
template <typename T = int, typename TPair>
@@ -285,6 +286,9 @@ class DielectronCut : public TNamed
285286
case static_cast<int>(PIDSchemes::kPIDML):
286287
return true; // don't use kPIDML here.
287288

289+
case static_cast<int>(PIDSchemes::kTPChadrejORTOFreq_woTOFif):
290+
return PassTPConlyhadrej(track) || PassTOFreq(track);
291+
288292
case static_cast<int>(PIDSchemes::kUnDef):
289293
return true;
290294

@@ -321,6 +325,17 @@ class DielectronCut : public TNamed
321325
return is_el_included_TPC;
322326
}
323327

328+
template <typename T>
329+
bool PassTPConlyhadrej(T const& track) const
330+
{
331+
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
332+
bool is_mu_excluded_TPC = mMuonExclusionTPC ? track.tpcNSigmaMu() < mMinTPCNsigmaMu || mMaxTPCNsigmaMu < track.tpcNSigmaMu() : true;
333+
bool is_pi_excluded_TPC = track.tpcInnerParam() < mMaxPinForPionRejectionTPC ? (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi()) : true;
334+
bool is_ka_excluded_TPC = track.tpcNSigmaKa() < mMinTPCNsigmaKa || mMaxTPCNsigmaKa < track.tpcNSigmaKa();
335+
bool is_pr_excluded_TPC = track.tpcNSigmaPr() < mMinTPCNsigmaPr || mMaxTPCNsigmaPr < track.tpcNSigmaPr();
336+
return is_el_included_TPC && is_mu_excluded_TPC && is_pi_excluded_TPC && is_ka_excluded_TPC && is_pr_excluded_TPC;
337+
}
338+
324339
template <typename T>
325340
bool PassTOFif(T const& track) const
326341
{

PWGEM/Dilepton/Core/Dilepton.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ struct Dilepton {
205205
Configurable<float> cfg_min_rel_diff_pin{"cfg_min_rel_diff_pin", -1e+10, "min rel. diff. between pin and ppv"};
206206
Configurable<float> cfg_max_rel_diff_pin{"cfg_max_rel_diff_pin", +1e+10, "max rel. diff. between pin and ppv"};
207207

208-
Configurable<int> cfg_pid_scheme{"cfg_pid_scheme", static_cast<int>(DielectronCut::PIDSchemes::kTPChadrejORTOFreq), "pid scheme [kTOFreq : 0, kTPChadrej : 1, kTPChadrejORTOFreq : 2, kTPConly : 3, kTOFif = 4, kPIDML = 5]"};
208+
Configurable<int> cfg_pid_scheme{"cfg_pid_scheme", static_cast<int>(DielectronCut::PIDSchemes::kTPChadrejORTOFreq), "pid scheme [kTOFreq : 0, kTPChadrej : 1, kTPChadrejORTOFreq : 2, kTPConly : 3, kTOFif : 4, kPIDML : 5, kTPChadrejORTOFreq_woTOFif : 6]"};
209209
Configurable<float> cfg_min_TPCNsigmaEl{"cfg_min_TPCNsigmaEl", -2.0, "min. TPC n sigma for electron inclusion"};
210210
Configurable<float> cfg_max_TPCNsigmaEl{"cfg_max_TPCNsigmaEl", +3.0, "max. TPC n sigma for electron inclusion"};
211211
Configurable<float> cfg_min_TPCNsigmaMu{"cfg_min_TPCNsigmaMu", -0.0, "min. TPC n sigma for muon exclusion"};

0 commit comments

Comments
 (0)