Skip to content

Commit c6e268e

Browse files
committed
change track ordering in tables
1 parent ec6be89 commit c6e268e

File tree

1 file changed

+78
-80
lines changed

1 file changed

+78
-80
lines changed

PWGUD/Tasks/upcRhoAnalysis.cxx

Lines changed: 78 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -74,43 +74,45 @@ DECLARE_SOA_COLUMN(NeutronClass, neutronClass, int);
7474
// pion tracks
7575
DECLARE_SOA_COLUMN(PhiRandom, phiRandom, float);
7676
DECLARE_SOA_COLUMN(PhiCharge, phiCharge, float);
77-
DECLARE_SOA_COLUMN(PosTrackSign, posTrackSign, int);
78-
DECLARE_SOA_COLUMN(NegTrackSign, negTrackSign, int);
79-
DECLARE_SOA_COLUMN(PosTrackPt, posTrackPt, float);
80-
DECLARE_SOA_COLUMN(NegTrackPt, negTrackPt, float);
81-
DECLARE_SOA_COLUMN(PosTrackEta, posTrackEta, float);
82-
DECLARE_SOA_COLUMN(NegTrackEta, negTrackEta, float);
83-
DECLARE_SOA_COLUMN(PosTrackPhi, posTrackPhi, float);
84-
DECLARE_SOA_COLUMN(NegTrackPhi, negTrackPhi, float);
85-
DECLARE_SOA_COLUMN(PosTrackPiPID, posTrackPiPID, float);
86-
DECLARE_SOA_COLUMN(NegTrackPiPID, negTrackPiPID, float);
87-
DECLARE_SOA_COLUMN(PosTrackElPID, posTrackElPID, float);
88-
DECLARE_SOA_COLUMN(NegTrackElPID, negTrackElPID, float);
89-
DECLARE_SOA_COLUMN(PosTrackKaPID, posTrackKaPID, float);
90-
DECLARE_SOA_COLUMN(NegTrackKaPID, negTrackKaPID, float);
91-
DECLARE_SOA_COLUMN(PosTrackDcaXY, posTrackDcaXY, float);
92-
DECLARE_SOA_COLUMN(NegTrackDcaXY, negTrackDcaXY, float);
93-
DECLARE_SOA_COLUMN(PosTrackDcaZ, posTrackDcaZ, float);
94-
DECLARE_SOA_COLUMN(NegTrackDcaZ, negTrackDcaZ, float);
95-
DECLARE_SOA_COLUMN(PosTrackTpcSignal, posTrackTpcSignal, float);
96-
DECLARE_SOA_COLUMN(NegTrackTpcSignal, negTrackTpcSignal, float);
77+
DECLARE_SOA_COLUMN(LeadingTrackSign, leadingTrackSign, int);
78+
DECLARE_SOA_COLUMN(SubleadingTrackSign, subleadingTrackSign, int);
79+
DECLARE_SOA_COLUMN(LeadingTrackPt, leadingTrackPt, float);
80+
DECLARE_SOA_COLUMN(SubleadingTrackPt, subleadingTrackPt, float);
81+
DECLARE_SOA_COLUMN(LeadingTrackEta, leadingTrackEta, float);
82+
DECLARE_SOA_COLUMN(SubleadingTrackEta, subleadingTrackEta, float);
83+
DECLARE_SOA_COLUMN(LeadingTrackPhi, leadingTrackPhi, float);
84+
DECLARE_SOA_COLUMN(SubleadingTrackPhi, subleadingTrackPhi, float);
85+
DECLARE_SOA_COLUMN(SubleadingTrackPiPID, subleadingTrackPiPID, float);
86+
DECLARE_SOA_COLUMN(LeadingTrackElPID, leadingTrackElPID, float);
87+
DECLARE_SOA_COLUMN(SubleadingTrackElPID, subleadingTrackElPID, float);
88+
DECLARE_SOA_COLUMN(LeadingTrackKaPID, leadingTrackKaPID, float);
89+
DECLARE_SOA_COLUMN(SubleadingTrackKaPID, subleadingTrackKaPID, float);
90+
DECLARE_SOA_COLUMN(LeadingTrackPrPID, leadingTrackPrPID, float);
91+
DECLARE_SOA_COLUMN(SubleadingTrackPrPID, subleadingTrackPrPID, float);
92+
DECLARE_SOA_COLUMN(LeadingTrackDcaXY, leadingTrackDcaXY, float);
93+
DECLARE_SOA_COLUMN(SubleadingTrackDcaXY, subleadingTrackDcaXY, float);
94+
DECLARE_SOA_COLUMN(LeadingTrackDcaZ, leadingTrackDcaZ, float);
95+
DECLARE_SOA_COLUMN(SubleadingTrackDcaZ, subleadingTrackDcaZ, float);
96+
DECLARE_SOA_COLUMN(LeadingTrackTpcSignal, leadingTrackTpcSignal, float);
97+
DECLARE_SOA_COLUMN(SubleadingTrackTpcSignal, subleadingTrackTpcSignal, float);
9798
} // namespace reco_tree
9899
DECLARE_SOA_TABLE(RecoTree, "AOD", "RECOTREE",
99100
reco_tree::RecoSetting, reco_tree::RunNumber, reco_tree::LocalBC, reco_tree::NumContrib, reco_tree::PosX, reco_tree::PosY, reco_tree::PosZ,
100101
reco_tree::TotalFT0AmplitudeA, reco_tree::TotalFT0AmplitudeC, reco_tree::TotalFV0AmplitudeA, reco_tree::TotalFDDAmplitudeA, reco_tree::TotalFDDAmplitudeC,
101102
reco_tree::TimeFT0A, reco_tree::TimeFT0C, reco_tree::TimeFV0A, reco_tree::TimeFDDA, reco_tree::TimeFDDC,
102103
reco_tree::EnergyCommonZNA, reco_tree::EnergyCommonZNC, reco_tree::TimeZNA, reco_tree::TimeZNC, reco_tree::NeutronClass,
103104
reco_tree::PhiRandom, reco_tree::PhiCharge,
104-
reco_tree::PosTrackSign, reco_tree::NegTrackSign,
105-
reco_tree::PosTrackPt, reco_tree::NegTrackPt,
106-
reco_tree::PosTrackEta, reco_tree::NegTrackEta,
107-
reco_tree::PosTrackPhi, reco_tree::NegTrackPhi,
108-
reco_tree::PosTrackPiPID, reco_tree::NegTrackPiPID,
109-
reco_tree::PosTrackElPID, reco_tree::NegTrackElPID,
110-
reco_tree::PosTrackKaPID, reco_tree::NegTrackKaPID,
111-
reco_tree::PosTrackDcaXY, reco_tree::NegTrackDcaXY,
112-
reco_tree::PosTrackDcaZ, reco_tree::NegTrackDcaZ,
113-
reco_tree::PosTrackTpcSignal, reco_tree::NegTrackTpcSignal);
105+
reco_tree::LeadingTrackSign, reco_tree::SubleadingTrackSign,
106+
reco_tree::LeadingTrackPt, reco_tree::SubleadingTrackPt,
107+
reco_tree::LeadingTrackEta, reco_tree::SubleadingTrackEta,
108+
reco_tree::LeadingTrackPhi, reco_tree::SubleadingTrackPhi,
109+
reco_tree::LeadingTrackPiPID, reco_tree::SubleadingTrackPiPID,
110+
reco_tree::LeadingTrackElPID, reco_tree::SubleadingTrackElPID,
111+
reco_tree::LeadingTrackKaPID, reco_tree::SubleadingTrackKaPID,
112+
reco_tree::LeadingTrackPrPID, reco_tree::SubleadingTrackPrPID,
113+
reco_tree::LeadingTrackDcaXY, reco_tree::SubleadingTrackDcaXY,
114+
reco_tree::LeadingTrackDcaZ, reco_tree::SubleadingTrackDcaZ,
115+
reco_tree::LeadingTrackTpcSignal, reco_tree::SubleadingTrackTpcSignal);
114116

