@@ -69,8 +69,17 @@ DECLARE_SOA_COLUMN(Pt, pt, float); //! Transverse m
6969DECLARE_SOA_COLUMN (Eta, eta, float ); // ! eta of candidate (GeV/c)
7070DECLARE_SOA_COLUMN (Phi, phi, float ); // ! phi of candidate (GeV/c)
7171DECLARE_SOA_COLUMN (PtProng0, ptProng0, float ); // ! Transverse momentum of prong 0 (GeV/c)
72+ DECLARE_SOA_COLUMN (PxProng0, pxProng0, float ); // ! Px of prong 0 (GeV/c)
73+ DECLARE_SOA_COLUMN (PyProng0, pyProng0, float ); // ! Py of prong 0 (GeV/c)
74+ DECLARE_SOA_COLUMN (PzProng0, pzProng0, float ); // ! Pz of prong 0 (GeV/c)
7275DECLARE_SOA_COLUMN (PtProng1, ptProng1, float ); // ! Transverse momentum of prong 1 (GeV/c)
76+ DECLARE_SOA_COLUMN (PxProng1, pxProng1, float ); // ! Px of prong 1 (GeV/c)
77+ DECLARE_SOA_COLUMN (PyProng1, pyProng1, float ); // ! Py of prong 1 (GeV/c)
78+ DECLARE_SOA_COLUMN (PzProng1, pzProng1, float ); // ! Pz of prong 1 (GeV/c)
7379DECLARE_SOA_COLUMN (PtProng2, ptProng2, float ); // ! Transverse momentum of prong 2 (GeV/c)
80+ DECLARE_SOA_COLUMN (PxProng2, pxProng2, float ); // ! Px of prong 2 (GeV/c)
81+ DECLARE_SOA_COLUMN (PyProng2, pyProng2, float ); // ! Py of prong 2 (GeV/c)
82+ DECLARE_SOA_COLUMN (PzProng2, pzProng2, float ); // ! Pz of prong 2 (GeV/c)
7483DECLARE_SOA_COLUMN (ImpactParameter0, impactParameter0, float ); // ! Impact parameter (DCA to PV) of prong 0 (cm)
7584DECLARE_SOA_COLUMN (ImpactParameter1, impactParameter1, float ); // ! Impact parameter (DCA to PV) of prong 1 (cm)
7685DECLARE_SOA_COLUMN (ImpactParameter2, impactParameter2, float ); // ! Impact parameter (DCA to PV) of prong 2 (cm)
@@ -96,12 +105,13 @@ DECLARE_SOA_COLUMN(NTpcSignalsKa, nTpcSignalsKa, float); //! Number of TP
96105DECLARE_SOA_COLUMN (NItsSignalsDe, nItsSignalsDe, float ); // ! Number of ITS signas
97106DECLARE_SOA_COLUMN (CandidateSelFlag, candidateSelFlag, int8_t ); // ! Candidates falg
98107DECLARE_SOA_COLUMN (Cent, cent, float ); // ! Centrality
108+ DECLARE_SOA_COLUMN (VtxZ, vtxZ, float ); // ! Vertex Z
99109DECLARE_SOA_COLUMN (GIndexCol, gIndexCol , int ); // ! Global index for the collisionAdd commentMore actions
100110DECLARE_SOA_COLUMN (TimeStamp, timeStamp, int64_t ); // ! Timestamp for the collision
101111} // namespace full
102112
103- // Full table: include ALL columns declared above
104- DECLARE_SOA_TABLE (HfCandCd , " AOD" , " HFCANDCD " ,
113+ // Lite table
114+ DECLARE_SOA_TABLE (HfCandCdLite , " AOD" , " HFCANDCDLITE " ,
105115 full::MassCd,
106116 full::MassLc,
107117 full::Pt,
@@ -120,21 +130,51 @@ DECLARE_SOA_TABLE(HfCandCd, "AOD", "HFCANDCD",
120130 full::NSigmaTpcPr,
121131 full::NSigmaItsDe,
122132 full::NSigmaTofDe,
123- full::NItsNClusterSize,
124- full::NTpcSignalsDe,
125- full::NTpcSignalsPi,
126- full::NTpcSignalsKa,
127133 full::CandidateSelFlag,
128134 full::Cent);
135+
136+ // full table for local Rotation & Event Mixing
137+ DECLARE_SOA_TABLE (HfCandCdFull, " AOD" , " HFCANDCDFULL" ,
138+ full::PxProng0,
139+ full::PyProng0,
140+ full::PzProng0,
141+ full::PxProng1,
142+ full::PyProng1,
143+ full::PzProng1,
144+ full::PxProng2,
145+ full::PyProng2,
146+ full::PzProng2,
147+ full::ImpactParameter0,
148+ full::ImpactParameter1,
149+ full::ImpactParameter2,
150+ full::DecayLength,
151+ full::Cpa,
152+ full::Chi2PCA,
153+ full::NSigmaTpcDe,
154+ full::NSigmaTpcPr,
155+ full::NSigmaItsDe,
156+ full::NSigmaTofDe,
157+ full::NSigmaTpcPi,
158+ full::NSigmaTofPi,
159+ full::NSigmaTpcKa,
160+ full::NSigmaTofKa,
161+ full::CandidateSelFlag,
162+ full::Cent,
163+ full::VtxZ,
164+ full::GIndexCol,
165+ full::TimeStamp);
129166} // namespace o2::aod
130167
131168struct HfTaskCd {
132169
133- Produces<o2::aod::HfCandCd> rowCandCd;
170+ Produces<o2::aod::HfCandCdLite> rowCandCdLite;
171+ Produces<o2::aod::HfCandCdFull> rowCandCdFull;
172+
134173 Configurable<int > selectionFlagCd{" selectionFlagCd" , 1 , " Selection Flag for Cd" };
135174 Configurable<std::vector<double >> binsPt{" binsPt" , std::vector<double >{hf_cuts_cd_to_de_k_pi::vecBinsPt}, " pT bin limits" };
136175 Configurable<bool > fillTHn{" fillTHn" , false , " fill THn" };
137- Configurable<bool > fillTree{" fillTree" , false , " Flag to fill candiates tree" };
176+ Configurable<bool > fillCandLiteTree{" fillCandLiteTree" , false , " Flag to fill candiates lite tree" };
177+ Configurable<bool > fillCandFullTree{" fillCandFullTree" , false , " Flag to fill candiates full tree" };
138178
139179 SliceCache cache;
140180
@@ -272,8 +312,8 @@ struct HfTaskCd {
272312 auto thisCollId = collision.globalIndex ();
273313 auto groupedCdCandidates = candidates.sliceBy (candCdPerCollision, thisCollId);
274314 auto numPvContributors = collision.numContrib ();
275- // auto bc = collision.template bc_as<BcType>();
276- // int64_t timeStamp = bc.timestamp();
315+ auto bc = collision.template bc_as <BcType>();
316+ int64_t timeStamp = bc.timestamp ();
277317
278318 for (const auto & candidate : groupedCdCandidates) {
279319 if (!TESTBIT (candidate.hfflag (), aod::hf_cand_3prong::DecayType::CdToDeKPi)) {
@@ -358,14 +398,15 @@ struct HfTaskCd {
358398 }
359399 }
360400
361- if (fillTree) {
401+ if (fillCandLiteTree || fillCandFullTree) {
402+
362403 int candFlag = -999 ;
363404
364405 float nSigmaTpcDe = 0 .f , nSigmaTpcKa = 0 .f , nSigmaTpcPi = 0 .f , nSigmaTpcPr = 0 .f ;
365406 float nSigmaItsDe = 0 .f ;
366407 float nSigmaTofDe = 0 .f , nSigmaTofKa = 0 .f , nSigmaTofPi = 0 .f ;
367408
368- int itsNClusterSizeDe = 0 ;
409+ // int itsNClusterSizeDe = 0;
369410
370411 float tpcSignalsDe = 0 .f ;
371412 float tpcSignalsPi = 0 .f ;
@@ -401,7 +442,7 @@ struct HfTaskCd {
401442 nSigmaTpcPi = candidate.nSigTpcPi2 ();
402443 nSigmaTofPi = candidate.nSigTofPi2 ();
403444 nSigmaItsDe = prong0Its.itsNSigmaDe ();
404- itsNClusterSizeDe = prong0.itsClusterSizes ();
445+ // itsNClusterSizeDe = prong0.itsClusterSizes();
405446 tpcSignalsDe = prong0.tpcSignal ();
406447 tpcSignalsPi = prong2.tpcSignal ();
407448 itsSignalsDe = itsSignal (prong0);
@@ -415,7 +456,7 @@ struct HfTaskCd {
415456 nSigmaTpcPi = candidate.nSigTpcPi0 ();
416457 nSigmaTofPi = candidate.nSigTofPi0 ();
417458 nSigmaItsDe = prong2Its.itsNSigmaDe ();
418- itsNClusterSizeDe = prong2.itsClusterSizes ();
459+ // itsNClusterSizeDe = prong2.itsClusterSizes();
419460 tpcSignalsDe = prong2.tpcSignal ();
420461 tpcSignalsPi = prong0.tpcSignal ();
421462 itsSignalsDe = itsSignal (prong2);
@@ -435,31 +476,63 @@ struct HfTaskCd {
435476 registry.fill (HIST (" Data/hNsigmaTPCKaVsP" ), prong1.tpcInnerParam () * prong1.sign (), nSigmaTpcKa);
436477 registry.fill (HIST (" Data/hNsigmaTOFKaVsP" ), prong1.tpcInnerParam () * prong1.sign (), nSigmaTofKa);
437478
438- rowCandCd (
439- invMassCd,
440- invMassLc,
441- pt,
442- eta,
443- phi,
444- ptProng0,
445- ptProng1,
446- ptProng2,
447- candidate.impactParameter0 (),
448- candidate.impactParameter1 (),
449- candidate.impactParameter2 (),
450- decayLength,
451- cpa,
452- chi2PCA,
453- nSigmaTpcDe,
454- nSigmaTpcPr,
455- nSigmaItsDe,
456- nSigmaTofDe,
457- itsNClusterSizeDe,
458- tpcSignalsDe,
459- tpcSignalsPi,
460- tpcSignalsKa,
461- candFlag,
462- cent);
479+ if (fillCandLiteTree) {
480+
481+ rowCandCdLite (
482+ invMassCd,
483+ invMassLc,
484+ pt,
485+ eta,
486+ phi,
487+ ptProng0,
488+ ptProng1,
489+ ptProng2,
490+ candidate.impactParameter0 (),
491+ candidate.impactParameter1 (),
492+ candidate.impactParameter2 (),
493+ decayLength,
494+ cpa,
495+ chi2PCA,
496+ nSigmaTpcDe,
497+ nSigmaTpcPr,
498+ nSigmaItsDe,
499+ nSigmaTofDe,
500+ candFlag,
501+ cent);
502+ }
503+
504+ if (fillCandFullTree) {
505+
506+ rowCandCdFull (
507+ candidate.pxProng0 (),
508+ candidate.pyProng0 (),
509+ candidate.pzProng0 (),
510+ candidate.pxProng1 (),
511+ candidate.pyProng1 (),
512+ candidate.pzProng1 (),
513+ candidate.pxProng2 (),
514+ candidate.pyProng2 (),
515+ candidate.pzProng2 (),
516+ candidate.impactParameter0 (),
517+ candidate.impactParameter1 (),
518+ candidate.impactParameter2 (),
519+ decayLength,
520+ cpa,
521+ chi2PCA,
522+ nSigmaTpcDe,
523+ nSigmaTpcPr,
524+ nSigmaItsDe,
525+ nSigmaTofDe,
526+ nSigmaTpcPi,
527+ nSigmaTofPi,
528+ nSigmaTpcKa,
529+ nSigmaTofKa,
530+ candFlag,
531+ cent,
532+ collision.posZ (),
533+ collision.globalIndex (),
534+ timeStamp);
535+ }
463536 }
464537 }
465538 }
0 commit comments