Skip to content

Commit cb13ef9

Browse files
committed
Add initial histograms without weights
1 parent 7bba97e commit cb13ef9

1 file changed

Lines changed: 46 additions & 7 deletions

File tree

PWGDQ/Tasks/taskJPsiMu.cxx

Lines changed: 46 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,14 @@ DECLARE_SOA_TABLE(MuonTrackCuts, "AOD", "DQANAMUONCUTSA", dqanalysisflags::IsMuo
6262
}
6363

6464
// Declarations of various short names
65+
using MyEvents = soa::Join<aod::ReducedEvents, aod::ReducedEventsExtended>;
6566
using MyEventsSelected = soa::Join<aod::ReducedEvents, aod::ReducedEventsExtended, aod::EventCuts>;
67+
using MyEventsVtxCov = soa::Join<aod::ReducedEvents, aod::ReducedEventsExtended, aod::ReducedEventsVtxCov>;
68+
using MyEventsVtxCovSelected = soa::Join<aod::ReducedEvents, aod::ReducedEventsExtended, aod::ReducedEventsVtxCov, aod::EventCuts>;
6669

6770
using MyPairCandidatesSelected = soa::Join<aod::Dimuons, aod::DimuonsExtra>;
68-
using MyMuonTracksSelected = soa::Join<aod::ReducedMuonsAssoc, aod::MuonTrackCuts>;
71+
using MyMuonTracks = soa::Join<aod::ReducedMuons, aod::ReducedMuonsExtra>;
72+
using MyMuonAssocsSelected = soa::Join<aod::ReducedMuonsAssoc, aod::MuonTrackCuts>;
6973