115117
namespace mc_tree
116118
{
@@ -124,23 +126,23 @@ DECLARE_SOA_COLUMN(PosZ, posZ, float);
124126
// pion tracks
125127
DECLARE_SOA_COLUMN(PhiRandom, phiRandom, float);
126128
DECLARE_SOA_COLUMN(PhiCharge, phiCharge, float);
127-
DECLARE_SOA_COLUMN(PosTrackSign, posTrackSign, int);
128-
DECLARE_SOA_COLUMN(NegTrackSign, negTrackSign, int);
129-
DECLARE_SOA_COLUMN(PosTrackPt, posTrackPt, float);
130-
DECLARE_SOA_COLUMN(NegTrackPt, negTrackPt, float);
131-
DECLARE_SOA_COLUMN(PosTrackEta, posTrackEta, float);
132-
DECLARE_SOA_COLUMN(NegTrackEta, negTrackEta, float);
133-
DECLARE_SOA_COLUMN(PosTrackPhi, posTrackPhi, float);
134-
DECLARE_SOA_COLUMN(NegTrackPhi, negTrackPhi, float);
129+
DECLARE_SOA_COLUMN(LeadingTrackSign, leadingTrackSign, int);
130+
DECLARE_SOA_COLUMN(SubleadingTrackSign, subleadingTrackSign, int);
131+
DECLARE_SOA_COLUMN(LeadingTrackPt, leadingTrackPt, float);
132+
DECLARE_SOA_COLUMN(SubleadingTrackPt, subleadingTrackPt, float);
133+
DECLARE_SOA_COLUMN(LeadingTrackEta, leadingTrackEta, float);
134+
DECLARE_SOA_COLUMN(SubleadingTrackEta, subleadingTrackEta, float);
135+
DECLARE_SOA_COLUMN(LeadingTrackPhi, leadingTrackPhi, float);
136+
DECLARE_SOA_COLUMN(SubleadingTrackPhi, subleadingTrackPhi, float);
135137
} // namespace mc_tree
136138
DECLARE_SOA_TABLE(McTree, "AOD", "MCTREE",
137139
mc_tree::LocalBc, mc_tree::RunNumber,
138140
mc_tree::PosX, mc_tree::PosY, mc_tree::PosZ,
139141
mc_tree::PhiRandom, mc_tree::PhiCharge,
140-
mc_tree::PosTrackSign, mc_tree::NegTrackSign,
141-
mc_tree::PosTrackPt, mc_tree::NegTrackPt,
142-
mc_tree::PosTrackEta, mc_tree::NegTrackEta,
143-
mc_tree::PosTrackPhi, mc_tree::NegTrackPhi);
142+
mc_tree::LeadingTrackSign, mc_tree::SubleadingTrackSign,
143+
mc_tree::LeadingTrackPt, mc_tree::SubleadingTrackPt,
144+
mc_tree::LeadingTrackEta, mc_tree::SubleadingTrackEta,
145+
mc_tree::LeadingTrackPhi, mc_tree::SubleadingTrackPhi);
144146
} // namespace o2::aod
145147

