Skip to content

Commit 5692752

Browse files
committed
Adding collision column to derived data to reduce saves of centrality, adding N Jet constituents column. Renaming tables to keep the "s" convention.
1 parent 802bde6 commit 5692752

File tree

2 files changed

+37
-22
lines changed

2 files changed

+37
-22
lines changed

PWGLF/DataModel/lambdaJetPolarizationIons.h

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,12 @@ namespace lambdajetpol
2929
{
3030

3131
DECLARE_SOA_COLUMN(CollIdx, collIdx, uint64_t);
32-
DECLARE_SOA_COLUMN(CentFT0M, centFT0M, float);
32+
DECLARE_SOA_COLUMN(Centrality, centrality, float);
3333

3434
DECLARE_SOA_COLUMN(JetPt, jetPt, float);
3535
DECLARE_SOA_COLUMN(JetEta, jetEta, float);
3636
DECLARE_SOA_COLUMN(JetPhi, jetPhi, float);
37+
DECLARE_SOA_COLUMN(JetNConstituents, jetNConstituents, uint64_t);
3738

3839
DECLARE_SOA_COLUMN(V0Pt, v0Pt, float);
3940
DECLARE_SOA_COLUMN(V0Eta, v0Eta, float);
@@ -51,17 +52,19 @@ DECLARE_SOA_COLUMN(NegPt, negPt, float);
5152
DECLARE_SOA_COLUMN(NegEta, negEta, float);
5253
DECLARE_SOA_COLUMN(NegPhi, negPhi, float);
5354

55+
// (TODO: add dynamic columns with jet px, py, pz)
56+
5457
} // namespace lambdajetpol
5558

56-
DECLARE_SOA_TABLE(JetsRing, "AOD", "JETSRING",
59+
DECLARE_SOA_TABLE(RingJets, "AOD", "RINGJETS", // Renamed to follow convention on "s" at the end of table name.
5760
lambdajetpol::CollIdx,
5861
lambdajetpol::JetPt,
5962
lambdajetpol::JetEta,
60-
lambdajetpol::JetPhi);
63+
lambdajetpol::JetPhi,
64+
lambdajetpol::JetNConstituents);
6165

