@@ -879,13 +879,14 @@ struct AnalysisMuonSelection {
879879 void runMuonSelection (ReducedMuonsAssoc const & assocs, TEvents const & events, TMuons const & muons, ReducedMCEvents const & /* eventsMC*/ , ReducedMCTracks const & muonsMC)
880880 {
881881 if (events.size () > 0 && fCurrentRun != events.begin ().runNumber ()) {
882- o2::parameters::GRPMagField* grpmag = fCCDB ->getForTimeStamp <o2::parameters::GRPMagField>(grpmagPath, events.begin ().timestamp ());
882+ /* o2::parameters::GRPMagField* grpmag = fCCDB->getForTimeStamp<o2::parameters::GRPMagField>(grpmagPath, events.begin().timestamp());
883883 if (grpmag != nullptr) {
884884 o2::base::Propagator::initFieldFromGRP(grpmag);
885885 VarManager::SetMagneticField(grpmag->getNominalL3Field());
886886 } else {
887887 LOGF(fatal, "GRP object is not available in CCDB at timestamp=%llu", events.begin().timestamp());
888- }
888+ }*/
889+ VarManager::SetMagneticField (5.0 );
889890 fCurrentRun = events.begin ().runNumber ();
890891 }
891892
@@ -2173,9 +2174,12 @@ struct AnalysisSameEventPairing {
21732174
21742175 PresliceUnsorted<ReducedMCTracks> perReducedMcGenEvent = aod::reducedtrackMC::reducedMCeventId;
21752176
2176- void processMCGen (soa::Filtered<MyEventsVtxCovSelected> const & events, ReducedMCEvents const & /* mcEvents*/ , ReducedMCTracks const & mcTracks)
2177+ void processMCGen (soa::Filtered<MyEventsVtxCovSelected> const & events, ReducedMCEvents const & mcEvents, ReducedMCTracks const & mcTracks)
21772178 {
21782179 // Fill Generated histograms taking into account all generated tracks
2180+ uint32_t mcDecision = 0 ;
2181+ int isig = 0 ;
2182+
21792183 for (auto & mctrack : mcTracks) {
21802184 VarManager::FillTrackMC (mcTracks, mctrack);
21812185 // NOTE: Signals are checked here mostly based on the skimmed MC stack, so depending on the requested signal, the stack could be incomplete.
@@ -2209,9 +2213,15 @@ struct AnalysisSameEventPairing {
22092213 // auto track_raw = groupedMCTracks.rawIteratorAt(track.globalIndex());
22102214 for (auto & sig : fGenMCSignals ) {
22112215 if (sig->CheckSignal (true , track_raw)) {
2216+ mcDecision |= (static_cast <uint32_t >(1 ) << isig);
22122217 fHistMan ->FillHistClass (Form (" MCTruthGenSel_%s" , sig->GetName ()), VarManager::fgValues);
2218+ if (useMiniTree.fConfigMiniTree ) {
2219+ auto mcEvent = mcEvents.rawIteratorAt (track_raw.reducedMCeventId ());
2220+ dileptonMiniTreeGen (mcDecision, mcEvent.impactParameter (), track_raw.pt (), track_raw.eta (), track_raw.phi (), -999 , -999 , -999 );
2221+ }
22132222 }
22142223 }
2224+ isig++;
22152225 }
22162226 } // end loop over reconstructed events
22172227 if (fHasTwoProngGenMCsignals ) {
@@ -2224,12 +2234,17 @@ struct AnalysisSameEventPairing {
22242234 continue ;
22252235 }
22262236 if (sig->CheckSignal (true , t1_raw, t2_raw)) {
2227- // mcDecision |= (static_cast<uint32_t>(1) << isig);
2237+ mcDecision |= (static_cast <uint32_t >(1 ) << isig);
22282238 VarManager::FillPairMC<VarManager::kDecayToMuMu >(t1, t2); // NOTE: This feature will only work for muons
22292239 fHistMan ->FillHistClass (Form (" MCTruthGenPair_%s" , sig->GetName ()), VarManager::fgValues);
2240+ if (useMiniTree.fConfigMiniTree ) {
2241+ // WARNING! To be checked
2242+ dileptonMiniTreeGen (mcDecision, -999 , t1.pt (), t1.eta (), t1.phi (), t2.pt (), t2.eta (), t2.phi ());
2243+ }
22302244 }
22312245 }
22322246 }
2247+ isig++;
22332248 }
22342249 }
22352250 }
0 commit comments