Skip to content

Commit 4d950fa

Browse files
authored
[PWGHF] added THn for QA of electrons from Z (#16231)
1 parent d6b2286 commit 4d950fa

1 file changed

Lines changed: 63 additions & 37 deletions

File tree

PWGHF/HFL/Tasks/taskElectronWeakBoson.cxx

Lines changed: 63 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -140,21 +140,23 @@ struct HfTaskElectronWeakBoson {
140140
Configurable<std::vector<double>> centralityBins{"centralityBins", {0, 20, 60, 100}, "centrality bins"};
141141

142142
// QA for Z->ee
143-
Configurable<bool> enableZeeRecoQA{"enableZeeRecoQA", false, "Enable QA for Z->ee reconstruction"};
143+
Configurable<bool> enableZeeTrkRecoQA{"enableZeeTrkRecoQA", false, "Enable QA for track info Z->ee reconstruction"};
144+
Configurable<bool> enableZeeEmcRecoQA{"enableZeeEmcRecoQA", false, "Enable QA for Emc info Z->ee reconstruction"};
144145
Configurable<float> massZMinQA{"massZMinQA", 0.1, "minimum mass cut for Zee Reco QA"};
145-
// CCDB service object
146-
Service<o2::ccdb::BasicCCDBManager> ccdb{};
147146
// UE
148147
Configurable<int> nRandomCones{"nRandomCones", 100, "number of random cones"};
149148
Configurable<float> rcHardE{"rcHardE", 5.0, "hard cluster veto energy"};
150149
Configurable<float> rcVetoR{"rcVetoR", 0.4, "veto radius"};
151150
Configurable<bool> useUEsub{"useUEsub", true, "apply UE subtraction in isolation"};
152151

152+
// CCDB service object
153+
Service<o2::ccdb::BasicCCDBManager> ccdb{};
154+
153155
struct HfElectronCandidate {
154-
float pt, eta, phi, dcaxyTrk, dcazTrk, eop, energyIso, momIso;
156+
float pt, eta, phi, dcaxyTrk, dcazTrk, eop, energyIso, momIso, dedxTrk, m02Emc;
155157
int ntrackIso, nclusterTPC, nclusterITS;
156-
HfElectronCandidate(float ptr, float e, float ph, float dcaxy, float dcaz, float ep, float eiso, float piso, int ntrkiso, int nclstpc, int nclsits)
157-
: pt(ptr), eta(e), phi(ph), dcaxyTrk(dcaxy), dcazTrk(dcaz), eop(ep), energyIso(eiso), momIso(piso), ntrackIso(ntrkiso), nclusterTPC(nclstpc), nclusterITS(nclsits) {}
158+
HfElectronCandidate(float ptr, float e, float ph, float dcaxy, float dcaz, float ep, float eiso, float piso, float dedx, float m02, int ntrkiso, int nclstpc, int nclsits)
159+
: pt(ptr), eta(e), phi(ph), dcaxyTrk(dcaxy), dcazTrk(dcaz), eop(ep), energyIso(eiso), momIso(piso), dedxTrk(dedx), m02Emc(m02), ntrackIso(ntrkiso), nclusterTPC(nclstpc), nclusterITS(nclsits) {}
158160
};
159161
std::vector<HfElectronCandidate> selectedElectronsIso;
160162
std::vector<HfElectronCandidate> selectedPositronsIso;
@@ -196,20 +198,13 @@ struct HfTaskElectronWeakBoson {
196198
ConfigurableAxis confaxisPtZneg{"confaxisPtZneg", {60, 20, 80}, "p_{T,neg} (GeV/c)"};
197199
ConfigurableAxis confaxisPtZpos{"confaxisPtZpos", {60, 20, 80}, "p_{T,pos} (GeV/c)"};
198200
ConfigurableAxis confaxisEop{"confaxisEop", {300, -0.01, 1.49}, "E/p"};
199-
ConfigurableAxis confaxisEopZneg{"confaxisEopZneg", {300, -0.01, 1.49}, "E/p_{neg}"};
200-
ConfigurableAxis confaxisEopZpos{"confaxisEopZpos", {300, -0.01, 1.49}, "E/p_{pos}"};
201201
ConfigurableAxis confaxisIsoEnergy{"confaxisIsoEnergy", {255, 0, 2.0}, "E_{iso}"};
202-
ConfigurableAxis confaxisIsoEnergyZneg{"confaxisIsoEnergyZneg", {255, 0, 2.0}, "E_{iso,neg}"};
203-
ConfigurableAxis confaxisIsoEnergyZpos{"confaxisIsoEnergyZpos", {255, 0, 2.0}, "E_{iso,pos}"};
204-
ConfigurableAxis confaxisIsoMomentum{"confaxisIsoMomentum", {255, 0, 2.0}, "E_{iso}"};
205-
ConfigurableAxis confaxisIsoMomentumZneg{"confaxisIsoMomentumZneg", {255, 0, 1.5}, "E_{iso,neg}"};
206-
ConfigurableAxis confaxisIsoMomentumZpos{"confaxisIsoMomentumZpos", {255, 0, 1.5}, "E_{iso,pos}"};
202+
ConfigurableAxis confaxisIsoMomentum{"confaxisIsoMomentum", {255, 0, 2.0}, "p_{iso}"};
207203
ConfigurableAxis confaxisIsoTrack{"confaxisIsoTrack", {25, -0.5, 24.5}, "Isolation Track"};
208-
ConfigurableAxis confaxisIsoTrackZneg{"confaxisIsoTrackZneg", {25, -0.5, 24.5}, "N_{isotrk,neg}"};
209-
ConfigurableAxis confaxisIsoTrackZpos{"confaxisIsoTrackZpos", {25, -0.5, 24.5}, "N_{isotrk,pos}"};
210204
ConfigurableAxis confaxisInvMassZgamma{"confaxisInvMassZgamma", {150, 0, 150}, "M_{ee} (GeV/c^{2})"};
211205
ConfigurableAxis confaxisInvMassZ{"confaxisInvMassZ", {130, 20, 150}, "M_{ee} (GeV/c^{2})"};
212206
ConfigurableAxis confaxisZfrag{"confaxisZfrag", {200, 0, 2.0}, "p_{T,h}/p_{T,Z}"};
207+
ConfigurableAxis confaxisDEtaZh{"confaxisDEtaZh", {200, -4.0, 4.0}, "#Delta#eta"};
213208
ConfigurableAxis confaxisMultPV{"confaxisMultPV", {200, 0, 200.0}, "multiplicity"};
214209
ConfigurableAxis confaxisMultFT0{"confaxisMultFT0", {1000, 0, 1000.0}, "multiplicity"};
215210

@@ -262,9 +257,13 @@ struct HfTaskElectronWeakBoson {
262257
const AxisSpec axisSectorTPCneg{360, 0, 18, "TPCsector_{neg}"};
263258
const AxisSpec axisSectorTPCpos{360, 0, 18, "TPCsector_{pos}"};
264259
const AxisSpec axisNsigma{100, -5, 5, "N#sigma"};
260+
const AxisSpec axisNsigmaZneg{100, -5, 5, "N#sigma_{pos}"};
261+
const AxisSpec axisNsigmaZpos{100, -5, 5, "N#sigma_{neg}"};
265262
const AxisSpec axisDedx{150, 0, 150, "dEdx"};
266263
const AxisSpec axisE{nBinsE, 0, binEmax, "Energy"};
267264
const AxisSpec axisM02{100, 0, 1, "M02"};
265+
const AxisSpec axisM02neg{100, 0, 1, "M02(neg)"};
266+
const AxisSpec axisM02pos{100, 0, 1, "M02(pos)"};
268267
const AxisSpec axisdPhi{100, -0.5, 0.5, "dPhi"};
269268
const AxisSpec axisdEta{100, -0.5, 0.5, "dEta"};
270269
const AxisSpec axisdR{20, 0.0, 0.2, "dR"};
@@ -276,26 +275,27 @@ struct HfTaskElectronWeakBoson {
276275
const AxisSpec axisEMCtime{100, -50.0, 50, "EMC time"};
277276
const AxisSpec axisTrigger{3, -0.5, 2.5, "Trigger status of zorro"};
278277
const AxisSpec axisDPhiZh{64, -o2::constants::math::PIHalf, 3 * o2::constants::math::PIHalf, "#Delta#phi(Z-h)"};
278+
const AxisSpec axisDEtaZh{confaxisDEtaZh, "#Delta#Eta(Z-h)"};
279279
const AxisSpec axisPtHadron{nBinsPt, 0, binPtmax, "p_{T,hadron} (GeV/c)"};
280280
const AxisSpec axisPtZ{nBinsPt, 0, binPtmax, "p_{T,Z} (GeV/c)"};
281281
const AxisSpec axisSign{2, -2, 2, "charge sign"};
282282
const AxisSpec axisCentrality{centralityBins, "centrality"};
283283
const AxisSpec axisEop{confaxisEop, "E/p"};
284-
const AxisSpec axisEopZneg{confaxisEopZneg, "E/p_{neg}"};
285-
const AxisSpec axisEopZpos{confaxisEopZpos, "E/p_{[pos}"};
284+
const AxisSpec axisEopZneg{confaxisEop, "E/p_{neg}"};
285+
const AxisSpec axisEopZpos{confaxisEop, "E/p_{[pos}"};
286286
const AxisSpec axisPt{confaxisPt, "p_{T}"};
287287
const AxisSpec axisPtZee{confaxisPtZee, "p_{T}"};
288288
const AxisSpec axisPtZneg{confaxisPtZneg, "p_{T,neg} (GeV/c)"};
289289
const AxisSpec axisPtZpos{confaxisPtZpos, "p_{T,pos} (GeV/c)"};
290290
const AxisSpec axisIsoEnergy{confaxisIsoEnergy, "E_{iso}"};
291-
const AxisSpec axisIsoEnergyZneg{confaxisIsoEnergyZneg, "E_{iso}"};
292-
const AxisSpec axisIsoEnergyZpos{confaxisIsoEnergyZpos, "E_{iso}"};
293-
const AxisSpec axisIsoMomentum{confaxisIsoMomentum, "Isolation momentum(GeV/C)"};
294-
const AxisSpec axisIsoMomentumZneg{confaxisIsoMomentumZneg, "Isolation momentum(GeV/C)"};
295-
const AxisSpec axisIsoMomentumZpos{confaxisIsoMomentumZpos, "Isolation momentum(GeV/C)"};
291+
const AxisSpec axisIsoEnergyZneg{confaxisIsoEnergy, "E_{iso, neg} (GeV)"};
292+
const AxisSpec axisIsoEnergyZpos{confaxisIsoEnergy, "E_{iso, pos} (GeV)"};
293+
const AxisSpec axisIsoMomentum{confaxisIsoMomentum, "p_{iso} (GeV/C)"};
294+
const AxisSpec axisIsoMomentumZneg{confaxisIsoMomentum, "p_{iso, neg}(GeV/C)"};
295+
const AxisSpec axisIsoMomentumZpos{confaxisIsoMomentum, "p_{iso, pos}(GeV/C)"};
296296
const AxisSpec axisIsoTrack{confaxisIsoTrack, "Isolation Track"};
297-
const AxisSpec axisIsoTrackZneg{confaxisIsoTrackZneg, "N_{isotrk,neg}"};
298-
const AxisSpec axisIsoTrackZpos{confaxisIsoTrackZpos, "N_{isotrk,pos}"};
297+
const AxisSpec axisIsoTrackZneg{confaxisIsoTrack, "N_{isotrk,neg}"};
298+
const AxisSpec axisIsoTrackZpos{confaxisIsoTrack, "N_{isotrk,pos}"};
299299
const AxisSpec axisInvMassZgamma{confaxisInvMassZgamma, "M_{ee} (GeV/c^{2})"};
300300
const AxisSpec axisInvMassZ{confaxisInvMassZ, "M_{ee} (GeV/c^{2})"};
301301
const AxisSpec axisZfrag{confaxisZfrag, "p_{T,h}/p_{T,Z}"};
@@ -333,13 +333,15 @@ struct HfTaskElectronWeakBoson {
333333
registry.add("hIsolationEnergy", "Isolation Energy", kTH2F, {{axisE}, {axisIsoEnergy}});
334334
registry.add("hInvMassZee", "invariant mass for Z ULS pair", HistType::kTHnSparseF, {axisCentrality, axisSign, axisPt, axisInvMassZgamma});
335335
registry.add("hKfInvMassZee", "invariant mass for Z ULS pair KFp", HistType::kTHnSparseF, {axisCentrality, axisSign, axisPt, axisInvMassZgamma});
336-
registry.add("hInvMassZeeQA", "QA for invariant mass for Z", HistType::kTHnSparseF, {axisInvMassZ, axisPtZneg, axisPtZpos, axisDCAxyneg, axisDCAxypos, axisDCAzpos, axisNclsTPCneg, axisNclsTPCpos, axisNclsITSneg, axisNclsITSpos, axisSectorTPCneg, axisSectorTPCneg, axisEopZneg, axisEopZpos, axisIsoEnergyZneg, axisIsoEnergyZpos, axisIsoMomentumZneg, axisIsoMomentumZpos, axisIsoTrackZneg, axisIsoTrackZpos});
337-
registry.add("hInvMassZeeQAbg", "QA for invariant mass for Z", HistType::kTHnSparseF, {axisInvMassZ, axisPtZneg, axisPtZpos, axisDCAxyneg, axisDCAxypos, axisDCAzpos, axisNclsTPCneg, axisNclsTPCpos, axisNclsITSneg, axisNclsITSpos, axisSectorTPCneg, axisSectorTPCneg, axisEopZneg, axisEopZpos, axisIsoEnergyZneg, axisIsoEnergyZpos, axisIsoMomentumZneg, axisIsoMomentumZpos, axisIsoTrackZneg, axisIsoTrackZpos});
336+
registry.add("hInvMassZeeTrkQA", "Track QA for invariant mass for Z", HistType::kTHnSparseF, {axisInvMassZ, axisPtZneg, axisPtZpos, axisDCAxyneg, axisDCAxypos, axisDCAzpos, axisNclsTPCneg, axisNclsTPCpos, axisNclsITSneg, axisNclsITSpos, axisSectorTPCneg, axisSectorTPCneg, axisEopZneg, axisEopZpos, axisIsoEnergyZneg, axisIsoEnergyZpos, axisIsoMomentumZneg, axisIsoMomentumZpos, axisIsoTrackZneg, axisIsoTrackZpos});
337+
registry.add("hInvMassZeeTrkQAbg", "Track QA for invariant mass for Z", HistType::kTHnSparseF, {axisInvMassZ, axisPtZneg, axisPtZpos, axisDCAxyneg, axisDCAxypos, axisDCAzpos, axisNclsTPCneg, axisNclsTPCpos, axisNclsITSneg, axisNclsITSpos, axisSectorTPCneg, axisSectorTPCneg, axisEopZneg, axisEopZpos, axisIsoEnergyZneg, axisIsoEnergyZpos, axisIsoMomentumZneg, axisIsoMomentumZpos, axisIsoTrackZneg, axisIsoTrackZpos});
338+
registry.add("hInvMassZeeEmcQA", "EMCal QA for invariant mass for Z", HistType::kTHnSparseF, {axisInvMassZ, axisPtZneg, axisPtZpos, axisEopZneg, axisEopZpos, axisM02neg, axisM02pos, axisNsigmaZneg, axisNsigmaZpos, axisIsoEnergyZneg, axisIsoEnergyZpos, axisIsoMomentumZneg, axisIsoMomentumZpos, axisIsoTrackZneg, axisIsoTrackZpos});
339+
registry.add("hInvMassZeeEmcQAbg", "EMCal QA for invariant mass for Z", HistType::kTHnSparseF, {axisInvMassZ, axisPtZneg, axisPtZpos, axisEopZneg, axisEopZpos, axisM02neg, axisM02pos, axisNsigmaZneg, axisNsigmaZpos, axisIsoEnergyZneg, axisIsoEnergyZpos, axisIsoMomentumZneg, axisIsoMomentumZpos, axisIsoTrackZneg, axisIsoTrackZpos});
338340
registry.add("hTHnElectrons", "electron info", HistType::kTHnSparseF, {axisPt, axisNsigma, axisM02, axisEop, axisIsoEnergy, axisIsoMomentum, axisIsoTrack, axisEta, axisDedx});
339341
registry.add("hTHnTrMatch", "Track EMC Match", HistType::kTHnSparseF, {axisPt, axisdPhi, axisdEta});
340342

341343
// Z-hadron correlation histograms
342-
registry.add("hZHadronDphi", "Z-hadron #Delta#phi correlation", HistType::kTHnSparseF, {axisCentrality, axisSign, axisPtZ, axisDPhiZh, axisZfrag, axisPtHadron});
344+
registry.add("hZHadronDphi", "Z-hadron #Delta#phi correlation", HistType::kTHnSparseF, {axisCentrality, axisSign, axisPtZ, axisDPhiZh, axisDEtaZh, axisZfrag, axisPtHadron});
343345
registry.add("hZptSpectrum", "Z boson p_{T} spectrum", kTH2F, {{axisSign}, {axisPtZ}});
344346

345347
// hisotgram for EMCal trigger
@@ -356,7 +358,7 @@ struct HfTaskElectronWeakBoson {
356358
float energyUE)
357359
{
358360
double energySum = 0.0;
359-
double energySum_excl = 0.0;
361+
double energySumExcl = 0.0;
360362
double isoEnergy = 10.0;
361363
double const etaAssCluster = cluster.eta();
362364
double const phiAssCluster = cluster.phi();
@@ -377,9 +379,9 @@ struct HfTaskElectronWeakBoson {
377379
energySum += associateCluster.energy();
378380
}
379381
}
380-
energySum_excl = energySum - cluster.energy();
382+
energySumExcl = energySum - cluster.energy();
381383
if (energySum > 0) {
382-
isoEnergy = (energySum_excl - energyUE) / cluster.energy();
384+
isoEnergy = (energySumExcl - energyUE) / cluster.energy();
383385
}
384386

385387
// LOG(info) <<"clustE = " << cluster.energy() << " ; energySum = " << energySum << " ; nclust in Cone = " << nclustSum - 1 << " ; UE = " << energyUE << " ; isoEnergy = " << isoEnergy;
@@ -671,6 +673,7 @@ struct HfTaskElectronWeakBoson {
671673
registry.fill(HIST("hTPCNsigma"), track.p(), track.tpcNSigmaEl());
672674

673675
float eop = -0.01;
676+
float m02 = -0.01;
674677
float isoEnergy = 99.0;
675678
// track isolation
676679
auto [trackCount, isoMomentum] = getIsolatedTrack(track.eta(), track.phi(), track.p(), tracks);
@@ -686,6 +689,8 @@ struct HfTaskElectronWeakBoson {
686689
eop,
687690
isoEnergy,
688691
isoMomentum,
692+
track.tpcNSigmaEl(),
693+
m02,
689694
trackCount,
690695
track.tpcNClsCrossedRows(),
691696
track.itsNCls());
@@ -758,6 +763,7 @@ struct HfTaskElectronWeakBoson {
758763
const auto& cluster = match.emcalcluster_as<SelectedClusters>();
759764

760765
eop = energyEmc / match.track_as<TrackEle>().p();
766+
m02 = m02Emc;
761767
// LOG(info) << "eop = " << eop;
762768

763769
isoEnergy = getIsolatedCluster(cluster, emcClusters, energyUE);
@@ -807,7 +813,7 @@ struct HfTaskElectronWeakBoson {
807813
// LOG(info) << "R mim = " << rMin;
808814
registry.fill(HIST("hTrMatch_mim"), dPhiMin, dEtaMin);
809815
}
810-
if (enableZeeRecoQA && track.pt() > ptZeeMin) {
816+
if ((enableZeeTrkRecoQA || enableZeeEmcRecoQA) && track.pt() > ptZeeMin) {
811817
if (track.sign() < 0) {
812818
selectedElectronsIso.emplace_back(
813819
track.pt(),
@@ -818,6 +824,8 @@ struct HfTaskElectronWeakBoson {
818824
eop,
819825
isoEnergy,
820826
isoMomentum,
827+
track.tpcNSigmaEl(),
828+
m02,
821829
trackCount,
822830
track.tpcNClsFound(),
823831
track.itsNCls());
@@ -831,6 +839,8 @@ struct HfTaskElectronWeakBoson {
831839
eop,
832840
isoEnergy,
833841
isoMomentum,
842+
track.tpcNSigmaEl(),
843+
m02,
834844
trackCount,
835845
track.tpcNClsFound(),
836846
track.itsNCls());
@@ -856,12 +866,13 @@ struct HfTaskElectronWeakBoson {
856866
// calculate Z-h correlation
857867
double const deltaPhi = RecoDecay::constrainAngle(trackAss.phi - zBoson.phi, -o2::constants::math::PIHalf);
858868
double const ptRatio = trackAss.pt / zBoson.pt;
859-
registry.fill(HIST("hZHadronDphi"), centrality, zBoson.charge, zBoson.pt, deltaPhi, ptRatio, trackAss.pt);
869+
double const deltaEta = zBoson.eta - trackAss.eta;
870+
registry.fill(HIST("hZHadronDphi"), centrality, zBoson.charge, zBoson.pt, deltaPhi, deltaEta, ptRatio, trackAss.pt);
860871
}
861872
}
862873
} // end of Z-hadron correlation
863874
// Z->ee QA
864-
if (enableZeeRecoQA) {
875+
if (enableZeeTrkRecoQA || enableZeeEmcRecoQA) {
865876
if (!selectedElectronsIso.empty() && !selectedPositronsIso.empty()) {
866877
// signal
867878
for (const auto& trackEle : selectedElectronsIso) {
@@ -872,7 +883,12 @@ struct HfTaskElectronWeakBoson {
872883
double const invMass = RecoDecay::m(std::array{child1, child2}, std::array{o2::constants::physics::MassElectron, o2::constants::physics::MassElectron});
873884
float const sectorpos = trackPos.phi / o2::constants::math::SectorSpanRad;
874885
if (invMass > massZMinQA) {
875-
registry.fill(HIST("hInvMassZeeQA"), invMass, trackEle.pt, trackPos.pt, trackEle.dcaxyTrk, trackPos.dcaxyTrk, trackPos.dcazTrk, trackEle.nclusterTPC, trackPos.nclusterTPC, trackEle.nclusterITS, trackPos.nclusterITS, sectorneg, sectorpos, trackEle.eop, trackPos.eop, trackEle.energyIso, trackPos.energyIso, trackEle.momIso, trackPos.momIso, trackEle.ntrackIso, trackPos.ntrackIso);
886+
if (enableZeeTrkRecoQA) {
887+
registry.fill(HIST("hInvMassZeeTrkQA"), invMass, trackEle.pt, trackPos.pt, trackEle.dcaxyTrk, trackPos.dcaxyTrk, trackPos.dcazTrk, trackEle.nclusterTPC, trackPos.nclusterTPC, trackEle.nclusterITS, trackPos.nclusterITS, sectorneg, sectorpos, trackEle.eop, trackPos.eop, trackEle.energyIso, trackPos.energyIso, trackEle.momIso, trackPos.momIso, trackEle.ntrackIso, trackPos.ntrackIso);
888+
}
889+
if (enableZeeEmcRecoQA) {
890+
registry.fill(HIST("hInvMassZeeEmcQA"), invMass, trackEle.pt, trackPos.pt, trackEle.eop, trackPos.eop, trackEle.m02Emc, trackPos.m02Emc, trackEle.dedxTrk, trackPos.dedxTrk, trackEle.energyIso, trackPos.energyIso, trackEle.momIso, trackPos.momIso, trackEle.ntrackIso, trackPos.ntrackIso);
891+
}
876892
}
877893
}
878894
}
@@ -887,7 +903,12 @@ struct HfTaskElectronWeakBoson {
887903
float const sectorpos = trackEle2.phi / o2::constants::math::SectorSpanRad;
888904
double const invMass = RecoDecay::m(std::array{child1, child2}, std::array{o2::constants::physics::MassElectron, o2::constants::physics::MassElectron});
889905
if (invMass > massZMinQA) {
890-
registry.fill(HIST("hInvMassZeeQAbg"), invMass, trackEle.pt, trackEle2.pt, trackEle.dcaxyTrk, trackEle2.dcaxyTrk, trackEle2.dcazTrk, trackEle.nclusterTPC, trackEle2.nclusterTPC, trackEle.nclusterITS, trackEle2.nclusterITS, sectorneg, sectorpos, trackEle.eop, trackEle2.eop, trackEle.energyIso, trackEle2.energyIso, trackEle.momIso, trackEle2.momIso, trackEle.ntrackIso, trackEle2.ntrackIso);
906+
if (enableZeeTrkRecoQA) {
907+
registry.fill(HIST("hInvMassZeeTrkQAbg"), invMass, trackEle.pt, trackEle2.pt, trackEle.dcaxyTrk, trackEle2.dcaxyTrk, trackEle2.dcazTrk, trackEle.nclusterTPC, trackEle2.nclusterTPC, trackEle.nclusterITS, trackEle2.nclusterITS, sectorneg, sectorpos, trackEle.eop, trackEle2.eop, trackEle.energyIso, trackEle2.energyIso, trackEle.momIso, trackEle2.momIso, trackEle.ntrackIso, trackEle2.ntrackIso);
908+
}
909+
if (enableZeeEmcRecoQA) {
910+
registry.fill(HIST("hInvMassZeeEmcQAbg"), invMass, trackEle.pt, trackEle2.pt, trackEle.eop, trackEle2.eop, trackEle.m02Emc, trackEle2.m02Emc, trackEle.dedxTrk, trackEle2.dedxTrk, trackEle.energyIso, trackEle2.energyIso, trackEle.momIso, trackEle2.momIso, trackEle.ntrackIso, trackEle2.ntrackIso);
911+
}
891912
}
892913
}
893914
}
@@ -902,10 +923,15 @@ struct HfTaskElectronWeakBoson {
902923
float const sectorpos = trackPos2.phi / o2::constants::math::SectorSpanRad;
903924
double const invMass = RecoDecay::m(std::array{child1, child2}, std::array{o2::constants::physics::MassElectron, o2::constants::physics::MassElectron});
904925
if (invMass > massZMinQA) {
905-
registry.fill(HIST("hInvMassZeeQAbg"), invMass, trackPos.pt, trackPos2.pt, trackPos.dcaxyTrk, trackPos2.dcaxyTrk, trackPos2.dcazTrk, trackPos.nclusterTPC, trackPos2.nclusterTPC, trackPos.nclusterITS, trackPos2.nclusterITS, sectorneg, sectorpos, trackPos.eop, trackPos2.eop, trackPos.energyIso, trackPos2.energyIso, trackPos.momIso, trackPos2.momIso, trackPos.ntrackIso, trackPos2.ntrackIso);
926+
if (enableZeeTrkRecoQA) {
927+
registry.fill(HIST("hInvMassZeeTrkQAbg"), invMass, trackPos.pt, trackPos2.pt, trackPos.dcaxyTrk, trackPos2.dcaxyTrk, trackPos2.dcazTrk, trackPos.nclusterTPC, trackPos2.nclusterTPC, trackPos.nclusterITS, trackPos2.nclusterITS, sectorneg, sectorpos, trackPos.eop, trackPos2.eop, trackPos.energyIso, trackPos2.energyIso, trackPos.momIso, trackPos2.momIso, trackPos.ntrackIso, trackPos2.ntrackIso);
928+
}
929+
if (enableZeeEmcRecoQA) {
930+
registry.fill(HIST("hInvMassZeeEmcQAbg"), invMass, trackPos.pt, trackPos2.pt, trackPos.eop, trackPos2.eop, trackPos.m02Emc, trackPos2.m02Emc, trackPos.dedxTrk, trackPos2.dedxTrk, trackPos.energyIso, trackPos2.energyIso, trackPos.momIso, trackPos2.momIso, trackPos.ntrackIso, trackPos2.ntrackIso);
931+
}
906932
}
907933
}
908-
}
934+
} // end of pos-pos paring
909935
} // check arrays aren't empty
910936
} // end of Z->ee QA
911937
} // process

0 commit comments

Comments
 (0)