@@ -42,7 +42,7 @@ namespace fourpi
4242// for event
4343DECLARE_SOA_COLUMN (RunNumber, runNumber, int32_t );
4444
45- // for Rhos
45+ // for rho prime
4646DECLARE_SOA_COLUMN (M, m, double );
4747DECLARE_SOA_COLUMN (Pt, pt, double );
4848DECLARE_SOA_COLUMN (Eta, eta, double );
@@ -56,7 +56,7 @@ DECLARE_SOA_COLUMN(PosZ, posZ, double);
5656// for other
5757DECLARE_SOA_COLUMN (TotalCharge, totalCharge, int );
5858
59- // info Detec
59+ // info detec
6060DECLARE_SOA_COLUMN (TotalFT0AmplitudeA, totalFT0AmplitudeA, float );
6161DECLARE_SOA_COLUMN (TotalFT0AmplitudeC, totalFT0AmplitudeC, float );
6262DECLARE_SOA_COLUMN (TotalFV0AmplitudeA, totalFV0AmplitudeA, float );
@@ -69,16 +69,32 @@ DECLARE_SOA_COLUMN(TimeFDDA, timeFDDA, float);
6969DECLARE_SOA_COLUMN (TimeFDDC, timeFDDC, float );
7070
7171// for pion tracks
72- // DECLARE_SOA_COLUMN(TrackSign, trackSign, std::vector<int>);
73- // DECLARE_SOA_COLUMN(TrackM, trackM, std::vector<double>);
74- // DECLARE_SOA_COLUMN(TrackPt, trackPt, std::vector<double>);
75- // DECLARE_SOA_COLUMN(TrackEta, trackEta, std::vector<double>);
76- // DECLARE_SOA_COLUMN(TrackPhi, trackPhi, std::vector<double>);
72+ DECLARE_SOA_COLUMN (NumContrib, numContrib, int32_t );
73+ DECLARE_SOA_COLUMN (Sign, sign, std::vector<int >);
74+ DECLARE_SOA_COLUMN (TrackPt, trackPt, std::vector<float >);
75+ DECLARE_SOA_COLUMN (TrackEta, trackEta, std::vector<float >);
76+ DECLARE_SOA_COLUMN (TrackPhi, trackPhi, std::vector<float >);
77+ DECLARE_SOA_COLUMN (TPCNSigmaEl, tpcNSigmaEl, std::vector<float >);
78+ DECLARE_SOA_COLUMN (TPCNSigmaPi, tpcNSigmaPi, std::vector<float >);
79+ DECLARE_SOA_COLUMN (TPCNSigmaKa, tpcNSigmaKa, std::vector<float >);
80+ DECLARE_SOA_COLUMN (TPCNSigmaPr, tpcNSigmaPr, std::vector<float >);
81+ DECLARE_SOA_COLUMN (TrackID, trackID, std::vector<int >);
82+
83+ // for others
84+ DECLARE_SOA_COLUMN (IsReconstructedWithUPC, isReconstructedWithUPC, bool );
85+ DECLARE_SOA_COLUMN (TimeZNA, timeZNA, float );
86+ DECLARE_SOA_COLUMN (TimeZNC, timeZNC, float );
87+ DECLARE_SOA_COLUMN (EnergyCommonZNA, energyCommonZNA, float );
88+ DECLARE_SOA_COLUMN (EnergyCommonZNC, energyCommonZNC, float );
7789
7890} // namespace fourpi
91+
7992DECLARE_SOA_TABLE (SYSTEMTREE, " AOD" , " SystemTree" , fourpi::RunNumber, fourpi::M, fourpi::Pt, fourpi::Eta, fourpi::Phi,
8093 fourpi::PosX, fourpi::PosY, fourpi::PosZ, fourpi::TotalCharge, fourpi::TotalFT0AmplitudeA, fourpi::TotalFT0AmplitudeC, fourpi::TotalFV0AmplitudeA,
81- fourpi::TotalFDDAmplitudeA, fourpi::TotalFDDAmplitudeC, fourpi::TimeFT0A, fourpi::TimeFT0C, fourpi::TimeFV0A, fourpi::TimeFDDA, fourpi::TimeFDDC);
94+ fourpi::TotalFDDAmplitudeA, fourpi::TotalFDDAmplitudeC, fourpi::TimeFT0A, fourpi::TimeFT0C, fourpi::TimeFV0A, fourpi::TimeFDDA, fourpi::TimeFDDC,
95+ fourpi::NumContrib, fourpi::Sign, fourpi::TrackPt, fourpi::TrackEta, fourpi::TrackPhi,
96+ fourpi::TPCNSigmaEl, fourpi::TPCNSigmaPi, fourpi::TPCNSigmaKa, fourpi::TPCNSigmaPr, fourpi::TrackID, fourpi::IsReconstructedWithUPC,
97+ fourpi::TimeZNA, fourpi::TimeZNC, fourpi::EnergyCommonZNA, fourpi::EnergyCommonZNC);
8298} // namespace o2::aod
8399
84100struct upcRhoPrimeAnalysis {
@@ -264,9 +280,41 @@ struct upcRhoPrimeAnalysis {
264280
265281 if (nTracks == 4 && tracksTotalCharge (cutTracks) == 0 ) { // 4pi system
266282
283+ std::vector<float > vTrackPt, vTrackEta, vTrackPhi;
284+ std::vector<int > vSign, vTrackID;
285+ std::vector<float > vTpcNSigmaEl, vTpcNSigmaPi, vTpcNSigmaKa, vTpcNSigmaPr;
286+
287+ for (size_t i = 0 ; i < cutTracks.size (); i++) {
288+
289+ double tPt = cutTracks[i].pt ();
290+ double tEta = eta (cutTracks[i].px (), cutTracks[i].py (), cutTracks[i].pz ());
291+ double tPhi = phi (cutTracks[i].px (), cutTracks[i].py ());
292+
293+ vTrackPt.push_back (tPt);
294+ vTrackEta.push_back (tEta);
295+ vTrackPhi.push_back (tPhi);
296+ vSign.push_back (cutTracks[i].sign ());
297+ vTpcNSigmaEl.push_back (cutTracks[i].tpcNSigmaEl ());
298+ vTpcNSigmaPi.push_back (cutTracks[i].tpcNSigmaPi ());
299+ vTpcNSigmaKa.push_back (cutTracks[i].tpcNSigmaKa ());
300+ vTpcNSigmaPr.push_back (cutTracks[i].tpcNSigmaPr ());
301+
302+ vTrackID.push_back (i);
303+ }
304+
305+ bool isReconstructedWithUPC = false ;
306+
307+ if (collision.flags () == 1 ) {
308+ isReconstructedWithUPC = true ;
309+ } else {
310+ isReconstructedWithUPC = false ;
311+ }
312+
267313 systemTree (collision.runNumber (), mass, pT, rapidity, systemPhi, collision.posX (), collision.posY (), collision.posZ (), totalCharge,
268314 collision.totalFT0AmplitudeA (), collision.totalFT0AmplitudeC (), collision.timeFV0A (), collision.totalFDDAmplitudeA (), collision.totalFDDAmplitudeC (),
269- collision.timeFT0A (), collision.timeFT0C (), collision.timeFV0A (), collision.timeFDDA (), collision.timeFDDC ());
315+ collision.timeFT0A (), collision.timeFT0C (), collision.timeFV0A (), collision.timeFDDA (), collision.timeFDDC (),
316+ collision.numContrib (), vSign, vTrackPt, vTrackEta, vTrackPhi, vTpcNSigmaEl, vTpcNSigmaPi, vTpcNSigmaKa, vTpcNSigmaPr, vTrackID, isReconstructedWithUPC,
317+ collision.timeZNA (), collision.timeZNC (), collision.energyCommonZNA (), collision.energyCommonZNC ());
270318
271319 // registry.fill(HIST("4pi/hM"), mass);
272320 // registry.fill(HIST("4pi/hPt"), pT);
0 commit comments