62-
DECLARE_SOA_TABLE(LambdaLikeV0sRing, "AOD", "LAMBDALIKEV0SRING",
66+
DECLARE_SOA_TABLE(RingLambdaLikeV0s, "AOD", "RINGLAMBDALIKEV0S",
6367
lambdajetpol::CollIdx,
64-
lambdajetpol::CentFT0M,
6568
lambdajetpol::V0Pt,
6669
lambdajetpol::V0Eta,
6770
lambdajetpol::V0Phi,
@@ -75,6 +78,10 @@ DECLARE_SOA_TABLE(LambdaLikeV0sRing, "AOD", "LAMBDALIKEV0SRING",
7578
lambdajetpol::NegPt,
7679
lambdajetpol::NegEta,
7780
lambdajetpol::NegPhi);
81+
82+
DECLARE_SOA_TABLE(RingCollisions, "AOD", "RINGCOLLISIONS",
83+
lambdajetpol::CollIdx,
84+
lambdajetpol::Centrality);
7885
} // namespace o2::aod
7986

8087
#endif // PWGLF_DATAMODEL_lambdajetpol_H_

PWGLF/Tasks/Strangeness/lambdaJetPolarizationIons.cxx

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,9 @@ struct lambdajetpolarizationions {
147147

148148
// struct : ProducesGroup {
149149
// } products;
150-
Produces<aod::LambdaLikeV0sRing> tableV0s;
151-
Produces<aod::JetsRing> tableJets;
150+
Produces<aod::RingLambdaLikeV0s> tableV0s;
151+
Produces<aod::RingJets> tableJets;
152+
Produces<aod::RingCollisions> tableCollisions;
152153

153154
// Define histogram registries:
154155
HistogramRegistry histos{"Histos", {}, OutputObjHandlingPolicy::AnalysisObject};
@@ -1015,7 +1016,7 @@ struct lambdajetpolarizationions {
10151016
return false; // reject track
10161017
}
10171018

1018-
inline double cosThetaJets(const fastjet::PseudoJet& a, const fastjet::PseudoJet& b){
1019+
inline float cosThetaJets(const fastjet::PseudoJet& a, const fastjet::PseudoJet& b){
10191020
const double dot = a.px() * b.px() + a.py() * b.py() + a.pz() * b.pz();
10201021
const double magA = std::sqrt(a.px()*a.px() + a.py()*a.py() + a.pz()*a.pz());
10211022
const double magB = std::sqrt(b.px()*b.px() + b.py()*b.py() + b.pz()*b.pz());
@@ -1367,7 +1368,8 @@ struct lambdajetpolarizationions {
13671368
tableJets(collIdx,
13681369
jetMinusBkg.pt(),
13691370
jetMinusBkg.eta(), // Using eta instead of rapidity
1370-
jetMinusBkg.phi()
1371+
jetMinusBkg.phi(),
1372+
jetMinusBkg.constituents().size()
13711373
);
13721374

13731375
// Finding the leading jet after subtraction (leading jet is NOT known a priori!):
@@ -1393,10 +1395,10 @@ struct lambdajetpolarizationions {
13931395

13941396
if (jetMinusBkg.pt() < jetConfigurations.minJetPt) continue;
13951397

1396-
double cosTheta = cosThetaJets(leadingJetSub, jetMinusBkg);
1397-
double deltaPhi = leadingJetSub.phi() - jetMinusBkg.phi();
1398-
double deltaEta = leadingJetSub.eta() - jetMinusBkg.eta();
1399-
double deltaR = std::sqrt(deltaPhi*deltaPhi + deltaEta*deltaEta);
1398+
float cosTheta = cosThetaJets(leadingJetSub, jetMinusBkg);
1399+
float deltaPhi = leadingJetSub.phi() - jetMinusBkg.phi();
1400+
float deltaEta = leadingJetSub.eta() - jetMinusBkg.eta();
1401+
float deltaR = std::sqrt(deltaPhi*deltaPhi + deltaEta*deltaEta);
14001402

14011403
histos.fill(HIST("JetKinematicsQA/hCosThetaToLeadingJet"), cosTheta);
14021404
histos.fill(HIST("JetKinematicsQA/hDeltaPhiToLeadingJet"), deltaPhi);
@@ -1426,9 +1428,9 @@ struct lambdajetpolarizationions {
14261428
histos.fill(HIST("JetVsLeadingParticleQA/hLeadingParticleEta"), leadingParticle.eta());
14271429
histos.fill(HIST("JetVsLeadingParticleQA/hLeadingParticlePhi"), leadingParticle.phi());
14281430

1429-
double deltaPhiParticleToJet = leadingJetSub.phi() - leadingParticle.phi();
1430-
double deltaEtaParticleToJet = leadingJetSub.eta() - leadingParticle.eta();
1431-
double cosThetaParticleToJet = cosThetaJets(leadingJetSub, leadingParticle); // Takes advantage of the fact that this leading particle is a PseudoJet object
1431+
float deltaPhiParticleToJet = leadingJetSub.phi() - leadingParticle.phi();
1432+
float deltaEtaParticleToJet = leadingJetSub.eta() - leadingParticle.eta();
1433+
float cosThetaParticleToJet = cosThetaJets(leadingJetSub, leadingParticle); // Takes advantage of the fact that this leading particle is a PseudoJet object
14321434

14331435
histos.fill(HIST("JetVsLeadingParticleQA/hCosThetaLeadParticleToJet"), cosThetaParticleToJet);
14341436
histos.fill(HIST("JetVsLeadingParticleQA/hDeltaPhiLeadParticleToJet"), deltaPhiParticleToJet);
@@ -1475,7 +1477,8 @@ struct lambdajetpolarizationions {
14751477
tableJets(collIdx,
14761478
jet.pt(),
14771479
jet_eta, // Using eta instead of rapidity
1478-
jet.phi()
1480+
jet.phi(),
1481+
jet.constituents().size()
14791482
);
14801483

14811484
if (doJetKinematicsQA){
@@ -1484,12 +1487,12 @@ struct lambdajetpolarizationions {
14841487
histos.fill(HIST("JetKinematicsQA/hJetPhi"), jet.phi());
14851488

14861489
// Calculate angle to leading jet:
1487-
double cosTheta = cosThetaJets(leadingJet, jet);
1490+
float cosTheta = cosThetaJets(leadingJet, jet);
14881491

14891492
// Calculate angular separation in projected angles:
1490-
double deltaPhi = leadingJet.phi() - jet.phi();
1491-
double deltaEta = leadingJet.eta() - jet_eta;
1492-
double deltaR = std::sqrt(deltaPhi*deltaPhi + deltaEta*deltaEta); // 2D angular distance in the eta-phi plane
1493+
float deltaPhi = leadingJet.phi() - jet.phi();
1494+
float deltaEta = leadingJet.eta() - jet_eta;
1495+
float deltaR = std::sqrt(deltaPhi*deltaPhi + deltaEta*deltaEta); // 2D angular distance in the eta-phi plane
14931496

14941497
histos.fill(HIST("JetKinematicsQA/hCosThetaToLeadingJet"), cosTheta); // Measuring the cosine, not angle, because it is faster!
14951498
histos.fill(HIST("JetKinematicsQA/hDeltaPhiToLeadingJet"), deltaPhi);
@@ -1564,6 +1567,7 @@ struct lambdajetpolarizationions {
15641567
const uint64_t collIdx = collision.globalIndex();
15651568
if (v0Selections.rejectTPCsectorBoundary) initCCDB(bc); // Substituted call from collision to bc for raw data
15661569

1570+
bool hasValidV0 = false; // Bool to know if event information can be saved.
15671571
for (auto const& v0 : fullV0s){
15681572
V0SelCounter.resetForNewV0();
15691573
V0SelCounter.fill(); // Fill for all v0 candidates
@@ -1579,6 +1583,7 @@ struct lambdajetpolarizationions {
15791583
if (analyseAntiLambda) isAntiLambda = passesLambdaLambdaBarHypothesis(v0, collision, false);
15801584

15811585
if (!isLambda && !isAntiLambda) continue; // Candidate is not considered to be a Lambda (TODO: expand this to a full if block with QA about rejections)
1586+
hasValidV0 = true;
15821587

15831588
if (doArmenterosQA) histos.fill(HIST("GeneralQA/h2dArmenterosSelected"), v0.alpha(), v0.qtarm()); // cross-check
15841589
if (isLambda && isAntiLambda) histos.fill(HIST("hAmbiguousLambdaCandidates"), 0);
@@ -1591,7 +1596,6 @@ struct lambdajetpolarizationions {
15911596
// Saving the Lambdas into a derived data column:
15921597
auto const v0pt = v0.pt();
15931598
tableV0s(collIdx,
1594-
centrality,
15951599
v0pt,
15961600
v0.eta(), // Using eta instead of rapidity
15971601
v0.phi(),
@@ -1739,6 +1743,10 @@ struct lambdajetpolarizationions {
17391743
}
17401744
} // end CompleteTopoQA
17411745
}
1746+
if (hasValidV0){
1747+
tableCollisions(collIdx,
1748+
centrality); // (TODO: add InteractionRate info and other useful cuts for later on in the analysis!)
1749+
}
17421750
}
17431751

17441752
PROCESS_SWITCH(lambdajetpolarizationions, processJetsData, "Process jets and produced derived data in Run 3 Data", true);

0 commit comments

Comments
 (0)