@@ -150,6 +150,17 @@ struct DqJPsiMuonCorrelations {
150150 registry.add (" h2dDimuonMuonDeltaPhiVsMuonPtSignal" , " h2dDimuonMuonDeltaPhiVsMuonPtSignal" , kTH2D , {axisDeltaPhi, axisPt});
151151 registry.add (" h2dDimuonMuonDeltaEtaVsMuonPtBackground" , " h2dDimuonMuonDeltaEtaVsMuonPtBackground" , kTH2D , {axisDeltaEta, axisPt});
152152 registry.add (" h2dDimuonMuonDeltaPhiVsMuonPtBackground" , " h2dDimuonMuonDeltaPhiVsMuonPtBackground" , kTH2D , {axisDeltaPhi, axisPt});
153+
154+ // QA histograms
155+ registry.add (" hEventPosZ" , " hEventPosZ" , kTH1D , {{50 , -25 , 25 }});
156+ registry.add (" hEventPosZDilepton" , " hEventPosZDilepton" , kTH1D , {{50 , -25 , 25 }});
157+ registry.add (" hEventPosZMuon" , " hEventPosZMuon" , kTH1D , {{50 , -25 , 25 }});
158+ registry.add (" hEventPosZMuonSel" , " hEventPosZMuonSel" , kTH1D , {{50 , -25 , 25 }});
159+ registry.add (" hEventPosZThreeMuon" , " hEventPosZThreeMuon" , kTH1D , {{50 , -25 , 25 }});
160+ registry.add (" hEventPosZThreeMuonSel" , " hEventPosZThreeMuonSel" , kTH1D , {{50 , -25 , 25 }});
161+
162+ registry.add (" hReducedIdMuon" , " hReducedIdMuon" , kTH1D , {{100 , -4.0 , 0.0 }});
163+ registry.add (" hReducedIdMuonSel" , " hReducedIdMuonSel" , kTH1D , {{100 , -4.0 , 0.0 }});
153164 }
154165
155166 // Template function to run pair - muon combinations
@@ -166,7 +177,38 @@ struct DqJPsiMuonCorrelations {
166177 return ;
167178 }
168179
180+ registry.fill (HIST (" hEventPosZ" ), event.posZ ());
181+ if (assocs.size () > 0 ) {
182+ registry.fill (HIST (" hEventPosZMuon" ), event.posZ ());
183+
184+ int nSelected = 0 ;
185+ for (auto & assoc : assocs) {
186+ registry.fill (HIST (" hReducedIdMuon" ), assoc.reducedmuonId ());
187+ if (assoc.isMuonSelected_bit (0 )) {
188+ registry.fill (HIST (" hReducedIdMuonSel" ), assoc.reducedmuonId ());
189+ nSelected++;
190+ }
191+ }
192+ if (nSelected > 0 ) {
193+ registry.fill (HIST (" hEventPosZMuonSel" ), event.posZ ());
194+ }
195+ }
196+ if (assocs.size () > 2 ) {
197+ registry.fill (HIST (" hEventPosZThreeMuon" ), event.posZ ());
198+
199+ int nSelected = 0 ;
200+ for (auto & assoc : assocs) {
201+ if (assoc.isMuonSelected_bit (0 )) {
202+ nSelected++;
203+ }
204+ }
205+ if (nSelected > 2 ) {
206+ registry.fill (HIST (" hEventPosZThreeMuonSel" ), event.posZ ());
207+ }
208+ }
169209 if (dileptons.size () > 0 ) {
210+ registry.fill (HIST (" hEventPosZDilepton" ), event.posZ ());
211+
170212 for (auto & dilepton : dileptons) {
171213 VarManager::FillTrack<fgDimuonsFillMap>(dilepton, fValuesDilepton );
172214
0 commit comments