Skip to content

Commit 5ad26a8

Browse files
committed
reduce code repetition in data model
1 parent cb539cc commit 5ad26a8

File tree

2 files changed

+90
-184
lines changed

2 files changed

+90
-184
lines changed

DPG/Tasks/TPC/tpcSkimsTableCreator.cxx

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
/// \author Annalena Kalteyer <annalena.sophie.kalteyer@cern.ch>
1616
/// \author Christian Sonnabend <christian.sonnabend@cern.ch>
1717
/// \author Jeremy Wilkinson <jeremy.wilkinson@cern.ch>
18+
/// \author Oleksii Lubynets <oleksii.lubynets@cern.ch>
1819

1920
#include "tpcSkimsTableCreator.h"
2021

@@ -283,16 +284,16 @@ struct TreeWriterTpcV0 {
283284
id,
284285
nSigmaTPC,
285286
nSigmaTOF,
287+
runnumber,
288+
trackOcc,
289+
ft0Occ,
290+
hadronicRate,
286291
alpha,
287292
qt,
288293
cosPA,
289294
pT,
290295
v0radius,
291-
gammapsipair,
292-
runnumber,
293-
trackOcc,
294-
ft0Occ,
295-
hadronicRate);
296+
gammapsipair);
296297
}
297298
};
298299

