Skip to content

Commit 5a1dce9

Browse files
sigurdnesealibuild
andauthored
[PWGDQ] New analysis task for asymmetric barrel pairs. Implement reduced ZDC table. (#5948)
* New analysis task for asymmetric barrel pairs, e.g. D0->K-pi+ Implement reduced ZDC table, which is filled in table-maker-with-assoc * Remove debug histograms * Please consider the following formatting changes * MegaLinter comments * More MegaLinter comments --------- Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent f6c9165 commit 5a1dce9

File tree

7 files changed

+644
-38
lines changed

7 files changed

+644
-38
lines changed

PWGDQ/Core/CutsLibrary.cxx

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,86 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
543543
cut->AddCut(GetAnalysisCut("kaonPID_TPCnTOF"));
544544
return cut;
545545
}
546+
547+
if (!nameStr.compare("kaonPID4")) {
548+
cut->AddCut(GetAnalysisCut("kaonPID_TPCnTOF"));
549+
return cut;
550+
}
551+
552+
if (!nameStr.compare("kaonPID5")) {
553+
cut->AddCut(GetAnalysisCut("kaonPIDnsigma"));
554+
return cut;
555+
}
556+
557+
if (!nameStr.compare("kaonPosPID4")) {
558+
cut->AddCut(GetAnalysisCut("kaonPID_TPCnTOF"));
559+
cut->AddCut(GetAnalysisCut("posTrack"));
560+
return cut;
561+
}
562+
563+
if (!nameStr.compare("kaonPosPID5")) {
564+
cut->AddCut(GetAnalysisCut("kaonPIDnsigma"));
565+
cut->AddCut(GetAnalysisCut("posTrack"));
566+
return cut;
567+
}
568+
569+
if (!nameStr.compare("kaonNegPID4")) {
570+
cut->AddCut(GetAnalysisCut("kaonPID_TPCnTOF"));
571+
cut->AddCut(GetAnalysisCut("negTrack"));
572+
return cut;
573+
}
574+
575+
if (!nameStr.compare("kaonNegPID5")) {
576+
cut->AddCut(GetAnalysisCut("kaonPIDnsigma"));
577+
cut->AddCut(GetAnalysisCut("negTrack"));
578+
return cut;
579+
}
580+
581+
if (!nameStr.compare("kaonPID4_PVC")) {
582+
cut->AddCut(GetAnalysisCut("kaonPID_TPCnTOF"));
583+
cut->AddCut(GetAnalysisCut("primaryVertexContributor"));
584+
return cut;
585+
}
586+
587+
if (!nameStr.compare("pionPID")) {
588+
cut->AddCut(GetAnalysisCut("pionPID_TPCnTOF"));
589+
return cut;
590+
}
591+
592+
if (!nameStr.compare("pionPID2")) {
593+
cut->AddCut(GetAnalysisCut("pionPIDnsigma"));
594+
return cut;
595+
}
596+
597+
if (!nameStr.compare("pionPosPID")) {
598+
cut->AddCut(GetAnalysisCut("pionPID_TPCnTOF"));
599+
cut->AddCut(GetAnalysisCut("posTrack"));
600+
return cut;
601+
}
602+
603+
if (!nameStr.compare("pionPosPID2")) {
604+
cut->AddCut(GetAnalysisCut("pionPIDnsigma"));
605+
cut->AddCut(GetAnalysisCut("posTrack"));
606+
return cut;
607+
}
608+
609+
if (!nameStr.compare("pionNegPID")) {
610+
cut->AddCut(GetAnalysisCut("pionPID_TPCnTOF"));
611+
cut->AddCut(GetAnalysisCut("negTrack"));
612+
return cut;
613+
}
614+
615+
if (!nameStr.compare("pionNegPID2")) {
616+
cut->AddCut(GetAnalysisCut("pionPIDnsigma"));
617+
cut->AddCut(GetAnalysisCut("nosTrack"));
618+
return cut;
619+
}
620+
621+
if (!nameStr.compare("pionPID_PVC")) {
622+
cut->AddCut(GetAnalysisCut("pionPID_TPCnTOF"));
623+
cut->AddCut(GetAnalysisCut("primaryVertexContributor"));
624+
return cut;
625+
}
546626
// NOTE Below there are several TPC pid cuts used for studies of the Run3 TPC post PID calib.
547627
if (!nameStr.compare("Jpsi_TPCPost_calib_debug1")) {
548628
cut->AddCut(GetAnalysisCut("jpsi_trackCut_debug"));
@@ -2269,6 +2349,11 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
22692349
return cut;
22702350
}
22712351

