Skip to content
Merged
Show file tree
Hide file tree
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
56 changes: 51 additions & 5 deletions PWGEM/Dilepton/Core/Dilepton.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ struct Dilepton {
Configurable<int> cfgAnalysisType{"cfgAnalysisType", static_cast<int>(o2::aod::pwgem::dilepton::utils::pairutil::DileptonAnalysisType::kQC), "kQC:0, kUPC:1, kFlowV2:2, kFlowV3:3, kPolarization:4, kVM:5, kHFll:6"};
Configurable<int> cfgEP2Estimator_for_Mix{"cfgEP2Estimator_for_Mix", 3, "FT0M:0, FT0A:1, FT0C:2, BTot:3, BPos:4, BNeg:5"};
Configurable<int> cfgQvecEstimator{"cfgQvecEstimator", 0, "FT0M:0, FT0A:1, FT0C:2, BTot:3, BPos:4, BNeg:5"};
Configurable<int> cfgCentEstimator{"cfgCentEstimator", 2, "FT0M:0, FT0A:1, FT0C:2, NTPV:3"};
Configurable<int> cfgCentEstimator{"cfgCentEstimator", 2, "FT0M:0, FT0A:1, FT0C:2"};
Configurable<float> cfgCentMin{"cfgCentMin", 0, "min. centrality"};
Configurable<float> cfgCentMax{"cfgCentMax", 999.f, "max. centrality"};
Configurable<bool> cfgDoMix{"cfgDoMix", true, "flag for event mixing"};
Expand Down Expand Up @@ -170,8 +170,8 @@ struct Dilepton {
Configurable<int> cfg_min_ncrossedrows{"cfg_min_ncrossedrows", 100, "min ncrossed rows"};
Configurable<float> cfg_max_chi2tpc{"cfg_max_chi2tpc", 4.0, "max chi2/NclsTPC"};
Configurable<float> cfg_max_chi2its{"cfg_max_chi2its", 5.0, "max chi2/NclsITS"};
Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 1.0, "max dca XY for single track in cm"};
Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 1.0, "max dca Z for single track in cm"};
Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 0.2, "max dca XY for single track in cm"};
Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 0.2, "max dca Z for single track in cm"};
Configurable<bool> cfg_require_itsib_any{"cfg_require_itsib_any", false, "flag to require ITS ib any hits"};
Configurable<bool> cfg_require_itsib_1st{"cfg_require_itsib_1st", true, "flag to require ITS ib 1st hit"};

Expand Down Expand Up @@ -369,6 +369,7 @@ struct Dilepton {
// fwdfitter.setTGeoMat(false);
}

fRegistry.addClone("Event/before/hCollisionCounter", "Event/norm/hCollisionCounter");
fRegistry.add("Pair/mix/hDiffBC", "diff. global BC in mixed event;|BC_{current} - BC_{mixed}|", kTH1D, {{1001, -0.5, 1000.5}}, true);
if (doprocessTriggerAnalysis) {
fRegistry.add("Event/hNInspectedTVX", "N inspected TVX;run number;N_{TVX}", kTProfile, {{80000, 520000.5, 600000.5}}, true);
Expand Down Expand Up @@ -1052,7 +1053,7 @@ struct Dilepton {
{
for (auto& collision : collisions) {
initCCDB<isTriggerAnalysis>(collision);
const float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
const float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
float centrality = centralities[cfgCentEstimator];
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
continue;
Expand Down Expand Up @@ -1409,7 +1410,7 @@ struct Dilepton {

for (auto& collision : collisions) {
initCCDB<isTriggerAnalysis>(collision);
const float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
const float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
continue;
}
Expand Down Expand Up @@ -1543,6 +1544,51 @@ struct Dilepton {
}
PROCESS_SWITCH(Dilepton, processTriggerAnalysis, "run dilepton analysis on triggered data", false);

void processNorm(aod::EMEventNormInfos const& collisions)
{
for (auto& collision : collisions) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 1.0);
if (collision.selection_bit(o2::aod::evsel::kIsTriggerTVX)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 2.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoTimeFrameBorder)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 3.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoITSROFrameBorder)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 4.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 5.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 6.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsVertexITSTPC)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 7.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsVertexTRDmatched)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 8.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsVertexTOFmatched)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 9.0);
}
if (collision.sel8()) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 10.0);
}
if (abs(collision.posZ()) < 10.0) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 11.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 12.0);
}
if (!fEMEventCut.IsSelected(collision)) {
continue;
}
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), o2::aod::pwgem::dilepton::utils::eventhistogram::nbin_ev); // accepted
} // end of collision loop
}
PROCESS_SWITCH(Dilepton, processNorm, "process normalization info", true);

