Skip to content

Commit 6049b91

Browse files
committed
Added configurable for MID
1 parent c461cd2 commit 6049b91

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

PWGLF/Tasks/Resonances/kstar892LightIon.cxx

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ struct Kstar892LightIon {
137137
// PID selections
138138
Configurable<bool> onlyTOF{"onlyTOF", false, "only TOF tracks"};
139139
Configurable<bool> onlyTOFHIT{"onlyTOFHIT", false, "accept only TOF hit tracks at high pt"};
140+
Configurable<bool> onlyTOFVeto{"onlyTOFVeto", false, "only select TOF tracks with TOF and TPC cuts"};
140141
Configurable<bool> onlyTPC{"onlyTPC", false, "only TPC tracks"};
141142
Configurable<bool> isApplypTdepPID{"isApplypTdepPID", false, "Apply pT dependent PID"};
142143
Configurable<bool> isApplypTdepPIDwTOF{"isApplypTdepPIDwTOF", false, "Apply pT dependent PID with compulsory TOF condition in a pT range"};
@@ -158,6 +159,11 @@ struct Kstar892LightIon {
158159
Configurable<float> cfgFakeTrackCutKa{"cfgFakeTrackCutKa", 0.3, "Cut based on momentum difference in global and TPC tracks for kaons"};
159160
Configurable<float> cfgFakeTrackCutPi{"cfgFakeTrackCutPi", 0.3, "Cut based on momentum difference in global and TPC tracks for pions"};
160161

162+
Configurable<float> pionMIDpTlow{"pionMIDpTlow", 1.0, "Low pT cut for pion in MID"};
163+
Configurable<float> pionMIDpThigh{"pionMIDpThigh", 2.5, "High pT cut for pion in MID"};
164+
Configurable<float> kaonMIDpTlow{"kaonMIDpTlow", 0.7, "Low pT cut for kaon in MID"};
165+
Configurable<float> kaonMIDpThigh{"kaonMIDpThigh", 2.5, "High pT cut for kaon in MID"};
166+
161167
// Fixed variables
162168
float lowPtCutPID = 0.5;
163169

@@ -646,6 +652,10 @@ struct Kstar892LightIon {
646652
if (!candidate.hasTOF() && std::abs(candidate.tpcNSigmaPi()) < selectionConfig.nsigmaCutTPCPi) {
647653
return true;
648654
}
655+
} else if (selectionConfig.onlyTOFVeto) {
656+
if (candidate.hasTOF() && std::abs(candidate.tofNSigmaPi()) < selectionConfig.nsigmaCutTOFPi && std::abs(candidate.tpcNSigmaPi()) < selectionConfig.nsigmaCutTPCPi) {
657+
return true;
658+
}
649659
} else if (selectionConfig.onlyTPC) {
650660
if (std::abs(candidate.tpcNSigmaPi()) < selectionConfig.nsigmaCutTPCPi) {
651661
return true;
@@ -670,6 +680,10 @@ struct Kstar892LightIon {
670680
if (!candidate.hasTOF() && std::abs(candidate.tpcNSigmaKa()) < selectionConfig.nsigmaCutTPCKa) {
671681
return true;
672682
}
683+
} else if (selectionConfig.onlyTOFVeto) {
684+
if (candidate.hasTOF() && std::abs(candidate.tofNSigmaKa()) < selectionConfig.nsigmaCutTOFKa && std::abs(candidate.tpcNSigmaKa()) < selectionConfig.nsigmaCutTPCKa) {
685+
return true;
686+
}
673687
} else if (selectionConfig.onlyTPC) {
674688
if (std::abs(candidate.tpcNSigmaKa()) < selectionConfig.nsigmaCutTPCKa) {
675689
return true;
@@ -797,11 +811,11 @@ struct Kstar892LightIon {
797811
bool selectionMIDpTdep(const T& candidate, int PID)
798812
{
799813
if (PID == PIDParticle::kPion) {
800-
if (candidate.pt() >= pionPIDpTlow && candidate.pt() < pionPIDpThigh && !candidate.hasTOF() && std::abs(candidate.tpcNSigmaPi()) < selectionConfig.nsigmaCutTPCMID) {
814+
if (candidate.pt() >= selectionConfig.pionMIDpTlow && candidate.pt() < selectionConfig.pionMIDpThigh && !candidate.hasTOF() && std::abs(candidate.tpcNSigmaPi()) < selectionConfig.nsigmaCutTPCMID) {
801815
return true;
802816
}
803817
} else if (PID == PIDParticle::kKaon) {
804-
if (candidate.pt() >= kaonPIDpTlow && candidate.pt() < kaonPIDpThigh && !candidate.hasTOF() && std::abs(candidate.tpcNSigmaKa()) < selectionConfig.nsigmaCutTPCMID) {
818+
if (candidate.pt() >= selectionConfig.kaonMIDpTlow && candidate.pt() < selectionConfig.kaonMIDpThigh && !candidate.hasTOF() && std::abs(candidate.tpcNSigmaKa()) < selectionConfig.nsigmaCutTPCMID) {
805819
return true;
806820
}
807821
}
@@ -812,11 +826,11 @@ struct Kstar892LightIon {
812826
bool selectionMIDPtDepComp(const T& candidate, int PID)
813827
{
814828
if (PID == PIDParticle::kPion) {
815-
if (candidate.pt() >= pionPIDpTlow && candidate.pt() < pionPIDpThigh && !candidate.hasTOF() && std::abs(candidate.tpcNSigmaPi()) < std::abs(candidate.tpcNSigmaKa())) {
829+
if (candidate.pt() >= selectionConfig.pionMIDpTlow && candidate.pt() < selectionConfig.pionMIDpThigh && !candidate.hasTOF() && std::abs(candidate.tpcNSigmaPi()) < std::abs(candidate.tpcNSigmaKa())) {
816830
return true;
817831
}
818832
} else if (PID == PIDParticle::kKaon) {
819-
if (candidate.pt() >= kaonPIDpTlow && candidate.pt() < kaonPIDpThigh && !candidate.hasTOF() && std::abs(candidate.tpcNSigmaKa()) < std::abs(candidate.tpcNSigmaPi())) {
833+
if (candidate.pt() >= selectionConfig.kaonMIDpTlow && candidate.pt() < selectionConfig.kaonMIDpThigh && !candidate.hasTOF() && std::abs(candidate.tpcNSigmaKa()) < std::abs(candidate.tpcNSigmaPi())) {
820834
return true;
821835
}
822836
}

0 commit comments

Comments
 (0)