You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit fc257b8
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: PWGCF/MultiparticleCorrelations/Tasks/multiparticleCorrelationsMei.cxx
+55-86Lines changed: 55 additions & 86 deletions
Original file line number
Diff line number
Diff line change
@@ -203,9 +203,9 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
203
203
Configurable<std::string> cfFileWithWeights{"cfFileWithWeights", "/alice-ccdb.cern.ch/Users/m/mei/thesis-", "path to external ROOT file which holds all particle weights"};
204
204
205
205
// *) Binnings
206
-
Configurable<bool> cfALICECentBinSwitch{"cfALICECentBinSwitch", true, "switch on or off to use ALICE default binning"};
206
+
Configurable<bool> cfALICECentBinSwitch{"cfALICECentBinSwitch", false, "switch on or off to use ALICE default binning for centrality hist"};
@@ -223,9 +223,12 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
223
223
Configurable<std::vector<std::string>> cfTechnicalCutSwitch{"cfTechnicalCutSwitch", {"1NoCollInTimeRangeStandard", "1NoCollInRofStandard", "1NoSameBunchPileUp", "1IsVertexITSTPC", "1IsGoodITSLayersAll", "1IsGoodZvtxFT0vsPV", "1NoHighMultCollInPrevRof"}, "technical cuts switch, on and off by the first number before name"};
224
224
225
225
// event level cuts
226
-
Configurable<bool> cfEventCutSwitch{"cfEventCutSwitch", true, "switch to apply event level cut"};
226
+
Configurable<bool> cfSel8CutSwitch{"cfSel8CutSwitch", true, "switch to apply Sel8 cut"};
227
+
Configurable<bool> cfVertexZCutSwitch{"cfVertexZCutSwitch", true, "switch to apply VertexZ cut"};
227
228
Configurable<std::vector<float>> cfVertexZCutRange{"cfVertexZCutRange", {-10., 10.}, "vertex z position range: {min, max}[cm], with convention: min <= Vz <= max"};
229
+
Configurable<bool> cfCentCutSwitch{"cfCentCutSwitch", true, "switch to apply centrality cut"};
228
230
Configurable<std::vector<float>> cfCentCutRange{"cfCentCutRange", {0., 80.}, "centrality range: {min, max}[cm], with convention: min <= cent <= max"};
231
+
Configurable<bool> cfNContribCutSwitch{"cfNContribCutSwitch", true, "switch to apply NContrib cut"};
229
232
Configurable<int> cfNContribCutInf{"cfNContribCutInf", 2, "Cuts on number of tracks used for the vertex, only numContrib > cfNContribCutInf survives"};
230
233
231
234
// particle level cuts
@@ -263,7 +266,10 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
263
266
boolfALICECentBinSwitch = true;
264
267
265
268
boolfMasterCutSwitch = true;
266
-
boolfEventCutSwitch = true;
269
+
boolfSel8CutSwitch = true;
270
+
boolfVertexZCutSwitch = true;
271
+
boolfCentCutSwitch = true;
272
+
boolfNContribCutSwitch = true;
267
273
boolfPtCutSwitch = true;
268
274
boolfEtaCutSwitch = true;
269
275
boolfChargeCutSwitch = true;
@@ -455,7 +461,6 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
@@ -476,49 +481,20 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
476
481
if (!baseList) {
477
482
LOGF(fatal, "\033[1;31m%s at line %d\033[0m", __FUNCTION__, __LINE__);
478
483
}
479
-
480
-
// Finally, from the top-level TList, get the desired nested TList => the technical problem here is that it can be nested at any level, for that there is a helper utility function getObjectFromList(...) , see its implementation further below
LOGF(error, "\033[1;31m%s at line %d\033[0m", __FUNCTION__, __LINE__);
488
-
return;
489
-
}
490
-
}
491
-
492
-
// OK, we got the desired TList with efficiency corrections, after that we can use the common code for all 3 cases (local, AliEn, CCDB, that common code is below)
493
484
} elseif (bFileIsInCCDB) {
494
-
// File you want to access is in your home dir in CCDB:
495
-
// Remember that here I do not access the file; instead, I directly access the object in that file.
485
+
// File you want to access is in your home dir in CCDB: Remember that here I do not access the file; instead, I directly access the object in that file.
LOGF(error, "\033[1;31m%s at line %d\033[0m", __FUNCTION__, __LINE__);
509
-
return;
510
-
}
511
-
}
512
-
513
-
// OK, we got the desired TList with efficiency corrections, after that we can use the common code for all 3 cases (local, AliEn, CCDB, that common code is below)
514
491
} else {
515
492
// this is the local case:
516
493
// Check if the external ROOT file exists at the specified path:
517
494
if (gSystem->AccessPathName(filePath, kFileExists)) {
LOGF(error, "\033[1;31m%s at line %d : this crash can happen if in the output file there is no list with weights for the current run number = %s\033[0m", __FUNCTION__, __LINE__, runNumber);
538
-
return;
539
-
}
540
-
}
541
506
}
542
507
543
508
// Here comes the common code for all three cases, where from "listWithRuns" you fetch the desired histogram with efficiency corrections:
LOGF(warning, "\033[1;31m%s at line %d : this crash can happen if in the output file there is no list with weights for the current run number = %s\033[0m", __FUNCTION__, __LINE__, runNumber);
516
+
return;
517
+
}
547
518
}
548
519
549
520
for (int i = 0; i < eWeightsHistograms_N; ++i) {
@@ -563,7 +534,8 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
563
534
}
564
535
565
536
delete baseList;
566
-
} // end of TH1F* getHistogramWithWeights(const char* filePath, const char* runNumber, const char* histName)
537
+
baseList = nullptr;
538
+
} // end of void getHistogramWithWeights(const char* filePath, const char* runNumber)
567
539
568
540
// templates
569
541
template <typenameT1>
@@ -640,32 +612,30 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
640
612
}
641
613
}
642
614
ifconstexpr (rs == eRec || rs == eRecAndSim) {
643
-
if (tc.fEventCutSwitch) { // event level cuts for Rec
644
-
ifconstexpr (rm == eReal) {
645
-
if (!collision.sel8()) { // sel8 cut
646
-
returnfalse;
647
-
}
648
-
if (collision.posZ() > tc.fVertexZCutRange[1] || collision.posZ() < tc.fVertexZCutRange[0]) { // vertex z cut
649
-
returnfalse;
650
-
}
651
-
auto thisCent = chooseCent(collision, tc.fCentralityEstimator);
0 commit comments