Skip to content

Commit 59a3e1b

Browse files
committed
adding muon quality cuts
1 parent 2d3f7fd commit 59a3e1b

1 file changed

Lines changed: 20 additions & 7 deletions

File tree

MyTasks/W/wMuonFwdEfficiency.cxx

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,23 @@
88

99
using namespace o2;
1010
using namespace o2::framework;
11+
using namespace o2::framework::expressions;
12+
13+
using muonTracks = soa::Join<aod::FwdTracks, aod::McFwdTrackLabels>;
1114

1215
struct wMuonFwdEfficiency {
16+
// partitions and cuts for muon tracks
17+
// Partition<aod::FwdTracks> MuonStandaloneTracks = aod::fwdtrack::trackType == 3;
18+
// Partition<aod::FwdTracks> GlobalMuonTracks = aod::fwdtrack::trackType == 0;
19+
20+
// High pT and quality cuts
21+
Filter etaFilter = (aod::fwdtrack::eta < -2.5f) && (aod::fwdtrack::eta > -4.0f);
22+
Filter ptFilter = (aod::fwdtrack::pt > 10.0f) && (aod::fwdtrack::pt < 80.0f);
23+
Filter chi2Filter = (aod::fwdtrack::chi2 > 0.0f) && (aod::fwdtrack::chi2 < 1000.0f);
24+
Filter chi2MatchMCHMIDFilter = (aod::fwdtrack::chi2MatchMCHMID > 0.0f) && (aod::fwdtrack::chi2MatchMCHMID < 1000.0f);
25+
Filter pDCAFilter = (aod::fwdtrack::pDca > 0.0f) && (aod::fwdtrack::pDca < 594.0f);
26+
Filter rAbsEndFilter = (aod::fwdtrack::rAtAbsorberEnd > 17.6f) && (aod::fwdtrack::rAtAbsorberEnd < 89.5f);
27+
1328
// Histogram registry: an object to hold your histograms
1429
HistogramRegistry histos{"histos", {},
1530
OutputObjHandlingPolicy::AnalysisObject};
@@ -42,16 +57,16 @@ struct wMuonFwdEfficiency {
4257
if (!muonTracksOut.is_open()) {
4358
LOGF(fatal, "Failed to open muonTracks.csv for writing");
4459
}
45-
muonTracksOut << "trackID,trackType,phi,tgl,signed1Pt,nClusters,pDCA,rAtAbsorberEnd,sign,chi2,chi2MatchMCHMID,chi2MatchMCHMFT,trackTime,eta,pt,p" << std::endl;
60+
muonTracksOut << "collisionID,trackID,trackType,phi,tgl,signed1Pt,nClusters,pDCA,rAtAbsorberEnd,sign,chi2,chi2MatchMCHMID,chi2MatchMCHMFT,trackTime,eta,pt,p" << std::endl;
4661

4762
// define axes you want to use
4863
const AxisSpec axisCounter{1, 0, +1, ""};
4964
const AxisSpec axisEta{20, -4.0, -2.5, "#eta"};
50-
const AxisSpec axisPt{20, 0.0, +80.0, "p_{T} (GeV/c)"};
65+
const AxisSpec axisPt{16, 0.0, +80.0, "p_{T} (GeV/c)"};
5166
const AxisSpec axisDeltaPt{40, 0.0, +20.0, "|p_{T}^{true} - p_{T}^{reco}|(GeV/c)"};
5267
const AxisSpec axisChi2{50, 0.0, +10.0, "#chi^{2}"};
5368
const AxisSpec axisChi2Global{50, 0.0, +100.0, "#chi^{2}"};
54-
const AxisSpec axisDCA{100, 0.0, +1000.0, "pDCA"};
69+
const AxisSpec axisDCA{30, 0.0, +600.0, "pDCA"};
5570
const AxisSpec axisTrackType{5, 0, 5, "Track Type"};
5671

5772
// create histograms
@@ -70,10 +85,8 @@ struct wMuonFwdEfficiency {
7085
histos.add("trackType", "trackType", kTH1D, {axisTrackType});
7186
}
7287

73-
using muonTracks = soa::Join<aod::FwdTracks, aod::McFwdTrackLabels>;
74-
7588
//void processReco(aod::Collision const& collision, muonTracks const& tracks, aod::McParticles const&) // run with collisions
76-
void processReco(muonTracks const& tracks, aod::McParticles const&) // run without collisions
89+
void processReco(soa::Filtered<muonTracks> const& tracks, aod::McParticles const&) // run without collisions
7790
{
7891
histos.fill(HIST("eventCounterReco"), 0.5);
7992

@@ -131,7 +144,7 @@ struct wMuonFwdEfficiency {
131144
trackGroups[mcTrackID].push_back(trackInfo);
132145

133146
// save all muon tracks to the output file
134-
muonTracksOut << recoTrackID << "," << muTrackType << "," << track.phi() << "," << track.tgl() << "," << track.signed1Pt() << ","
147+
muonTracksOut << track.collisionId() << "," << recoTrackID << "," << muTrackType << "," << track.phi() << "," << track.tgl() << "," << track.signed1Pt() << ","
135148
<< static_cast<int64_t>(track.nClusters()) << "," << muDca << "," << track.rAtAbsorberEnd() << ","
136149
<< static_cast<int64_t>(track.sign()) << "," << muChi2 << "," << muChi2MatchMCHMID << "," << muChi2MatchMCHMFT << ","
137150
<< track.trackTime() << "," << muEta << "," << muPt << "," << track.p() << std::endl;

0 commit comments

Comments
 (0)