@@ -69,29 +69,28 @@ struct HfTaskElectronWeakBoson {
6969 // configurable parameters
7070 Configurable<int > nBinsPt{" nBinsPt" , 100 , " N bins in pt registry" };
7171 Configurable<float > binPtmax{" binPtmax" , 100.0 , " maximum pt registry" };
72- Configurable<int > nBinsPtZee{" nBinsPtZee" , 60 , " N bins in pt Zee registry" };
73- Configurable<float > binPtZeemin{" binPtZeemin" , 20.0 , " minimum pt Zee registry" };
74- Configurable<float > binPtZeemax{" binPtZeemax" , 80.0 , " maximum pt Zee registry" };
7572 Configurable<int > nBinsE{" nBinsE" , 100 , " N bins in E registry" };
7673 Configurable<float > binEmax{" binEmax" , 100.0 , " maximum E registry" };
77- Configurable<int > nBinsEop{" nBinsEop" , 300 , " N bins in E/p registry" };
78- Configurable<float > binEopmin{" binEopmin" , -0.01 , " minimum E/p registry" };
79- Configurable<float > binEopmax{" binEopmax" , 1.49 , " maximum E/p registry" };
80- Configurable<int > nBinsEiso{" nBinsEiso" , 255 , " N bins in Eiso registry" };
81- Configurable<float > binEisomin{" binEisomin" , 0 , " minimum Eiso registry" };
82- Configurable<float > binEisomax{" binEisomax" , 2.0 , " maximum Eiso registry" };
83- Configurable<int > nBinsPiso{" nBinsPiso" , 255 , " N bins in mom. isolation registry" };
84- Configurable<float > binPisomin{" binPisomin" , 0 , " minimum mom. isolation registry" };
85- Configurable<float > binPisomax{" binPisomax" , 1.5 , " maximum mom. isolation registry" };
86- Configurable<int > nBinsTriso{" nBinsTriso" , 25 , " N bins in Track isolation registry" };
87- Configurable<float > binTrisomin{" binTrisomin" , -0.5 , " minimum Track isolation registry" };
88- Configurable<float > binTrisomax{" binTrisomax" , 24.5 , " maximum Track isolation registry" };
89- Configurable<int > nBinsMassZg{" nBinsMassZg" , 150 , " N bins in Mass Zgamma registry" };
90- Configurable<float > binMassZgmax{" binMassZgmax" , 150 , " maximum Mass Zgamma registry" };
91- Configurable<int > nBinsMassZ{" nBinsMassZ" , 130 , " N bins in Mass Z registry" };
92- Configurable<float > binMassZmin{" binMassZmin" , 20 , " minimum Mass Z registry" };
93- Configurable<int > nBinsZfrag{" nBinsZfrag" , 200 , " N bins in Z frag registry" };
94- Configurable<float > binZfragmin{" binZfragmin" , 2 , " maximum Z frag registry" };
74+
75+ ConfigurableAxis confaxisPt{" confaxisPt" , {100 , 0 , 100 }, " p_{T}" };
76+ ConfigurableAxis confaxisPtZee{" confaxisPtZee" , {60 , 20 , 80 }, " p_{T}" };
77+ ConfigurableAxis confaxisPtZneg{" confaxisPtZneg" , {60 , 20 , 80 }, " p_{T,neg} (GeV/c)" };
78+ ConfigurableAxis confaxisPtZpos{" confaxisPtZpos" , {60 , 20 , 80 }, " p_{T,pos} (GeV/c)" };
79+ ConfigurableAxis confaxisEop{" confaxisEop" , {300 , -0.01 , 1.49 }, " E/p" };
80+ ConfigurableAxis confaxisEopZneg{" confaxisEopZneg" , {300 , -0.01 , 1.49 }, " E/p_{neg}" };
81+ ConfigurableAxis confaxisEopZpos{" confaxisEopZpos" , {300 , -0.01 , 1.49 }, " E/p_{pos}" };
82+ ConfigurableAxis confaxisIsoEnergy{" confaxisIsoEnergy" , {255 , 0 , 2.0 }, " E_{iso}" };
83+ ConfigurableAxis confaxisIsoEnergyZneg{" confaxisIsoEnergyZneg" , {255 , 0 , 2.0 }, " E_{iso,neg}" };
84+ ConfigurableAxis confaxisIsoEnergyZpos{" confaxisIsoEnergyZpos" , {255 , 0 , 2.0 }, " E_{iso,pos}" };
85+ ConfigurableAxis confaxisIsoMomentum{" confaxisIsoMomentum" , {255 , 0 , 2.0 }, " E_{iso}" };
86+ ConfigurableAxis confaxisIsoMomentumZneg{" confaxisIsoMomentumZneg" , {255 , 0 , 1.5 }, " E_{iso,neg}" };
87+ ConfigurableAxis confaxisIsoMomentumZpos{" confaxisIsoMomentumZpos" , {255 , 0 , 1.5 }, " E_{iso,pos}" };
88+ ConfigurableAxis confaxisIsoTrack{" confaxisIsoTrack" , {25 , -0.5 , 24.5 }, " Isolation Track" };
89+ ConfigurableAxis confaxisIsoTrackZneg{" confaxisIsoTrackZneg" , {25 , -0.5 , 24.5 }, " N_{isotrk,neg}" };
90+ ConfigurableAxis confaxisIsoTrackZpos{" confaxisIsoTrackZpos" , {25 , -0.5 , 24.5 }, " N_{isotrk,pos}" };
91+ ConfigurableAxis confaxisInvMassZgamma{" confaxisInvMassZgamma" , {150 , 0 , 150 }, " M_{ee} (GeV/c^{2})" };
92+ ConfigurableAxis confaxisInvMassZ{" confaxisInvMassZ" , {130 , 20 , 150 }, " M_{ee} (GeV/c^{2})" };
93+ ConfigurableAxis confaxisZfrag{" confaxisZfrag" , {200 , 0 , 2.0 }, " p_{T,h}/p_{T,Z}" };
9594
9695 Configurable<float > vtxZ{" vtxZ" , 10 .f , " " };
9796
@@ -234,10 +233,6 @@ struct HfTaskElectronWeakBoson {
234233 const AxisSpec axisZvtx{40 , -20 , 20 , " Zvtx" };
235234 const AxisSpec axisCounter{1 , 0 , 1 , " events" };
236235 const AxisSpec axisEta{20 , -1.0 , 1.0 , " #eta" };
237- const AxisSpec axisPt{nBinsPt, 0 , binPtmax, " p_{T}" };
238- const AxisSpec axisPtZee{nBinsPtZee, binPtZeemin, binPtZeemax, " p_{T}" };
239- const AxisSpec axisPtZneg{nBinsPtZee, binPtZeemin, binPtZeemax, " p_{T,neg} (GeV/c)" };
240- const AxisSpec axisPtZpos{nBinsPtZee, binPtZeemin, binPtZeemax, " p_{T,pos} (GeV/c)" };
241236 const AxisSpec axisDCAxyneg{150 , 0 , 0.3 , " DCAxy_{neg}" };
242237 const AxisSpec axisDCAxypos{150 , 0 , 0.3 , " DCAxy_{pos}" };
243238 const AxisSpec axisDCAzneg{150 , 0 , 0.3 , " DCAz_{neg}" };
@@ -257,31 +252,35 @@ struct HfTaskElectronWeakBoson {
257252 const AxisSpec axisdR{20 , 0.0 , 0.2 , " dR" };
258253 const AxisSpec axisNcell{50 , 0.0 , 50.0 , " Ncell" };
259254 const AxisSpec axisPhi{350 , 0 , 7 , " Phi" };
260- const AxisSpec axisEop{nBinsEop, binEopmin, binEopmax, " E/p" };
261- const AxisSpec axisEopZneg{nBinsEop, binEopmin, binEopmax, " E/p" };
262- const AxisSpec axisEopZpos{nBinsEop, binEopmin, binEopmax, " E/p" };
263255 const AxisSpec axisChi2{250 , 0.0 , 25.0 , " #chi^{2}" };
264256 const AxisSpec axisCluster{100 , 0.0 , 200.0 , " counts" };
265257 const AxisSpec axisITSNCls{10 , 0.0 , 10 , " counts" };
266258 const AxisSpec axisEMCtime{100 , -50.0 , 50 , " EMC time" };
267- const AxisSpec axisIsoEnergy{nBinsEiso, binEisomin, binEisomax, " E_{iso}" };
268- const AxisSpec axisIsoEnergyZneg{nBinsEiso, binEisomin, binEisomax, " E_{iso}" };
269- const AxisSpec axisIsoEnergyZpos{nBinsEiso, binEisomin, binEisomax, " E_{iso}" };
270- const AxisSpec axisIsoMomentum{nBinsPiso, binPisomin, binPisomax, " Isolation momentum(GeV/C)" };
271- const AxisSpec axisIsoMomentumZneg{nBinsPiso, binPisomin, binPisomax, " Isolation momentum(GeV/C)" };
272- const AxisSpec axisIsoMomentumZpos{nBinsPiso, binPisomin, binPisomax, " Isolation momentum(GeV/C)" };
273- const AxisSpec axisIsoTrack{nBinsTriso, binTrisomin, binTrisomax, " Isolation Track" };
274- const AxisSpec axisIsoTrackZneg{nBinsTriso, binTrisomin, binTrisomax, " N_{isotrk,neg}" };
275- const AxisSpec axisIsoTrackZpos{nBinsTriso, binTrisomin, binTrisomax, " N_{isotrk,pos}" };
276- const AxisSpec axisInvMassZgamma{nBinsMassZg, 0 , binMassZgmax, " M_{ee} (GeV/c^{2})" };
277- const AxisSpec axisInvMassZ{nBinsMassZ, binMassZmin, binMassZgmax, " M_{ee} (GeV/c^{2})" };
278259 const AxisSpec axisTrigger{3 , -0.5 , 2.5 , " Trigger status of zorro" };
279260 const AxisSpec axisDPhiZh{64 , -o2::constants::math::PIHalf, 3 * o2::constants::math::PIHalf, " #Delta#phi(Z-h)" };
280261 const AxisSpec axisPtHadron{nBinsPt, 0 , binPtmax, " p_{T,hadron} (GeV/c)" };
281262 const AxisSpec axisPtZ{nBinsPt, 0 , binPtmax, " p_{T,Z} (GeV/c)" };
282263 const AxisSpec axisSign{2 , -2 , 2 , " charge sign" };
283- const AxisSpec axisCentrality{centralityBins};
284- const AxisSpec axisZfrag{nBinsZfrag, 0 , binZfragmin, " p_{T,h}/p_{T,Z}" };
264+ const AxisSpec axisCentrality{centralityBins, " centrality" };
265+ const AxisSpec axisEop{confaxisEop, " E/p" };
266+ const AxisSpec axisEopZneg{confaxisEopZneg, " E/p_{neg}" };
267+ const AxisSpec axisEopZpos{confaxisEopZpos, " E/p_{[pos}" };
268+ const AxisSpec axisPt{confaxisPt, " p_{T}" };
269+ const AxisSpec axisPtZee{confaxisPtZee, " p_{T}" };
270+ const AxisSpec axisPtZneg{confaxisPtZneg, " p_{T,neg} (GeV/c)" };
271+ const AxisSpec axisPtZpos{confaxisPtZpos, " p_{T,pos} (GeV/c)" };
272+ const AxisSpec axisIsoEnergy{confaxisIsoEnergy, " E_{iso}" };
273+ const AxisSpec axisIsoEnergyZneg{confaxisIsoEnergyZneg, " E_{iso}" };
274+ const AxisSpec axisIsoEnergyZpos{confaxisIsoEnergyZpos, " E_{iso}" };
275+ const AxisSpec axisIsoMomentum{confaxisIsoMomentum, " Isolation momentum(GeV/C)" };
276+ const AxisSpec axisIsoMomentumZneg{confaxisIsoMomentumZneg, " Isolation momentum(GeV/C)" };
277+ const AxisSpec axisIsoMomentumZpos{confaxisIsoMomentumZpos, " Isolation momentum(GeV/C)" };
278+ const AxisSpec axisIsoTrack{confaxisIsoTrack, " Isolation Track" };
279+ const AxisSpec axisIsoTrackZneg{confaxisIsoTrackZneg, " N_{isotrk,neg}" };
280+ const AxisSpec axisIsoTrackZpos{confaxisIsoTrackZpos, " N_{isotrk,pos}" };
281+ const AxisSpec axisInvMassZgamma{confaxisInvMassZgamma, " M_{ee} (GeV/c^{2})" };
282+ const AxisSpec axisInvMassZ{confaxisInvMassZ, " M_{ee} (GeV/c^{2})" };
283+ const AxisSpec axisZfrag{confaxisZfrag, " p_{T,h}/p_{T,Z}" };
285284
286285 // create registrygrams
287286 registry.add (" hZvtx" , " Z vertex" , kTH1D , {axisZvtx});
@@ -770,11 +769,10 @@ struct HfTaskElectronWeakBoson {
770769 }
771770 }
772771 // bg e-e-
773- for (const auto & trackEle : selectedElectronsIso) {
774- for (const auto & trackEle2 : selectedElectronsIso) {
775- if (&trackEle.pt == &trackEle2.pt ) {
776- continue ;
777- }
772+ for (size_t i = 0 ; i < selectedElectronsIso.size (); ++i) {
773+ for (size_t j = i + 1 ; j < selectedElectronsIso.size (); ++j) {
774+ const auto & trackEle = selectedElectronsIso[i];
775+ const auto & trackEle2 = selectedElectronsIso[j];
778776 auto child1 = RecoDecayPtEtaPhi::pVector (trackEle.pt , trackEle.eta , trackEle.phi );
779777 auto child2 = RecoDecayPtEtaPhi::pVector (trackEle2.pt , trackEle2.eta , trackEle2.phi );
780778 double invMass = RecoDecay::m (std::array{child1, child2}, std::array{o2::constants::physics::MassElectron, o2::constants::physics::MassElectron});
@@ -786,11 +784,10 @@ struct HfTaskElectronWeakBoson {
786784 }
787785 }
788786 // bg e+e+
789- for (const auto & trackPos : selectedPositronsIso) {
790- for (const auto & trackPos2 : selectedPositronsIso) {
791- if (&trackPos.pt == &trackPos2.pt ) {
792- continue ;
793- }
787+ for (size_t i = 0 ; i < selectedPositronsIso.size (); ++i) {
788+ for (size_t j = i + 1 ; j < selectedPositronsIso.size (); ++j) {
789+ const auto & trackPos = selectedPositronsIso[i];
790+ const auto & trackPos2 = selectedPositronsIso[j];
794791 auto child1 = RecoDecayPtEtaPhi::pVector (trackPos.pt , trackPos.eta , trackPos.phi );
795792 auto child2 = RecoDecayPtEtaPhi::pVector (trackPos2.pt , trackPos2.eta , trackPos2.phi );
796793 double invMass = RecoDecay::m (std::array{child1, child2}, std::array{o2::constants::physics::MassElectron, o2::constants::physics::MassElectron});
0 commit comments