Skip to content

Commit 31c88e2

Browse files
committed
Finishing Cascades in FemtoDream
1 parent f72d3b5 commit 31c88e2

File tree

4 files changed

+80
-81
lines changed

4 files changed

+80
-81
lines changed

PWGCF/FemtoDream/Core/femtoDreamDetaDphiStar.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class FemtoDreamDetaDphiStar
6464
radiiTPC = radiiTPCtoCut;
6565
fillQA = fillTHSparse;
6666

67-
if constexpr (mPartOneType == o2::aod::femtodreamparticle::ParticleType::kTrack && mPartTwoType == o2::aod::femtodreamparticle::ParticleType::kTrack) {
67+
if constexpr (mPartOneType == o2::aod::femtodreamparticle::ParticleType::kTrack && (mPartTwoType == o2::aod::femtodreamparticle::ParticleType::kTrack || mPartTwoType == o2::aod::femtodreamparticle::ParticleType::kCascadeV0Child)) {
6868
std::string dirName = static_cast<std::string>(dirNames[0]);
6969
histdetadpi[0][0] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(histNames[0][0]) + static_cast<std::string>(histNameSEorME[meORse])).c_str(), "; #Delta #eta; #Delta #phi^{*}", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
7070
histdetadpi[0][1] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(histNames[1][0]) + static_cast<std::string>(histNameSEorME[meORse])).c_str(), "; #Delta #eta; #Delta #phi^{*}", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
@@ -142,7 +142,7 @@ class FemtoDreamDetaDphiStar
142142
{
143143
magfield = lmagfield;
144144

145-
if constexpr (mPartOneType == o2::aod::femtodreamparticle::ParticleType::kTrack && mPartTwoType == o2::aod::femtodreamparticle::ParticleType::kTrack) {
145+
if constexpr (mPartOneType == o2::aod::femtodreamparticle::ParticleType::kTrack && (mPartTwoType == o2::aod::femtodreamparticle::ParticleType::kTrack || mPartTwoType == o2::aod::femtodreamparticle::ParticleType::kCascadeV0Child)) {
146146
/// Track-Track combination
147147
// check if provided particles are in agreement with the class instantiation
148148
if (part1.partType() != o2::aod::femtodreamparticle::ParticleType::kTrack || !(part2.partType() == o2::aod::femtodreamparticle::ParticleType::kTrack || part2.partType() == o2::aod::femtodreamparticle::ParticleType::kCascadeV0Child)) { //hotfix to use the CPR

PWGCF/FemtoDream/TableProducer/femtoDreamProducerTask.cxx

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -843,7 +843,6 @@ struct femtoDreamProducerTask {
843843
}
844844
if (ConfIsActivateCascade.value) {
845845
for (auto& casc : fullCascades) {
846-
//LOGF(info, "GG Producer: Enter the Xi Loop"); //REMOVE COMMENT
847846
//get the daughter tracks
848847
const auto& posTrackCasc = casc.template posTrack_as<TrackType>();
849848
const auto& negTrackCasc = casc.template negTrack_as<TrackType>();
@@ -853,12 +852,11 @@ struct femtoDreamProducerTask {
853852
//get the daughter v0
854853

855854
//QA before the cuts
856-
//cascadeCuts.fillCascadeQA(col, casc, posTrackCasc, negTrackCasc); //TODO include the bachelor
855+
cascadeCuts.fillCascadeQA(col, casc, posTrackCasc, negTrackCasc); //TODO include the bachelor
857856

858857
if (!cascadeCuts.isSelectedMinimal(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc)) {
859858
continue;
860859
}
861-
//LOGF(info, "GG Producer: A Xi is selected"); //REMOVE COMMENT
862860
cascadeCuts.fillQA<aod::femtodreamparticle::ParticleType::kCascade>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc);
863861

864862
//auto cutContainerCasc = cascadeCuts.getCutContainer<aod::femtodreamparticle::cutContainerType>(col, casc, v0daugh, posTrackCasc, negTrackCasc, bachTrackCasc);
@@ -947,9 +945,9 @@ struct femtoDreamProducerTask {
947945
//------
948946

949947
if(ConfIsDebug.value) {
950-
fillDebugParticle<true, true>(posTrackCasc); // QA for positive daughter
951-
fillDebugParticle<true, true>(negTrackCasc); // QA for negative daughter
952-
fillDebugParticle<true, true>(bachTrackCasc); // QA for negative daughter
948+
fillDebugParticle<true, false>(posTrackCasc); // QA for positive daughter
949+
fillDebugParticle<true, false>(negTrackCasc); // QA for negative daughter
950+
fillDebugParticle<true, false>(bachTrackCasc); // QA for negative daughter
953951
fillDebugCascade(casc); // QA for Cascade
954952
}
955953
}
@@ -1064,38 +1062,39 @@ struct femtoDreamProducerTask {
10641062
}
10651063
PROCESS_SWITCH(femtoDreamProducerTask, processData_noCentrality,
10661064
"Provide experimental data without centrality information", false);
1067-
/*
1068-
void
1069-
processData_CentPbPb(aod::FemtoFullCollision_CentPbPb const& col,
1070-
aod::BCsWithTimestamps const&,
1071-
aod::FemtoFullTracks const& tracks,
1072-
o2::aod::V0Datas const& fullV0s)
1065+
1066+
void processData_CentPbPb(aod::FemtoFullCollision_CentPbPb const& col,
1067+
aod::BCsWithTimestamps const&,
1068+
aod::FemtoFullTracks const& tracks,
1069+
o2::aod::V0Datas const& fullV0s,
1070+
o2::aod::CascDatas const& fullCascades)
10731071
{
10741072
// get magnetic field for run
10751073
initCCDB_Mag_Trig(col.bc_as<aod::BCsWithTimestamps>());
10761074
// fill the tables
10771075
auto tracksWithItsPid = soa::Attach<aod::FemtoFullTracks, aod::pidits::ITSNSigmaEl, aod::pidits::ITSNSigmaPi, aod::pidits::ITSNSigmaKa,
10781076
aod::pidits::ITSNSigmaPr, aod::pidits::ITSNSigmaDe, aod::pidits::ITSNSigmaTr, aod::pidits::ITSNSigmaHe>(tracks);
10791077
if (ConfUseItsPid.value) {
1080-
fillCollisionsAndTracksAndV0<false, true, true, true>(col, tracks, tracksWithItsPid, fullV0s);
1078+
fillCollisionsAndTracksAndV0AndCascade<false, true, true, true>(col, tracks, tracksWithItsPid, fullV0s, fullCascades);
10811079
} else {
1082-
fillCollisionsAndTracksAndV0<false, false, true, true>(col, tracks, tracks, fullV0s);
1080+
fillCollisionsAndTracksAndV0AndCascade<false, false, true, true>(col, tracks, tracks, fullV0s, fullCascades);
10831081
}
10841082
}
10851083
PROCESS_SWITCH(femtoDreamProducerTask, processData_CentPbPb,
10861084
"Provide experimental data with centrality information for PbPb collisions", false);
1087-
1085+
10881086
void processMC(aod::FemtoFullCollisionMC const& col,
10891087
aod::BCsWithTimestamps const&,
10901088
soa::Join<aod::FemtoFullTracks, aod::McTrackLabels> const& tracks,
10911089
aod::FemtoFullMCgenCollisions const&,
10921090
aod::McParticles const&,
1093-
soa::Join<o2::aod::V0Datas, aod::McV0Labels> const& fullV0s) /// \todo with FilteredFullV0s
1091+
soa::Join<o2::aod::V0Datas, aod::McV0Labels> const& fullV0s, /// \todo with FilteredFullV0s
1092+
soa::Join<o2::aod::CascDatas, aod::McCascLabels> const& fullCascades)
10941093
{
10951094
// get magnetic field for run
10961095
initCCDB_Mag_Trig(col.bc_as<aod::BCsWithTimestamps>());
10971096
// fill the tables
1098-
fillCollisionsAndTracksAndV0<false, false, true, false>(col, tracks, tracks, fullV0s);
1097+
fillCollisionsAndTracksAndV0AndCascade<false, false, true, false>(col, tracks, tracks, fullV0s, fullCascades);
10991098
}
11001099
PROCESS_SWITCH(femtoDreamProducerTask, processMC, "Provide MC data", false);
11011100

@@ -1104,12 +1103,13 @@ struct femtoDreamProducerTask {
11041103
soa::Join<aod::FemtoFullTracks, aod::McTrackLabels> const& tracks,
11051104
aod::FemtoFullMCgenCollisions const&,
11061105
aod::McParticles const&,
1107-
soa::Join<o2::aod::V0Datas, aod::McV0Labels> const& fullV0s) /// \todo with FilteredFullV0s
1106+
soa::Join<o2::aod::V0Datas, aod::McV0Labels> const& fullV0s, /// \todo with FilteredFullV0s
1107+
soa::Join<o2::aod::CascDatas, aod::McCascLabels> const& fullCascades)
11081108
{
11091109
// get magnetic field for run
11101110
initCCDB_Mag_Trig(col.bc_as<aod::BCsWithTimestamps>());
11111111
// fill the tables
1112-
fillCollisionsAndTracksAndV0<true, false, false, false>(col, tracks, tracks, fullV0s);
1112+
fillCollisionsAndTracksAndV0AndCascade<true, false, false, false>(col, tracks, tracks, fullV0s, fullCascades);
11131113
}
11141114
PROCESS_SWITCH(femtoDreamProducerTask, processMC_noCentrality, "Provide MC data without requiring a centrality calibration", false);
11151115

@@ -1118,15 +1118,15 @@ struct femtoDreamProducerTask {
11181118
soa::Join<aod::FemtoFullTracks, aod::McTrackLabels> const& tracks,
11191119
aod::FemtoFullMCgenCollisions const&,
11201120
aod::McParticles const&,
1121-
soa::Join<o2::aod::V0Datas, aod::McV0Labels> const& fullV0s) /// \todo with FilteredFullV0s
1121+
soa::Join<o2::aod::V0Datas, aod::McV0Labels> const& fullV0s, /// \todo with FilteredFullV0s
1122+
soa::Join<o2::aod::CascDatas, aod::McCascLabels> const& fullCascades)
11221123
{
11231124
// get magnetic field for run
11241125
initCCDB_Mag_Trig(col.bc_as<aod::BCsWithTimestamps>());
11251126
// fill the tables
1126-
fillCollisionsAndTracksAndV0<true, false, true, true>(col, tracks, tracks, fullV0s);
1127+
fillCollisionsAndTracksAndV0AndCascade<true, false, true, true>(col, tracks, tracks, fullV0s, fullCascades);
11271128
}
11281129
PROCESS_SWITCH(femtoDreamProducerTask, processMC_CentPbPb, "Provide MC data with centrality information for PbPb collisions", false);
1129-
*/
11301130
};
11311131
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
11321132
{

PWGCF/FemtoDream/Tasks/femtoDreamDebugCascade.cxx

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ struct femtoDreamDebugCascade {
6565
Configurable<aod::femtodreamparticle::cutContainerType> ConfCascade_ChildNeg_TPCBit{"ConfCascade_ChildNeg_TPCBit", 8, "Negative Child of Cascade - PID bit from cutCulator"};
6666
Configurable<aod::femtodreamparticle::cutContainerType> ConfCascade_ChildBach_CutBit{"ConfCascade_ChildBach_CutBit", 149, "Bachelor Child of Cascade - PID bit from cutCulator"};
6767
Configurable<aod::femtodreamparticle::cutContainerType> ConfCascade_ChildBach_TPCBit{"ConfCascade_ChildBach_TPCBit", 8, "Bachelor Child of Cascade - PID bit from cutCulator"};
68+
Configurable<bool> ConfUseChildCuts{"ConfUseChildCuts", true, "Use cuts on the children of the Cascades additional to those of the selection of the cascade builder"};
6869
ConfigurableAxis ConfCascadeChildTempFitVarBins{"ConfCascadeChildTempFitVarBins", {300, -0.15, 0.15}, "Cascade child: binning of the TempFitVar in the pT vs. TempFitVar plot"};
6970
ConfigurableAxis ConfCascadeChildTempFitVarpTBins{"ConfCascadeChildTempFitVarpTBins", {20, 0.5, 4.05}, "Cascade child: pT binning of the pT vs. TempFitVar plot"};
7071

@@ -113,24 +114,19 @@ struct femtoDreamDebugCascade {
113114
continue;
114115
}
115116
// check cuts on V0 children
116-
//if (posChild.partType() == uint8_t(aod::femtodreamparticle::ParticleType::kCascadeV0Child) &&
117-
// (posChild.cut() & ConfCascade_ChildPos_CutBit) == ConfCascade_ChildPos_CutBit &&
118-
// (posChild.pidcut() & ConfCascade_ChildPos_TPCBit) == ConfCascade_ChildPos_TPCBit &&
119-
// negChild.partType() == uint8_t(aod::femtodreamparticle::ParticleType::kCascadeV0Child) &&
120-
// (negChild.cut() & ConfCascade_ChildNeg_CutBit) == ConfCascade_ChildNeg_CutBit &&
121-
// (negChild.pidcut() & ConfCascade_ChildNeg_TPCBit) == ConfCascade_ChildNeg_TPCBit &&
122-
if( bachChild.partType() == uint8_t(aod::femtodreamparticle::ParticleType::kCascadeBachelor) &&
123-
(bachChild.cut() & ConfCascade_ChildBach_CutBit) == ConfCascade_ChildBach_CutBit &&
124-
(bachChild.pidcut() & ConfCascade_ChildBach_TPCBit) == ConfCascade_ChildBach_TPCBit) {
125-
/*
126-
LOG(info, "--- NEW CANDIDATE ---");
127117
if (posChild.partType() == uint8_t(aod::femtodreamparticle::ParticleType::kCascadeV0Child) &&
128-
(posChild.cut() & ConfCascade_ChildPos_CutBit) == ConfCascade_ChildPos_CutBit &&
129-
(posChild.pidcut() & ConfCascade_ChildPos_TPCBit) == ConfCascade_ChildPos_TPCBit &&
130-
negChild.partType() == uint8_t(aod::femtodreamparticle::ParticleType::kCascadeV0Child)){
131-
LOG(info, "GG debugger: V0 child passed");
118+
negChild.partType() == uint8_t(aod::femtodreamparticle::ParticleType::kCascadeV0Child) &&
119+
bachChild.partType() == uint8_t(aod::femtodreamparticle::ParticleType::kCascadeBachelor)){
132120

133-
*/
121+
if( ConfUseChildCuts &&
122+
(posChild.cut() & ConfCascade_ChildPos_CutBit) == ConfCascade_ChildPos_CutBit &&
123+
(posChild.pidcut() & ConfCascade_ChildPos_TPCBit) == ConfCascade_ChildPos_TPCBit &&
124+
(negChild.cut() & ConfCascade_ChildNeg_CutBit) == ConfCascade_ChildNeg_CutBit &&
125+
(negChild.pidcut() & ConfCascade_ChildNeg_TPCBit) == ConfCascade_ChildNeg_TPCBit &&
126+
(bachChild.cut() & ConfCascade_ChildBach_CutBit) == ConfCascade_ChildBach_CutBit &&
127+
(bachChild.pidcut() & ConfCascade_ChildBach_TPCBit) == ConfCascade_ChildBach_TPCBit) {
128+
continue;
129+
}
134130
CascadeHistos.fillQA<false, false>(part, static_cast<aod::femtodreamparticle::MomentumType>(ConfCascadeTempFitVarMomentum.value), col.multNtr(), col.multV0M()); //set isDebug to true
135131
posChildHistos.fillQA<false, true>(posChild, static_cast<aod::femtodreamparticle::MomentumType>(ConfCascadeTempFitVarMomentum.value), col.multNtr(), col.multV0M());
136132
negChildHistos.fillQA<false, true>(negChild, static_cast<aod::femtodreamparticle::MomentumType>(ConfCascadeTempFitVarMomentum.value), col.multNtr(), col.multV0M());

0 commit comments

Comments
 (0)