7074
// bit maps used for the Fill functions of the VarManager
7175
constexpr static uint32_t gkEventFillMap = VarManager::ObjTypes::ReducedEvent | VarManager::ObjTypes::ReducedEventExtended;
@@ -74,8 +78,15 @@ constexpr static uint32_t gkMuonFillMap = VarManager::ObjTypes::ReducedMuon | Va
7478
struct DqJPsiMuonCorrelations {
7579

7680
// Configurables for the dilepton and dilepton cuts
77-
Configurable<float> fConfigDileptonLowMass{"cfgDileptonLowMass", 2., "Low mass cut for the dileptons used in analysis"};
78-
Configurable<float> fConfigDileptonHighMass{"cfgDileptonHighMass", 4., "High mass cut for the dileptons used in analysis"};
81+
Configurable<float> fConfigDileptonLowMass{"cfgDileptonLowMass", 2.8, "Low mass cut for the dileptons used in analysis"};
82+
Configurable<float> fConfigDileptonHighMass{"cfgDileptonHighMass", 3.4, "High mass cut for the dileptons used in analysis"};
83+
Configurable<float> fConfigBackgroundLowMass{"cfgBackgroundLowMass", 2.5, "Low mass cut for the background used in analysis"};
84+
Configurable<float> fConfigBackgroundHighMass{"cfgBackgroundHighMass", 3.7, "High mass cut for the background used in analysis"};
85+
86+
ConfigurableAxis axisPt{"axisPt", {VARIABLE_WIDTH, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 10.0f, 12.0f, 14.0f, 16.0f, 18.0f, 20.0f}, "p_{T} (GeV/c)"};
87+
ConfigurableAxis axisInvMass{"axisInvMass", {80, 1.0f, 5.0f}, "Invariant Mass (GeV/c^{2})"};
88+
ConfigurableAxis axisDeltaPhi{"axisDeltaPhi", {10, -constants::math::PI/2.0f, 3.0f*constants::math::PI/2.0f}, "#Delta#phi (rad)"};
89+
ConfigurableAxis axisDeltaEta{"axisDeltaEta", {10, -2.0f, 2.0f}, "#Delta#eta"};
7990

8091
// Connect to ccdb
8192
Service<ccdb::BasicCCDBManager> ccdb;
@@ -111,11 +122,17 @@ struct DqJPsiMuonCorrelations {
111122

112123
// nMuons = 0;
113124
// nEvents = 0;
125+
126+
registry.add("h2dDimuonPtInvVsInvMass", "h2dDimuonPtInvVsInvMass", kTH2D, {axisInvMass, axisPt});
127+
registry.add("h2dDimuonMuonDeltaEtaVsMuonPtSignal", "h2dDimuonMuonDeltaEtaVsMuonPtSignal", kTH2D, {axisDeltaEta, axisPt});
128+
registry.add("h2dDimuonMuonDeltaPhiVsMuonPtSignal", "h2dDimuonMuonDeltaPhiVsMuonPtSignal", kTH2D, {axisDeltaPhi, axisPt});
129+
registry.add("h2dDimuonMuonDeltaEtaVsMuonPtBackground", "h2dDimuonMuonDeltaEtaVsMuonPtBackground", kTH2D, {axisDeltaEta, axisPt});
130+
registry.add("h2dDimuonMuonDeltaPhiVsMuonPtBackground", "h2dDimuonMuonDeltaPhiVsMuonPtBackground", kTH2D, {axisDeltaPhi, axisPt});
114131
}
115132

116133
// Template function to run pair - muon combinations
117-
template <int TCandidateType, uint32_t TEventFillMap, uint32_t TMuonFillMap, typename TEvent, typename TMuons, typename TDileptons>
118-
void runDileptonMuon(TEvent const& event, TMuons const& muons, TDileptons const& dileptons)
134+
template <int TCandidateType, uint32_t TEventFillMap, uint32_t TMuonFillMap, typename TEvent, typename TMuonAssocs, typename TMuonTracks, typename TDileptons>
135+
void runDileptonMuon(TEvent const& event, TMuonAssocs const& assocs, TMuonTracks const& /*tracks*/, TDileptons const& dileptons)
119136
{
120137
// VarManager::ResetValues(0, VarManager::kNVars, fValuesHadron);
121138
VarManager::ResetValues(0, VarManager::kNVars, fValuesMuon);
@@ -152,12 +169,34 @@ struct DqJPsiMuonCorrelations {
152169
// nEvents++;
153170
// LOG(info) << "Total number of events processed: " << nEvents << std::endl;
154171

172+
if (dileptons.size() > 0) {
173+
174+
for (auto& dilepton : dileptons) {
175+
VarManager::FillTrack<fgDimuonsFillMap>(dilepton, fValuesDilepton);
176+
registry.fill(HIST("h2dDimuonPtInvVsInvMass"), dilepton.mass(), dilepton.pt());
155177

178+
for (auto& assoc : assocs) {
179+
if (!assoc.isMuonSelected_bit(0)) {
180+
continue;
181+
}
182+
auto track = assoc.template reducedmuon_as<TMuonTracks>();
183+
184+
if (dilepton.mass() > fConfigDileptonLowMass && dilepton.mass() < fConfigDileptonHighMass) {
185+
registry.fill(HIST("h2dDimuonMuonDeltaEtaVsMuonPtSignal"), track.eta() - dilepton.eta(), track.pt());
186+
registry.fill(HIST("h2dDimuonMuonDeltaPhiVsMuonPtSignal"), track.phi() - dilepton.phi(), track.pt());
187+
} else if (dilepton.mass() > fConfigBackgroundLowMass && dilepton.mass() < fConfigBackgroundHighMass) {
188+
registry.fill(HIST("h2dDimuonMuonDeltaEtaVsMuonPtBackground"), track.eta() - dilepton.eta(), track.pt());
189+
registry.fill(HIST("h2dDimuonMuonDeltaPhiVsMuonPtBackground"), track.phi() - dilepton.phi(), track.pt());
190+
}
191+
}
192+
193+
}
194+
}
156195
}
157196

158-
void processSkimmedDimuon(MyEventsSelected::iterator const& event, MyMuonTracksSelected const& muons, soa::Filtered<MyPairCandidatesSelected> const& dileptons)
197+
void processSkimmedDimuon(MyEventsSelected::iterator const& event, MyMuonAssocsSelected const& muonassocs, MyMuonTracks const& muontracks, soa::Filtered<MyPairCandidatesSelected> const& dileptons)
159198
{
160-
runDileptonMuon<VarManager::kDecayToMuMu, gkEventFillMap, gkMuonFillMap>(event, muons, dileptons);
199+
runDileptonMuon<VarManager::kDecayToMuMu, gkEventFillMap, gkMuonFillMap>(event, muonassocs, muontracks, dileptons);
161200
}
162201
void processDummy(MyEvents&)
163202
{

0 commit comments

Comments
 (0)