Skip to content

Commit 9cfb2cd

Browse files
committed
Add cuts and histograms for kaon selection and single-gap analysis
1 parent e939e11 commit 9cfb2cd

File tree

3 files changed

+66
-0
lines changed

3 files changed

+66
-0
lines changed

PWGDQ/Core/CutsLibrary.cxx

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,23 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
595595
return cut;
596596
}
597597

598+
if (!nameStr.compare("singleGapTrackCuts4")) {
599+
cut->AddCut(GetAnalysisCut("PIDStandardKine2"));
600+
cut->AddCut(GetAnalysisCut("ITSibany"));
601+
602+
AnalysisCompositeCut* cut_notpc = new AnalysisCompositeCut("NoTPC", "NoTPC", kTRUE);
603+
cut_notpc->AddCut(GetAnalysisCut("noTPC"));
604+
605+
AnalysisCompositeCut* cut_tpcpid = new AnalysisCompositeCut("pid_TPC", "pid_TPC", kTRUE);
606+
cut_tpcpid->AddCut(GetAnalysisCut("pionQuality"));
607+
608+
AnalysisCompositeCut* cut_OR = new AnalysisCompositeCut("OR", "OR", kFALSE);
609+
cut_OR->AddCut(cut_notpc);
610+
cut_OR->AddCut(cut_tpcpid);
611+
cut->AddCut(cut_OR);
612+
return cut;
613+
}
614+
598615
if (!nameStr.compare("PIDCalib")) {
599616
cut->AddCut(GetAnalysisCut("PIDStandardKine")); // standard kine cuts usually are applied via Filter in the task
600617
cut->AddCut(GetAnalysisCut("electronStandardQuality"));
@@ -664,11 +681,18 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
664681
return cut;
665682
}
666683

684+
if (!nameStr.compare("kaonPID6")) {
685+
cut->AddCut(GetAnalysisCut("kaonPIDnsigma700"));
686+
return cut;
687+
}
688+
667689
if (!nameStr.compare("kaonPIDTPCTOForTPC")) {
668690
AnalysisCompositeCut* cut_tpctof_nSigma = new AnalysisCompositeCut("pid_TPCTOFnSigma", "pid_TPCTOFnSigma", kTRUE);
691+
cut_tpctof_nSigma->AddCut(GetAnalysisCut("hasTOF"));
669692
cut_tpctof_nSigma->AddCut(GetAnalysisCut("kaonPID_TPCnTOF"));
670693

671694
AnalysisCompositeCut* cut_tpc_nSigma = new AnalysisCompositeCut("pid_TPCnSigma", "pid_TPCnSigma", kTRUE);
695+
cut_tpc_nSigma->AddCut(GetAnalysisCut("noTOF"));
672696
cut_tpc_nSigma->AddCut(GetAnalysisCut("kaonPIDnsigma"));
673697

674698
AnalysisCompositeCut* cut_pid_OR = new AnalysisCompositeCut("kaon_nsigma", "kaon_nsigma", kFALSE);
@@ -678,6 +702,22 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
678702
return cut;
679703
}
680704

705+
if (!nameStr.compare("kaonPIDTPCTOForTPC700")) {
706+
AnalysisCompositeCut* cut_tpctof_nSigma = new AnalysisCompositeCut("pid_TPCTOFnSigma", "pid_TPCTOFnSigma", kTRUE);
707+
cut_tpctof_nSigma->AddCut(GetAnalysisCut("hasTOF"));
708+
cut_tpctof_nSigma->AddCut(GetAnalysisCut("kaonPID_TPCnTOF"));
709+
710+
AnalysisCompositeCut* cut_tpc_nSigma = new AnalysisCompositeCut("pid_TPCnSigma", "pid_TPCnSigma", kTRUE);
711+
cut_tpc_nSigma->AddCut(GetAnalysisCut("noTOF"));
712+
cut_tpc_nSigma->AddCut(GetAnalysisCut("kaonPIDnsigma700"));
713+
714+
AnalysisCompositeCut* cut_pid_OR = new AnalysisCompositeCut("kaon_nsigma", "kaon_nsigma", kFALSE);
715+
cut_pid_OR->AddCut(cut_tpctof_nSigma);
716+
cut_pid_OR->AddCut(cut_tpc_nSigma);
717+
cut->AddCut(cut_pid_OR);
718+
return cut;
719+
}
720+
681721
if (!nameStr.compare("kaonPosPID4")) {
682722
cut->AddCut(GetAnalysisCut("kaonPID_TPCnTOF"));
683723
cut->AddCut(GetAnalysisCut("posTrack"));
@@ -829,6 +869,11 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
829869
return cut;
830870
}
831871

