Skip to content

Commit 278fa62

Browse files
authored
Addition of the dimuon analysis task (#4342)
1 parent 050f9ed commit 278fa62

File tree

6 files changed

+348
-3
lines changed

6 files changed

+348
-3
lines changed

Analysis/Core/include/Analysis/VarManager.h

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
// TODO: create an array holding these constants for all needed particles or check for a place where these are already defined
2929
static const float fgkElectronMass = 0.000511; // GeV
30+
static const float fgkMuonMass = 0.105; // GeV
3031

3132
//_________________________________________________________________________
3233
class VarManager : public TObject
@@ -126,6 +127,7 @@ class VarManager : public TObject
126127
kMuonZMu,
127128
kMuonBendingCoor,
128129
kMuonNonBendingCoor,
130+
kMuonRAtAbsorberEnd,
129131
kMuonChi2,
130132
kMuonChi2MatchTrigger,
131133
kNMuonTrackVariables,
@@ -359,6 +361,7 @@ void VarManager::FillTrack(T const& track, float* values)
359361
values[kMuonZMu] = track.zMu();
360362
values[kMuonBendingCoor] = track.bendingCoor();
361363
values[kMuonNonBendingCoor] = track.nonBendingCoor();
364+
values[kMuonRAtAbsorberEnd] = track.rAtAbsorberEnd();
362365
values[kMuonChi2] = track.chi2();
363366
values[kMuonChi2MatchTrigger] = track.chi2MatchTrigger();
364367
}
@@ -376,13 +379,27 @@ void VarManager::FillPair(T const& t1, T const& t2, float* values)
376379
if (!values)
377380
values = fgValues;
378381

379-
ROOT::Math::PtEtaPhiMVector v1(t1.pt(), t1.eta(), t1.phi(), fgkElectronMass);
380-
ROOT::Math::PtEtaPhiMVector v2(t2.pt(), t2.eta(), t2.phi(), fgkElectronMass);
382+
float mass1;
383+
float mass2;
384+
385+
if (t1.filteringFlags() > 0)
386+
mass1 = fgkElectronMass;
387+
else
388+
mass1 = fgkMuonMass;
389+
390+
if (t1.filteringFlags() > 0)
391+
mass2 = fgkElectronMass;
392+
else
393+
mass2 = fgkMuonMass;
394+
395+
ROOT::Math::PtEtaPhiMVector v1(t1.pt(), t1.eta(), t1.phi(), mass1);
396+
ROOT::Math::PtEtaPhiMVector v2(t2.pt(), t2.eta(), t2.phi(), mass2);
381397
ROOT::Math::PtEtaPhiMVector v12 = v1 + v2;
382398
values[kMass] = v12.M();
383399
values[kPt] = v12.Pt();
384400
values[kEta] = v12.Eta();
385401
values[kPhi] = v12.Phi();
402+
values[kRap] = -v12.Rapidity();
386403
}
387404

388405
template <typename T1, typename T2>

Analysis/Core/src/VarManager.cxx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,8 @@ void VarManager::SetDefaultVarNames()
209209
fgVariableUnits[kMuonBendingCoor] = "";
210210
fgVariableNames[kMuonNonBendingCoor] = "non-bending coor.";
211211
fgVariableUnits[kMuonNonBendingCoor] = "";
212+
fgVariableNames[kMuonRAtAbsorberEnd] = "R at the end of the absorber";
213+
fgVariableUnits[kMuonRAtAbsorberEnd] = "";
212214
fgVariableNames[kMuonChi2] = "#chi 2";
213215
fgVariableUnits[kMuonChi2] = "";
214216
fgVariableNames[kMuonChi2MatchTrigger] = "#chi 2 trigger match";

Analysis/DataModel/include/Analysis/ReducedInfoTables.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,8 @@ DECLARE_SOA_TABLE(ReducedMuonsExtended, "AOD", "RTMUONEXTENDED",
133133
muon::InverseBendingMomentum,
134134
muon::ThetaX, muon::ThetaY, muon::ZMu,
135135
muon::BendingCoor, muon::NonBendingCoor,
136-
muon::Chi2, muon::Chi2MatchTrigger);
136+
muon::Chi2, muon::Chi2MatchTrigger,
137+
muon::RAtAbsorberEnd<muon::BendingCoor, muon::NonBendingCoor, muon::ThetaX, muon::ThetaY, muon::ZMu>);
137138

138139
// iterators
139140
using ReducedTrack = ReducedTracks::iterator;

Analysis/Tasks/PWGDQ/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ o2_add_dpl_workflow(dilepton-ee
1313
PUBLIC_LINK_LIBRARIES O2::Framework O2::AnalysisDataModel O2::DetectorsBase O2::AnalysisCore
1414
COMPONENT_NAME Analysis)
1515

16+
o2_add_dpl_workflow(dilepton-mumu
17+
SOURCES dileptonMuMu.cxx
18+
PUBLIC_LINK_LIBRARIES O2::Framework O2::AnalysisDataModel O2::DetectorsBase O2::AnalysisCore
19+
COMPONENT_NAME Analysis)
20+
1621
o2_add_dpl_workflow(table-maker-pp
1722
SOURCES tableMaker_pp.cxx
1823
PUBLIC_LINK_LIBRARIES O2::Framework O2::AnalysisDataModel O2::DetectorsBase O2::AnalysisCore

0 commit comments

Comments
 (0)