@@ -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