@@ -340,16 +341,16 @@ struct TreeWriterTpcV0 {
340341
id,
341342
nSigmaTPC,
342343
nSigmaTOF,
344+
runnumber,
345+
trackOcc,
346+
ft0Occ,
347+
hadronicRate,
343348
alpha,
344349
qt,
345350
cosPA,
346351
pT,
347352
v0radius,
348353
gammapsipair,
349-
runnumber,
350-
trackOcc,
351-
ft0Occ,
352-
hadronicRate,
353354
existTrkQA ? trackQA.tpcdEdxNorm() : -999);
354355
} else {
355356
rowTPCTreeWithTrkQA(usedDedx,
@@ -368,16 +369,16 @@ struct TreeWriterTpcV0 {
368369
id,
369370
nSigmaTPC,
370371
nSigmaTOF,
372+
runnumber,
373+
trackOcc,
374+
ft0Occ,
375+
hadronicRate,
371376
alpha,
372377
qt,
373378
cosPA,
374379
pT,
375380
v0radius,
376381
gammapsipair,
377-
runnumber,
378-
trackOcc,
379-
ft0Occ,
380-
hadronicRate,
381382
bcGlobalIndex,
382383
bcTimeFrameId,
383384
bcBcInTimeFrame,
@@ -823,7 +824,7 @@ struct TreeWriterTPCTOF {
823824

824825
/// Function to fill trees
825826
template <bool DoCorrectDeDx = false, typename T, typename C>
826-
void fillSkimmedTPCTOFTable(T const& track, C const& collision, const float nSigmaTPC, const float nSigmaTOF, const float dEdxExp, const o2::track::PID::ID id, const int runnumber, const double dwnSmplFactor, const double hadronicRate)
827+
void fillSkimmedTPCTOFTable(T const& track, C const& collision, const float nSigmaTPC, const float nSigmaTOF, const float nSigmaITS, const float dEdxExp, const o2::track::PID::ID id, const int runnumber, const double dwnSmplFactor, const double hadronicRate)
827828
{
828829

829830
const double ncl = track.tpcNClsFound();
@@ -862,7 +863,8 @@ struct TreeWriterTPCTOF {
862863
runnumber,
863864
trackOcc,
864865
ft0Occ,
865-
hadronicRate);
866+
hadronicRate,
867+
nSigmaITS);
866868
}
867869
};
868870

@@ -903,11 +905,11 @@ struct TreeWriterTPCTOF {
903905
id,
904906
nSigmaTPC,
905907
nSigmaTOF,
906-
nSigmaITS,
907908
runnumber,
908909
trackOcc,
909910
ft0Occ,
910911
hadronicRate,
912+
nSigmaITS,
911913
existTrkQA ? trackQA.tpcdEdxNorm() : -999);
912914
} else {
913915
rowTPCTOFTreeWithTrkQA(usedEdx,
@@ -926,11 +928,11 @@ struct TreeWriterTPCTOF {
926928
id,
927929
nSigmaTPC,
928930
nSigmaTOF,
929-
nSigmaITS,
930931
runnumber,
931932
trackOcc,
932933
ft0Occ,
933934
hadronicRate,
935+
nSigmaITS,
934936
bcGlobalIndex,
935937
bcTimeFrameId,
936938
bcBcInTimeFrame,
@@ -1011,7 +1013,7 @@ struct TreeWriterTPCTOF {
10111013
((trk.tpcInnerParam() <= tofTrack->maxMomTPCOnly && std::fabs(tofTrack->tpcNSigma) < tofTrack->nSigmaTPCOnly) ||
10121014
(trk.tpcInnerParam() > tofTrack->maxMomTPCOnly && std::fabs(tofTrack->tofNSigma) < tofTrack->nSigmaTofTpctof && std::fabs(tofTrack->tpcNSigma) < tofTrack->nSigmaTpcTpctof)) &&
10131015
downsampleTsalisCharged(trk.pt(), tofTrack->downsamplingTsalis, tofTrack->mass)) {
1014-
fillSkimmedTPCTOFTable<IsCorrectedDeDx>(trk, collision, tofTrack->tpcNSigma, tofTrack->tofNSigma, tofTrack->tpcExpSignal, tofTrack->pid, runnumber, tofTrack->dwnSmplFactor, hadronicRate);
1016+
fillSkimmedTPCTOFTable<IsCorrectedDeDx>(trk, collision, tofTrack->tpcNSigma, tofTrack->tofNSigma, tofTrack->itsNSigma, tofTrack->tpcExpSignal, tofTrack->pid, runnumber, tofTrack->dwnSmplFactor, hadronicRate);
10151017
}
10161018
}
10171019
} /// Loop tracks

DPG/Tasks/TPC/tpcSkimsTableCreator.h

Lines changed: 70 additions & 166 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,18 @@
1414
/// \author Christian Sonnabend <christian.sonnabend@cern.ch>
1515
/// \author Jeremy Wilkinson <jeremy.wilkinson@cern.ch>
1616
/// \author Ana Marin <ana.marin@cern.ch>
17+
/// \author Oleksii Lubynets <oleksii.lubynets@cern.ch>
1718
/// \brief Creates clean samples of particles for PID fits
1819

1920
#ifndef DPG_TASKS_TPC_TPCSKIMSTABLECREATOR_H_
2021
#define DPG_TASKS_TPC_TPCSKIMSTABLECREATOR_H_
2122

22-
#include "Framework/AnalysisTask.h"
23-
#include "Framework/AnalysisDataModel.h"
2423
#include "Common/Core/trackUtilities.h"
2524
#include "Common/DataModel/PIDResponse.h"
2625

26+
#include "Framework/AnalysisDataModel.h"
27+
#include "Framework/AnalysisTask.h"
28+
2729
namespace o2::aod
2830
{
2931
namespace tpcskims
@@ -52,181 +54,83 @@ DECLARE_SOA_COLUMN(BcGlobalIndex, bcGlobalIndex, int);
5254
DECLARE_SOA_COLUMN(BcTimeFrameId, bcTimeFrameId, int);
5355
DECLARE_SOA_COLUMN(BcBcInTimeFrame, bcBcInTimeFrame, int);
5456
} // namespace tpcskims
57+
58+
#define TPCSKIMS_COLUMNS_BASE \
59+
o2::aod::track::TPCSignal, \
60+
tpcskims::InvDeDxExpTPC, \
61+
o2::aod::track::TPCInnerParam, \
62+
o2::aod::track::Tgl, \
63+
o2::aod::track::Signed1Pt, \
64+
o2::aod::track::Eta, \
65+
o2::aod::track::Phi, \
66+
o2::aod::track::Y, \
67+
tpcskims::Mass, \
68+
tpcskims::BetaGamma, \
69+
tpcskims::NormMultTPC, \
70+
tpcskims::NormNClustersTPC, \
71+
tpcskims::NormNClustersTPCPID, \
72+
tpcskims::PidIndex, \
73+
tpcskims::NSigTPC, \
74+
tpcskims::NSigTOF, \
75+
tpcskims::RunNumber, \
76+
tpcskims::TrackOcc, \
77+
tpcskims::Ft0Occ, \
78+
tpcskims::HadronicRate
79+
80+
#define TPCSKIMS_COLUMNS_V0 \
81+
TPCSKIMS_COLUMNS_BASE, \
82+
tpcskims::AlphaV0, \
83+
tpcskims::QtV0, \
84+
tpcskims::CosPAV0, \
85+
tpcskims::PtV0, \
86+
tpcskims::RadiusV0, \
87+
tpcskims::GammaPsiPair
88+
89+
#define TPCSKIMS_COLUMNS_TOF \
90+
TPCSKIMS_COLUMNS_BASE, \
91+
tpcskims::NSigITS
92+
93+
#define TPCSKIMS_COLUMNS_TRACK_QA \
94+
tpcskims::BcGlobalIndex, \
95+
tpcskims::BcTimeFrameId, \
96+
tpcskims::BcBcInTimeFrame, \
97+
o2::aod::trackqa::TPCClusterByteMask, \
98+
o2::aod::trackqa::TPCdEdxMax0R, \
99+
o2::aod::trackqa::TPCdEdxMax1R, \
100+
o2::aod::trackqa::TPCdEdxMax2R, \
101+
o2::aod::trackqa::TPCdEdxMax3R, \
102+
o2::aod::trackqa::TPCdEdxTot0R, \
103+
o2::aod::trackqa::TPCdEdxTot1R, \
104+
o2::aod::trackqa::TPCdEdxTot2R, \
105+
o2::aod::trackqa::TPCdEdxTot3R
106+
55107
DECLARE_SOA_TABLE(SkimmedTPCV0Tree, "AOD", "TPCSKIMV0TREE",
56-
o2::aod::track::TPCSignal,
57-
tpcskims::InvDeDxExpTPC,
58-
o2::aod::track::TPCInnerParam,
59-
o2::aod::track::Tgl,
60-
o2::aod::track::Signed1Pt,
61-
o2::aod::track::Eta,
62-
o2::aod::track::Phi,
63-
o2::aod::track::Y,
64-
tpcskims::Mass,
65-
tpcskims::BetaGamma,
66-
tpcskims::NormMultTPC,
67-
tpcskims::NormNClustersTPC,
68-
tpcskims::NormNClustersTPCPID,
69-
tpcskims::PidIndex,
70-
tpcskims::NSigTPC,
71-
tpcskims::NSigTOF,
72-
tpcskims::AlphaV0,
73-
tpcskims::QtV0,
74-
tpcskims::CosPAV0,
75-
tpcskims::PtV0,
76-
tpcskims::RadiusV0,
77-
tpcskims::GammaPsiPair,
78-
tpcskims::RunNumber,
79-
tpcskims::TrackOcc,
80-
tpcskims::Ft0Occ,
81-
tpcskims::HadronicRate);
108+
TPCSKIMS_COLUMNS_V0);
109+
82110
DECLARE_SOA_TABLE(SkimmedTPCV0TreeWithdEdxTrkQA, "AOD", "TPCSKIMV0WdE",
83-
o2::aod::track::TPCSignal,
84-
tpcskims::InvDeDxExpTPC,
85-
o2::aod::track::TPCInnerParam,
86-
o2::aod::track::Tgl,
87-
o2::aod::track::Signed1Pt,
88-
o2::aod::track::Eta,
89-
o2::aod::track::Phi,
90-
o2::aod::track::Y,
91-
tpcskims::Mass,
92-
tpcskims::BetaGamma,
93-
tpcskims::NormMultTPC,
94-
tpcskims::NormNClustersTPC,
95-
tpcskims::NormNClustersTPCPID,
96-
tpcskims::PidIndex,
97-
tpcskims::NSigTPC,
98-
tpcskims::NSigTOF,
99-
tpcskims::AlphaV0,
100-
tpcskims::QtV0,
101-
tpcskims::CosPAV0,
102-
tpcskims::PtV0,
103-
tpcskims::RadiusV0,
104-
tpcskims::GammaPsiPair,
105-
tpcskims::RunNumber,
106-
tpcskims::TrackOcc,
107-
tpcskims::Ft0Occ,
108-
tpcskims::HadronicRate,
111+
TPCSKIMS_COLUMNS_V0,
109112
o2::aod::trackqa::TPCdEdxNorm);
113+
110114
DECLARE_SOA_TABLE(SkimmedTPCV0TreeWithTrkQA, "AOD", "TPCSKIMV0WQA",
111-
o2::aod::track::TPCSignal,
112-
tpcskims::InvDeDxExpTPC,
113-
o2::aod::track::TPCInnerParam,
114-
o2::aod::track::Tgl,
115-
o2::aod::track::Signed1Pt,
116-
o2::aod::track::Eta,
117-
o2::aod::track::Phi,
118-
o2::aod::track::Y,
119-
tpcskims::Mass,
120-
tpcskims::BetaGamma,
121-
tpcskims::NormMultTPC,
122-
tpcskims::NormNClustersTPC,
123-
tpcskims::NormNClustersTPCPID,
124-
tpcskims::PidIndex,
125-
tpcskims::NSigTPC,
126-
tpcskims::NSigTOF,
127-
tpcskims::AlphaV0,
128-
tpcskims::QtV0,
129-
tpcskims::CosPAV0,
130-
tpcskims::PtV0,
131-
tpcskims::RadiusV0,
132-
tpcskims::GammaPsiPair,
133-
tpcskims::RunNumber,
134-
tpcskims::TrackOcc,
135-
tpcskims::Ft0Occ,
136-
tpcskims::HadronicRate,
137-
tpcskims::BcGlobalIndex,
138-
tpcskims::BcTimeFrameId,
139-
tpcskims::BcBcInTimeFrame,
140-
o2::aod::trackqa::TPCClusterByteMask,
141-
o2::aod::trackqa::TPCdEdxMax0R,
142-
o2::aod::trackqa::TPCdEdxMax1R,
143-
o2::aod::trackqa::TPCdEdxMax2R,
144-
o2::aod::trackqa::TPCdEdxMax3R,
145-
o2::aod::trackqa::TPCdEdxTot0R,
146-
o2::aod::trackqa::TPCdEdxTot1R,
147-
o2::aod::trackqa::TPCdEdxTot2R,
148-
o2::aod::trackqa::TPCdEdxTot3R,
115+
TPCSKIMS_COLUMNS_V0,
116+
TPCSKIMS_COLUMNS_TRACK_QA,
149117
o2::aod::trackqa::TPCdEdxNorm);
150118

151119
DECLARE_SOA_TABLE(SkimmedTPCTOFTree, "AOD", "TPCTOFSKIMTREE",
152-
o2::aod::track::TPCSignal,
153-
tpcskims::InvDeDxExpTPC,
154-
o2::aod::track::TPCInnerParam,
155-
o2::aod::track::Tgl,
156-
o2::aod::track::Signed1Pt,
157-
o2::aod::track::Eta,
158-
o2::aod::track::Phi,
159-
o2::aod::track::Y,
160-
tpcskims::Mass,
161-
tpcskims::BetaGamma,
162-
tpcskims::NormMultTPC,
163-
tpcskims::NormNClustersTPC,
164-
tpcskims::NormNClustersTPCPID,
165-
tpcskims::PidIndex,
166-
tpcskims::NSigTPC,
167-
tpcskims::NSigTOF,
168-
tpcskims::RunNumber,
169-
tpcskims::TrackOcc,
170-
tpcskims::Ft0Occ,
171-
tpcskims::HadronicRate);
120+
TPCSKIMS_COLUMNS_TOF);
172121