2352+
if (!nameStr.compare("pairPtLow5")) {
2353+
cut->AddCut(GetAnalysisCut("pairPtLow5"));
2354+
return cut;
2355+
}
2356+
22722357
if (!nameStr.compare("pairMassLow3")) {
22732358
cut->AddCut(GetAnalysisCut("pairMassLow3"));
22742359
return cut;
@@ -2556,6 +2641,24 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
25562641
return cut;
25572642
}
25582643

2644+
if (!nameStr.compare("pairD0HighPt1")) {
2645+
cut->AddCut(GetAnalysisCut("pairLxyzProjected3sigma"));
2646+
cut->AddCut(GetAnalysisCut("pairPtLow5"));
2647+
return cut;
2648+
}
2649+
2650+
if (!nameStr.compare("pairD0HighPt2")) {
2651+
cut->AddCut(GetAnalysisCut("pairTauxyzProjected1"));
2652+
cut->AddCut(GetAnalysisCut("pairPtLow5"));
2653+
return cut;
2654+
}
2655+
2656+
if (!nameStr.compare("pairD0HighPt3")) {
2657+
cut->AddCut(GetAnalysisCut("pairTauxyzProjected1sigma"));
2658+
cut->AddCut(GetAnalysisCut("pairPtLow5"));
2659+
return cut;
2660+
}
2661+
25592662
// -------------------------------------------------------------------------------------------------
25602663
//
25612664
// Below are a list of single electron single muon and in order or optimize the trigger
@@ -3920,6 +4023,12 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
39204023
return cut;
39214024
}
39224025

4026+
if (!nameStr.compare("pionPID_TPCnTOF")) {
4027+
cut->AddCut(VarManager::kTPCnSigmaPi, -3.0, 3.0);
4028+
cut->AddCut(VarManager::kTOFnSigmaPi, -3.0, 3.0);
4029+
return cut;
4030+
}
4031+
39234032
if (!nameStr.compare("tpc_pion_rejection")) {
39244033
TF1* f1maxPi = new TF1("f1maxPi", "[0]+[1]*x", 0, 10);
39254034
f1maxPi->SetParameters(85, -50);
@@ -4676,6 +4785,11 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
46764785
return cut;
46774786
}
46784787

4788+
if (!nameStr.compare("pairPtLow5")) {
4789+
cut->AddCut(VarManager::kPt, 0.8, 1000.0);
4790+
return cut;
4791+
}
4792+
46794793
if (!nameStr.compare("pairRapidityForward")) {
46804794
cut->AddCut(VarManager::kRap, 2.5, 4.0);
46814795
return cut;
@@ -4711,6 +4825,21 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
47114825
return cut;
47124826
}
47134827

4828+
if (!nameStr.compare("pairLxyzProjected3sigma")) {
4829+
cut->AddCut(VarManager::kVertexingLxyzProjected, 0.015, 10.);
4830+
return cut;
4831+
}
4832+
4833+
if (!nameStr.compare("pairTauxyzProjected1")) {
4834+
cut->AddCut(VarManager::kVertexingTauxyzProjected, 0.0005, 10.);
4835+
return cut;
4836+
}
4837+
4838+
if (!nameStr.compare("pairTauxyzProjected1sigma")) {
4839+
cut->AddCut(VarManager::kVertexingTauxyzProjected, 0.003, 10.);
4840+
return cut;
4841+
}
4842+
47144843
// -------------------------------------------------------------------------------------------------
47154844
//
47164845
// Below are a list of single electron single muon and pair selection in order or optimize the trigger

PWGDQ/Core/HistogramsLibrary.cxx

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
// Contact: iarsene@cern.ch, i.c.arsene@fys.uio.no
1313
//
1414
#include "PWGDQ/Core/HistogramsLibrary.h"
15+
#include "VarManager.h"
1516

