Skip to content

Commit 7592bdd

Browse files
authored
Bugfixes, use _as for filters (necessary) (#5009)
1 parent a425eea commit 7592bdd

File tree

5 files changed

+59
-50
lines changed

5 files changed

+59
-50
lines changed

Analysis/Tasks/PWGLF/cascadeconsumer.cxx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
#include <cmath>
4545
#include <array>
4646
#include <cstdlib>
47-
#include "AnalysisDataModel/PID/PIDResponse.h"
4847
#include "Framework/ASoAHelpers.h"
4948

5049
using namespace o2;

Analysis/Tasks/PWGLF/cascadeproducer.cxx

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
#include "Framework/AnalysisTask.h"
3535
#include "Framework/AnalysisDataModel.h"
3636
#include "Framework/ASoAHelpers.h"
37-
#include "AnalysisDataModel/HFSecondaryVertex.h"
3837
#include "DetectorsVertexing/DCAFitterN.h"
3938
#include "ReconstructionDataFormats/Track.h"
4039
#include "AnalysisCore/RecoDecay.h"
@@ -53,7 +52,6 @@
5352
#include <cmath>
5453
#include <array>
5554
#include <cstdlib>
56-
#include "AnalysisDataModel/PID/PIDResponse.h"
5755
#include "Framework/ASoAHelpers.h"
5856

5957
using namespace o2;
@@ -99,29 +97,29 @@ struct cascadeprefilterpairs {
9997
for (auto& casc : Cascades) {
10098
//Single-track properties filter
10199
if (tpcrefit) {
102-
if (!(casc.v0().posTrack().flags() & 0x40)) {
100+
if (!(casc.v0_as<o2::aod::V0DataExt>().posTrack_as<FullTracksExt>().trackType() & o2::aod::track::TPCrefit)) {
103101
continue; //TPC refit
104102
}
105-
if (!(casc.v0().negTrack().flags() & 0x40)) {
103+
if (!(casc.v0_as<o2::aod::V0DataExt>().negTrack_as<FullTracksExt>().trackType() & o2::aod::track::TPCrefit)) {
106104
continue; //TPC refit
107105
}
108-
if (!(casc.bachelor().flags() & 0x40)) {
106+
if (!(casc.bachelor_as<FullTracksExt>().trackType() & o2::aod::track::TPCrefit)) {
109107
continue; //TPC refit
110108
}
111109
}
112-
if (casc.v0().posTrack().tpcNClsCrossedRows() < mincrossedrows) {
110+
if (casc.v0_as<o2::aod::V0DataExt>().posTrack_as<FullTracksExt>().tpcNClsCrossedRows() < mincrossedrows) {
113111
continue;
114112
}
115-
if (casc.v0().negTrack().tpcNClsCrossedRows() < mincrossedrows) {
113+
if (casc.v0_as<o2::aod::V0DataExt>().negTrack_as<FullTracksExt>().tpcNClsCrossedRows() < mincrossedrows) {
116114
continue;
117115
}
118-
if (casc.bachelor().tpcNClsCrossedRows() < mincrossedrows) {
116+
if (casc.bachelor_as<FullTracksExt>().tpcNClsCrossedRows() < mincrossedrows) {
119117
continue;
120118
}
121-
if (casc.v0().posTrack_as<FullTracksExt>().dcaXY() < dcapostopv) {
119+
if (casc.v0_as<o2::aod::V0DataExt>().posTrack_as<FullTracksExt>().dcaXY() < dcapostopv) {
122120
continue;
123121
}
124-
if (casc.v0().negTrack_as<FullTracksExt>().dcaXY() < dcanegtopv) {
122+
if (casc.v0_as<o2::aod::V0DataExt>().negTrack_as<FullTracksExt>().dcaXY() < dcanegtopv) {
125123
continue;
126124
}
127125
if (casc.bachelor_as<FullTracksExt>().dcaXY() < dcabachtopv) {
@@ -144,7 +142,10 @@ struct cascadeprefilterpairs {
144142
if (casc.v0_as<o2::aod::V0DataExt>().dcav0topv(collision.posX(), collision.posY(), collision.posZ()) < dcav0topv) {
145143
continue;
146144
}
147-
cascgood(casc.v0().globalIndex(), casc.bachelor().globalIndex(), casc.bachelor().collisionId());
145+
cascgood(
146+
casc.v0_as<o2::aod::V0DataExt>().globalIndex(),
147+
casc.bachelor_as<FullTracksExt>().globalIndex(),
148+
casc.bachelor_as<FullTracksExt>().collisionId());
148149
}
149150
}
150151
};
@@ -196,9 +197,9 @@ struct cascadeproducer {
196197
hCascCandidate->Fill(0.5);
197198

198199
//Acquire basic tracks
199-
auto pTrack = getTrackParCov(casc.v0().posTrack());
200-
auto nTrack = getTrackParCov(casc.v0().negTrack());
201-
auto bTrack = getTrackParCov(casc.bachelor());
200+
auto pTrack = getTrackParCov(casc.v0_as<o2::aod::V0DataExt>().posTrack_as<FullTracksExt>());
201+
auto nTrack = getTrackParCov(casc.v0_as<o2::aod::V0DataExt>().negTrack_as<FullTracksExt>());
202+
auto bTrack = getTrackParCov(casc.bachelor_as<FullTracksExt>());
202203
if (casc.bachelor().signed1Pt() > 0) {
203204
charge = +1;
204205
}
@@ -251,15 +252,18 @@ struct cascadeproducer {
251252
} //end if cascade recoed
252253
} //end if v0 recoed
253254
//Fill table, please
254-
cascdata(casc.v0().globalIndex(), casc.bachelor().globalIndex(), casc.bachelor().collisionId(),
255-
charge, posXi[0], posXi[1], posXi[2], pos[0], pos[1], pos[2],
256-
pvecpos[0], pvecpos[1], pvecpos[2],
257-
pvecneg[0], pvecneg[1], pvecneg[2],
258-
pvecbach[0], pvecbach[1], pvecbach[2],
259-
fitterV0.getChi2AtPCACandidate(), fitterCasc.getChi2AtPCACandidate(),
260-
casc.v0().posTrack_as<FullTracksExt>().dcaXY(),
261-
casc.v0().negTrack_as<FullTracksExt>().dcaXY(),
262-
casc.bachelor_as<FullTracksExt>().dcaXY());
255+
cascdata(
256+
casc.v0_as<o2::aod::V0DataExt>().globalIndex(),
257+
casc.bachelor_as<FullTracksExt>().globalIndex(),
258+
casc.bachelor_as<FullTracksExt>().collisionId(),
259+
charge, posXi[0], posXi[1], posXi[2], pos[0], pos[1], pos[2],
260+
pvecpos[0], pvecpos[1], pvecpos[2],
261+
pvecneg[0], pvecneg[1], pvecneg[2],
262+
pvecbach[0], pvecbach[1], pvecbach[2],
263+
fitterV0.getChi2AtPCACandidate(), fitterCasc.getChi2AtPCACandidate(),
264+
casc.v0().posTrack_as<FullTracksExt>().dcaXY(),
265+
casc.v0().negTrack_as<FullTracksExt>().dcaXY(),
266+
casc.bachelor_as<FullTracksExt>().dcaXY());
263267
}
264268
}
265269
};

Analysis/Tasks/PWGLF/lambdakzeroconsumer.cxx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
#include <cmath>
4444
#include <array>
4545
#include <cstdlib>
46-
#include "AnalysisDataModel/PID/PIDResponse.h"
4746
#include "Framework/ASoAHelpers.h"
4847

4948
using namespace o2;

Analysis/Tasks/PWGLF/lambdakzerofinder.cxx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
#include "Framework/AnalysisTask.h"
3232
#include "Framework/AnalysisDataModel.h"
3333
#include "Framework/ASoAHelpers.h"
34-
#include "AnalysisDataModel/HFSecondaryVertex.h"
3534
#include "DetectorsVertexing/DCAFitterN.h"
3635
#include "ReconstructionDataFormats/Track.h"
3736
#include "AnalysisCore/RecoDecay.h"

Analysis/Tasks/PWGLF/lambdakzeroproducer.cxx

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
#include "Framework/AnalysisTask.h"
3535
#include "Framework/AnalysisDataModel.h"
3636
#include "Framework/ASoAHelpers.h"
37-
#include "AnalysisDataModel/HFSecondaryVertex.h"
3837
#include "DetectorsVertexing/DCAFitterN.h"
3938
#include "ReconstructionDataFormats/Track.h"
4039
#include "AnalysisCore/RecoDecay.h"
@@ -53,7 +52,6 @@
5352
#include <cmath>
5453
#include <array>
5554
#include <cstdlib>
56-
#include "AnalysisDataModel/PID/PIDResponse.h"
5755
#include "Framework/ASoAHelpers.h"
5856

5957
using namespace o2;
@@ -85,35 +83,41 @@ struct lambdakzeroprefilterpairs {
8583
Configurable<int> mincrossedrows{"mincrossedrows", 70, "min crossed rows"};
8684
Configurable<bool> tpcrefit{"tpcrefit", 1, "demand TPC refit"};
8785

86+
OutputObj<TH1F> hGoodIndices{TH1F("hGoodIndices", "", 4, 0, 4)};
87+
8888
Produces<aod::V0GoodIndices> v0goodindices;
8989

9090
void process(aod::Collision const& collision, aod::V0s const& V0s,
9191
soa::Join<aod::FullTracks, aod::TracksExtended> const& tracks)
9292
{
9393
for (auto& V0 : V0s) {
94+
hGoodIndices->Fill(0.5);
9495
if (tpcrefit) {
95-
if (!(V0.posTrack().flags() & 0x40)) {
96+
if (!(V0.posTrack_as<FullTracksExt>().trackType() & o2::aod::track::TPCrefit)) {
9697
continue; //TPC refit
9798
}
98-
if (!(V0.negTrack().flags() & 0x40)) {
99+
if (!(V0.negTrack_as<FullTracksExt>().trackType() & o2::aod::track::TPCrefit)) {
99100
continue; //TPC refit
100101
}
101102
}
102-
if (V0.posTrack().tpcNClsCrossedRows() < mincrossedrows) {
103+
hGoodIndices->Fill(1.5);
104+
if (V0.posTrack_as<FullTracksExt>().tpcNClsCrossedRows() < mincrossedrows) {
103105
continue;
104106
}
105-
if (V0.negTrack().tpcNClsCrossedRows() < mincrossedrows) {
107+
if (V0.negTrack_as<FullTracksExt>().tpcNClsCrossedRows() < mincrossedrows) {
106108
continue;
107109
}
108-
109-
if (V0.posTrack_as<FullTracksExt>().dcaXY() < dcapostopv) {
110+
hGoodIndices->Fill(2.5);
111+
if (fabs(V0.posTrack_as<FullTracksExt>().dcaXY()) < dcapostopv) {
110112
continue;
111113
}
112-
if (V0.negTrack_as<FullTracksExt>().dcaXY() < dcanegtopv) {
114+
if (fabs(V0.negTrack_as<FullTracksExt>().dcaXY()) < dcanegtopv) {
113115
continue;
114116
}
115-
116-
v0goodindices(V0.posTrack().globalIndex(), V0.negTrack().globalIndex(), V0.posTrack().collisionId());
117+
hGoodIndices->Fill(3.5);
118+
v0goodindices(V0.posTrack_as<FullTracksExt>().globalIndex(),
119+
V0.negTrack_as<FullTracksExt>().globalIndex(),
120+
V0.posTrack_as<FullTracksExt>().collisionId());
117121
}
118122
}
119123
};
@@ -124,7 +128,7 @@ struct lambdakzeroproducer {
124128
Produces<aod::V0Data> v0data;
125129

126130
OutputObj<TH1F> hEventCounter{TH1F("hEventCounter", "", 1, 0, 1)};
127-
OutputObj<TH1F> hCascCandidate{TH1F("hCascCandidate", "", 10, 0, 10)};
131+
OutputObj<TH1F> hV0Candidate{TH1F("hV0Candidate", "", 2, 0, 2)};
128132

129133
//Configurables
130134
Configurable<double> d_bz{"d_bz", -5.0, "bz field"};
@@ -162,13 +166,13 @@ struct lambdakzeroproducer {
162166
std::array<float, 3> pvec0 = {0.};
163167
std::array<float, 3> pvec1 = {0.};
164168

165-
hCascCandidate->Fill(0.5);
166-
auto pTrack = getTrackParCov(V0.posTrack());
167-
auto nTrack = getTrackParCov(V0.negTrack());
169+
hV0Candidate->Fill(0.5);
170+
171+
auto pTrack = getTrackParCov(V0.posTrack_as<FullTracksExt>());
172+
auto nTrack = getTrackParCov(V0.negTrack_as<FullTracksExt>());
168173
int nCand = fitter.process(pTrack, nTrack);
169174
if (nCand != 0) {
170175
fitter.propagateTracksToVertex();
171-
hCascCandidate->Fill(2.5);
172176
const auto& vtx = fitter.getPCACandidate();
173177
for (int i = 0; i < 3; i++) {
174178
pos[i] = vtx[i];
@@ -178,7 +182,7 @@ struct lambdakzeroproducer {
178182
}
179183

180184
//Apply selections so a skimmed table is created only
181-
if (fitter.getChi2AtPCACandidate() < dcav0dau) {
185+
if (fitter.getChi2AtPCACandidate() > dcav0dau) {
182186
continue;
183187
}
184188

@@ -188,13 +192,17 @@ struct lambdakzeroproducer {
188192
continue;
189193
}
190194

191-
v0data(V0.posTrack().globalIndex(), V0.negTrack().globalIndex(), V0.negTrack().collisionId(),
192-
pos[0], pos[1], pos[2],
193-
pvec0[0], pvec0[1], pvec0[2],
194-
pvec1[0], pvec1[1], pvec1[2],
195-
fitter.getChi2AtPCACandidate(),
196-
V0.posTrack_as<FullTracksExt>().dcaXY(),
197-
V0.negTrack_as<FullTracksExt>().dcaXY());
195+
hV0Candidate->Fill(1.5);
196+
v0data(
197+
V0.posTrack_as<FullTracksExt>().globalIndex(),
198+
V0.negTrack_as<FullTracksExt>().globalIndex(),
199+
V0.negTrack_as<FullTracksExt>().collisionId(),
200+
pos[0], pos[1], pos[2],
201+
pvec0[0], pvec0[1], pvec0[2],
202+
pvec1[0], pvec1[1], pvec1[2],
203+
fitter.getChi2AtPCACandidate(),
204+
V0.posTrack_as<FullTracksExt>().dcaXY(),
205+
V0.negTrack_as<FullTracksExt>().dcaXY());
198206
}
199207
}
200208
};

0 commit comments

Comments
 (0)