173122
DECLARE_SOA_TABLE(SkimmedTPCTOFTreeWithdEdxTrkQA, "AOD", "TPCTOFSKIMWdE",
174-
o2::aod::track::TPCSignal,
175-
tpcskims::InvDeDxExpTPC,
176-
o2::aod::track::TPCInnerParam,
177-
o2::aod::track::Tgl,
178-
o2::aod::track::Signed1Pt,
179-
o2::aod::track::Eta,
180-
o2::aod::track::Phi,
181-
o2::aod::track::Y,
182-
tpcskims::Mass,
183-
tpcskims::BetaGamma,
184-
tpcskims::NormMultTPC,
185-
tpcskims::NormNClustersTPC,
186-
tpcskims::NormNClustersTPCPID,
187-
tpcskims::PidIndex,
188-
tpcskims::NSigTPC,
189-
tpcskims::NSigTOF,
190-
tpcskims::NSigITS,
191-
tpcskims::RunNumber,
192-
tpcskims::TrackOcc,
193-
tpcskims::Ft0Occ,
194-
tpcskims::HadronicRate,
123+
TPCSKIMS_COLUMNS_TOF,
195124
o2::aod::trackqa::TPCdEdxNorm);
125+
196126
DECLARE_SOA_TABLE(SkimmedTPCTOFTreeWithTrkQA, "AOD", "TPCTOFSKIMWQA",
197-
o2::aod::track::TPCSignal,
198-
tpcskims::InvDeDxExpTPC,
199-
o2::aod::track::TPCInnerParam,
200-
o2::aod::track::Tgl,
201-
o2::aod::track::Signed1Pt,
202-
o2::aod::track::Eta,
203-
o2::aod::track::Phi,
204-
o2::aod::track::Y,
205-
tpcskims::Mass,
206-
tpcskims::BetaGamma,
207-
tpcskims::NormMultTPC,
208-
tpcskims::NormNClustersTPC,
209-
tpcskims::NormNClustersTPCPID,
210-
tpcskims::PidIndex,
211-
tpcskims::NSigTPC,
212-
tpcskims::NSigTOF,
213-
tpcskims::NSigITS,
214-
tpcskims::RunNumber,
215-
tpcskims::TrackOcc,
216-
tpcskims::Ft0Occ,
217-
tpcskims::HadronicRate,
218-
tpcskims::BcGlobalIndex,
219-
tpcskims::BcTimeFrameId,
220-
tpcskims::BcBcInTimeFrame,
221-
o2::aod::trackqa::TPCClusterByteMask,
222-
o2::aod::trackqa::TPCdEdxMax0R,
223-
o2::aod::trackqa::TPCdEdxMax1R,
224-
o2::aod::trackqa::TPCdEdxMax2R,
225-
o2::aod::trackqa::TPCdEdxMax3R,
226-
o2::aod::trackqa::TPCdEdxTot0R,
227-
o2::aod::trackqa::TPCdEdxTot1R,
228-
o2::aod::trackqa::TPCdEdxTot2R,
229-
o2::aod::trackqa::TPCdEdxTot3R,
127+
TPCSKIMS_COLUMNS_TOF,
128+
TPCSKIMS_COLUMNS_TRACK_QA,
230129
o2::aod::trackqa::TPCdEdxNorm);
130+
131+
#undef TPCSKIMS_COLUMNS_TRACK_QA
132+
#undef TPCSKIMS_COLUMNS_TOF
133+
#undef TPCSKIMS_COLUMNS_V0
134+
#undef TPCSKIMS_COLUMNS_BASE
231135
} // namespace o2::aod
232136
#endif // DPG_TASKS_TPC_TPCSKIMSTABLECREATOR_H_

0 commit comments

Comments
 (0)