1617
void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* histClass, const char* groupName, const char* subGroupName)
1718
{
@@ -70,19 +71,19 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
7071
}
7172
if (subGroupStr.Contains("mult")) {
7273
hm->AddHistogram(histClass, "MultTPC", "MultTPC", false, 100, 0.0, 25000.0, VarManager::kMultTPC);
73-
hm->AddHistogram(histClass, "MultTPCLow", "MultTPCLow", false, 50, 0.0, 50.0, VarManager::kMultTPC);
74+
hm->AddHistogram(histClass, "MultTPCLow", "MultTPCLow", false, 300, 0.0, 300.0, VarManager::kMultTPC);
7475
hm->AddHistogram(histClass, "MultFV0A", "MultFV0A", false, 100, 0.0, 25000.0, VarManager::kMultFV0A);
75-
hm->AddHistogram(histClass, "MultFV0ALow", "MultFV0ALow", false, 50, 0.0, 50.0, VarManager::kMultFV0A);
76+
hm->AddHistogram(histClass, "MultFV0ALow", "MultFV0ALow", false, 300, 0.0, 300.0, VarManager::kMultFV0A);
7677
hm->AddHistogram(histClass, "MultFV0C", "MultFV0C", false, 100, 0.0, 25000.0, VarManager::kMultFV0C);
77-
hm->AddHistogram(histClass, "MultFV0CLow", "MultFV0CLow", false, 50, 0.0, 50.0, VarManager::kMultFV0C);
78+
hm->AddHistogram(histClass, "MultFV0CLow", "MultFV0CLow", false, 300, 0.0, 300.0, VarManager::kMultFV0C);
7879
hm->AddHistogram(histClass, "MultFT0A", "MultFT0A", false, 100, 0.0, 25000.0, VarManager::kMultFT0A);
79-
hm->AddHistogram(histClass, "MultFT0ALow", "MultFT0ALow", false, 50, 0.0, 50.0, VarManager::kMultFT0A);
80+
hm->AddHistogram(histClass, "MultFT0ALow", "MultFT0ALow", false, 300, 0.0, 300.0, VarManager::kMultFT0A);
8081
hm->AddHistogram(histClass, "MultFT0C", "MultFT0C", false, 100, 0.0, 25000.0, VarManager::kMultFT0C);
81-
hm->AddHistogram(histClass, "MultFT0CLow", "MultFT0CLow", false, 50, 0.0, 50.0, VarManager::kMultFT0C);
82+
hm->AddHistogram(histClass, "MultFT0CLow", "MultFT0CLow", false, 300, 0.0, 300.0, VarManager::kMultFT0C);
8283
hm->AddHistogram(histClass, "MultFDDA", "MultFDDA", false, 100, 0.0, 25000.0, VarManager::kMultFDDA);
83-
hm->AddHistogram(histClass, "MultFDDALow", "MultFDDALow", false, 50, 0.0, 50.0, VarManager::kMultFDDA);
84+
hm->AddHistogram(histClass, "MultFDDALow", "MultFDDALow", false, 300, 0.0, 300.0, VarManager::kMultFDDA);
8485
hm->AddHistogram(histClass, "MultFDDC", "MultFDDC", false, 100, 0.0, 25000.0, VarManager::kMultFDDC);
85-
hm->AddHistogram(histClass, "MultFDDCLow", "MultFDDCLow", false, 50, 0.0, 50.0, VarManager::kMultFDDC);
86+
hm->AddHistogram(histClass, "MultFDDCLow", "MultFDDCLow", false, 300, 0.0, 300.0, VarManager::kMultFDDC);
8687
hm->AddHistogram(histClass, "MultZNA", "MultZNA", false, 100, 0.0, 25000.0, VarManager::kMultZNA);
8788
hm->AddHistogram(histClass, "MultZNC", "MultZNC", false, 100, 0.0, 25000.0, VarManager::kMultZNC);
8889
hm->AddHistogram(histClass, "MultTracklets", "MultTracklets", false, 100, 0.0, 25000.0, VarManager::kMultTracklets);
@@ -226,6 +227,10 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
226227
hm->AddHistogram(histClass, "IsSingleGapA", "Is single gap on side A", false, 2, -0.5, 1.5, VarManager::kIsSingleGapA);
227228
hm->AddHistogram(histClass, "IsSingleGapC", "Is single gap on side C", false, 2, -0.5, 1.5, VarManager::kIsSingleGapC);
228229
}
230+
if (subGroupStr.Contains("zdc")) {
231+
hm->AddHistogram(histClass, "energyCommonZNA", "Common ZNA energy", false, 1000, 0.0, 200.0, VarManager::kEnergyCommonZNA);
232+
hm->AddHistogram(histClass, "energyCommonZNC", "Common ZNC energy", false, 1000, 0.0, 200.0, VarManager::kEnergyCommonZNC);
233+
}
229234
} // end "event"
230235

