@@ -1325,6 +1325,7 @@ struct AnalysisSameEventPairing {
13251325 Produces<aod::DileptonsInfo> dileptonInfoList;
13261326 Produces<aod::JPsieeCandidates> PromptNonPromptSepTable;
13271327 Produces<aod::OniaMCTruth> MCTruthTableEffi;
1328+ Produces<aod::DileptonPolarization> dileptonPolarList;
13281329
13291330 o2::base::MatLayerCylSet* fLUT = nullptr ;
13301331 int fCurrentRun ; // needed to detect if the run changed and trigger update of calibrations etc.
@@ -1354,6 +1355,7 @@ struct AnalysisSameEventPairing {
13541355 Configurable<bool > useRemoteField{" cfgUseRemoteField" , false , " Chose whether to fetch the magnetic field from ccdb or set it manually" };
13551356 Configurable<float > magField{" cfgMagField" , 5 .0f , " Manually set magnetic field" };
13561357 Configurable<bool > flatTables{" cfgFlatTables" , false , " Produce a single flat tables with all relevant information of the pairs and single tracks" };
1358+ Configurable<bool > polarTables{" cfgPolarTables" , false , " Produce tables with dilepton polarization information" };
13571359 Configurable<bool > useKFVertexing{" cfgUseKFVertexing" , false , " Use KF Particle for secondary vertex reconstruction (DCAFitter is used by default)" };
13581360 Configurable<bool > useAbsDCA{" cfgUseAbsDCA" , false , " Use absolute DCA minimization instead of chi^2 minimization in secondary vertexing" };
13591361 Configurable<bool > propToPCA{" cfgPropToPCA" , false , " Propagate tracks to secondary vertex" };
@@ -1815,6 +1817,9 @@ struct AnalysisSameEventPairing {
18151817 dileptonMiniTreeGen.reserve (1 );
18161818 dileptonMiniTreeRec.reserve (1 );
18171819 }
1820+ if (fConfigOptions .polarTables .value ) {
1821+ dileptonPolarList.reserve (1 );
1822+ }
18181823 constexpr bool eventHasQvector = ((TEventFillMap & VarManager::ObjTypes::ReducedEventQvector) > 0 );
18191824 constexpr bool trackHasCov = ((TTrackFillMap & VarManager::ObjTypes::ReducedTrackBarrelCov) > 0 );
18201825
@@ -1909,6 +1914,13 @@ struct AnalysisSameEventPairing {
19091914 VarManager::fgValues[VarManager::kVertexingTauzProjected ], VarManager::fgValues[VarManager::kVertexingTauxyProjected ],
19101915 VarManager::fgValues[VarManager::kVertexingLzProjected ], VarManager::fgValues[VarManager::kVertexingLxyProjected ]);
19111916 }
1917+ if (fConfigOptions .polarTables .value && t1.has_reducedMCTrack () && t2.has_reducedMCTrack ()) {
1918+ dileptonPolarList (VarManager::fgValues[VarManager::kCosThetaHE ], VarManager::fgValues[VarManager::kPhiHE ], VarManager::fgValues[VarManager::kPhiTildeHE ],
1919+ VarManager::fgValues[VarManager::kCosThetaCS ], VarManager::fgValues[VarManager::kPhiCS ], VarManager::fgValues[VarManager::kPhiTildeCS ],
1920+ VarManager::fgValues[VarManager::kCosThetaPP ], VarManager::fgValues[VarManager::kPhiPP ], VarManager::fgValues[VarManager::kPhiTildePP ],
1921+ VarManager::fgValues[VarManager::kCosThetaRM ],
1922+ VarManager::fgValues[VarManager::kCosThetaStarTPC ], VarManager::fgValues[VarManager::kCosThetaStarFT0A ], VarManager::fgValues[VarManager::kCosThetaStarFT0C ]);
1923+ }
19121924 }
19131925 }
19141926 }
@@ -2288,10 +2300,7 @@ struct AnalysisSameEventPairing {
22882300 MyBarrelTracksWithCovWithAmbiguitiesWithColl const & barrelTracks, ReducedMCEvents const & mcEvents, ReducedMCTracks const & mcTracks)
22892301 {
22902302 runSameEventPairing<true , VarManager::kDecayToEE , gkEventFillMapWithCov, gkTrackFillMapWithCovWithColl>(events, trackAssocsPerCollision, barrelAssocs, barrelTracks, mcEvents, mcTracks);
2291- // Feature replaced by processMCGen
2292- /* if (fConfigMC.runMCGenPair) {
2293- runMCGen<VarManager::kDecayToEE>(mcEvents, mcTracks);
2294- }*/
2303+ runMCGenWithGrouping<VarManager::kDecayToEE >(events, mcEvents, mcTracks);
22952304 }
22962305
22972306 void processMuonOnlySkimmed (MyEventsVtxCovSelected const & events,
0 commit comments