Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion PWGDQ/TableProducer/tableMaker_withAssoc.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
Configurable<std::string> fConfigAddTrackHistogram{"cfgAddTrackHistogram", "", "Comma separated list of histograms"};
Configurable<std::string> fConfigAddMuonHistogram{"cfgAddMuonHistogram", "", "Comma separated list of histograms"};
Configurable<std::string> fConfigAddJSONHistograms{"cfgAddJSONHistograms", "", "Histograms in JSON format"};
Configurable<std::string> fConfigIrEstimator{"cfgIrEstimator", "", "Estimator of the interaction rate (pp,OO --> T0VTX, Pb-Pb --> ZNC hadronic), to be used with cfgFillBcStat"};
} fConfigHistOutput;

Configurable<bool> fIsRun2{"cfgIsRun2", false, "Whether we analyze Run-2 or Run-3 data"};
Expand Down Expand Up @@ -419,7 +420,7 @@
}
if (fConfigHistOutput.fConfigQA) {
// Barrel track histograms after selections; one histogram directory for each user specified selection
for (auto& cut : fTrackCuts) {

Check failure on line 423 in PWGDQ/TableProducer/tableMaker_withAssoc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
histClasses += Form("TrackBarrel_%s;", cut->GetName());
}
}
Expand All @@ -438,7 +439,7 @@
}
if (fConfigHistOutput.fConfigQA) {
// Muon tracks after selections; one directory per selection
for (auto& muonCut : fMuonCuts) {

Check failure on line 442 in PWGDQ/TableProducer/tableMaker_withAssoc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
histClasses += Form("Muons_%s;", muonCut->GetName());
}
}
Expand Down Expand Up @@ -480,7 +481,7 @@
TString addEvCutsStr = fConfigCuts.fConfigEventCutsJSON.value;
if (addEvCutsStr != "") {
std::vector<AnalysisCut*> addEvCuts = dqcuts::GetCutsFromJSON(addEvCutsStr.Data());
for (auto& cutIt : addEvCuts) {

Check failure on line 484 in PWGDQ/TableProducer/tableMaker_withAssoc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
fEventCut->AddCut(cutIt);
}
}
Expand All @@ -497,7 +498,7 @@
TString addTrackCutsStr = fConfigCuts.fConfigTrackCutsJSON.value;
if (addTrackCutsStr != "") {
std::vector<AnalysisCut*> addTrackCuts = dqcuts::GetCutsFromJSON(addTrackCutsStr.Data());
for (auto& t : addTrackCuts) {

Check failure on line 501 in PWGDQ/TableProducer/tableMaker_withAssoc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
fTrackCuts.push_back(reinterpret_cast<AnalysisCompositeCut*>(t));
}
}
Expand All @@ -514,7 +515,7 @@
TString addMuonCutsStr = fConfigCuts.fConfigMuonCutsJSON.value;
if (addMuonCutsStr != "") {
std::vector<AnalysisCut*> addMuonCuts = dqcuts::GetCutsFromJSON(addMuonCutsStr.Data());
for (auto& t : addMuonCuts) {

Check failure on line 518 in PWGDQ/TableProducer/tableMaker_withAssoc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
fMuonCuts.push_back(reinterpret_cast<AnalysisCompositeCut*>(t));
}
}
Expand Down Expand Up @@ -719,7 +720,7 @@
// check if this collision is also within the short time range
bool isShort = (thisBC >= pastShortBC && thisBC < futureShortBC);
// loop over all collisions in this BC
for (auto& thisColl : colls) {

Check failure on line 723 in PWGDQ/TableProducer/tableMaker_withAssoc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
// skip if this is the same collision
if (thisColl == collision) {
continue;
Expand Down Expand Up @@ -766,7 +767,7 @@
fOccup.oMedianTimeLongA[collision] = 0.0;
float sumMult = 0.0;
if (oTimeMapLongA.size() > 0) {
for (auto& [dt, mult] : oTimeMapLongA) {

Check failure on line 770 in PWGDQ/TableProducer/tableMaker_withAssoc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
sumMult += mult;
if (sumMult > fOccup.oContribLongA[collision] / 2.0) {
fOccup.oMedianTimeLongA[collision] = dt;
Expand All @@ -777,7 +778,7 @@
fOccup.oMedianTimeLongC[collision] = 0.0;
sumMult = 0.0;
if (oTimeMapLongC.size() > 0) {
for (auto& [dt, mult] : oTimeMapLongC) {

Check failure on line 781 in PWGDQ/TableProducer/tableMaker_withAssoc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
sumMult += mult;
if (sumMult > fOccup.oContribLongC[collision] / 2.0) {
fOccup.oMedianTimeLongC[collision] = dt;
Expand All @@ -788,7 +789,7 @@
fOccup.oMedianTimeShortA[collision] = 0.0;
sumMult = 0.0;
if (oTimeMapShortA.size() > 0) {
for (auto& [dt, mult] : oTimeMapShortA) {

Check failure on line 792 in PWGDQ/TableProducer/tableMaker_withAssoc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
sumMult += mult;
if (sumMult > fOccup.oContribShortA[collision] / 2.0) {
fOccup.oMedianTimeShortA[collision] = dt;
Expand All @@ -799,7 +800,7 @@
fOccup.oMedianTimeShortC[collision] = 0.0;
sumMult = 0.0;
if (oTimeMapShortC.size() > 0) {
for (auto& [dt, mult] : oTimeMapShortC) {

Check failure on line 803 in PWGDQ/TableProducer/tableMaker_withAssoc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
sumMult += mult;
if (sumMult > fOccup.oContribShortC[collision] / 2.0) {
fOccup.oMedianTimeShortC[collision] = dt;
Expand All @@ -821,7 +822,14 @@

auto bfilling = mLHCIFdata->getBunchFilling();
double nbc = bfilling.getFilledBCs().size();
double tvxRate = mRateFetcher.fetch(&ccdbMgr, timeStamp, bc.runNumber(), "T0VTX");

double tvxRate;
if (fConfigHistOutput.fConfigIrEstimator.value.empty()) {
tvxRate = mRateFetcher.fetch(&ccdbMgr, timeStamp, bc.runNumber(), "T0VTX");
} else {
tvxRate = mRateFetcher.fetch(&ccdbMgr, timeStamp, bc.runNumber(), fConfigHistOutput.fConfigIrEstimator.value);
}

double nTriggersPerFilledBC = tvxRate / nbc / o2::constants::lhc::LHCRevFreq;
double mu = -std::log(1 - nTriggersPerFilledBC);
return mu;
Expand Down
Loading