231236
if (groupStr.CompareTo("two-collisions") == 0) {
@@ -646,6 +651,10 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
646651
hm->AddHistogram(histClass, "AmbiguityOutOfBunch", "out of bunch collision ambiguity", false, 10, 0., 10., VarManager::kBarrelNAssocsOutOfBunch);
647652
hm->AddHistogram(histClass, "AmbiguityOutOfBunch_pt", "out of bunch collision ambiguity vs p_{T}", false, 50, 0.0, 10.0, VarManager::kPt, 10, 0., 10., VarManager::kBarrelNAssocsOutOfBunch);
648653
}
654+
if (subGroupStr.Contains("tpcpidvstofpid")) {
655+
hm->AddHistogram(histClass, "tpcNSigmaKa_tofNSigmaKa", "", false, 200, -10., 10., VarManager::kTPCnSigmaKa, 200, -10., 10., VarManager::kTOFnSigmaKa);
656+
hm->AddHistogram(histClass, "tpcNSigmaPi_tofNSigmaPi", "", false, 200, -10., 10., VarManager::kTPCnSigmaPi, 200, -10., 10., VarManager::kTOFnSigmaPi);
657+
}
649658
}
650659

651660
if (groupStr.Contains("mctruth_triple")) {
@@ -738,6 +747,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
738747
hm->AddHistogram(histClass, "LxyzProj", "", false, 1000, -1.0, 1.0, VarManager::kVertexingLxyzProjected);
739748
hm->AddHistogram(histClass, "TauzProj", "", false, 1000, -0.03, 0.03, VarManager::kVertexingTauzProjected);
740749
hm->AddHistogram(histClass, "TauxyProj", "", false, 1000, -0.03, 0.03, VarManager::kVertexingTauxyProjected);
750+
hm->AddHistogram(histClass, "TauxyzProj", "", false, 1000, -0.03, 0.03, VarManager::kVertexingTauxyzProjected);
741751
hm->AddHistogram(histClass, "LxyProj_Mass_Pt", "", false, 50, 2.0, 4.0, VarManager::kMass, 10, 0.0, 20.0, VarManager::kPt, 1000, -1.0, 1.0, VarManager::kVertexingLxyProjected);
742752
hm->AddHistogram(histClass, "LzProj_Mass_Pt", "", false, 50, 2.0, 4.0, VarManager::kMass, 10, 0.0, 20.0, VarManager::kPt, 1000, -1.0, 1.0, VarManager::kVertexingLzProjected);
743753
}
@@ -1003,6 +1013,25 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
10031013
hm->AddHistogram(histClass, "Mass_Pt_SignQuadDCAsigXYZ", "", false, nbins_mee, mee_bins, VarManager::kMass, nbins_ptee, ptee_bins, VarManager::kPt, nbins_signdca, signdca_bins, VarManager::kSignQuadDCAsigXY);
10041014
}
10051015
}
1016+
if (subGroupStr.Contains("opencharm")) {
1017+
hm->AddHistogram(histClass, "MassD0region", "", false, 50, 1.7, 2.0, VarManager::kMass);
1018+
hm->AddHistogram(histClass, "MassD0region_Pt", "", false, 50, 1.7, 2.0, VarManager::kMass, 40, 0.0, 20.0, VarManager::kPt);
1019+
hm->AddHistogram(histClass, "MassD0region_eta", "", false, 50, 1.7, 2.0, VarManager::kMass, 40, -2., 2., VarManager::kEta);
1020+
hm->AddHistogram(histClass, "MassD0region_rap", "", false, 50, 1.7, 2.0, VarManager::kMass, 40, -2., 2., VarManager::kRap);
1021+
hm->AddHistogram(histClass, "MassD0region_Lz", "", false, 50, 1.7, 2.0, VarManager::kMass, 1000, -2.0, 2.0, VarManager::kVertexingLz);
1022+
hm->AddHistogram(histClass, "MassD0region_Lxy", "", false, 50, 1.7, 2.0, VarManager::kMass, 1000, -2.0, 2.0, VarManager::kVertexingLxy);
1023+
hm->AddHistogram(histClass, "MassD0region_Lxyz", "", false, 50, 1.7, 2.0, VarManager::kMass, 1000, -2.0, 2.0, VarManager::kVertexingLxyz);
1024+
hm->AddHistogram(histClass, "MassD0region_Tauz", "", false, 50, 1.7, 2.0, VarManager::kMass, 4000, -0.01, 0.01, VarManager::kVertexingTauz);
1025+
hm->AddHistogram(histClass, "MassD0region_Tauxy", "", false, 50, 1.7, 2.0, VarManager::kMass, 4000, -0.01, 0.01, VarManager::kVertexingTauxy);
1026+
hm->AddHistogram(histClass, "MassD0region_LzProj", "", false, 50, 1.7, 2.0, VarManager::kMass, 1000, -2.0, 2.0, VarManager::kVertexingLzProjected);
1027+
hm->AddHistogram(histClass, "MassD0region_LxyProj", "", false, 50, 1.7, 2.0, VarManager::kMass, 1000, -2.0, 2.0, VarManager::kVertexingLxyProjected);
1028+
hm->AddHistogram(histClass, "MassD0region_LxyzProj", "", false, 50, 1.7, 2.0, VarManager::kMass, 1000, -2.0, 2.0, VarManager::kVertexingLxyzProjected);
1029+
hm->AddHistogram(histClass, "MassD0region_TauzProj", "", false, 50, 1.7, 2.0, VarManager::kMass, 4000, -0.5, 0.5, VarManager::kVertexingTauzProjected);
1030+
hm->AddHistogram(histClass, "MassD0region_TauxyProj", "", false, 50, 1.7, 2.0, VarManager::kMass, 4000, -0.5, 0.5, VarManager::kVertexingTauxyProjected);
1031+
hm->AddHistogram(histClass, "MassD0region_TauxyzProj", "", false, 50, 1.7, 2.0, VarManager::kMass, 4000, -0.5, 0.5, VarManager::kVertexingTauxyzProjected);
1032+
hm->AddHistogram(histClass, "LxyzProj_MassD0_Pt", "", false, 50, 1.0, 3.0, VarManager::kMass, 10, 0.0, 20.0, VarManager::kPt, 1000, -1.0, 1.0, VarManager::kVertexingLxyProjected);
1033+
hm->AddHistogram(histClass, "TauxyzProj_MassD0_Pt", "", false, 50, 1.0, 3.0, VarManager::kMass, 10, 0.0, 20.0, VarManager::kPt, 1000, -1.0, 1.0, VarManager::kVertexingTauxyProjected);
1034+
}
10061035
}
10071036

