Skip to content

Commit e69f0bb

Browse files
authored
Merge branch 'AliceO2Group:master' into dev-mytask
2 parents 42f72b8 + 63ec9e1 commit e69f0bb

17 files changed

Lines changed: 1148 additions & 415 deletions

File tree

Common/Tasks/centralityQa.cxx

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ using namespace o2::framework;
2828
struct CentralityQa {
2929
Configurable<int> nBins{"nBins", 1050, "number of bins"};
3030
Configurable<bool> INELgtZERO{"INELgtZERO", 1, "0 - no, 1 - yes"};
31+
Configurable<float> vertexZcut{"vertexZcut", 10, "vertex-Z position cut (absolute value in cm)"};
3132
OutputObj<TH1F> hCentRun2V0M{TH1F("hCentRun2V0M", "V0M", nBins, 0, 105.)};
3233
OutputObj<TH1F> hCentRun2V0A{TH1F("hCentRun2V0A", "V0A", nBins, 0, 105.)};
3334
OutputObj<TH1F> hCentRun2SPDTks{TH1F("hCentRun2SPDTks", "SPD Tracklets", nBins, 0, 105.)};
@@ -115,8 +116,12 @@ struct CentralityQa {
115116
if (INELgtZERO && col.multNTracksPVeta1() < 1) {
116117
return;
117118
}
118-
if (!col.sel8())
119+
if (!col.sel8()) {
119120
return;
121+
}
122+
if (std::abs(col.posZ()) > vertexZcut) {
123+
return;
124+
}
120125
LOGF(debug, "centFV0A=%.0f", col.centFV0A());
121126
hCentFV0A->Fill(col.centFV0A());
122127
hCentProfileFV0A->Fill(col.centFV0A(), col.multNTracksPVetaHalf());
@@ -128,8 +133,12 @@ struct CentralityQa {
128133
if (INELgtZERO && col.multNTracksPVeta1() < 1) {
129134
return;
130135
}
131-
if (!col.sel8())
136+
if (!col.sel8()) {
137+
return;
138+
}
139+
if (std::abs(col.posZ()) > vertexZcut) {
132140
return;
141+
}
133142
LOGF(debug, "centFT0M=%.0f", col.centFT0M());
134143
hCentFT0M->Fill(col.centFT0M());
135144
hCentProfileFT0M->Fill(col.centFT0M(), col.multNTracksPVetaHalf());
@@ -141,8 +150,12 @@ struct CentralityQa {
141150
if (INELgtZERO && col.multNTracksPVeta1() < 1) {
142151
return;
143152
}
144-
if (!col.sel8())
153+
if (!col.sel8()) {
154+
return;
155+
}
156+
if (std::abs(col.posZ()) > vertexZcut) {
145157
return;
158+
}
146159
hCentFT0A->Fill(col.centFT0A());
147160
hCentProfileFT0A->Fill(col.centFT0A(), col.multNTracksPVetaHalf());
148161
}
@@ -153,8 +166,12 @@ struct CentralityQa {
153166
if (INELgtZERO && col.multNTracksPVeta1() < 1) {
154167
return;
155168
}
156-
if (!col.sel8())
169+
if (!col.sel8()) {
157170
return;
171+
}
172+
if (std::abs(col.posZ()) > vertexZcut) {
173+
return;
174+
}
158175
hCentFT0C->Fill(col.centFT0C());
159176
hCentProfileFT0C->Fill(col.centFT0C(), col.multNTracksPVetaHalf());
160177
}
@@ -165,8 +182,12 @@ struct CentralityQa {
165182
if (INELgtZERO && col.multNTracksPVeta1() < 1) {
166183
return;
167184
}
168-
if (!col.sel8())
185+
if (!col.sel8()) {
186+
return;
187+
}
188+
if (std::abs(col.posZ()) > vertexZcut) {
169189
return;
190+
}
170191
hCentFDDM->Fill(col.centFDDM());
171192
hCentProfileFDDM->Fill(col.centFDDM(), col.multNTracksPVetaHalf());
172193
}
@@ -177,8 +198,12 @@ struct CentralityQa {
177198
if (INELgtZERO && col.multNTracksPVeta1() < 1) {
178199
return;
179200
}
180-
if (!col.sel8())
201+
if (!col.sel8()) {
202+
return;
203+
}
204+
if (std::abs(col.posZ()) > vertexZcut) {
181205
return;
206+
}
182207
hCentNTPV->Fill(col.centNTPV());
183208
hCentProfileNTPV->Fill(col.centNTPV(), col.multNTracksPVetaHalf());
184209
}

PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackCascadeExtended.cxx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ struct femtoUniversePairTaskTrackCascadeExtended {
9191
Configurable<int> confTrkPDGCodePartOne{"confTrkPDGCodePartOne", 2212, "Particle 1 (Track) - PDG code"};
9292
Configurable<int> confTrkPDGCodePartTwo{"confTrkPDGCodePartTwo", 2212, "Particle 1 (Track) - PDG code"};
9393
Configurable<int> confChargePart1{"confChargePart1", 1, "sign of track particle 1"};
94-
Configurable<int> confChargePart2{"confChargePart2", -1, "sign of track particle 2"};
94+
Configurable<int> confChargePart2{"confChargePart2", 1, "sign of track particle 2"};
9595
Configurable<float> confHPtPart1{"confHPtPart1", 4.0f, "higher limit for pt of track particle"};
9696
Configurable<float> confLPtPart1{"confLPtPart1", 0.5f, "lower limit for pt of track particle"};
9797
Configurable<float> confNsigmaCombinedParticle{"confNsigmaCombinedParticle", 3.0, "combined TPC and TOF Sigma for track particle for momentum > Confmom"};
@@ -400,6 +400,9 @@ struct femtoUniversePairTaskTrackCascadeExtended {
400400
pEffHistp1 = (confCascType1 == 0 || confCascType1 == 1) ? std::unique_ptr<TH1>(plocalEffFile.get()->Get<TH1>("Cascade")) : std::unique_ptr<TH1>(plocalEffFile.get()->Get<TH1>("AntiCascade"));
401401
pEffHistp2 = (confCascType2 == 0 || confCascType2 == 1) ? std::unique_ptr<TH1>(plocalEffFile.get()->Get<TH1>("Cascade")) : std::unique_ptr<TH1>(plocalEffFile.get()->Get<TH1>("AntiCascade"));
402402
LOGF(info, "Loaded efficiency histograms for Cascade-Cascade.");
403+
} else if (doprocessSameEventTrack || doprocessSameEventTrackBitmask || doprocessMixedEventTrack || doprocessMixedEventTrackBitmask) {
404+
pEffHistp1 = (trackparticleconfigs.confChargePart1 > 0) ? std::unique_ptr<TH1>(plocalEffFile.get()->Get<TH1>("PrPlus")) : std::unique_ptr<TH1>(plocalEffFile.get()->Get<TH1>("PrMinus")); // note: works only for protons for now
405+
pEffHistp2 = (trackparticleconfigs.confChargePart2 > 0) ? std::unique_ptr<TH1>(plocalEffFile.get()->Get<TH1>("PrPlus")) : std::unique_ptr<TH1>(plocalEffFile.get()->Get<TH1>("PrMinus")); // note: works only for protons for now
403406
}
404407
} else if (!ccdbEffLoader.confCCDBEfficiency.value.empty()) {
405408
ccdb->setURL("http://alice-ccdb.cern.ch");
@@ -415,6 +418,9 @@ struct femtoUniversePairTaskTrackCascadeExtended {
415418
pEffHistp1 = (confCascType1 == 0 || confCascType1 == 1) ? std::unique_ptr<TH1>(ccdb->getForTimeStamp<TH1>(ccdbEffLoader.confCCDBEfficiency.value + "/Cascade", ccdbEffLoader.confCCDBNoLaterThanCasc.value)) : std::unique_ptr<TH1>(ccdb->getForTimeStamp<TH1>(ccdbEffLoader.confCCDBEfficiency.value + "/AntiCascade", ccdbEffLoader.confCCDBNoLaterThanCasc.value));
416419
pEffHistp2 = (confCascType2 == 0 || confCascType2 == 1) ? std::unique_ptr<TH1>(ccdb->getForTimeStamp<TH1>(ccdbEffLoader.confCCDBEfficiency.value + "/Cascade", ccdbEffLoader.confCCDBNoLaterThanCasc.value)) : std::unique_ptr<TH1>(ccdb->getForTimeStamp<TH1>(ccdbEffLoader.confCCDBEfficiency.value + "/AntiCascade", ccdbEffLoader.confCCDBNoLaterThanCasc.value));
417420
LOGF(info, "Loaded efficiency histograms for Cascade-Cascade from CCDB.");
421+
} else if (doprocessSameEventTrack || doprocessSameEventTrackBitmask || doprocessMixedEventTrack || doprocessMixedEventTrackBitmask) {
422+
pEffHistp1 = (trackparticleconfigs.confChargePart1 > 0) ? std::unique_ptr<TH1>(ccdb->getForTimeStamp<TH1>(ccdbEffLoader.confCCDBEfficiency.value + "/PrPlus", ccdbEffLoader.confCCDBNoLaterThanTrack.value)) : std::unique_ptr<TH1>(ccdb->getForTimeStamp<TH1>(ccdbEffLoader.confCCDBEfficiency.value + "/PrMinus", ccdbEffLoader.confCCDBNoLaterThanTrack.value)); /// works only for protons
423+
pEffHistp2 = (trackparticleconfigs.confChargePart2 > 0) ? std::unique_ptr<TH1>(ccdb->getForTimeStamp<TH1>(ccdbEffLoader.confCCDBEfficiency.value + "/PrPlus", ccdbEffLoader.confCCDBNoLaterThanTrack.value)) : std::unique_ptr<TH1>(ccdb->getForTimeStamp<TH1>(ccdbEffLoader.confCCDBEfficiency.value + "/PrMinus", ccdbEffLoader.confCCDBNoLaterThanTrack.value)); /// works only for protons
418424
}
419425
}
420426
}

PWGCF/JCorran/Tasks/jEPFlowAnalysis.cxx

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,9 @@ struct JEPFlowAnalysis {
112112
Configurable<float> cfgVertexZ{"cfgVertexZ", 10.0, "Maximum vertex Z selection"};
113113

114114
Configurable<bool> cfgq2analysis{"cfgq2analysis", false, "ese analysis flag"};
115-
Configurable<float> cfgq2high{"cfgq2high", 10.0, "high q2 selection"};
116-
Configurable<float> cfgq2low{"cfgq2low", 0.0, "low q2 selection"};
115+
Configurable<std::vector<float>> cfgMultq2SelBin{"cfgMultq2SelBin", {0, 5, 10, 20, 30, 40, 50, 60, 70, 80, 100}, ""};
116+
Configurable<std::vector<float>> cfgMultq2high{"cfgMultq2high", {}, ""};
117+
Configurable<std::vector<float>> cfgMultq2low{"cfgMultq2low", {}, ""};
117118

118119
Configurable<std::string> cfgDetName{"cfgDetName", "FT0C", "The name of detector to be analyzed"};
119120
Configurable<std::string> cfgRefAName{"cfgRefAName", "TPCPos", "The name of detector for reference A"};
@@ -153,6 +154,29 @@ struct JEPFlowAnalysis {
153154

154155
THn* effMap = nullptr;
155156

157+
bool q2sel(float q2, bool isHigh)
158+
{
159+
auto it = std::upper_bound(cfgMultq2SelBin->begin(), cfgMultq2SelBin->end(), cent);
160+
int idx = std::distance(cfgMultq2SelBin->begin(), it) - 1;
161+
162+
if (idx < 0) {
163+
idx = 0;
164+
}
165+
if (isHigh) {
166+
if (idx >= static_cast<int>(cfgMultq2high->size())) {
167+
idx = cfgMultq2high->size() - 1;
168+
}
169+
float sel = cfgMultq2high->at(idx);
170+
return q2 > sel;
171+
} else {
172+
if (idx >= static_cast<int>(cfgMultq2low->size())) {
173+
idx = cfgMultq2low->size() - 1;
174+
}
175+
float sel = cfgMultq2low->at(idx);
176+
return q2 < sel;
177+
}
178+
}
179+
156180
template <typename T>
157181
int getdetId(const T& name)
158182
{
@@ -310,6 +334,18 @@ struct JEPFlowAnalysis {
310334
epFlowHistograms.fill(HIST("EpResQvecRefARefBxx"), i + 2, cent, qx_shifted[1] * qx_shifted[2] + qy_shifted[1] * qy_shifted[2]);
311335
epFlowHistograms.fill(HIST("EpResQvecRefARefBxy"), i + 2, cent, qx_shifted[2] * qy_shifted[1] - qx_shifted[1] * qy_shifted[2]);
312336

337+
if (cfgq2analysis) {
338+
if (q2sel(q2Mag, true)) {
339+
epFlowHistograms.fill(HIST("EpResQvecDetRefAxx_q2high"), i + 2, cent, qx_shifted[0] * qx_shifted[1] + qy_shifted[0] * qy_shifted[1]);
340+
epFlowHistograms.fill(HIST("EpResQvecDetRefBxx_q2high"), i + 2, cent, qx_shifted[0] * qx_shifted[2] + qy_shifted[0] * qy_shifted[2]);
341+
epFlowHistograms.fill(HIST("EpResQvecRefARefBxx_q2high"), i + 2, cent, qx_shifted[1] * qx_shifted[2] + qy_shifted[1] * qy_shifted[2]);
342+
} else if (q2sel(q2Mag, false)) {
343+
epFlowHistograms.fill(HIST("EpResQvecDetRefAxx_q2low"), i + 2, cent, qx_shifted[0] * qx_shifted[1] + qy_shifted[0] * qy_shifted[1]);
344+
epFlowHistograms.fill(HIST("EpResQvecDetRefBxx_q2low"), i + 2, cent, qx_shifted[0] * qx_shifted[2] + qy_shifted[0] * qy_shifted[2]);
345+
epFlowHistograms.fill(HIST("EpResQvecRefARefBxx_q2low"), i + 2, cent, qx_shifted[1] * qx_shifted[2] + qy_shifted[1] * qy_shifted[2]);
346+
}
347+
}
348+
313349
for (const auto& track : tracks) {
314350
if (cfgTrkSelFlag && trackSel(track))
315351
continue;
@@ -328,9 +364,9 @@ struct JEPFlowAnalysis {
328364
epFlowHistograms.fill(HIST("SPvnxy"), i + 2, cent, track.pt(), track.eta(), (std::sin(track.phi() * static_cast<float>(i + 2)) * qx_shifted[0] - std::cos(track.phi() * static_cast<float>(i + 2)) * qy_shifted[0]), weight);
329365

330366
if (cfgq2analysis) {
331-
if (q2Mag > cfgq2high) {
367+
if (q2sel(q2Mag, true)) {
332368
epFlowHistograms.fill(HIST("SPvnxx_q2high"), i + 2, cent, track.pt(), track.eta(), (std::cos(track.phi() * static_cast<float>(i + 2)) * qx_shifted[0] + std::sin(track.phi() * static_cast<float>(i + 2)) * qy_shifted[0]), weight);
333-
} else if (q2Mag < cfgq2low) {
369+
} else if (q2sel(q2Mag, false)) {
334370
epFlowHistograms.fill(HIST("SPvnxx_q2low"), i + 2, cent, track.pt(), track.eta(), (std::cos(track.phi() * static_cast<float>(i + 2)) * qx_shifted[0] + std::sin(track.phi() * static_cast<float>(i + 2)) * qy_shifted[0]), weight);
335371
}
336372
}
@@ -397,6 +433,14 @@ struct JEPFlowAnalysis {
397433
epFlowHistograms.add("EpResQvecDetRefBxy", "", {HistType::kTH3F, {axisMod, axisCent, axisQvec}});
398434
epFlowHistograms.add("EpResQvecRefARefBxx", "", {HistType::kTH3F, {axisMod, axisCent, axisQvec}});
399435
epFlowHistograms.add("EpResQvecRefARefBxy", "", {HistType::kTH3F, {axisMod, axisCent, axisQvec}});
436+
if (cfgq2analysis) {
437+
epFlowHistograms.add("EpResQvecDetRefAxx_q2high", "", {HistType::kTH3F, {axisMod, axisCent, axisQvec}});
438+
epFlowHistograms.add("EpResQvecDetRefBxx_q2high", "", {HistType::kTH3F, {axisMod, axisCent, axisQvec}});
439+
epFlowHistograms.add("EpResQvecRefARefBxx_q2high", "", {HistType::kTH3F, {axisMod, axisCent, axisQvec}});
440+
epFlowHistograms.add("EpResQvecDetRefAxx_q2low", "", {HistType::kTH3F, {axisMod, axisCent, axisQvec}});
441+
epFlowHistograms.add("EpResQvecDetRefBxx_q2low", "", {HistType::kTH3F, {axisMod, axisCent, axisQvec}});
442+
epFlowHistograms.add("EpResQvecRefARefBxx_q2low", "", {HistType::kTH3F, {axisMod, axisCent, axisQvec}});
443+
}
400444

401445
epFlowHistograms.add("SPvnxx", "", {HistType::kTHnSparseF, {axisMod, axisCent, axisPt, axisEta, axisQvec}});
402446
epFlowHistograms.add("SPvnxy", "", {HistType::kTHnSparseF, {axisMod, axisCent, axisPt, axisEta, axisQvec}});

0 commit comments

Comments
 (0)