-
Notifications
You must be signed in to change notification settings - Fork 650
Expand file tree
/
Copy pathCorrelationTables.h
More file actions
596 lines (528 loc) · 35.8 KB
/
CorrelationTables.h
File metadata and controls
596 lines (528 loc) · 35.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
/// \file CorrelationTables.h
/// \brief Correlation table definitions.
/// \author Vít Kučera <vit.kucera@cern.ch>, Inha University
#ifndef PWGHF_HFC_DATAMODEL_CORRELATIONTABLES_H_
#define PWGHF_HFC_DATAMODEL_CORRELATIONTABLES_H_
#include "PWGHF/DataModel/CandidateReconstructionTables.h" // IWYU pragma: keep
#include "Common/Core/RecoDecay.h"
#include <CommonConstants/MathConstants.h>
#include <Framework/ASoA.h>
#include <Framework/AnalysisDataModel.h>
#include <cstdint>
namespace o2::aod
{
// definition of columns and tables for D-Dbar correlation pairs
namespace hf_correlation_d_dbar
{
DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float);
DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float);
DECLARE_SOA_COLUMN(PtD, ptD, float);
DECLARE_SOA_COLUMN(PtDbar, ptDbar, float);
DECLARE_SOA_COLUMN(MD, mD, float);
DECLARE_SOA_COLUMN(MDbar, mDbar, float);
DECLARE_SOA_COLUMN(SignalStatus, signalStatus, int);
} // namespace hf_correlation_d_dbar
DECLARE_SOA_TABLE(DDbarPair, "AOD", "DDBARPAIR",
aod::hf_correlation_d_dbar::DeltaPhi,
aod::hf_correlation_d_dbar::DeltaEta,
aod::hf_correlation_d_dbar::PtD,
aod::hf_correlation_d_dbar::PtDbar);
DECLARE_SOA_TABLE(DDbarRecoInfo, "AOD", "DDBARRECOINFO",
aod::hf_correlation_d_dbar::MD,
aod::hf_correlation_d_dbar::MDbar,
aod::hf_correlation_d_dbar::SignalStatus);
// definition of columns and tables for D0-Hadron correlation pairs
namespace hf_correlation_d0_hadron
{
DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between D0 and Hadrons
DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between D0 and Hadrons
DECLARE_SOA_COLUMN(PtD, ptD, float); //! Transverse momentum of D0
DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron
DECLARE_SOA_COLUMN(MD, mD, float); //! Invariant mass of D0
DECLARE_SOA_COLUMN(MDbar, mDbar, float); //! Invariant mass of D0bar
DECLARE_SOA_COLUMN(MlScoreBkgD0, mlScoreBkgD0, float); //! ML background score for D0 selection
DECLARE_SOA_COLUMN(MlScoreNonPromptD0, mlScoreNonPromptD0, float); //! ML prompt score for D0 selection
DECLARE_SOA_COLUMN(MlScorePromptD0, mlScorePromptD0, float); //! ML prompt score for D0 selection
DECLARE_SOA_COLUMN(MlScoreBkgD0bar, mlScoreBkgD0bar, float); //! ML background score for D0 selection
DECLARE_SOA_COLUMN(MlScoreNonPromptD0bar, mlScoreNonPromptD0bar, float); //! ML prompt score for D0 selection
DECLARE_SOA_COLUMN(MlScorePromptD0bar, mlScorePromptD0bar, float); //! ML prompt score for D0 selection
DECLARE_SOA_COLUMN(SignalStatus, signalStatus, int); //! Tag for D0,D0bar
DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin for the MixedEvent
DECLARE_SOA_COLUMN(TrackDcaXY, trackDcaXY, float); //! DCA xy of the track
DECLARE_SOA_COLUMN(TrackDcaZ, trackDcaZ, float); //! DCA z of the track
DECLARE_SOA_COLUMN(TrackTPCNClsCrossedRows, trackTPCNClsCrossedRows, int); //! Number of crossed TPC Rows
DECLARE_SOA_COLUMN(IsAutoCorrelated, isAutoCorrelated, bool); //! Correlation Status
DECLARE_SOA_COLUMN(Cent, cent, float); //! Centrality of Collision
DECLARE_SOA_COLUMN(TrackOrigin, trackOrigin, int); //! Check track origin
DECLARE_SOA_COLUMN(IsPrompt, isPrompt, bool); //! Used in MC-Rec, D0 Prompt or Non-Prompt
DECLARE_SOA_COLUMN(IsPhysicalPrimary, isPhysicalPrimary, bool); //! Used in MC-Rec, primary associated particles
enum ParticleTypeData {
D0Only = 1, // Identified as D0
D0barOnly, // Identified as D0bar
D0D0barBoth, // Identified as both D0 and D0bar
D0OnlySoftPi = 11, // Identified as D0 with soft pion
D0barOnlySoftPi, // Identified as D0bar with soft pion
D0D0barBothSoftPi // Identified as both D0 and D0bar with soft pion
};
enum ParticleTypeMcRec {
D0Sig = 0, // D0 signal
D0Ref, // D0 reflection
D0Bg, // D0 background
D0barSig, // D0bar signal
D0barRef, // D0bar reflection
D0barBg, // D0bar background
SoftPi // pairs including soft pion
};
} // namespace hf_correlation_d0_hadron
DECLARE_SOA_TABLE(D0HadronPair, "AOD", "D0HPAIR", //! D0-Hadrons pairs Informations
aod::hf_correlation_d0_hadron::DeltaPhi,
aod::hf_correlation_d0_hadron::DeltaEta,
aod::hf_correlation_d0_hadron::PtD,
aod::hf_correlation_d0_hadron::PtHadron,
aod::hf_correlation_d0_hadron::PoolBin,
aod::hf_correlation_d0_hadron::IsAutoCorrelated,
aod::hf_correlation_d0_hadron::Cent);
DECLARE_SOA_TABLE(D0HadronRecoInfo, "AOD", "D0HRECOINFO", //! D0-Hadrons pairs Reconstructed Informations
aod::hf_correlation_d0_hadron::MD,
aod::hf_correlation_d0_hadron::MDbar,
aod::hf_correlation_d0_hadron::SignalStatus);
DECLARE_SOA_TABLE(D0HadronGenInfo, "AOD", "D0HGENINFO", //! D0-Hadrons pairs Generated Information
aod::hf_correlation_d0_hadron::IsPrompt,
aod::hf_correlation_d0_hadron::IsPhysicalPrimary,
aod::hf_correlation_d0_hadron::TrackOrigin);
DECLARE_SOA_TABLE(D0HadronMlInfo, "AOD", "D0HMLINFO", //! D0-Hadrons pairs Machine Learning Information
aod::hf_correlation_d0_hadron::MlScoreBkgD0,
aod::hf_correlation_d0_hadron::MlScoreNonPromptD0,
aod::hf_correlation_d0_hadron::MlScorePromptD0,
aod::hf_correlation_d0_hadron::MlScoreBkgD0bar,
aod::hf_correlation_d0_hadron::MlScoreNonPromptD0bar,
aod::hf_correlation_d0_hadron::MlScorePromptD0bar);
DECLARE_SOA_TABLE(D0CandRecoInfo, "AOD", "D0CANDRECOINFO", //! Ds candidates Reconstructed Information
aod::hf_correlation_d0_hadron::MD,
aod::hf_correlation_d0_hadron::MDbar,
aod::hf_correlation_d0_hadron::PtD,
aod::hf_correlation_d0_hadron::MlScoreBkgD0,
aod::hf_correlation_d0_hadron::MlScorePromptD0,
aod::hf_correlation_d0_hadron::MlScoreBkgD0bar,
aod::hf_correlation_d0_hadron::MlScorePromptD0bar);
DECLARE_SOA_TABLE(D0CandGenInfo, "AOD", "D0CANDGENOINFO", //! Ds candidates Generated Information
aod::hf_correlation_d0_hadron::IsPrompt);
DECLARE_SOA_TABLE(D0TrackRecoInfo, "AOD", "D0TRACKRECOINFO", //! Tracks Reconstructed Information
aod::hf_correlation_d0_hadron::TrackDcaXY,
aod::hf_correlation_d0_hadron::TrackDcaZ,
aod::hf_correlation_d0_hadron::TrackTPCNClsCrossedRows);
// Note: definition of columns and tables for Lc-Hadron correlation pairs
namespace hf_correlation_lc_hadron
{
DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Lc and Hadrons
DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between Lc and Hadrons
DECLARE_SOA_COLUMN(DeltaY, deltaY, float); //! DeltaY between Lc and Hadrons
DECLARE_SOA_COLUMN(PtLc, ptLc, float); //! Transverse momentum of Lc
DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron
DECLARE_SOA_COLUMN(ChargeCand, chargeCand, int); //! store charge of Lc and Sc
DECLARE_SOA_COLUMN(MLc, mLc, float); //! Invariant mass of Lc
DECLARE_SOA_COLUMN(MlScoreBkg, mlScoreBkg, float); //! ML background score for Lc selection
DECLARE_SOA_COLUMN(MlScorePrompt, mlScorePrompt, float); //! ML prompt score for Lc selection
DECLARE_SOA_COLUMN(SignalStatus, signalStatus, int); //! Tag for LcToPKPi/LcToPiKP
DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin for the MixedEvent
DECLARE_SOA_COLUMN(TrackDcaXY, trackDcaXY, float); //! DCA xy of the track
DECLARE_SOA_COLUMN(TrackDcaZ, trackDcaZ, float); //! DCA z of the track
DECLARE_SOA_COLUMN(TrackTPCNClsCrossedRows, trackTPCNClsCrossedRows, int); //! Number of crossed TPC Rows
DECLARE_SOA_COLUMN(TrackOrigin, trackOrigin, int); //! Number of crossed TPC Rows
DECLARE_SOA_COLUMN(IsSignal, isSignal, bool); //! Used in MC-Rec, Lc Signal
DECLARE_SOA_COLUMN(IsPrompt, isPrompt, bool); //! Used in MC-Rec, Lc Prompt or Non-Prompt
DECLARE_SOA_COLUMN(IsPhysicalPrimary, isPhysicalPrimary, bool); //! Used in MC-Rec, primary associated particles
DECLARE_SOA_COLUMN(IsAutoCorrelated, isAutoCorrelated, bool); //! Correlation Status
DECLARE_SOA_COLUMN(Cent, cent, float); //! Centrality of Collision
DECLARE_SOA_COLUMN(PrNsigmTPC, prNsigmTPC, float); //! Associated Particle TPC nSigma proton
DECLARE_SOA_COLUMN(KaNsigmTPC, kaNsigmTPC, float); //! Associated Particle TPC nSigma Kaon
DECLARE_SOA_COLUMN(PiNsigmTPC, piNsigmTPC, float); //! Associated Particle TPC nSigma Pion
DECLARE_SOA_COLUMN(PrNsigmTOF, prNsigmTOF, float); //! Associated Particle TOF nSigma Proton
DECLARE_SOA_COLUMN(KaNsigmTOF, kaNsigmTOF, float); //! Associated Particle TOF nSigma Kaon
DECLARE_SOA_COLUMN(PiNsigmTOF, piNsigmTOF, float); //! Associated Particle TOF nSigma Pion
} // namespace hf_correlation_lc_hadron
DECLARE_SOA_TABLE(PtLcFromScHPair, "AOD", "PTLCSCHPAIR", //! Sc-->Lc pT for paired Sc-proton
aod::hf_correlation_lc_hadron::PtLc);
DECLARE_SOA_TABLE(PtLcFromSc, "AOD", "PTLCSC", //! Sc-->Lc pT
aod::hf_correlation_lc_hadron::PtLc);
DECLARE_SOA_TABLE(LcHadronPair, "AOD", "LCHPAIR", //! Lc-Hadrons pairs Informations
aod::hf_correlation_lc_hadron::DeltaPhi,
aod::hf_correlation_lc_hadron::DeltaEta,
aod::hf_correlation_lc_hadron::PtLc,
aod::hf_correlation_lc_hadron::PtHadron,
aod::hf_correlation_lc_hadron::PoolBin,
aod::hf_correlation_lc_hadron::IsAutoCorrelated,
aod::hf_correlation_lc_hadron::Cent);
DECLARE_SOA_TABLE(LcHadronRecoInfo, "AOD", "LCHRECOINFO", //! Lc-Hadrons pairs Reconstructed Informations
aod::hf_correlation_lc_hadron::MLc,
aod::hf_correlation_lc_hadron::SignalStatus);
DECLARE_SOA_TABLE(LcHadronPairTrkPID, "AOD", "LCHPAIRPID", //! Lc-proton details
aod::hf_correlation_lc_hadron::PrNsigmTPC,
aod::hf_correlation_lc_hadron::KaNsigmTPC,
aod::hf_correlation_lc_hadron::PiNsigmTPC,
aod::hf_correlation_lc_hadron::PrNsigmTOF,
aod::hf_correlation_lc_hadron::KaNsigmTOF,
aod::hf_correlation_lc_hadron::PiNsigmTOF);
DECLARE_SOA_TABLE(LcHadronTrkPID, "AOD", "LCHTRKPID", //! Lc-proton details
aod::hf_correlation_lc_hadron::PrNsigmTPC,
aod::hf_correlation_lc_hadron::KaNsigmTPC,
aod::hf_correlation_lc_hadron::PiNsigmTPC,
aod::hf_correlation_lc_hadron::PrNsigmTOF,
aod::hf_correlation_lc_hadron::KaNsigmTOF,
aod::hf_correlation_lc_hadron::PiNsigmTOF);
DECLARE_SOA_TABLE(LcHadronGenInfo, "AOD", "LCHGENINFO", //! Lc-Hadrons pairs Generated Information
aod::hf_correlation_lc_hadron::IsPrompt,
aod::hf_correlation_lc_hadron::IsPhysicalPrimary,
aod::hf_correlation_lc_hadron::TrackOrigin);
DECLARE_SOA_TABLE(LcHadronMlInfo, "AOD", "LCHMLINFO", //! Lc-Hadrons pairs Machine Learning Information
aod::hf_correlation_lc_hadron::MlScoreBkg,
aod::hf_correlation_lc_hadron::MlScorePrompt);
DECLARE_SOA_TABLE(LcRecoInfo, "AOD", "LCRECOINFO", //! Lc candidates Reconstructed Information
aod::hf_correlation_lc_hadron::MLc,
aod::hf_correlation_lc_hadron::PtLc,
aod::hf_correlation_lc_hadron::MlScoreBkg,
aod::hf_correlation_lc_hadron::MlScorePrompt);
DECLARE_SOA_TABLE(LcGenInfo, "AOD", "LCGENOINFO", //! Lc candidates Generated Information
aod::hf_correlation_lc_hadron::IsPrompt);
DECLARE_SOA_TABLE(TrkRecInfoLc, "AOD", "TRKRECINFOLC", //! Tracks Reconstructed Information
aod::hf_correlation_lc_hadron::TrackDcaXY,
aod::hf_correlation_lc_hadron::TrackDcaZ,
aod::hf_correlation_lc_hadron::TrackTPCNClsCrossedRows);
DECLARE_SOA_TABLE(LcHadronPairY, "AOD", "LCHPAIRY",
aod::hf_correlation_lc_hadron::DeltaY);
DECLARE_SOA_TABLE(CandChargePair, "AOD", "CANDCHARGEPAIR",
aod::hf_correlation_lc_hadron::ChargeCand);
DECLARE_SOA_TABLE(CandCharge, "AOD", "CANDCHARGE",
aod::hf_correlation_lc_hadron::ChargeCand);
// definition of columns and tables for Ds-Hadron correlation pairs
namespace hf_correlation_ds_hadron
{
DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Ds and Hadrons
DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between Ds and Hadrons
DECLARE_SOA_COLUMN(SignedPtD, signedPtD, float); //! Transverse momentum of Ds
DECLARE_SOA_COLUMN(SignedPtHadron, signedPtHadron, float); //! Transverse momentum of Hadron
DECLARE_SOA_COLUMN(MD, mD, float); //! Invariant mass of Ds
DECLARE_SOA_COLUMN(MlScoreBkg, mlScoreBkg, float); //! ML background score for Ds selection
DECLARE_SOA_COLUMN(MlScorePrompt, mlScorePrompt, float); //! ML prompt score for Ds selection
DECLARE_SOA_COLUMN(TrackDcaXY, trackDcaXY, float); //! DCA xy of the track
DECLARE_SOA_COLUMN(TrackDcaZ, trackDcaZ, float); //! DCA z of the track
DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin for the MixedEvent
DECLARE_SOA_COLUMN(NumPvContrib, numPvContrib, uint16_t); //! number PV contributors
DECLARE_SOA_COLUMN(TrackTPCNClsCrossedRows, trackTPCNClsCrossedRows, int); //! Number of crossed TPC Rows
DECLARE_SOA_COLUMN(TrackOrigin, trackOrigin, int); //! Number of crossed TPC Rows
DECLARE_SOA_COLUMN(IsSignal, isSignal, bool); //! Used in MC-Rec, Ds Signal
DECLARE_SOA_COLUMN(IsDecayChan, isDecayChan, bool); //! Used in MC-Rec, Ds decay channel check
DECLARE_SOA_COLUMN(IsPrompt, isPrompt, bool); //! Used in MC-Rec, Ds Prompt or Non-Prompt
DECLARE_SOA_COLUMN(IsPhysicalPrimary, isPhysicalPrimary, bool); //! Used in MC-Rec, primary associated particles
} // namespace hf_correlation_ds_hadron
DECLARE_SOA_TABLE(DsHadronPair, "AOD", "DSHPAIR", //! Ds-Hadrons pairs Information
aod::hf_correlation_ds_hadron::DeltaPhi,
aod::hf_correlation_ds_hadron::DeltaEta,
aod::hf_correlation_ds_hadron::SignedPtD,
aod::hf_correlation_ds_hadron::SignedPtHadron,
aod::hf_correlation_ds_hadron::PoolBin,
aod::hf_correlation_ds_hadron::NumPvContrib);
DECLARE_SOA_TABLE(DsHadronRecoInfo, "AOD", "DSHRECOINFO", //! Ds-Hadrons pairs Reconstructed Information
aod::hf_correlation_ds_hadron::MD,
aod::hf_correlation_ds_hadron::IsSignal,
aod::hf_correlation_ds_hadron::IsDecayChan);
DECLARE_SOA_TABLE(DsHadronGenInfo, "AOD", "DSHGENINFO", //! Ds-Hadrons pairs Generated Information
aod::hf_correlation_ds_hadron::IsPrompt,
aod::hf_correlation_ds_hadron::IsPhysicalPrimary,
aod::hf_correlation_ds_hadron::TrackOrigin);
DECLARE_SOA_TABLE(DsHadronMlInfo, "AOD", "DSHMLINFO", //! Ds-Hadrons pairs Machine Learning Information
aod::hf_correlation_ds_hadron::MlScorePrompt,
aod::hf_correlation_ds_hadron::MlScoreBkg);
DECLARE_SOA_TABLE(DsCandRecoInfo, "AOD", "DSCANDRECOINFO", //! Ds candidates Reconstructed Information
aod::hf_correlation_ds_hadron::MD,
aod::hf_correlation_ds_hadron::SignedPtD,
aod::hf_correlation_ds_hadron::MlScorePrompt,
aod::hf_correlation_ds_hadron::MlScoreBkg,
aod::hf_correlation_ds_hadron::NumPvContrib);
DECLARE_SOA_TABLE(DsCandGenInfo, "AOD", "DSCANDGENOINFO", //! Ds candidates Generated Information
aod::hf_correlation_ds_hadron::IsPrompt);
DECLARE_SOA_TABLE(TrackRecoInfo, "AOD", "TRACKRECOINFO", //! Tracks Reconstructed Information
aod::hf_correlation_ds_hadron::TrackDcaXY,
aod::hf_correlation_ds_hadron::TrackDcaZ,
aod::hf_correlation_ds_hadron::TrackTPCNClsCrossedRows);
// definition of columns and tables for LambdaC properties
namespace hf_lc_baryon
{
DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi of Lc
DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of Lc
DECLARE_SOA_COLUMN(PtLc, ptLc, float); //! Transverse momentum of Lc
DECLARE_SOA_COLUMN(MLc, mLc, float); //! Invariant mass of Lc
DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity
DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision
DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision
} // namespace hf_lc_baryon
DECLARE_SOA_TABLE(Lc, "AOD", "LC", //! Lc properties
aod::hf_lc_baryon::Phi,
aod::hf_lc_baryon::Eta,
aod::hf_lc_baryon::PtLc,
aod::hf_lc_baryon::MLc,
aod::hf_lc_baryon::PoolBin,
aod::hf_lc_baryon::GIndexCol,
aod::hf_lc_baryon::TimeStamp);
// definition of columns and tables for Dplus properties
namespace hf_dplus_meson
{
DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi of D+
DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of D+
DECLARE_SOA_COLUMN(PtD, ptD, float); //! Transverse momentum of D+
DECLARE_SOA_COLUMN(MD, mD, float); //! Invariant mass of D+
DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity
DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision
DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision
} // namespace hf_dplus_meson
DECLARE_SOA_TABLE(Dplus, "AOD", "DPLUS", //! D+-meson properties
aod::hf_dplus_meson::Phi,
aod::hf_dplus_meson::Eta,
aod::hf_dplus_meson::PtD,
aod::hf_dplus_meson::MD,
aod::hf_dplus_meson::PoolBin,
aod::hf_dplus_meson::GIndexCol,
aod::hf_dplus_meson::TimeStamp);
// definition of columns and tables for associated hadron properties
namespace hf_assoc_tracks
{
DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi of hadron
DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of hadron
DECLARE_SOA_COLUMN(PtH, ptH, float); //! Transverse momentum of hadron
DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity
DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision
DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision
} // namespace hf_assoc_tracks
DECLARE_SOA_TABLE(Hadron, "AOD", "HADRON", //! Associated hadron properties
aod::hf_assoc_tracks::Phi,
aod::hf_assoc_tracks::Eta,
aod::hf_assoc_tracks::PtH,
aod::hf_assoc_tracks::PoolBin,
aod::hf_assoc_tracks::GIndexCol,
aod::hf_assoc_tracks::TimeStamp);
// definition of columns and tables for Dplus-Hadron correlation pairs
namespace hf_correlation_dplus_hadron
{
DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between D+ and Hadrons
DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between D+ and Hadrons
DECLARE_SOA_COLUMN(PtD, ptD, float); //! Transverse momentum of D+
DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron
DECLARE_SOA_COLUMN(MD, mD, float); //! Invariant mass of D+
DECLARE_SOA_COLUMN(MlScoreBkg, mlScoreBkg, float); //! ML background score for D+ selection
DECLARE_SOA_COLUMN(MlScorePrompt, mlScorePrompt, float); //! ML prompt score for D+ selection
DECLARE_SOA_COLUMN(MlScoreNonPrompt, mlScoreNonPrompt, float); //! ML non-prompt score for D+ selection
DECLARE_SOA_COLUMN(SignalStatus, signalStatus, bool); //! Used in MC-Rec, D+ Signal
DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity
DECLARE_SOA_COLUMN(TrackDcaXY, trackDcaXY, float); //! DCA xy of the track
DECLARE_SOA_COLUMN(TrackDcaZ, trackDcaZ, float); //! DCA z of the track
DECLARE_SOA_COLUMN(TrackTPCNClsCrossedRows, trackTPCNClsCrossedRows, int); //! Number of crossed TPC Rows
DECLARE_SOA_COLUMN(TrackOrigin, trackOrigin, int); //! Number of crossed TPC Rows
DECLARE_SOA_COLUMN(IsSignal, isSignal, bool); //! Used in MC-Rec, D+ Signal
DECLARE_SOA_COLUMN(IsDecayChan, isDecayChan, bool); //! Used in MC-Rec, D+ decay channel check
DECLARE_SOA_COLUMN(IsPrompt, isPrompt, bool); //! Used in MC-Rec, D+ Prompt or Non-Prompt
DECLARE_SOA_COLUMN(IsPhysicalPrimary, isPhysicalPrimary, bool); //! Used in MC-Rec, primary associated particles
} // namespace hf_correlation_dplus_hadron
DECLARE_SOA_TABLE(DplusHadronPair, "AOD", "DPLUSHPAIR", //! D+-Hadrons pairs Informations
aod::hf_correlation_dplus_hadron::DeltaPhi,
aod::hf_correlation_dplus_hadron::DeltaEta,
aod::hf_correlation_dplus_hadron::PtD,
aod::hf_correlation_dplus_hadron::PtHadron,
aod::hf_correlation_dplus_hadron::PoolBin);
DECLARE_SOA_TABLE(DplusHadronRecoInfo, "AOD", "DPLUSHRECOINFO", //! D+-Hadrons pairs Reconstructed Informations
aod::hf_correlation_dplus_hadron::MD,
aod::hf_correlation_dplus_hadron::SignalStatus);
DECLARE_SOA_TABLE(DplusHadronGenInfo, "AOD", "DPLUSHGENINFO", //! Ds-Hadrons pairs Generated Information
aod::hf_correlation_dplus_hadron::IsPrompt,
aod::hf_correlation_dplus_hadron::IsPhysicalPrimary,
aod::hf_correlation_dplus_hadron::TrackOrigin);
DECLARE_SOA_TABLE(DplusHadronMlInfo, "AOD", "DPLUSHMLINFO", //! D+-Hadrons pairs Machine Learning Information
aod::hf_correlation_dplus_hadron::MlScoreBkg,
aod::hf_correlation_dplus_hadron::MlScorePrompt,
aod::hf_correlation_dplus_hadron::MlScoreNonPrompt);
DECLARE_SOA_TABLE(DplusRecoInfo, "AOD", "DPLUSRECOINFO", //! D+ candidates Reconstructed Information
aod::hf_correlation_dplus_hadron::MD,
aod::hf_correlation_dplus_hadron::PtD,
aod::hf_correlation_dplus_hadron::MlScoreBkg,
aod::hf_correlation_dplus_hadron::MlScorePrompt,
aod::hf_correlation_dplus_hadron::MlScoreNonPrompt);
DECLARE_SOA_TABLE(DplusGenInfo, "AOD", "DPLUSGENOINFO", //! D+ candidates Generated Information
aod::hf_correlation_dplus_hadron::IsPrompt);
DECLARE_SOA_TABLE(TrkRecInfoDplus, "AOD", "TRKRECINFODPLUS", //! Tracks Reconstructed Information
aod::hf_correlation_dplus_hadron::TrackDcaXY,
aod::hf_correlation_dplus_hadron::TrackDcaZ,
aod::hf_correlation_dplus_hadron::TrackTPCNClsCrossedRows);
// definition of columns and tables for Dstar-Hadron correlation pair
namespace hf_correlation_dstar_hadron
{
DECLARE_SOA_INDEX_COLUMN(Collision, collision); // used in pair table for indexing
DECLARE_SOA_COLUMN(CollisionIdx, collisionIdx, int); // used in Dstar table for indexing
// Dstar candidate properties
DECLARE_SOA_INDEX_COLUMN(HfCandDstar, hfCandDstar); // used in pair table for indexing
DECLARE_SOA_COLUMN(HfCandDstarIdx, hfCandDstarIdx, int); // used in Dstar table for indexing
DECLARE_SOA_COLUMN(PhiDstar, phiDstar, float);
DECLARE_SOA_COLUMN(EtaDstar, etaDstar, float);
DECLARE_SOA_COLUMN(PtDstar, ptDstar, float);
DECLARE_SOA_COLUMN(MDstar, mDstar, float);
DECLARE_SOA_COLUMN(MD0, mD0, float);
// DECLARE_SOA_COLUMN(IsPrompt,isPrompt,bool); // although this also defined in (HfCandDstarMcRec HfCandDstarMcRec) tables
// DECLARE_SOA_COLUMN(MatchingStatus, matchingStatus, bool); // although this also defined in (HfCandDstarMcRec HfCandDstarMcRec) tables
// Track properties
DECLARE_SOA_INDEX_COLUMN(Track, track);
DECLARE_SOA_COLUMN(PhiTrack, phiTrack, float);
DECLARE_SOA_COLUMN(EtaTrack, etaTrack, float);
DECLARE_SOA_COLUMN(PtTrack, ptTrack, float);
// common
DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t);
DECLARE_SOA_COLUMN(PoolBin, poolBin, int);
// Dynamic columns
DECLARE_SOA_DYNAMIC_COLUMN(DeltaEta, deltaEta, [](float etaTrack, float etaCandidate) -> float { return (etaTrack - etaCandidate); });
DECLARE_SOA_DYNAMIC_COLUMN(DeltaPhi, deltaPhi, [](float phiCandidate, float phiTrack) -> float { return RecoDecay::constrainAngle(phiTrack - phiCandidate, -o2::constants::math::PIHalf); });
DECLARE_SOA_DYNAMIC_COLUMN(DeltaM, deltaM, [](float massDstar, float massD0) -> float { return (massDstar - massD0); });
} // namespace hf_correlation_dstar_hadron
DECLARE_SOA_TABLE(DstarHadronPair, "AOD", "DSTRHPAIR", // D* Hadrons pairs Informations
hf_correlation_dstar_hadron::CollisionId,
// D* only properties
hf_correlation_dstar_hadron::HfCandDstarId,
hf_correlation_dstar_hadron::PhiDstar,
hf_correlation_dstar_hadron::EtaDstar,
hf_correlation_dstar_hadron::PtDstar,
hf_correlation_dstar_hadron::MDstar,
hf_correlation_dstar_hadron::MD0,
// Track only properties
hf_correlation_dstar_hadron::TrackId,
hf_correlation_dstar_hadron::PhiTrack,
hf_correlation_dstar_hadron::EtaTrack,
hf_correlation_dstar_hadron::PtTrack,
// common
hf_correlation_dstar_hadron::TimeStamp,
hf_correlation_dstar_hadron::PoolBin,
// common Dynamic
hf_correlation_dstar_hadron::DeltaPhi<hf_correlation_dstar_hadron::PhiDstar, hf_correlation_dstar_hadron::PhiTrack>,
hf_correlation_dstar_hadron::DeltaEta<hf_correlation_dstar_hadron::EtaDstar, hf_correlation_dstar_hadron::EtaTrack>,
hf_correlation_dstar_hadron::DeltaM<hf_correlation_dstar_hadron::MDstar, hf_correlation_dstar_hadron::MD0>);
DECLARE_SOA_TABLE(Dstar, "AOD", "DSTAR", // Only Dstar properties
hf_correlation_dstar_hadron::CollisionIdx,
// D* only properties
hf_correlation_dstar_hadron::HfCandDstarIdx,
hf_correlation_dstar_hadron::PhiDstar,
hf_correlation_dstar_hadron::EtaDstar,
hf_correlation_dstar_hadron::PtDstar,
hf_correlation_dstar_hadron::MDstar,
hf_correlation_dstar_hadron::MD0,
hf_correlation_dstar_hadron::TimeStamp,
hf_correlation_dstar_hadron::PoolBin);
// Note: Table for selection of Lc in a collision
namespace hf_selection_lc_collision
{
DECLARE_SOA_COLUMN(LcSel, lcSel, bool); //! Selection flag for Lc in a collision
} // namespace hf_selection_lc_collision
DECLARE_SOA_TABLE(LcSelection, "AOD", "LCINCOLL", // Selection of Lc in collisions
aod::hf_selection_lc_collision::LcSel);
// Table for selection of Dmeson in a collision
namespace hf_selection_dmeson_collision
{
DECLARE_SOA_COLUMN(DmesonSel, dmesonSel, bool); //! Selection flag for D meson in a collision
} // namespace hf_selection_dmeson_collision
DECLARE_SOA_TABLE(DmesonSelection, "AOD", "DINCOLL", // Selection of D meson in collisions
aod::hf_selection_dmeson_collision::DmesonSel);
// Note: definition of columns and tables for Electron Hadron correlation pairs
namespace hf_electron
{
DECLARE_SOA_COLUMN(PhiElectron, phiElectron, float); //! Phi of electron
DECLARE_SOA_COLUMN(EtaElectron, etaElectron, float); //! Eta of electron
DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron
DECLARE_SOA_COLUMN(NElectronsLS, nElectronsLS, int); //! number of like-sign
DECLARE_SOA_COLUMN(NElectronsUS, nElectronsUS, int); //! number of Unlike-sign
DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit
DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision
DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision
} // namespace hf_electron
DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties
aod::hf_electron::PhiElectron,
aod::hf_electron::EtaElectron,
aod::hf_electron::PtElectron,
aod::hf_electron::NElectronsLS,
aod::hf_electron::NElectronsUS,
aod::hf_electron::PoolBin,
aod::hf_electron::GIndexCol,
aod::hf_electron::TimeStamp);
// Note: definition of columns and tables for Electron Hadron correlation pairs for Data
namespace hf_correlation_electron_hadron
{
DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Electron and Hadrons
DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between Electron and Hadrons
DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of Electron
DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron;
DECLARE_SOA_COLUMN(EopElectron, eopElectron, float); //! enery momentum ratio for Electron
DECLARE_SOA_COLUMN(M02Electron, m02Electron, float); //! M02 of Electron
DECLARE_SOA_COLUMN(TpcNSigmaEle, tpcNSigmaEle, float); //! TPCn Sigma of Electron
DECLARE_SOA_COLUMN(TofNSigmaEle, tofNSigmaEle, float); //! TOFn Sigma of Electron
DECLARE_SOA_COLUMN(TpcNClsCrRowsEle, tpcNClsCrRowsEle, float); //! tpcNClsCrossedRows for Electron
DECLARE_SOA_COLUMN(TpcCrRowsRatioEle, tpcCrRowsRatioEle, float); //! Ratio crossed rows over findable clusters electron track
DECLARE_SOA_COLUMN(ItsChi2NClEle, itsChi2NClEle, float); //! itsChi2NCl of Electron
DECLARE_SOA_COLUMN(TpcChi2NClEle, tpcChi2NClEle, float); //! TPC Chi2NCl of electron;
DECLARE_SOA_COLUMN(DcaXYEle, dcaXYEle, float); //! DCAXY of Electron
DECLARE_SOA_COLUMN(DcaZEle, dcaZEle, float); //! DCAZ of Electron
DECLARE_SOA_COLUMN(TpcNClsCrRowsHad, tpcNClsCrRowsHad, float); //! tpcNClsCrossedRows for Hadron
DECLARE_SOA_COLUMN(TpcCrRowsRatioHad, tpcCrRowsRatioHad, float); //! Ratio crossed rows over findable clusters Hadron track
DECLARE_SOA_COLUMN(ItsChi2NClHad, itsChi2NClHad, float); //! itsChi2NCl of Hadron
DECLARE_SOA_COLUMN(TpcChi2NClHad, tpcChi2NClHad, float); //! TPC Chi2NCl of Hadron;
DECLARE_SOA_COLUMN(DcaXYHad, dcaXYHad, float); //! DCAXY of Hadron
DECLARE_SOA_COLUMN(DcaZHad, dcaZHad, float); //! DCAZ of Hadron
DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity
DECLARE_SOA_COLUMN(NPairsLS, nPairsLS, int); //! number of like-sign electron-hadron pairs
DECLARE_SOA_COLUMN(NPairsUS, nPairsUS, int); //! number of unlike-sign electron-hadron pairs
} // namespace hf_correlation_electron_hadron
DECLARE_SOA_TABLE(HfEHadronPair, "AOD", "HFEHADRONPAIR", //! Hfe-Hadrons pairs Informations
hf_correlation_electron_hadron::DeltaPhi,
hf_correlation_electron_hadron::DeltaEta,
hf_correlation_electron_hadron::PtElectron,
hf_correlation_electron_hadron::PtHadron,
hf_correlation_electron_hadron::EopElectron,
hf_correlation_electron_hadron::M02Electron,
hf_correlation_electron_hadron::TpcNSigmaEle,
hf_correlation_electron_hadron::TofNSigmaEle,
hf_correlation_electron_hadron::TpcNClsCrRowsEle,
hf_correlation_electron_hadron::TpcCrRowsRatioEle,
hf_correlation_electron_hadron::ItsChi2NClEle,
hf_correlation_electron_hadron::TpcChi2NClEle,
hf_correlation_electron_hadron::DcaXYEle,
hf_correlation_electron_hadron::DcaZEle,
hf_correlation_electron_hadron::TpcNClsCrRowsHad,
hf_correlation_electron_hadron::TpcCrRowsRatioHad,
hf_correlation_electron_hadron::ItsChi2NClHad,
hf_correlation_electron_hadron::TpcChi2NClHad,
hf_correlation_electron_hadron::DcaXYHad,
hf_correlation_electron_hadron::DcaZHad,
hf_correlation_electron_hadron::PoolBin,
hf_correlation_electron_hadron::NPairsLS,
hf_correlation_electron_hadron::NPairsUS);
// Note: definition of columns and tables for Electron Hadron correlation pairs for MC Gen
namespace hf_correlation_mcgenelectron_hadron
{
DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Electron and Hadrons
DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between Electron and Hadrons
DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of Electron
DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron;
DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity
DECLARE_SOA_COLUMN(IsNonHfEHCorr, isNonHfEHCorr, int); //! nonHeavy Flavour Electron hadron coorelation
} // namespace hf_correlation_mcgenelectron_hadron
DECLARE_SOA_TABLE(HfEHadronMcPair, "AOD", "HFEHADRONMCPAIR", //! Hfe-Hadrons pairs Informations
hf_correlation_mcgenelectron_hadron::DeltaPhi,
hf_correlation_mcgenelectron_hadron::DeltaEta,
hf_correlation_mcgenelectron_hadron::PtElectron,
hf_correlation_mcgenelectron_hadron::PtHadron,
hf_correlation_mcgenelectron_hadron::PoolBin,
hf_correlation_mcgenelectron_hadron::IsNonHfEHCorr);
} // namespace o2::aod
#endif // PWGHF_HFC_DATAMODEL_CORRELATIONTABLES_H_