@@ -265,6 +265,9 @@ struct SingleTrackQCMC {
265265
266266 // track info
267267 fRegistry .add (" Track/lf/positive/hs" , " rec. single electron" , kTHnSparseD , {axis_pt, axis_eta, axis_phi, axis_dca3D, axis_dcaXY, axis_dcaZ, axis_charge_gen}, true );
268+ if (fillGenValuesForRec) {
269+ fRegistry .add (" Track/lf/positive/hsGenRec" , " rec. single electron" , kTHnSparseD , {axis_pt, axis_eta, axis_phi, axis_dca3D, axis_dcaXY, axis_dcaZ, axis_charge_gen}, true );
270+ }
268271 if (cfgFillQA) {
269272 fRegistry .add (" Track/lf/positive/hQoverPt" , " q/pT;q/p_{T} (GeV/c)^{-1}" , kTH1F , {{400 , -20 , 20 }}, false );
270273 fRegistry .add (" Track/lf/positive/hDCAxyz" , " DCA xy vs. z;DCA_{xy} (cm);DCA_{z} (cm)" , kTH2F , {{200 , -1 .0f , 1 .0f }, {200 , -1 .f , 1 .f }}, false );
@@ -341,6 +344,9 @@ struct SingleTrackQCMC {
341344
342345 // track info
343346 fRegistry .add (" Track/lf/positive/hs" , " rec. single muon" , kTHnSparseD , {axis_pt, axis_eta, axis_phi, axis_dca, axis_charge_gen}, true );
347+ if (fillGenValuesForRec) {
348+ fRegistry .add (" Track/lf/positive/hsGenRec" , " gen. info of rec. single muon" , kTHnSparseD , {axis_pt, axis_eta, axis_phi, axis_dca, axis_charge_gen}, true );
349+ }
344350 if (cfgFillQA) {
345351 fRegistry .add (" Track/lf/positive/hEtaPhi_MatchMCHMID" , " #eta vs. #varphi of matched MCHMID" , kTH2F , {{180 , 0 , 2 .f * M_PI}, {100 , -6 , -1 }}, false );
346352 fRegistry .add (" Track/lf/positive/hdEtadPhi" , " #Delta#eta vs. #Delta#varphi between MFT-MCH-MID and MCH-MID;#varphi_{sa} - #varphi_{gl} (rad.);#eta_{sa} - #eta_{gl}" , kTH2F , {{90 , -M_PI / 4 , M_PI / 4 }, {100 , -0.5 , +0.5 }}, false );
@@ -375,6 +381,7 @@ struct SingleTrackQCMC {
375381 }
376382 }
377383
384+ bool fillGenValuesForRec = false ;
378385 int pdg_lepton = 0 ;
379386 void init (InitContext&)
380387 {
@@ -391,6 +398,10 @@ struct SingleTrackQCMC {
391398 DefineEMEventCut ();
392399 addhistograms ();
393400
401+ if (doprocessQCMC) {
402+ fillGenValuesForRec = true ;
403+ }
404+
394405 if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron ) {
395406 pdg_lepton = 11 ;
396407 DefineDielectronCut ();
@@ -580,6 +591,9 @@ struct SingleTrackQCMC {
580591
581592 if (track.sign () > 0 ) {
582593 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" positive/hs" ), track.pt (), track.eta (), track.phi (), dca3D, dcaXY, dcaZ, -mctrack.pdgCode () / pdg_lepton, weight);
594+ if (fillGenValuesForRec) {
595+ fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" positive/hsGenRec" ), mctrack.pt (), mctrack.eta (), mctrack.phi (), dca3D, dcaXY, dcaZ, -mctrack.pdgCode () / pdg_lepton, weight);
596+ }
583597 if (cfgFillQA) {
584598 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" positive/hQoverPt" ), track.sign () / track.pt ());
585599 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" positive/hDCAxyz" ), track.dcaXY (), track.dcaZ ());
@@ -625,6 +639,9 @@ struct SingleTrackQCMC {
625639 }
626640 } else {
627641 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" negative/hs" ), track.pt (), track.eta (), track.phi (), dca3D, dcaXY, dcaZ, -mctrack.pdgCode () / pdg_lepton, weight);
642+ if (fillGenValuesForRec) {
643+ fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" negative/hsGenRec" ), mctrack.pt (), mctrack.eta (), mctrack.phi (), dca3D, dcaXY, dcaZ, -mctrack.pdgCode () / pdg_lepton, weight);
644+ }
628645 if (cfgFillQA) {
629646 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" negative/hQoverPt" ), track.sign () / track.pt ());
630647 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" negative/hDCAxyz" ), track.dcaXY (), track.dcaZ ());
@@ -688,6 +705,9 @@ struct SingleTrackQCMC {
688705
689706 if (track.sign () > 0 ) {
690707 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" positive/hs" ), track.pt (), track.eta (), track.phi (), dca_xy, -mctrack.pdgCode () / pdg_lepton, weight);
708+ if (fillGenValuesForRec) {
709+ fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" positive/hsGenRec" ), mctrack.pt (), mctrack.eta (), mctrack.phi (), dca_xy, -mctrack.pdgCode () / pdg_lepton, weight);
710+ }
691711 if (cfgFillQA) {
692712 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" positive/hEtaPhi_MatchMCHMID" ), track.phiMatchedMCHMID (), track.etaMatchedMCHMID (), weight);
693713 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" positive/hdEtadPhi" ), dphi, deta, weight);
@@ -711,6 +731,9 @@ struct SingleTrackQCMC {
711731 }
712732 } else {
713733 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" negative/hs" ), track.pt (), track.eta (), track.phi (), dca_xy, -mctrack.pdgCode () / pdg_lepton, weight);
734+ if (fillGenValuesForRec) {
735+ fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" negative/hsGenRec" ), mctrack.pt (), mctrack.eta (), mctrack.phi (), dca_xy, -mctrack.pdgCode () / pdg_lepton, weight);
736+ }
714737 if (cfgFillQA) {
715738 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" negative/hEtaPhi_MatchMCHMID" ), track.phiMatchedMCHMID (), track.etaMatchedMCHMID (), weight);
716739 fRegistry .fill (HIST (" Track/" ) + HIST (lepton_source_types[lepton_source_id]) + HIST (" negative/hdEtadPhi" ), dphi, deta, weight);
0 commit comments