void processDummy(MyCollisions const&) {}
PROCESS_SWITCH(Dilepton, processDummy, "Dummy function", false);
};
Expand Down
60 changes: 53 additions & 7 deletions PWGEM/Dilepton/Core/DileptonMC.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ struct DileptonMC {
Configurable<float> d_bz_input{"d_bz_input", -999, "bz field in kG, -999 is automatic"};

Configurable<int> cfgEventGeneratorType{"cfgEventGeneratorType", -1, "if positive, select event generator type. i.e. gap or signal"};
Configurable<int> cfgCentEstimator{"cfgCentEstimator", 2, "FT0M:0, FT0A:1, FT0C:2, NTPV:3"};
Configurable<int> cfgCentEstimator{"cfgCentEstimator", 2, "FT0M:0, FT0A:1, FT0C:2"};
Configurable<float> cfgCentMin{"cfgCentMin", 0, "min. centrality"};
Configurable<float> cfgCentMax{"cfgCentMax", 999.f, "max. centrality"};
Configurable<int> cfgNtracksPV08Min{"cfgNtracksPV08Min", -1, "min. multNTracksPV"};
Expand Down Expand Up @@ -151,8 +151,8 @@ struct DileptonMC {
Configurable<int> cfg_min_ncrossedrows{"cfg_min_ncrossedrows", 100, "min ncrossed rows"};
Configurable<float> cfg_max_chi2tpc{"cfg_max_chi2tpc", 4.0, "max chi2/NclsTPC"};
Configurable<float> cfg_max_chi2its{"cfg_max_chi2its", 5.0, "max chi2/NclsITS"};
Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 1.0, "max dca XY for single track in cm"};
Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 1.0, "max dca Z for single track in cm"};
Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 0.2, "max dca XY for single track in cm"};
Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 0.2, "max dca Z for single track in cm"};
Configurable<bool> cfg_require_itsib_any{"cfg_require_itsib_any", false, "flag to require ITS ib any hits"};
Configurable<bool> cfg_require_itsib_1st{"cfg_require_itsib_1st", true, "flag to require ITS ib 1st hit"};

Expand Down Expand Up @@ -401,6 +401,7 @@ struct DileptonMC {
// fwdfitter.setUseAbsDCA(true);
// fwdfitter.setTGeoMat(false);
}
fRegistry.addClone("Event/before/hCollisionCounter", "Event/norm/hCollisionCounter");
}

template <typename TCollision>
Expand Down Expand Up @@ -911,7 +912,7 @@ struct DileptonMC {
{
for (auto& collision : collisions) {
initCCDB(collision);
float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
continue;
}
Expand Down Expand Up @@ -983,7 +984,7 @@ struct DileptonMC {
// all MC tracks which belong to the MC event corresponding to the current reconstructed event

for (auto& collision : collisions) {
float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
continue;
}
Expand Down Expand Up @@ -1521,7 +1522,7 @@ struct DileptonMC {

for (auto& collision : collisions) {
initCCDB(collision);
const float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
const float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
continue;
}
Expand Down Expand Up @@ -1682,7 +1683,7 @@ struct DileptonMC {
{
// for oemga, phi efficiency
for (auto& collision : collisions) {
float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
continue;
}
Expand Down Expand Up @@ -1728,6 +1729,51 @@ struct DileptonMC {
}
PROCESS_SWITCH(DileptonMC, processGen_VM, "process generated info for vector mesons", false);

void processNorm(aod::EMEventNormInfos const& collisions)
{
for (auto& collision : collisions) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 1.0);
if (collision.selection_bit(o2::aod::evsel::kIsTriggerTVX)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 2.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoTimeFrameBorder)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 3.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoITSROFrameBorder)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 4.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 5.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 6.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsVertexITSTPC)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 7.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsVertexTRDmatched)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 8.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsVertexTOFmatched)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 9.0);
}
if (collision.sel8()) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 10.0);
}
if (abs(collision.posZ()) < 10.0) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 11.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 12.0);
}
if (!fEMEventCut.IsSelected(collision)) {
continue;
}
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), o2::aod::pwgem::dilepton::utils::eventhistogram::nbin_ev); // accepted
} // end of collision loop
}
PROCESS_SWITCH(DileptonMC, processNorm, "process normalization info", true);