872+
if (!nameStr.compare("pTLow05")) {
873+
cut->AddCut(GetAnalysisCut("muonLowPt"));
874+
return cut;
875+
}
876+
832877
if (!nameStr.compare("pTLow04")) {
833878
cut->AddCut(GetAnalysisCut("pTLow04"));
834879
return cut;
@@ -4157,6 +4202,11 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
41574202
return cut;
41584203
}
41594204

4205+
if (!nameStr.compare("ITSibany")) {
4206+
cut->AddCut(VarManager::kIsITSibAny, 0.5, 1.5);
4207+
return cut;
4208+
}
4209+
41604210
// List of 30 variations in ITS and TPC parameters
41614211
std::vector<double> cutVar_ITSchi2 = {6., 6., 5., 4., 4., 6., 6., 5., 4., 5., 4., 5., 6., 5., 6., 5., 6., 5., 5., 4., 6., 4., 6., 5., 6., 4., 4., 6., 4., 5.};
41624212
std::vector<double> cutVar_TPCchi2 = {5., 5., 4., 3., 5., 4., 5., 3., 5., 4., 5., 3., 3., 5., 4., 5., 3., 5., 5., 5., 3., 5., 5., 4., 3., 4., 5., 5., 5., 3.};
@@ -4410,6 +4460,11 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
44104460
return cut;
44114461
}
44124462

4463+
if (!nameStr.compare("noTOF")) {
4464+
cut->AddCut(VarManager::kHasTOF, -0.5, 0.5);
4465+
return cut;
4466+
}
4467+
44134468
// -----------------------------------------------------
44144469
// V0 and Dalitz legs selections
44154470

@@ -5099,6 +5154,12 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
50995154
return cut;
51005155
}
51015156

5157+
if (!nameStr.compare("kaonPIDnsigma700")) {
5158+
cut->AddCut(VarManager::kTPCnSigmaKa, -3.0, 3.0);
5159+
cut->AddCut(VarManager::kPin, 0.0, 0.7);
5160+
return cut;
5161+
}
5162+
51025163
if (!nameStr.compare("AssocKine")) {
51035164
cut->AddCut(VarManager::kPt, 1.0, 1000.0);
51045165
cut->AddCut(VarManager::kEta, -0.9, 0.9);

PWGDQ/Core/HistogramsLibrary.cxx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1400,6 +1400,8 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
14001400
hm->AddHistogram(histClass, "MassD0region_CosPointing", "", false, 140, 1.5, 2.2, VarManager::kMass, 200, -1.0, 1.0, VarManager::kCosPointingAngle);
14011401
hm->AddHistogram(histClass, "MassD0region_VtxNContribReal", "", false, 140, 1.5, 2.2, VarManager::kMass, 50, 0, 50, VarManager::kVtxNcontribReal);
14021402
hm->AddHistogram(histClass, "MassD0region_Rapidity_AveragePt", "", true, 140, 1.5, 2.2, VarManager::kMass, 10, -0.8, 0.8, VarManager::kRap, 150, 0.0, 30.0, VarManager::kPt);
1403+
hm->AddHistogram(histClass, "MassD0region_TPCnSigKa_pIN", "Pair mass vs kaon cand. pIN vs kaon cand. TPC n-#sigma(K)", false, 140, 1.5, 2.2, VarManager::kMass, 100, 0.0, 10.0, VarManager::kPin, 100, -5.0, 5.0, VarManager::kTPCnSigmaKa);
1404+
hm->AddHistogram(histClass, "Mass_TPCnSigKa_pIN", "Pair mass vs kaon cand. pIN vs kaon cand. TPC n-#sigma(K)", false, 500, 0., 5., VarManager::kMass, 100, 0.0, 10.0, VarManager::kPin, 100, -5.0, 5.0, VarManager::kTPCnSigmaKa);
14031405
}
14041406
if (subGroupStr.Contains("lambdac")) {
14051407
hm->AddHistogram(histClass, "MassLambdacRegion", "", false, 50, 2.15, 2.4, VarManager::kMass);

PWGDQ/Core/VarManager.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2577,6 +2577,9 @@ void VarManager::FillPair(T1 const& t1, T2 const& t2, float* values)
25772577
if constexpr (pairType == kDecayToKPi) {
25782578
m1 = o2::constants::physics::MassKaonCharged;
25792579
m2 = o2::constants::physics::MassPionCharged;
2580+
// Make the TPC information of the kaon available for pair histograms
2581+
values[kPin] = t1.tpcInnerParam();
2582+
values[kTPCnSigmaKa] = t1.tpcNSigmaKa();
25802583
}
25812584

25822585
if constexpr (pairType == kElectronMuon) {

0 commit comments

Comments
 (0)