Skip to content

Commit 35756c4

Browse files
author
Sawan Sawan
committed
separate combined cut in PID for pion kaon
1 parent 79b8c59 commit 35756c4

File tree

1 file changed

+49
-37
lines changed

1 file changed

+49
-37
lines changed

PWGLF/Tasks/Resonances/kstarqa.cxx

Lines changed: 49 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ struct Kstarqa {
7878
HistogramRegistry hOthers{"hOthers", {}, OutputObjHandlingPolicy::AnalysisObject, true, true};
7979

8080
// Confugrable for QA histograms
81+
Configurable<bool> isINELgt0{"isINELgt0", true, "INEL>0 selection"};
8182
Configurable<bool> calcLikeSign{"calcLikeSign", true, "Calculate Like Sign"};
8283
Configurable<bool> calcRotational{"calcRotational", false, "Calculate Rotational"};
8384
Configurable<bool> cQAplots{"cQAplots", true, "cQAplots"};
@@ -118,7 +119,8 @@ struct Kstarqa {
118119
Configurable<float> nsigmaCutTPCKa{"nsigmaCutTPCKa", 3.0, "TPC Nsigma cut for kaons"};
119120
Configurable<float> nsigmaCutTOFPi{"nsigmaCutTOFPi", 3.0, "TOF Nsigma cut for pions"};
120121
Configurable<float> nsigmaCutTOFKa{"nsigmaCutTOFKa", 3.0, "TOF Nsigma cut for kaons"};
121-
Configurable<float> nsigmaCutCombined{"nsigmaCutCombined", 3.0, "Combined Nsigma cut"};
122+
Configurable<float> nsigmaCutCombinedKa{"nsigmaCutCombinedKa", 3.0, "Combined Nsigma cut for kaon"};
123+
Configurable<float> nsigmaCutCombinedPi{"nsigmaCutCombinedPi", 3.0, "Combined Nsigma cut for pion"};
122124

123125
// Event selection configurables
124126
// Configurable<bool> timFrameEvsel{"timFrameEvsel", true, "TPC Time frame boundary cut"};
@@ -236,6 +238,9 @@ struct Kstarqa {
236238
template <typename Coll>
237239
bool selectionEvent(const Coll& collision)
238240
{
241+
if (isINELgt0 && !collision.isInelGt0()) {
242+
return false;
243+
}
239244
if (std::abs(collision.posZ()) > cutzvertex)
240245
return false;
241246
if (!collision.sel8())
@@ -323,7 +328,7 @@ struct Kstarqa {
323328
return true;
324329
}
325330
} else {
326-
if (candidate.hasTOF() && (candidate.tofNSigmaPi() * candidate.tofNSigmaPi() + candidate.tpcNSigmaPi() * candidate.tpcNSigmaPi()) < (nsigmaCutCombined * nsigmaCutCombined) && candidate.beta() > cBetaCutTOF) {
331+
if (candidate.hasTOF() && (candidate.tofNSigmaPi() * candidate.tofNSigmaPi() + candidate.tpcNSigmaPi() * candidate.tpcNSigmaPi()) < (nsigmaCutCombinedPi * nsigmaCutCombinedPi) && candidate.beta() > cBetaCutTOF) {
327332
return true;
328333
}
329334
if (!candidate.hasTOF() && std::abs(candidate.tpcNSigmaPi()) < nsigmaCutTPCPi) {
@@ -347,7 +352,7 @@ struct Kstarqa {
347352
return true;
348353
}
349354
} else {
350-
if (candidate.hasTOF() && (candidate.tofNSigmaKa() * candidate.tofNSigmaKa() + candidate.tpcNSigmaKa() * candidate.tpcNSigmaKa()) < (nsigmaCutCombined * nsigmaCutCombined) && candidate.beta() > cBetaCutTOF) {
355+
if (candidate.hasTOF() && (candidate.tofNSigmaKa() * candidate.tofNSigmaKa() + candidate.tpcNSigmaKa() * candidate.tpcNSigmaKa()) < (nsigmaCutCombinedKa * nsigmaCutCombinedKa) && candidate.beta() > cBetaCutTOF) {
351356
return true;
352357
}
353358
if (!candidate.hasTOF() && std::abs(candidate.tpcNSigmaKa()) < nsigmaCutTPCKa) {
@@ -478,9 +483,9 @@ struct Kstarqa {
478483
Filter acceptanceFilter = (nabs(aod::track::eta) < cfgCutEta && nabs(aod::track::pt) > cfgCutPT);
479484
Filter fDCAcutFilter = (nabs(aod::track::dcaXY) < cfgCutDCAxy) && (nabs(aod::track::dcaZ) < cfgCutDCAz);
480485

481-
using EventCandidates = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::FT0Mults, aod::MultZeqs, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs>>;
486+
using EventCandidates = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::FT0Mults, aod::MultZeqs, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMults>>;
482487
using TrackCandidates = soa::Filtered<soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa, aod::pidTOFbeta>>;
483-
using EventCandidatesMC = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs>;
488+
using EventCandidatesMC = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::FT0Mults, aod::PVMults>;
484489

485490
using TrackCandidatesMC = soa::Filtered<soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection, aod::pidTPCFullKa, aod::pidTOFFullKa, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::McTrackLabels, aod::pidTOFbeta>>;
486491

@@ -863,6 +868,9 @@ struct Kstarqa {
863868
if (!collision.sel8()) {
864869
continue;
865870
}
871+
if (isINELgt0 && !collision.isInelGt0()) {
872+
continue;
873+
}
866874
if (ispileupGoodvtxCut && (!collision.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV))) {
867875
continue;
868876
}
@@ -924,41 +932,41 @@ struct Kstarqa {
924932
}
925933
PROCESS_SWITCH(Kstarqa, processGen, "Process Generated", false);
926934

927-
void processEvtLossSigLossMC(aod::McCollisions::iterator const&, aod::McParticles const& mcParticles, const soa::SmallGroups<EventCandidatesMC>& recCollisions)
928-
{
929-
930-
bool isSel = false;
931-
// auto multiplicity1 = -999.;
932-
for (const auto& RecCollision : recCollisions) {
933-
if (!selectionEvent(RecCollision))
934-
continue;
935-
936-
// if (cSelectMultEstimator == 0) {
937-
// multiplicity1 = RecCollision.centFT0M();
938-
// } else if (cSelectMultEstimator == 1) {
939-
// multiplicity1 = RecCollision.centFT0A();
940-
// } else if (cSelectMultEstimator == 2) {
941-
// multiplicity1 = RecCollision.centFT0C();
942-
// } else {
943-
// multiplicity1 = RecCollision.centFT0M();
944-
// }
935+
// void processEvtLossSigLossMC(aod::McCollisions::iterator const&, aod::McParticles const& mcParticles, const soa::SmallGroups<EventCandidatesMC>& recCollisions)
936+
// {
945937

946-
isSel = true;
947-
}
938+
// bool isSel = false;
939+
// // auto multiplicity1 = -999.;
940+
// for (const auto& RecCollision : recCollisions) {
941+
// if (!selectionEvent(RecCollision))
942+
// continue;
943+
944+
// // if (cSelectMultEstimator == 0) {
945+
// // multiplicity1 = RecCollision.centFT0M();
946+
// // } else if (cSelectMultEstimator == 1) {
947+
// // multiplicity1 = RecCollision.centFT0A();
948+
// // } else if (cSelectMultEstimator == 2) {
949+
// // multiplicity1 = RecCollision.centFT0C();
950+
// // } else {
951+
// // multiplicity1 = RecCollision.centFT0M();
952+
// // }
953+
954+
// isSel = true;
955+
// }
948956

949-
// Generated MC
950-
for (const auto& mcPart : mcParticles) {
951-
if (std::abs(mcPart.y()) >= 0.5 || std::abs(mcPart.pdgCode()) != 313)
952-
continue;
957+
// // Generated MC
958+
// for (const auto& mcPart : mcParticles) {
959+
// if (std::abs(mcPart.y()) >= 0.5 || std::abs(mcPart.pdgCode()) != 313)
960+
// continue;
953961

954-
// signal loss estimation
955-
hInvMass.fill(HIST("kstargenBeforeEvtSel"), mcPart.pt());
956-
if (isSel) {
957-
hInvMass.fill(HIST("kstargenAfterEvtSel"), mcPart.pt());
958-
}
959-
} // end loop on gen particles
960-
}
961-
PROCESS_SWITCH(Kstarqa, processEvtLossSigLossMC, "Process Signal Loss, Event Loss", false);
962+
// // signal loss estimation
963+
// hInvMass.fill(HIST("kstargenBeforeEvtSel"), mcPart.pt());
964+
// if (isSel) {
965+
// hInvMass.fill(HIST("kstargenAfterEvtSel"), mcPart.pt());
966+
// }
967+
// } // end loop on gen particles
968+
// }
969+
// PROCESS_SWITCH(Kstarqa, processEvtLossSigLossMC, "Process Signal Loss, Event Loss", false);
962970

963971
void processRec(EventCandidatesMC::iterator const& collision, TrackCandidatesMC const& tracks, aod::McParticles const&, aod::McCollisions const& /*mcCollisions*/)
964972
{
@@ -970,6 +978,10 @@ struct Kstarqa {
970978
}
971979
rEventSelection.fill(HIST("events_checkrec"), 1.5);
972980

981+
if (isINELgt0 && !collision.isInelGt0()) {
982+
return;
983+
}
984+
973985
// if (std::abs(collision.mcCollision().posZ()) > cutzvertex || !collision.sel8()) {
974986
if (std::abs(collision.mcCollision().posZ()) > cutzvertex) {
975987
return;

0 commit comments

Comments
 (0)