void processDummy(MyCollisions const&) {}
PROCESS_SWITCH(DileptonMC, processDummy, "Dummy function", false);
};
Expand Down
6 changes: 3 additions & 3 deletions PWGEM/Dilepton/Core/PhotonHBT.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ struct PhotonHBT {

Configurable<bool> cfgDo3D{"cfgDo3D", false, "enable 3D analysis"};
Configurable<int> cfgEP2Estimator_for_Mix{"cfgEP2Estimator_for_Mix", 3, "FT0M:0, FT0A:1, FT0C:2, BTot:3, BPos:4, BNeg:5"};
Configurable<int> cfgCentEstimator{"cfgCentEstimator", 2, "FT0M:0, FT0A:1, FT0C:2, NTPV:3"};
Configurable<int> cfgCentEstimator{"cfgCentEstimator", 2, "FT0M:0, FT0A:1, FT0C:2"};
Configurable<float> cfgCentMin{"cfgCentMin", 0, "min. centrality"};
Configurable<float> cfgCentMax{"cfgCentMax", 999, "max. centrality"};
// Configurable<float> cfgSpherocityMin{"cfgSpherocityMin", -999.f, "min. spherocity"};
Expand Down Expand Up @@ -643,7 +643,7 @@ struct PhotonHBT {
for (auto& collision : collisions) {
initCCDB<isTriggerAnalysis>(collision);
int ndiphoton = 0;
const float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
const float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
continue;
}
Expand Down Expand Up @@ -1228,7 +1228,7 @@ struct PhotonHBT {

for (auto& collision : collisions) {
initCCDB<isTriggerAnalysis>(collision);
const float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
const float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
continue;
}
Expand Down
55 changes: 52 additions & 3 deletions PWGEM/Dilepton/Core/SingleTrackQC.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ struct SingleTrackQC {
// Configurables
Configurable<std::string> ccdburl{"ccdb-url", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};

Configurable<int> cfgCentEstimator{"cfgCentEstimator", 2, "FT0M:0, FT0A:1, FT0C:2, NTPV:3"};
Configurable<int> cfgCentEstimator{"cfgCentEstimator", 2, "FT0M:0, FT0A:1, FT0C:2"};
Configurable<float> cfgCentMin{"cfgCentMin", 0, "min. centrality"};
Configurable<float> cfgCentMax{"cfgCentMax", 999.f, "max. centrality"};
Configurable<std::string> cfg_swt_name{"cfg_swt_name", "fHighTrackMult", "desired software trigger name"}; // 1 trigger name per 1 task. fHighTrackMult, fHighFt0Mult
Expand Down Expand Up @@ -208,6 +208,7 @@ struct SingleTrackQC {
fRegistry.add("Track/positive/hChi2TPC", "chi2/number of TPC clusters", kTH1F, {{100, 0, 10}}, false);
fRegistry.add("Track/positive/hTPCNcr2Nf", "TPC Ncr/Nfindable", kTH1F, {{200, 0, 2}}, false);
fRegistry.add("Track/positive/hTPCNcls2Nf", "TPC Ncls/Nfindable", kTH1F, {{200, 0, 2}}, false);
fRegistry.add("Track/positive/hTPCNclsShared", "TPC Ncls shared/Ncls;p_{T} (GeV/c);N_{cls}^{shared}/N_{cls} in TPC", kTH2F, {{1000, 0, 10}, {100, 0, 1}}, false);
fRegistry.add("Track/positive/hNclsITS", "number of ITS clusters", kTH1F, {{8, -0.5, 7.5}}, false);
fRegistry.add("Track/positive/hChi2ITS", "chi2/number of ITS clusters", kTH1F, {{100, 0, 10}}, false);
fRegistry.add("Track/positive/hITSClusterMap", "ITS cluster map", kTH1F, {{128, -0.5, 127.5}}, false);
Expand Down Expand Up @@ -264,6 +265,7 @@ struct SingleTrackQC {
addhistograms();
mRunNumber = 0;

fRegistry.addClone("Event/before/hCollisionCounter", "Event/norm/hCollisionCounter");
if (doprocessQC_TriggeredData) {
fRegistry.add("Event/hNInspectedTVX", "N inspected TVX;run number;N_{TVX}", kTProfile, {{80000, 520000.5, 600000.5}}, true);
}
Expand Down Expand Up @@ -398,6 +400,7 @@ struct SingleTrackQC {
fRegistry.fill(HIST("Track/positive/hNcrTPC"), track.tpcNClsCrossedRows());
fRegistry.fill(HIST("Track/positive/hTPCNcr2Nf"), track.tpcCrossedRowsOverFindableCls());
fRegistry.fill(HIST("Track/positive/hTPCNcls2Nf"), track.tpcFoundOverFindableCls());
fRegistry.fill(HIST("Track/positive/hTPCNclsShared"), track.pt(), track.tpcFractionSharedCls());
fRegistry.fill(HIST("Track/positive/hChi2TPC"), track.tpcChi2NCl());
fRegistry.fill(HIST("Track/positive/hChi2ITS"), track.itsChi2NCl());
fRegistry.fill(HIST("Track/positive/hITSClusterMap"), track.itsClusterMap());
Expand Down Expand Up @@ -427,6 +430,7 @@ struct SingleTrackQC {
fRegistry.fill(HIST("Track/negative/hNcrTPC"), track.tpcNClsCrossedRows());
fRegistry.fill(HIST("Track/negative/hTPCNcr2Nf"), track.tpcCrossedRowsOverFindableCls());
fRegistry.fill(HIST("Track/negative/hTPCNcls2Nf"), track.tpcFoundOverFindableCls());
fRegistry.fill(HIST("Track/negative/hTPCNclsShared"), track.pt(), track.tpcFractionSharedCls());
fRegistry.fill(HIST("Track/negative/hChi2TPC"), track.tpcChi2NCl());
fRegistry.fill(HIST("Track/negative/hChi2ITS"), track.itsChi2NCl());
fRegistry.fill(HIST("Track/negative/hITSClusterMap"), track.itsClusterMap());
Expand Down Expand Up @@ -493,7 +497,7 @@ struct SingleTrackQC {
{
for (auto& collision : collisions) {
initCCDB<isTriggerAnalysis>(collision);
float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
continue;
}
Expand Down Expand Up @@ -545,7 +549,7 @@ struct SingleTrackQC {
passed_trackIds.reserve(tracks.size());
for (auto& collision : collisions) {
initCCDB<isTriggerAnalysis>(collision);
float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
continue;
}
Expand Down Expand Up @@ -670,6 +674,51 @@ struct SingleTrackQC {
}
PROCESS_SWITCH(SingleTrackQC, processQC_TriggeredData, "run single track QC on triggered data", false);

void processNorm(aod::EMEventNormInfos const& collisions)
{
for (auto& collision : collisions) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 1.0);
if (collision.selection_bit(o2::aod::evsel::kIsTriggerTVX)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 2.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoTimeFrameBorder)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 3.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoITSROFrameBorder)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 4.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 5.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 6.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsVertexITSTPC)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 7.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsVertexTRDmatched)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 8.0);
}
if (collision.selection_bit(o2::aod::evsel::kIsVertexTOFmatched)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 9.0);
}
if (collision.sel8()) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 10.0);
}
if (abs(collision.posZ()) < 10.0) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 11.0);
}
if (collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), 12.0);
}
if (!fEMEventCut.IsSelected(collision)) {
continue;
}
fRegistry.fill(HIST("Event/norm/hCollisionCounter"), o2::aod::pwgem::dilepton::utils::eventhistogram::nbin_ev); // accepted
} // end of collision loop
}
PROCESS_SWITCH(SingleTrackQC, processNorm, "process normalization info", true);

void processDummy(MyCollisions const&) {}
PROCESS_SWITCH(SingleTrackQC, processDummy, "Dummy function", false);
};
Expand Down
Loading