10081037
if (groupStr.Contains("dilepton-track")) {

PWGDQ/Core/VarManager.cxx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,22 @@ void VarManager::SetDefaultVarNames()
312312
fgVariableUnits[kTwoEvPVcontrib1] = "";
313313
fgVariableNames[kTwoEvPVcontrib2] = "n.contrib 2";
314314
fgVariableUnits[kTwoEvPVcontrib2] = "";
315+
fgVariableNames[kEnergyCommonZNA] = "ZNA common energy";
316+
fgVariableUnits[kEnergyCommonZNA] = "";
317+
fgVariableNames[kEnergyCommonZNC] = "ZNA common energy";
318+
fgVariableUnits[kEnergyCommonZNC] = "";
319+
fgVariableNames[kEnergyCommonZPA] = "ZPA common energy";
320+
fgVariableUnits[kEnergyCommonZPA] = "";
321+
fgVariableNames[kEnergyCommonZPC] = "ZPC common energy";
322+
fgVariableUnits[kEnergyCommonZPC] = "";
323+
fgVariableNames[kTimeZNA] = "ZNA time";
324+
fgVariableUnits[kTimeZNA] = "";
325+
fgVariableNames[kTimeZNC] = "ZNC time";
326+
fgVariableUnits[kTimeZNC] = "";
327+
fgVariableNames[kTimeZPA] = "ZPA time";
328+
fgVariableUnits[kTimeZPA] = "";
329+
fgVariableNames[kTimeZPC] = "ZPC time";
330+
fgVariableUnits[kTimeZPC] = "";
315331
fgVariableNames[kPt] = "p_{T}";
316332
fgVariableUnits[kPt] = "GeV/c";
317333
fgVariableNames[kInvPt] = "1/p_{T}";
@@ -527,6 +543,8 @@ void VarManager::SetDefaultVarNames()
527543
fgVariableUnits[kVertexingTauzProjected] = "ns";
528544
fgVariableNames[kVertexingTauxyProjected] = "Pair pseudo-proper Tauxy";
529545
fgVariableUnits[kVertexingTauxyProjected] = "ns";
546+
fgVariableNames[kVertexingTauxyzProjected] = "Pair pseudo-proper Tauxyz";
547+
fgVariableUnits[kVertexingTauxyzProjected] = "ns";
530548
fgVariableNames[kVertexingPz] = "Pz Pair";
531549
fgVariableUnits[kVertexingPz] = "GeV/c";
532550
fgVariableNames[kVertexingSV] = "Secondary Vertexing z";

0 commit comments

Comments
 (0)