146148
struct UpcRhoAnalysis {
@@ -795,37 +797,35 @@ struct UpcRhoAnalysis {
795797
}
796798

797799
// differentiate leading- and subleading-momentum tracks
798-
auto leadingMomentumTrack = momentum(cutTracks[0].px(), cutTracks[0].py(), cutTracks[0].pz()) > momentum(cutTracks[1].px(), cutTracks[1].py(), cutTracks[1].pz()) ? cutTracks[0] : cutTracks[1];
799-
auto subleadingMomentumTrack = (leadingMomentumTrack == cutTracks[0]) ? cutTracks[1] : cutTracks[0];
800-
801-
auto positiveTrack = cutTracks[0].sign() == 1 ? cutTracks[0] : cutTracks[1];
802-
auto negativeTrack = cutTracks[0].sign() == -1 ? cutTracks[0] : cutTracks[1];
803-
804-
float leadingPt = leadingMomentumTrack.pt();
805-
float subleadingPt = subleadingMomentumTrack.pt();
806-
float leadingEta = eta(leadingMomentumTrack.px(), leadingMomentumTrack.py(), leadingMomentumTrack.pz());
807-
float subleadingEta = eta(subleadingMomentumTrack.px(), subleadingMomentumTrack.py(), subleadingMomentumTrack.pz());
808-
float leadingPhi = phi(leadingMomentumTrack.px(), leadingMomentumTrack.py());
809-
float subleadingPhi = phi(subleadingMomentumTrack.px(), subleadingMomentumTrack.py());
800+
auto leadingTrack = momentum(cutTracks[0].px(), cutTracks[0].py(), cutTracks[0].pz()) > momentum(cutTracks[1].px(), cutTracks[1].py(), cutTracks[1].pz()) ? cutTracks[0] : cutTracks[1];
801+
auto subleadingTrack = (leadingTrack == cutTracks[0]) ? cutTracks[1] : cutTracks[0];
802+
803+
float leadingPt = leadingTrack.pt();
804+
float subleadingPt = subleadingTrack.pt();
805+
float leadingEta = eta(leadingTrack.px(), leadingTrack.py(), leadingTrack.pz());
806+
float subleadingEta = eta(subleadingTrack.px(), subleadingTrack.py(), subleadingTrack.pz());
807+
float leadingPhi = phi(leadingTrack.px(), leadingTrack.py());
808+
float subleadingPhi = phi(subleadingTrack.px(), subleadingTrack.py());
810809
float phiRandom = getPhiRandom(cutTracksLVs);
811810
float phiCharge = getPhiCharge(cutTracks, cutTracksLVs);
812811

813812
// fill recoTree
814813
recoTree(collision.flags(), collision.runNumber(), collision.globalBC() % o2::constants::lhc::LHCMaxBunches, collision.numContrib(), collision.posX(), collision.posY(), collision.posZ(),
815-
collision.totalFT0AmplitudeA(), collision.totalFT0AmplitudeC(), collision.totalFV0AmplitudeA(), collision.totalFDDAmplitudeA(), collision.totalFDDAmplitudeC(),
816-
collision.timeFT0A(), collision.timeFT0C(), collision.timeFV0A(), collision.timeFDDA(), collision.timeFDDC(),
817-
energyCommonZNA, energyCommonZNC, timeZNA, timeZNC, neutronClass,
818-
phiRandom, phiCharge,
819-
positiveTrack.sign(), negativeTrack.sign(),
820-
positiveTrack.pt(), negativeTrack.pt(),
821-
eta(positiveTrack.px(), positiveTrack.py(), positiveTrack.pz()), eta(negativeTrack.px(), negativeTrack.py(), negativeTrack.pz()),
822-
phi(positiveTrack.px(), positiveTrack.py()), phi(negativeTrack.px(), negativeTrack.py()),
823-
positiveTrack.tpcNSigmaPi(), negativeTrack.tpcNSigmaPi(),
824-
positiveTrack.tpcNSigmaEl(), negativeTrack.tpcNSigmaEl(),
825-
positiveTrack.tpcNSigmaKa(), negativeTrack.tpcNSigmaKa(),
826-
positiveTrack.dcaXY(), negativeTrack.dcaXY(),
827-
positiveTrack.dcaZ(), negativeTrack.dcaZ(),
828-
positiveTrack.tpcSignal(), negativeTrack.tpcSignal());
814+
collision.totalFT0AmplitudeA(), collision.totalFT0AmplitudeC(), collision.totalFV0AmplitudeA(), collision.totalFDDAmplitudeA(), collision.totalFDDAmplitudeC(),
815+
collision.timeFT0A(), collision.timeFT0C(), collision.timeFV0A(), collision.timeFDDA(), collision.timeFDDC(),
816+
energyCommonZNA, energyCommonZNC, timeZNA, timeZNC, neutronClass,
817+
phiRandom, phiCharge,
818+
leadingTrack.sign(), subleadingTrack.sign(),
819+
leadingPt, subleadingPt,
820+
leadingEta, subleadingEta,
821+
leadingPhi, subleadingPhi,
822+
leadingTrack.tpcNSigmaPi(), subleadingTrack.tpcNSigmaPi(),
823+
leadingTrack.tpcNSigmaEl(), subleadingTrack.tpcNSigmaEl(),
824+
leadingTrack.tpcNSigmaKa(), subleadingTrack.tpcNSigmaKa(),
825+
leadingTrack.tpcNSigmaPr(), subleadingTrack.tpcNSigmaPr(),
826+
leadingTrack.dcaXY(), subleadingTrack.dcaXY(),
827+
leadingTrack.dcaZ(), subleadingTrack.dcaZ(),
828+
leadingTrack.tpcSignal(), subleadingTrack.tpcSignal());
829829

