@@ -141,6 +141,7 @@ struct HfTaskElectronWeakBoson {
141141
142142 // QA for Z->ee
143143 Configurable<bool > enableZeeRecoQA{" enableZeeRecoQA" , false , " Enable QA for Z->ee reconstruction" };
144+ Configurable<int > ZeeRecoQAtype{" ZeeRecoQAtype" , 1 , " QA for Z->ee reconstruction" };
144145 Configurable<float > massZMinQA{" massZMinQA" , 0.1 , " minimum mass cut for Zee Reco QA" };
145146 // CCDB service object
146147 Service<o2::ccdb::BasicCCDBManager> ccdb{};
@@ -151,10 +152,10 @@ struct HfTaskElectronWeakBoson {
151152 Configurable<bool > useUEsub{" useUEsub" , true , " apply UE subtraction in isolation" };
152153
153154 struct HfElectronCandidate {
154- float pt, eta, phi, dcaxyTrk, dcazTrk, eop, energyIso, momIso;
155+ float pt, eta, phi, dcaxyTrk, dcazTrk, eop, energyIso, momIso, dedxTrk, m02Emc ;
155156 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) {}
157+ 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)
158+ : 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) {}
158159 };
159160 std::vector<HfElectronCandidate> selectedElectronsIso;
160161 std::vector<HfElectronCandidate> selectedPositronsIso;
@@ -196,20 +197,13 @@ struct HfTaskElectronWeakBoson {
196197 ConfigurableAxis confaxisPtZneg{" confaxisPtZneg" , {60 , 20 , 80 }, " p_{T,neg} (GeV/c)" };
197198 ConfigurableAxis confaxisPtZpos{" confaxisPtZpos" , {60 , 20 , 80 }, " p_{T,pos} (GeV/c)" };
198199 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}" };
201200 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}" };
201+ ConfigurableAxis confaxisIsoMomentum{" confaxisIsoMomentum" , {255 , 0 , 2.0 }, " p_{iso}" };
207202 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}" };
210203 ConfigurableAxis confaxisInvMassZgamma{" confaxisInvMassZgamma" , {150 , 0 , 150 }, " M_{ee} (GeV/c^{2})" };
211204 ConfigurableAxis confaxisInvMassZ{" confaxisInvMassZ" , {130 , 20 , 150 }, " M_{ee} (GeV/c^{2})" };
212205 ConfigurableAxis confaxisZfrag{" confaxisZfrag" , {200 , 0 , 2.0 }, " p_{T,h}/p_{T,Z}" };
206+ ConfigurableAxis confaxisDEtaZh{" confaxisDEtaZh" , {200 , -4.0 , 4.0 }, " #Delta#eta" };
213207 ConfigurableAxis confaxisMultPV{" confaxisMultPV" , {200 , 0 , 200.0 }, " multiplicity" };
214208 ConfigurableAxis confaxisMultFT0{" confaxisMultFT0" , {1000 , 0 , 1000.0 }, " multiplicity" };
215209
@@ -262,9 +256,13 @@ struct HfTaskElectronWeakBoson {
262256 const AxisSpec axisSectorTPCneg{360 , 0 , 18 , " TPCsector_{neg}" };
263257 const AxisSpec axisSectorTPCpos{360 , 0 , 18 , " TPCsector_{pos}" };
264258 const AxisSpec axisNsigma{100 , -5 , 5 , " N#sigma" };
259+ const AxisSpec axisNsigmaZneg{100 , -5 , 5 , " N#sigma_{pos}" };
260+ const AxisSpec axisNsigmaZpos{100 , -5 , 5 , " N#sigma_{neg}" };
265261 const AxisSpec axisDedx{150 , 0 , 150 , " dEdx" };
266262 const AxisSpec axisE{nBinsE, 0 , binEmax, " Energy" };
267263 const AxisSpec axisM02{100 , 0 , 1 , " M02" };
264+ const AxisSpec axisM02neg{100 , 0 , 1 , " M02(neg)" };
265+ const AxisSpec axisM02pos{100 , 0 , 1 , " M02(pos)" };
268266 const AxisSpec axisdPhi{100 , -0.5 , 0.5 , " dPhi" };
269267 const AxisSpec axisdEta{100 , -0.5 , 0.5 , " dEta" };
270268 const AxisSpec axisdR{20 , 0.0 , 0.2 , " dR" };
@@ -276,26 +274,27 @@ struct HfTaskElectronWeakBoson {
276274 const AxisSpec axisEMCtime{100 , -50.0 , 50 , " EMC time" };
277275 const AxisSpec axisTrigger{3 , -0.5 , 2.5 , " Trigger status of zorro" };
278276 const AxisSpec axisDPhiZh{64 , -o2::constants::math::PIHalf, 3 * o2::constants::math::PIHalf, " #Delta#phi(Z-h)" };
277+ const AxisSpec axisDEtaZh{confaxisDEtaZh, " #Delta#Eta(Z-h)" };
279278 const AxisSpec axisPtHadron{nBinsPt, 0 , binPtmax, " p_{T,hadron} (GeV/c)" };
280279 const AxisSpec axisPtZ{nBinsPt, 0 , binPtmax, " p_{T,Z} (GeV/c)" };
281280 const AxisSpec axisSign{2 , -2 , 2 , " charge sign" };
282281 const AxisSpec axisCentrality{centralityBins, " centrality" };
283282 const AxisSpec axisEop{confaxisEop, " E/p" };
284- const AxisSpec axisEopZneg{confaxisEopZneg , " E/p_{neg}" };
285- const AxisSpec axisEopZpos{confaxisEopZpos , " E/p_{[pos}" };
283+ const AxisSpec axisEopZneg{confaxisEop , " E/p_{neg}" };
284+ const AxisSpec axisEopZpos{confaxisEop , " E/p_{[pos}" };
286285 const AxisSpec axisPt{confaxisPt, " p_{T}" };
287286 const AxisSpec axisPtZee{confaxisPtZee, " p_{T}" };
288287 const AxisSpec axisPtZneg{confaxisPtZneg, " p_{T,neg} (GeV/c)" };
289288 const AxisSpec axisPtZpos{confaxisPtZpos, " p_{T,pos} (GeV/c)" };
290289 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)" };
290+ const AxisSpec axisIsoEnergyZneg{confaxisIsoEnergy , " E_{iso, neg} (GeV) " };
291+ const AxisSpec axisIsoEnergyZpos{confaxisIsoEnergy , " E_{iso, pos} (GeV) " };
292+ const AxisSpec axisIsoMomentum{confaxisIsoMomentum, " p_{iso} (GeV/C)" };
293+ const AxisSpec axisIsoMomentumZneg{confaxisIsoMomentum , " p_{iso, neg} (GeV/C)" };
294+ const AxisSpec axisIsoMomentumZpos{confaxisIsoMomentum , " p_{iso, pos} (GeV/C)" };
296295 const AxisSpec axisIsoTrack{confaxisIsoTrack, " Isolation Track" };
297- const AxisSpec axisIsoTrackZneg{confaxisIsoTrackZneg , " N_{isotrk,neg}" };
298- const AxisSpec axisIsoTrackZpos{confaxisIsoTrackZpos , " N_{isotrk,pos}" };
296+ const AxisSpec axisIsoTrackZneg{confaxisIsoTrack , " N_{isotrk,neg}" };
297+ const AxisSpec axisIsoTrackZpos{confaxisIsoTrack , " N_{isotrk,pos}" };
299298 const AxisSpec axisInvMassZgamma{confaxisInvMassZgamma, " M_{ee} (GeV/c^{2})" };
300299 const AxisSpec axisInvMassZ{confaxisInvMassZ, " M_{ee} (GeV/c^{2})" };
301300 const AxisSpec axisZfrag{confaxisZfrag, " p_{T,h}/p_{T,Z}" };
@@ -333,13 +332,15 @@ struct HfTaskElectronWeakBoson {
333332 registry.add (" hIsolationEnergy" , " Isolation Energy" , kTH2F , {{axisE}, {axisIsoEnergy}});
334333 registry.add (" hInvMassZee" , " invariant mass for Z ULS pair" , HistType::kTHnSparseF , {axisCentrality, axisSign, axisPt, axisInvMassZgamma});
335334 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});
335+ 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});
336+ 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});
337+ 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});
338+ 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});
338339 registry.add (" hTHnElectrons" , " electron info" , HistType::kTHnSparseF , {axisPt, axisNsigma, axisM02, axisEop, axisIsoEnergy, axisIsoMomentum, axisIsoTrack, axisEta, axisDedx});
339340 registry.add (" hTHnTrMatch" , " Track EMC Match" , HistType::kTHnSparseF , {axisPt, axisdPhi, axisdEta});
340341
341342 // Z-hadron correlation histograms
342- registry.add (" hZHadronDphi" , " Z-hadron #Delta#phi correlation" , HistType::kTHnSparseF , {axisCentrality, axisSign, axisPtZ, axisDPhiZh, axisZfrag, axisPtHadron});
343+ registry.add (" hZHadronDphi" , " Z-hadron #Delta#phi correlation" , HistType::kTHnSparseF , {axisCentrality, axisSign, axisPtZ, axisDPhiZh, axisDEtaZh, axisZfrag, axisPtHadron});
343344 registry.add (" hZptSpectrum" , " Z boson p_{T} spectrum" , kTH2F , {{axisSign}, {axisPtZ}});
344345
345346 // hisotgram for EMCal trigger
@@ -671,6 +672,7 @@ struct HfTaskElectronWeakBoson {
671672 registry.fill (HIST (" hTPCNsigma" ), track.p (), track.tpcNSigmaEl ());
672673
673674 float eop = -0.01 ;
675+ float m02 = -0.01 ;
674676 float isoEnergy = 99.0 ;
675677 // track isolation
676678 auto [trackCount, isoMomentum] = getIsolatedTrack (track.eta (), track.phi (), track.p (), tracks);
@@ -686,6 +688,8 @@ struct HfTaskElectronWeakBoson {
686688 eop,
687689 isoEnergy,
688690 isoMomentum,
691+ track.tpcNSigmaEl (),
692+ m02,
689693 trackCount,
690694 track.tpcNClsCrossedRows (),
691695 track.itsNCls ());
@@ -758,6 +762,7 @@ struct HfTaskElectronWeakBoson {
758762 const auto & cluster = match.emcalcluster_as <SelectedClusters>();
759763
760764 eop = energyEmc / match.track_as <TrackEle>().p ();
765+ m02 = m02Emc;
761766 // LOG(info) << "eop = " << eop;
762767
763768 isoEnergy = getIsolatedCluster (cluster, emcClusters, energyUE);
@@ -818,6 +823,8 @@ struct HfTaskElectronWeakBoson {
818823 eop,
819824 isoEnergy,
820825 isoMomentum,
826+ track.tpcNSigmaEl (),
827+ m02,
821828 trackCount,
822829 track.tpcNClsFound (),
823830 track.itsNCls ());
@@ -831,6 +838,8 @@ struct HfTaskElectronWeakBoson {
831838 eop,
832839 isoEnergy,
833840 isoMomentum,
841+ track.tpcNSigmaEl (),
842+ m02,
834843 trackCount,
835844 track.tpcNClsFound (),
836845 track.itsNCls ());
@@ -856,7 +865,8 @@ struct HfTaskElectronWeakBoson {
856865 // calculate Z-h correlation
857866 double const deltaPhi = RecoDecay::constrainAngle (trackAss.phi - zBoson.phi , -o2::constants::math::PIHalf);
858867 double const ptRatio = trackAss.pt / zBoson.pt ;
859- registry.fill (HIST (" hZHadronDphi" ), centrality, zBoson.charge , zBoson.pt , deltaPhi, ptRatio, trackAss.pt );
868+ double const deltaEta = zBoson.eta - trackAss.eta ;
869+ registry.fill (HIST (" hZHadronDphi" ), centrality, zBoson.charge , zBoson.pt , deltaPhi, deltaEta, ptRatio, trackAss.pt );
860870 }
861871 }
862872 } // end of Z-hadron correlation
@@ -872,7 +882,12 @@ struct HfTaskElectronWeakBoson {
872882 double const invMass = RecoDecay::m (std::array{child1, child2}, std::array{o2::constants::physics::MassElectron, o2::constants::physics::MassElectron});
873883 float const sectorpos = trackPos.phi / o2::constants::math::SectorSpanRad;
874884 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 );
885+ if (ZeeRecoQAtype == 1 ) {
886+ 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 );
887+ }
888+ if (ZeeRecoQAtype == 2 ) {
889+ 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 );
890+ }
876891 }
877892 }
878893 }
@@ -887,7 +902,12 @@ struct HfTaskElectronWeakBoson {
887902 float const sectorpos = trackEle2.phi / o2::constants::math::SectorSpanRad;
888903 double const invMass = RecoDecay::m (std::array{child1, child2}, std::array{o2::constants::physics::MassElectron, o2::constants::physics::MassElectron});
889904 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 );
905+ if (ZeeRecoQAtype == 1 ) {
906+ 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 );
907+ }
908+ if (ZeeRecoQAtype == 2 ) {
909+ 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 );
910+ }
891911 }
892912 }
893913 }
@@ -902,10 +922,15 @@ struct HfTaskElectronWeakBoson {
902922 float const sectorpos = trackPos2.phi / o2::constants::math::SectorSpanRad;
903923 double const invMass = RecoDecay::m (std::array{child1, child2}, std::array{o2::constants::physics::MassElectron, o2::constants::physics::MassElectron});
904924 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 );
925+ if (ZeeRecoQAtype == 1 ) {
926+ 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 );
927+ }
928+ if (ZeeRecoQAtype == 2 ) {
929+ 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 );
930+ }
906931 }
907932 }
908- }
933+ } // end of pos-pos paring
909934 } // check arrays aren't empty
910935 } // end of Z->ee QA
911936 } // process
0 commit comments