Skip to content

Commit 9431e57

Browse files
authored
Merge branch 'master' into myDevs
2 parents 794c796 + c460c2b commit 9431e57

30 files changed

+1592
-944
lines changed

Common/Core/EventPlaneHelper.cxx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,11 +204,10 @@ float EventPlaneHelper::GetEventPlane(const float qx, const float qy, int nmode)
204204
return (1. / nmode) * (TMath::ATan2(qy, qx));
205205
}
206206

207-
float EventPlaneHelper::GetResolution(const float RefA, const float RefB, const float sig, int nmode)
207+
float EventPlaneHelper::GetResolution(const float RefA, const float RefB, int nmode)
208208
{
209-
if (std::abs(std::cos((RefA - RefB) * nmode)) > 1e-8) {
210-
return std::sqrt(std::cos((sig - RefA) * nmode) * std::cos((sig - RefB) * nmode) / std::cos((RefA - RefB) * nmode));
211-
} else {
212-
return -1;
209+
if (std::cos((RefA - RefB) * nmode) > 0) {
210+
return std::sqrt(std::cos((RefA - RefB) * nmode));
213211
}
212+
return -999.;
214213
}

Common/Core/EventPlaneHelper.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ class EventPlaneHelper
9393
float GetEventPlane(const float qx, const float qy, int nmode = 2);
9494

9595
// Method to calculate the resolution R2 for the provided profile.
96-
float GetResolution(const float RefA, const float RefB, const float sig, int nmode = 2);
96+
float GetResolution(const float RefA, const float RefB, int nmode = 2);
9797

9898
private:
9999
double mOffsetFT0AX = 0.; // X-coordinate of the offset of FT0-A.

Common/TableProducer/fwdtrackextension.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ struct FwdTrackExtension {
4343
float dcaX = -999;
4444
float dcaY = -999;
4545
if (track.has_collision()) {
46-
if (track.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack || track.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalForwardTrack) {
46+
if (track.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack || track.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalForwardTrack || track.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::MuonStandaloneTrack) {
4747

4848
auto const& collision = track.collision();
4949
double chi2 = track.chi2();

Common/Tasks/qVectorsCorrection.cxx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,9 @@ struct qVectorsCorrection {
148148
histosQA.add("Centrality_0-5/histEvtPlRefBTwist", "", {HistType::kTH1F, {axisEvtPl}});
149149
histosQA.add("Centrality_0-5/histEvtPlRefBFinal", "", {HistType::kTH1F, {axisEvtPl}});
150150

151-
histosQA.add("Centrality_0-5/histEvtPlResolution", "", {HistType::kTH1F, {axisEvtPl}});
151+
histosQA.add("Centrality_0-5/histEvtPlRes_SigRefA", "", {HistType::kTH1F, {axisEvtPl}});
152+
histosQA.add("Centrality_0-5/histEvtPlRes_SigRefB", "", {HistType::kTH1F, {axisEvtPl}});
153+
histosQA.add("Centrality_0-5/histEvtPlRes_RefARefB", "", {HistType::kTH1F, {axisEvtPl}});
152154

153155
for (int iBin = 1; iBin < 8; iBin++) {
154156
histosQA.addClone("Centrality_0-5/", qV::centClasses[iBin].data());
@@ -199,10 +201,9 @@ struct qVectorsCorrection {
199201
}
200202

201203
if (vec.qvecAmp()[DetId] > 1e-8 && vec.qvecAmp()[RefAId] > 1e-8 && vec.qvecAmp()[RefBId] > 1e-8) {
202-
histosQA.fill(HIST(qV::centClasses[cBin]) + HIST("histEvtPlResolution"), helperEP.GetResolution(
203-
helperEP.GetEventPlane(vec.qvecRe()[RefAId * 4 + 3], vec.qvecIm()[RefAId * 4 + 3], cfgnMod),
204-
helperEP.GetEventPlane(vec.qvecRe()[RefBId * 4 + 3], vec.qvecIm()[RefBId * 4 + 3], cfgnMod),
205-
helperEP.GetEventPlane(vec.qvecRe()[DetId * 4 + 3], vec.qvecIm()[DetId * 4 + 3], cfgnMod), cfgnMod));
204+
histosQA.fill(HIST(qV::centClasses[cBin]) + HIST("histEvtPlRes_SigRefA"), helperEP.GetResolution(helperEP.GetEventPlane(vec.qvecRe()[DetId * 4 + 3], vec.qvecIm()[DetId * 4 + 3], cfgnMod), helperEP.GetEventPlane(vec.qvecRe()[RefAId * 4 + 3], vec.qvecIm()[RefAId * 4 + 3], cfgnMod), cfgnMod));
205+
histosQA.fill(HIST(qV::centClasses[cBin]) + HIST("histEvtPlRes_SigRefB"), helperEP.GetEventPlane(helperEP.GetEventPlane(vec.qvecRe()[DetId * 4 + 3], vec.qvecIm()[DetId * 4 + 3], cfgnMod), helperEP.GetEventPlane(vec.qvecRe()[RefBId * 4 + 3], vec.qvecIm()[RefBId * 4 + 3], cfgnMod), cfgnMod));
206+
histosQA.fill(HIST(qV::centClasses[cBin]) + HIST("histEvtPlRes_RefARefB"), helperEP.GetEventPlane(helperEP.GetEventPlane(vec.qvecRe()[RefAId * 4 + 3], vec.qvecIm()[RefAId * 4 + 3], cfgnMod), helperEP.GetEventPlane(vec.qvecRe()[RefBId * 4 + 3], vec.qvecIm()[RefBId * 4 + 3], cfgnMod), cfgnMod));
206207
}
207208
}
208209

DPG/Tasks/AOTTrack/MonitorFilterBit.cxx

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,26 +72,29 @@ struct CheckFilterBit {
7272
// Binning
7373
ConfigurableAxis binsPt{"binsPt", {VARIABLE_WIDTH, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 2.0, 5.0, 10.0, 20.0, 50.0}, ""};
7474
ConfigurableAxis binsEta{"binsEta", {30, -1.5, 1.5}, ""};
75+
ConfigurableAxis binsLength{"binsLength", {VARIABLE_WIDTH, 0.0, 10., 20., 50., 80., 120., 160., 200., 240., 280., 320., 380, 420, 460., 500., 550}, ""};
7576
Configurable<float> zVtxCut{"zVtxCut", 10., "Primary Vtx z cut"};
7677
ConfigurableAxis binsPhi{"binsPhi", {180, 0., 2 * M_PI}, "Phi binning"};
7778
ConfigurableAxis binsTPCITSmatching{"binsTPCITSmatching", {2, 0.5, 2.5}, "ITSTPCmatching"};
78-
ConfigurableAxis binsNclustTPC{"binsNclustTPC", {VARIABLE_WIDTH, -0.5, 0.5, 10, 50, 60, 70, 80, 90, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160}, ""};
79+
ConfigurableAxis binsNclustTPC{"binsNclustTPC", {VARIABLE_WIDTH, -0.5, 0.5, 10, 30, 50, 60, 70, 80, 90, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160}, ""};
80+
ConfigurableAxis binsRxy{"binsRxy", {VARIABLE_WIDTH, 0.0, 0.5, 1., 1.5, 2., 2.5, 3., 4., 10., 10., 20., 50., 80., 120., 160., 200., 240., 280., 320., 380, 420, 460., 500., 550}, ""};
81+
ConfigurableAxis binsIsPropagaed{"binsIsPropaged", {2, -0.5, 1.5}, "isTrackWithinBeamPipe"};
7982

8083
HistogramRegistry histos;
8184
Int_t ncollisionCounter = 0;
8285
float fzero = 0.;
8386
using Tracksextension = soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection, aod::TrackSelectionExtension, aod::TracksDCA>;
8487
using TracksextensionMC = soa::Join<Tracksextension, aod::McTrackLabels>;
8588
SliceCache cache;
86-
Partition<Tracksextension> positiveTPConlyTracks = o2::aod::track::signed1Pt > fzero&& o2::aod::track::tpcNClsFindable > (uint8_t)0 && o2::aod::track::itsChi2NCl < (float_t)0; //&& (o2::aod::track::detectorMap & o2::aod::track::TPC) ==o2::aod::track::TPC && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==0;
87-
Partition<Tracksextension> negativeTPConlyTracks = o2::aod::track::signed1Pt < fzero && o2::aod::track::tpcNClsFindable > (uint8_t)0 && o2::aod::track::itsChi2NCl < (float_t)0; //&& (o2::aod::track::detectorMap & o2::aod::track::TPC) ==o2::aod::track::TPC && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==0;
88-
Partition<Tracksextension> positiveITSonlyTracks = o2::aod::track::signed1Pt > fzero&& o2::aod::track::tpcChi2NCl<(float_t)0 && o2::aod::track::itsChi2NCl>(float_t) 0; // && (o2::aod::track::detectorMap & o2::aod::track::TPC) ==0 && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==o2::aod::track::ITS && o2::aod::track::passedITSNCls==true;// && o2::aod::track::itsNCls==7;
89-
Partition<Tracksextension> negativeITSonlyTracks = o2::aod::track::signed1Pt < fzero && o2::aod::track::tpcChi2NCl < (float_t)0 && o2::aod::track::itsChi2NCl > (float_t)0; // && (o2::aod::track::detectorMap & o2::aod::track::TPC) ==0 &&(o2::aod::track::detectorMap & o2::aod::track::ITS) ==o2::aod::track::ITS && o2::aod::track::passedITSNCls==true;// && o2::aod::track::itsNCls==7;
89+
Partition<Tracksextension> positiveTPConlyTracks = o2::aod::track::signed1Pt > fzero&& o2::aod::track::tpcNClsFindable > (uint8_t)0 && o2::aod::track::itsChi2NCl < (float_t)0 && o2::aod::track::trackType == (uint8_t)o2::aod::track::TrackTypeEnum::Track; //&& (o2::aod::track::detectorMap & o2::aod::track::TPC) ==o2::aod::track::TPC && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==0;
90+
Partition<Tracksextension> negativeTPConlyTracks = o2::aod::track::signed1Pt < fzero && o2::aod::track::tpcNClsFindable > (uint8_t)0 && o2::aod::track::itsChi2NCl < (float_t)0 && o2::aod::track::trackType == (uint8_t)o2::aod::track::TrackTypeEnum::Track; //&& (o2::aod::track::detectorMap & o2::aod::track::TPC) ==o2::aod::track::TPC && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==0;
91+
Partition<Tracksextension> positiveITSonlyTracks = o2::aod::track::signed1Pt > fzero&& o2::aod::track::tpcChi2NCl<(float_t)0 && o2::aod::track::itsChi2NCl>(float_t) 0 && o2::aod::track::trackType == (uint8_t)o2::aod::track::TrackTypeEnum::Track; // && (o2::aod::track::detectorMap & o2::aod::track::TPC) ==0 && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==o2::aod::track::ITS && o2::aod::track::passedITSNCls==true;// && o2::aod::track::itsNCls==7;
92+
Partition<Tracksextension> negativeITSonlyTracks = o2::aod::track::signed1Pt < fzero && o2::aod::track::tpcChi2NCl < (float_t)0 && o2::aod::track::itsChi2NCl > (float_t)0 && o2::aod::track::trackType == (uint8_t)o2::aod::track::TrackTypeEnum::Track; // && (o2::aod::track::detectorMap & o2::aod::track::TPC) ==0 &&(o2::aod::track::detectorMap & o2::aod::track::ITS) ==o2::aod::track::ITS && o2::aod::track::passedITSNCls==true;// && o2::aod::track::itsNCls==7;
9093

91-
Partition<TracksextensionMC> positiveTPConlyTracksMC = o2::aod::track::signed1Pt > fzero&& o2::aod::track::tpcNClsFindable > (uint8_t)0 && o2::aod::track::itsChi2NCl < (float_t)0; //&& (o2::aod::track::detectorMap & o2::aod::track::TPC) ==o2::aod::track::TPC && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==0;
92-
Partition<TracksextensionMC> negativeTPConlyTracksMC = o2::aod::track::signed1Pt < fzero && o2::aod::track::tpcNClsFindable > (uint8_t)0 && o2::aod::track::itsChi2NCl < (float_t)0; //&& (o2::aod::track::detectorMap & o2::aod::track::TPC) ==o2::aod::track::TPC && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==0;
93-
Partition<TracksextensionMC> positiveITSonlyTracksMC = o2::aod::track::signed1Pt > fzero&& o2::aod::track::tpcChi2NCl<(float_t)0 && o2::aod::track::itsChi2NCl>(float_t) 0; // && (o2::aod::track::detectorMap & o2::aod::track::TPC) ==0 && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==o2::aod::track::ITS && o2::aod::track::passedITSNCls==true;// && o2::aod::track::itsNCls==7;
94-
Partition<TracksextensionMC> negativeITSonlyTracksMC = o2::aod::track::signed1Pt < fzero && o2::aod::track::tpcChi2NCl < (float_t)0 && o2::aod::track::itsChi2NCl > (float_t)0; // && (o2::aod::track::detectorMap & o2::aod::track::TPC) ==0 &&(o2::aod::track::detectorMap & o2::aod::track::ITS) ==o2::aod::track::ITS && o2::aod::track::passedITSNCls==true;// && o2::aod::track::itsNCls==7;
94+
Partition<TracksextensionMC> positiveTPConlyTracksMC = o2::aod::track::signed1Pt > fzero&& o2::aod::track::tpcNClsFindable > (uint8_t)0 && o2::aod::track::itsChi2NCl < (float_t)0 && o2::aod::track::trackType == (uint8_t)o2::aod::track::TrackTypeEnum::Track; //&& (o2::aod::track::detectorMap & o2::aod::track::TPC) ==o2::aod::track::TPC && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==0;
95+
Partition<TracksextensionMC> negativeTPConlyTracksMC = o2::aod::track::signed1Pt < fzero && o2::aod::track::tpcNClsFindable > (uint8_t)0 && o2::aod::track::itsChi2NCl < (float_t)0 && o2::aod::track::trackType == (uint8_t)o2::aod::track::TrackTypeEnum::Track; //&& (o2::aod::track::detectorMap & o2::aod::track::TPC) ==o2::aod::track::TPC && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==0;
96+
Partition<TracksextensionMC> positiveITSonlyTracksMC = o2::aod::track::signed1Pt > fzero&& o2::aod::track::tpcChi2NCl<(float_t)0 && o2::aod::track::itsChi2NCl>(float_t) 0 && o2::aod::track::trackType == (uint8_t)o2::aod::track::TrackTypeEnum::Track; // && (o2::aod::track::detectorMap & o2::aod::track::TPC) ==0 && (o2::aod::track::detectorMap & o2::aod::track::ITS) ==o2::aod::track::ITS && o2::aod::track::passedITSNCls==true;// && o2::aod::track::itsNCls==7;
97+
Partition<TracksextensionMC> negativeITSonlyTracksMC = o2::aod::track::signed1Pt < fzero && o2::aod::track::tpcChi2NCl < (float_t)0 && o2::aod::track::itsChi2NCl > (float_t)0 && o2::aod::track::trackType == (uint8_t)o2::aod::track::TrackTypeEnum::Track; // && (o2::aod::track::detectorMap & o2::aod::track::TPC) ==0 &&(o2::aod::track::detectorMap & o2::aod::track::ITS) ==o2::aod::track::ITS && o2::aod::track::passedITSNCls==true;// && o2::aod::track::itsNCls==7;
9598

9699
void init(InitContext const&)
97100
{
@@ -101,7 +104,9 @@ struct CheckFilterBit {
101104
const AxisSpec axisPhi{binsPhi, "#it{#varphi}"};
102105
const AxisSpec axisNclustTPC{binsNclustTPC, "NclustTPC"};
103106
const AxisSpec axisTPCITSmatching{binsNclustTPC, "NclustTPC"};
104-
107+
const AxisSpec axisLength{binsLength, "track length (cm)"};
108+
const AxisSpec axisRxy{binsRxy, "track Rxy (cm)"};
109+
const AxisSpec axisIsPropagated{binsIsPropagaed, "is track within BP"};
105110
histos.add("EventProp/histMCcollZ", "MC coll Z (cm); #it{z_{MCcoll}} (cm)", kTH1D, {{100, -20., 20.}});
106111
histos.add("EventProp/histDatacollZ", "MC coll Z (cm); #it{z_{MCcoll}} (cm)", kTH1D, {{100, -20., 20.}});
107112
histos.add("EventProp/histPtTrackNegCollID", "pt", kTH1D, {axisPt});
@@ -116,6 +121,8 @@ struct CheckFilterBit {
116121
histos.add("Tracks/Reco/histpt3DFB5", "FB5 tracks;#it{p}_{T} (GeV/#it{c});#it{#eta};#it{#varphi}", kTH3D, {axisPt, axisEta, axisPhi});
117122
histos.add("Tracks/Reco/histpt3DITSonly", "ITSonly tracks;#it{p}_{T} (GeV/#it{c});#it{#eta};#it{#varphi}", kTH3D, {axisPt, axisEta, axisPhi});
118123
histos.add("Tracks/Reco/histpt3DTPConly", "TPConly tracks;#it{p}_{T} (GeV/#it{c});#it{#eta};#it{#varphi}", kTH3D, {axisPt, axisEta, axisPhi});
124+
histos.add("Tracks/Reco/histpt3DTPConlyPtLengthRadiusNclust", "TPConly PtLengthRadiusNclust;#it{p}_{T} (GeV/#it{c});length (cm);Rx,y (cm);nclust;isPropagated", HistType::kTHnF, {axisPt, axisLength, axisRxy, axisNclustTPC, axisIsPropagated});
125+
histos.add("Tracks/Reco/histpt3DFB0PtLengthRadiusNclust", "TPConly PtLengthRadiusNclust;#it{p}_{T} (GeV/#it{c});length (cm);Rx,y (cm);nclust;isPropagated", HistType::kTHnF, {axisPt, axisLength, axisRxy, axisNclustTPC, axisIsPropagated});
119126

120127
histos.add("Tracks/MCgen/histMCgenpt", "pt", kTH1D, {axisPt});
121128
histos.add("Tracks/MCgen/histMCgen3dPhysPrimary", "MC Phys. Prim.;#it{p}_{T} (GeV/#it{c});#it{#eta};#it{#varphi}", kTH3D, {axisPt, axisEta, axisPhi});
@@ -187,8 +194,10 @@ struct CheckFilterBit {
187194
if (track.itsNClsInnerBarrel() > 0)
188195
hasITS++;
189196
histos.fill(HIST("Tracks/Reco/histNclustTPC"), track.pt(), track.eta(), track.phi(), track.tpcNClsFound(), hasITS);
190-
if (track.isGlobalTrack())
197+
if (track.isGlobalTrack()) {
191198
histos.fill(HIST("Tracks/Reco/histpt3DFB0"), track.pt(), track.eta(), track.phi());
199+
histos.fill(HIST("Tracks/Reco/histpt3DFB0PtLengthRadiusNclust"), track.pt(), track.length(), std::sqrt(track.x() * track.x() + track.y() * track.y()), track.tpcNClsFound(), track.isWithinBeamPipe() ? 1 : 0);
200+
}
192201
if (track.trackCutFlagFb1())
193202
histos.fill(HIST("Tracks/Reco/histpt3DFB1"), track.pt(), track.eta(), track.phi());
194203
if (track.trackCutFlagFb2())
@@ -203,6 +212,10 @@ struct CheckFilterBit {
203212
histos.fill(HIST("Tracks/Reco/histpt3DITSonly"), track.pt(), track.eta(), track.phi());
204213
if (track.itsChi2NCl() < 0. && track.tpcChi2NCl() > 0.)
205214
histos.fill(HIST("Tracks/Reco/histpt3DTPConly"), track.pt(), track.eta(), track.phi());
215+
if (std::abs(track.eta()) < 0.8) {
216+
histos.fill(HIST("Tracks/Reco/histpt3DTPConlyPtLengthRadiusNclust"), track.pt(), track.length(), std::sqrt(track.x() * track.x() + track.y() * track.y()), track.tpcNClsFound(), track.isWithinBeamPipe() ? 1 : 0);
217+
// Printf("track length %f, radius %f, isPropagated %d, tracktype %d",track.length(),std::sqrt(track.x()*track.x()+track.y()*track.y()),track.isWithinBeamPipe()?1:0,track.trackType());
218+
}
206219
}
207220

208221
void processData(Tracksextension const& tracks)

0 commit comments

Comments
 (0)