830830
if (!tracksPassPID(cutTracks)) // apply PID cut
831831
return;
@@ -835,7 +835,7 @@ struct UpcRhoAnalysis {
835835
rQC.fill(HIST("QC/tracks/hSelectionCounterPerRun"), 16, runIndex);
836836
fillTrackQcHistos<1>(cutTrack); // fill QC histograms after cuts
837837
}
838-
rQC.fill(HIST("QC/tracks/hTofHitCheck"), leadingMomentumTrack.hasTOF(), subleadingMomentumTrack.hasTOF());
838+
rQC.fill(HIST("QC/tracks/hTofHitCheck"), leadingTrack.hasTOF(), subleadingTrack.hasTOF());
839839
fillCollisionQcHistos<1>(collision); // fill QC histograms after track selections
840840

841841
ROOT::Math::PxPyPzMVector system = reconstructSystem(cutTracksLVs);
@@ -983,11 +983,11 @@ struct UpcRhoAnalysis {
983983
float phiRandom = getPhiRandom(mcParticlesLVs);
984984
float phiCharge = getPhiChargeMC(cutMcParticles, mcParticlesLVs);
985985

986-
auto leadingMomentumPion = momentum(cutMcParticles[0].px(), cutMcParticles[0].py(), cutMcParticles[0].pz()) > momentum(cutMcParticles[1].px(), cutMcParticles[1].py(), cutMcParticles[1].pz()) ? cutMcParticles[0] : cutMcParticles[1];
987-
auto subleadingMomentumPion = (leadingMomentumPion == cutMcParticles[0]) ? cutMcParticles[1] : cutMcParticles[0];
988-
rMC.fill(HIST("MC/tracks/hPt"), pt(leadingMomentumPion.px(), leadingMomentumPion.py()), pt(subleadingMomentumPion.px(), subleadingMomentumPion.py()));
989-
rMC.fill(HIST("MC/tracks/hEta"), eta(leadingMomentumPion.px(), leadingMomentumPion.py(), leadingMomentumPion.pz()), eta(subleadingMomentumPion.px(), subleadingMomentumPion.py(), subleadingMomentumPion.pz()));
990-
rMC.fill(HIST("MC/tracks/hPhi"), phi(leadingMomentumPion.px(), leadingMomentumPion.py()), phi(subleadingMomentumPion.px(), subleadingMomentumPion.py()));
986+
auto leadingPion = momentum(cutMcParticles[0].px(), cutMcParticles[0].py(), cutMcParticles[0].pz()) > momentum(cutMcParticles[1].px(), cutMcParticles[1].py(), cutMcParticles[1].pz()) ? cutMcParticles[0] : cutMcParticles[1];
987+
auto subleadingPion = (leadingPion == cutMcParticles[0]) ? cutMcParticles[1] : cutMcParticles[0];
988+
rMC.fill(HIST("MC/tracks/hPt"), pt(leadingPion.px(), leadingPion.py()), pt(subleadingPion.px(), subleadingPion.py()));
989+
rMC.fill(HIST("MC/tracks/hEta"), eta(leadingPion.px(), leadingPion.py(), leadingPion.pz()), eta(subleadingPion.px(), subleadingPion.py(), subleadingPion.pz()));
990+
rMC.fill(HIST("MC/tracks/hPhi"), phi(leadingPion.px(), leadingPion.py()), phi(subleadingPion.px(), subleadingPion.py()));
991991

992992
rMC.fill(HIST("MC/system/hM"), mass);
993993
rMC.fill(HIST("MC/system/hPt"), pT);
@@ -1014,15 +1014,13 @@ struct UpcRhoAnalysis {
10141014
}
10151015

10161016
// fill mcTree
1017-
auto positivePion = cutMcParticles[0].pdgCode() > 0 ? cutMcParticles[0] : cutMcParticles[1];
1018-
auto negativePion = cutMcParticles[0].pdgCode() > 0 ? cutMcParticles[1] : cutMcParticles[0];
10191017
mcTree(mcCollision.globalBC() % o2::constants::lhc::LHCMaxBunches, runNumber,
10201018
mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(),
10211019
phiRandom, phiCharge,
1022-
positivePion.pdgCode() / std::abs(positivePion.pdgCode()), negativePion.pdgCode() / std::abs(negativePion.pdgCode()),
1023-
pt(positivePion.px(), positivePion.py()), pt(negativePion.px(), negativePion.py()),
1024-
eta(positivePion.px(), positivePion.py(), positivePion.pz()), eta(negativePion.px(), negativePion.py(), negativePion.pz()),
1025-
phi(positivePion.px(), positivePion.py()), phi(negativePion.px(), negativePion.py()));
1020+
leadingPion.pdgCode() / std::abs(leadingPion.pdgCode()), subleadingPion.pdgCode() / std::abs(subleadingPion.pdgCode()),
1021+
pt(leadingPion.px(), leadingPion.py()), pt(subleadingPion.px(), subleadingPion.py()),
1022+
eta(leadingPion.px(), leadingPion.py(), leadingPion.pz()), eta(subleadingPion.px(), subleadingPion.py(), subleadingPion.pz()),
1023+
phi(leadingPion.px(), leadingPion.py()), phi(subleadingPion.px(), subleadingPion.py()));
10261024
}
10271025

10281026
template <typename C>

0 commit comments

Comments
 (0)