99// granted to it by virtue of its status as an Intergovernmental Organization
1010// or submit itself to any jurisdiction.
1111
12- // / \file derivedDataCreatorDplusToPiKPi .cxx
13- // / \brief Producer of derived tables of Dplus candidates, collisions and MC particles
14- // / \note Based on derivedDataCreatorLcToPKPi .cxx
12+ // / \file derivedDataCreatorDsToKKPi .cxx
13+ // / \brief Producer of derived tables of Ds candidates, collisions and MC particles
14+ // / \note Based on derivedDataCreatorDplusToPiKPi .cxx
1515// /
1616// / \author Vít Kučera <vit.kucera@cern.ch>, Inha University
1717
@@ -54,24 +54,24 @@ using namespace o2::framework::expressions;
5454using namespace o2 ::analysis::hf_derived;
5555
5656// / Writes the full information in an output TTree
57- struct HfDerivedDataCreatorDplusToPiKPi {
57+ struct HfDerivedDataCreatorDsToKKPi {
5858 HfProducesDerivedData<
59- o2::aod::HfDplusBases ,
60- o2::aod::HfDplusCollBases ,
61- o2::aod::HfDplusCollIds ,
62- o2::aod::HfDplusMcCollBases ,
63- o2::aod::HfDplusMcCollIds ,
64- o2::aod::HfDplusMcRCollIds ,
65- o2::aod::HfDplusPBases ,
66- o2::aod::HfDplusPIds >
59+ o2::aod::HfDsBases ,
60+ o2::aod::HfDsCollBases ,
61+ o2::aod::HfDsCollIds ,
62+ o2::aod::HfDsMcCollBases ,
63+ o2::aod::HfDsMcCollIds ,
64+ o2::aod::HfDsMcRCollIds ,
65+ o2::aod::HfDsPBases ,
66+ o2::aod::HfDsPIds >
6767 rowsCommon;
6868 // Candidates
69- Produces<o2::aod::HfDplusPars > rowCandidatePar;
70- Produces<o2::aod::HfDplusParEs > rowCandidateParE;
71- Produces<o2::aod::HfDplusSels > rowCandidateSel;
72- Produces<o2::aod::HfDplusMls > rowCandidateMl;
73- Produces<o2::aod::HfDplusIds > rowCandidateId;
74- Produces<o2::aod::HfDplusMcs > rowCandidateMc;
69+ Produces<o2::aod::HfDsPars > rowCandidatePar;
70+ Produces<o2::aod::HfDsParEs > rowCandidateParE;
71+ Produces<o2::aod::HfDsSels > rowCandidateSel;
72+ Produces<o2::aod::HfDsMls > rowCandidateMl;
73+ Produces<o2::aod::HfDsIds > rowCandidateId;
74+ Produces<o2::aod::HfDsMcs > rowCandidateMc;
7575
7676 // Switches for filling tables
7777 HfConfigurableDerivedData confDerData;
@@ -87,20 +87,20 @@ struct HfDerivedDataCreatorDplusToPiKPi {
8787
8888 HfHelper hfHelper;
8989 SliceCache cache;
90- static constexpr double mass {o2::constants::physics::MassDPlus };
90+ static constexpr double Mass {o2::constants::physics::MassDS };
9191
9292 using CollisionsWCentMult = soa::Join<aod::Collisions, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
9393 using CollisionsWMcCentMult = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
9494 using TracksWPid = soa::Join<aod::Tracks, aod::TracksPidPi, aod::PidTpcTofFullPi, aod::TracksPidKa, aod::PidTpcTofFullKa>;
95- using SelectedCandidates = soa::Filtered<soa::Join<aod::HfCand3ProngWPidPiKa, aod::HfSelDplusToPiKPi >>;
96- using SelectedCandidatesMc = soa::Filtered<soa::Join<aod::HfCand3ProngWPidPiKa, aod::HfCand3ProngMcRec, aod::HfSelDplusToPiKPi >>;
97- using SelectedCandidatesMl = soa::Filtered<soa::Join<aod::HfCand3ProngWPidPiKa, aod::HfSelDplusToPiKPi , aod::HfMlDplusToPiKPi >>;
98- using SelectedCandidatesMcMl = soa::Filtered<soa::Join<aod::HfCand3ProngWPidPiKa, aod::HfCand3ProngMcRec, aod::HfSelDplusToPiKPi , aod::HfMlDplusToPiKPi >>;
95+ using SelectedCandidates = soa::Filtered<soa::Join<aod::HfCand3ProngWPidPiKa, aod::HfSelDsToKKPi >>;
96+ using SelectedCandidatesMc = soa::Filtered<soa::Join<aod::HfCand3ProngWPidPiKa, aod::HfCand3ProngMcRec, aod::HfSelDsToKKPi >>;
97+ using SelectedCandidatesMl = soa::Filtered<soa::Join<aod::HfCand3ProngWPidPiKa, aod::HfSelDsToKKPi , aod::HfMlDsToKKPi >>;
98+ using SelectedCandidatesMcMl = soa::Filtered<soa::Join<aod::HfCand3ProngWPidPiKa, aod::HfCand3ProngMcRec, aod::HfSelDsToKKPi , aod::HfMlDsToKKPi >>;
9999 using MatchedGenCandidatesMc = soa::Filtered<soa::Join<aod::McParticles, aod::HfCand3ProngMcGen>>;
100100 using TypeMcCollisions = soa::Join<aod::McCollisions, aod::McCentFT0Ms>;
101101
102- Filter filterSelectCandidates = (aod::hf_sel_candidate_dplus::isSelDplusToPiKPi & static_cast <int8_t >(BIT(aod::SelectionStep::RecoMl - 1 ))) != 0 ; // select candidates which passed all cuts at least up to RecoMl - 1
103- Filter filterMcGenMatching = nabs(aod::hf_cand_3prong::flagMcMatchGen) == static_cast <int8_t >(hf_decay::hf_cand_3prong::DecayChannelMain::DplusToPiKPi );
102+ Filter filterSelectCandidates = (aod::hf_sel_candidate_ds::isSelDsToKKPi & static_cast <int8_t >(BIT(aod::SelectionStep::RecoMl - 1 ))) != 0 ; // select candidates which passed all cuts at least up to RecoMl - 1
103+ Filter filterMcGenMatching = nabs(aod::hf_cand_3prong::flagMcMatchGen) == static_cast <int8_t >(hf_decay::hf_cand_3prong::DecayChannelMain::DsToPiKK );
104104
105105 Preslice<SelectedCandidates> candidatesPerCollision = aod::hf_cand::collisionId;
106106 Preslice<SelectedCandidatesMc> candidatesMcPerCollision = aod::hf_cand::collisionId;
@@ -109,15 +109,15 @@ struct HfDerivedDataCreatorDplusToPiKPi {
109109 Preslice<MatchedGenCandidatesMc> mcParticlesPerMcCollision = aod::mcparticle::mcCollisionId;
110110
111111 // trivial partitions for all candidates to allow "->sliceByCached" inside processCandidates
112- Partition<SelectedCandidates> candidatesAll = aod::hf_sel_candidate_dplus::isSelDplusToPiKPi >= 0 ;
113- Partition<SelectedCandidatesMc> candidatesMcAll = aod::hf_sel_candidate_dplus::isSelDplusToPiKPi >= 0 ;
114- Partition<SelectedCandidatesMl> candidatesMlAll = aod::hf_sel_candidate_dplus::isSelDplusToPiKPi >= 0 ;
115- Partition<SelectedCandidatesMcMl> candidatesMcMlAll = aod::hf_sel_candidate_dplus::isSelDplusToPiKPi >= 0 ;
112+ Partition<SelectedCandidates> candidatesAll = aod::hf_sel_candidate_ds::isSelDsToKKPi >= 0 ;
113+ Partition<SelectedCandidatesMc> candidatesMcAll = aod::hf_sel_candidate_ds::isSelDsToKKPi >= 0 ;
114+ Partition<SelectedCandidatesMl> candidatesMlAll = aod::hf_sel_candidate_ds::isSelDsToKKPi >= 0 ;
115+ Partition<SelectedCandidatesMcMl> candidatesMcMlAll = aod::hf_sel_candidate_ds::isSelDsToKKPi >= 0 ;
116116 // partitions for signal and background
117- Partition<SelectedCandidatesMc> candidatesMcSig = nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast <int8_t >(hf_decay::hf_cand_3prong::DecayChannelMain::DplusToPiKPi );
118- Partition<SelectedCandidatesMc> candidatesMcBkg = nabs(aod::hf_cand_3prong::flagMcMatchRec) != static_cast <int8_t >(hf_decay::hf_cand_3prong::DecayChannelMain::DplusToPiKPi );
119- Partition<SelectedCandidatesMcMl> candidatesMcMlSig = nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast <int8_t >(hf_decay::hf_cand_3prong::DecayChannelMain::DplusToPiKPi );
120- Partition<SelectedCandidatesMcMl> candidatesMcMlBkg = nabs(aod::hf_cand_3prong::flagMcMatchRec) != static_cast <int8_t >(hf_decay::hf_cand_3prong::DecayChannelMain::DplusToPiKPi );
117+ Partition<SelectedCandidatesMc> candidatesMcSig = nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast <int8_t >(hf_decay::hf_cand_3prong::DecayChannelMain::DsToPiKK );
118+ Partition<SelectedCandidatesMc> candidatesMcBkg = nabs(aod::hf_cand_3prong::flagMcMatchRec) != static_cast <int8_t >(hf_decay::hf_cand_3prong::DecayChannelMain::DsToPiKK );
119+ Partition<SelectedCandidatesMcMl> candidatesMcMlSig = nabs(aod::hf_cand_3prong::flagMcMatchRec) == static_cast <int8_t >(hf_decay::hf_cand_3prong::DecayChannelMain::DsToPiKK );
120+ Partition<SelectedCandidatesMcMl> candidatesMcMlBkg = nabs(aod::hf_cand_3prong::flagMcMatchRec) != static_cast <int8_t >(hf_decay::hf_cand_3prong::DecayChannelMain::DsToPiKK );
121121
122122 void init (InitContext const &)
123123 {
@@ -256,7 +256,7 @@ struct HfDerivedDataCreatorDplusToPiKPi {
256256 int8_t flagMcRec = 0 , origin = 0 , swapping = 0 , flagDecayChanRec = 0 ;
257257 for (const auto & candidate : candidatesThisColl) {
258258 if constexpr (isMl) {
259- if (!TESTBIT (candidate.isSelDplusToPiKPi (), aod::SelectionStep::RecoMl)) {
259+ if (!TESTBIT (candidate.isSelDsToKKPi (), aod::SelectionStep::RecoMl)) {
260260 continue ;
261261 }
262262 }
@@ -266,7 +266,7 @@ struct HfDerivedDataCreatorDplusToPiKPi {
266266 swapping = candidate.isCandidateSwapped ();
267267 flagDecayChanRec = candidate.flagMcDecayChanRec ();
268268 if constexpr (onlyBkg) {
269- if (std::abs (flagMcRec) == hf_decay::hf_cand_3prong::DecayChannelMain::DplusToPiKPi ) {
269+ if (std::abs (flagMcRec) == hf_decay::hf_cand_3prong::DecayChannelMain::DsToPiKK ) {
270270 continue ;
271271 }
272272 if (downSampleBkgFactor < 1 .) {
@@ -277,19 +277,19 @@ struct HfDerivedDataCreatorDplusToPiKPi {
277277 }
278278 }
279279 if constexpr (onlySig) {
280- if (std::abs (flagMcRec) != hf_decay::hf_cand_3prong::DecayChannelMain::DplusToPiKPi ) {
280+ if (std::abs (flagMcRec) != hf_decay::hf_cand_3prong::DecayChannelMain::DsToPiKK ) {
281281 continue ;
282282 }
283283 }
284284 }
285- double ct = hfHelper.ctDplus (candidate);
286- double y = hfHelper.yDplus (candidate);
287- float massDplusToPiKPi = hfHelper.invMassDplusToPiKPi (candidate);
288- std::vector<float > mlScoresDplusToPiKPi ;
285+ double ct = hfHelper.ctDs (candidate);
286+ double y = hfHelper.yDs (candidate);
287+ float massDsToKKPi = hfHelper.invMassDsToKKPi (candidate);
288+ std::vector<float > mlScoresDsToKKPi ;
289289 if constexpr (isMl) {
290- std::copy (candidate.mlProbDplusToPiKPi ().begin (), candidate.mlProbDplusToPiKPi ().end (), std::back_inserter (mlScoresDplusToPiKPi ));
290+ std::copy (candidate.mlProbDsToKKPi ().begin (), candidate.mlProbDsToKKPi ().end (), std::back_inserter (mlScoresDsToKKPi ));
291291 }
292- fillTablesCandidate (candidate, 0 , massDplusToPiKPi , ct, y, flagMcRec, origin, swapping, flagDecayChanRec, mlScoresDplusToPiKPi );
292+ fillTablesCandidate (candidate, 0 , massDsToKKPi , ct, y, flagMcRec, origin, swapping, flagDecayChanRec, mlScoresDsToKKPi );
293293 }
294294 }
295295 }
@@ -301,7 +301,7 @@ struct HfDerivedDataCreatorDplusToPiKPi {
301301 {
302302 processCandidates<false , false , false , false >(collisions, candidatesAll, tracks, bcs);
303303 }
304- PROCESS_SWITCH (HfDerivedDataCreatorDplusToPiKPi , processData, " Process data" , true );
304+ PROCESS_SWITCH (HfDerivedDataCreatorDsToKKPi , processData, " Process data" , true );
305305
306306 void processMcSig (CollisionsWMcCentMult const & collisions,
307307 SelectedCandidatesMc const &,
@@ -312,9 +312,9 @@ struct HfDerivedDataCreatorDplusToPiKPi {
312312 {
313313 rowsCommon.preProcessMcCollisions (mcCollisions, mcParticlesPerMcCollision, mcParticles);
314314 processCandidates<false , true , false , true >(collisions, candidatesMcSig, tracks, bcs);
315- rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, mass );
315+ rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass );
316316 }
317- PROCESS_SWITCH (HfDerivedDataCreatorDplusToPiKPi , processMcSig, " Process MC only for signals" , false );
317+ PROCESS_SWITCH (HfDerivedDataCreatorDsToKKPi , processMcSig, " Process MC only for signals" , false );
318318
319319 void processMcBkg (CollisionsWMcCentMult const & collisions,
320320 SelectedCandidatesMc const &,
@@ -325,9 +325,9 @@ struct HfDerivedDataCreatorDplusToPiKPi {
325325 {
326326 rowsCommon.preProcessMcCollisions (mcCollisions, mcParticlesPerMcCollision, mcParticles);
327327 processCandidates<false , true , true , false >(collisions, candidatesMcBkg, tracks, bcs);
328- rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, mass );
328+ rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass );
329329 }
330- PROCESS_SWITCH (HfDerivedDataCreatorDplusToPiKPi , processMcBkg, " Process MC only for background" , false );
330+ PROCESS_SWITCH (HfDerivedDataCreatorDsToKKPi , processMcBkg, " Process MC only for background" , false );
331331
332332 void processMcAll (CollisionsWMcCentMult const & collisions,
333333 SelectedCandidatesMc const &,
@@ -338,9 +338,9 @@ struct HfDerivedDataCreatorDplusToPiKPi {
338338 {
339339 rowsCommon.preProcessMcCollisions (mcCollisions, mcParticlesPerMcCollision, mcParticles);
340340 processCandidates<false , true , false , false >(collisions, candidatesMcAll, tracks, bcs);
341- rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, mass );
341+ rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass );
342342 }
343- PROCESS_SWITCH (HfDerivedDataCreatorDplusToPiKPi , processMcAll, " Process MC" , false );
343+ PROCESS_SWITCH (HfDerivedDataCreatorDsToKKPi , processMcAll, " Process MC" , false );
344344
345345 // ML versions
346346
@@ -351,7 +351,7 @@ struct HfDerivedDataCreatorDplusToPiKPi {
351351 {
352352 processCandidates<true , false , false , false >(collisions, candidatesMlAll, tracks, bcs);
353353 }
354- PROCESS_SWITCH (HfDerivedDataCreatorDplusToPiKPi , processDataMl, " Process data with ML" , false );
354+ PROCESS_SWITCH (HfDerivedDataCreatorDsToKKPi , processDataMl, " Process data with ML" , false );
355355
356356 void processMcMlSig (CollisionsWMcCentMult const & collisions,
357357 SelectedCandidatesMcMl const &,
@@ -362,9 +362,9 @@ struct HfDerivedDataCreatorDplusToPiKPi {
362362 {
363363 rowsCommon.preProcessMcCollisions (mcCollisions, mcParticlesPerMcCollision, mcParticles);
364364 processCandidates<true , true , false , true >(collisions, candidatesMcMlSig, tracks, bcs);
365- rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, mass );
365+ rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass );
366366 }
367- PROCESS_SWITCH (HfDerivedDataCreatorDplusToPiKPi , processMcMlSig, " Process MC with ML only for signals" , false );
367+ PROCESS_SWITCH (HfDerivedDataCreatorDsToKKPi , processMcMlSig, " Process MC with ML only for signals" , false );
368368
369369 void processMcMlBkg (CollisionsWMcCentMult const & collisions,
370370 SelectedCandidatesMcMl const &,
@@ -375,9 +375,9 @@ struct HfDerivedDataCreatorDplusToPiKPi {
375375 {
376376 rowsCommon.preProcessMcCollisions (mcCollisions, mcParticlesPerMcCollision, mcParticles);
377377 processCandidates<true , true , true , false >(collisions, candidatesMcMlBkg, tracks, bcs);
378- rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, mass );
378+ rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass );
379379 }
380- PROCESS_SWITCH (HfDerivedDataCreatorDplusToPiKPi , processMcMlBkg, " Process MC with ML only for background" , false );
380+ PROCESS_SWITCH (HfDerivedDataCreatorDsToKKPi , processMcMlBkg, " Process MC with ML only for background" , false );
381381
382382 void processMcMlAll (CollisionsWMcCentMult const & collisions,
383383 SelectedCandidatesMcMl const &,
@@ -388,19 +388,19 @@ struct HfDerivedDataCreatorDplusToPiKPi {
388388 {
389389 rowsCommon.preProcessMcCollisions (mcCollisions, mcParticlesPerMcCollision, mcParticles);
390390 processCandidates<true , true , false , false >(collisions, candidatesMcMlAll, tracks, bcs);
391- rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, mass );
391+ rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass );
392392 }
393- PROCESS_SWITCH (HfDerivedDataCreatorDplusToPiKPi , processMcMlAll, " Process MC with ML" , false );
393+ PROCESS_SWITCH (HfDerivedDataCreatorDsToKKPi , processMcMlAll, " Process MC with ML" , false );
394394
395395 void processMcGenOnly (TypeMcCollisions const & mcCollisions,
396396 MatchedGenCandidatesMc const & mcParticles)
397397 {
398- rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, mass );
398+ rowsCommon.processMcParticles (mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass );
399399 }
400- PROCESS_SWITCH (HfDerivedDataCreatorDplusToPiKPi , processMcGenOnly, " Process MC gen. only" , false );
400+ PROCESS_SWITCH (HfDerivedDataCreatorDsToKKPi , processMcGenOnly, " Process MC gen. only" , false );
401401};
402402
403403WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
404404{
405- return WorkflowSpec{adaptAnalysisTask<HfDerivedDataCreatorDplusToPiKPi >(cfgc)};
405+ return WorkflowSpec{adaptAnalysisTask<HfDerivedDataCreatorDsToKKPi >(cfgc)};
406406}
0 commit comments