Skip to content

Commit ac654b4

Browse files
fgrosaalibuild
andauthored
[DPG] Improve D0 calibration data producer (#11754)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent f4f2252 commit ac654b4

File tree

2 files changed

+439
-92
lines changed

2 files changed

+439
-92
lines changed

DPG/Tasks/AOTTrack/D0CalibTables.h

Lines changed: 74 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,21 @@
1313
/// \brief Definitions of derived tables produced by data creator for D0 calibration studies
1414
/// \author Fabrizio Grosa <fabrizio.grosa@cern.ch>, CERN
1515

16-
#ifndef D0CALIBTABLES_H_
17-
#define D0CALIBTABLES_H_
16+
#ifndef DPG_TASKS_AOTTRACK_D0CALIBTABLES_H_
17+
#define DPG_TASKS_AOTTRACK_D0CALIBTABLES_H_
1818

19-
#include <sys/types.h>
20-
#include <cstdint>
21-
#include <limits>
19+
#include "Common/DataModel/EventSelection.h"
20+
#include "Common/DataModel/TrackSelectionTables.h"
2221

23-
#include <Framework/AnalysisDataModel.h>
2422
#include <Framework/ASoA.h>
23+
#include <Framework/AnalysisDataModel.h>
2524

26-
#include "Common/DataModel/EventSelection.h"
27-
#include "Common/DataModel/TrackSelectionTables.h"
25+
#include <sys/types.h>
26+
27+
#include <cstdint>
28+
#include <limits>
29+
#include <string>
30+
#include <vector>
2831

2932
namespace o2
3033
{
@@ -298,7 +301,7 @@ DECLARE_SOA_COLUMN(OccupancyTracks, occupancyTracks, uint8_t); //! FT0 occupancy
298301
DECLARE_SOA_COLUMN(OccupancyFT0C, occupancyFT0C, uint8_t); //! FT0 occupancy
299302
} // namespace hf_calib
300303

301-
DECLARE_SOA_TABLE(D0CalibColl, "AOD", "D0CALIBCOLLS",
304+
DECLARE_SOA_TABLE(D0CalibColls, "AOD", "D0CALIBCOLL",
302305
o2::soa::Index<>,
303306
collision::PosX,
304307
collision::PosY,
@@ -318,15 +321,15 @@ DECLARE_SOA_TABLE(D0CalibColl, "AOD", "D0CALIBCOLLS",
318321

319322
namespace hf_calib
320323
{
321-
DECLARE_SOA_INDEX_COLUMN_FULL(Collision, collision, int, D0CalibColl, ""); //! Index of collision
322-
DECLARE_SOA_COLUMN(TpcNumSigmaPi, tpcNumSigmaPi, int8_t); //! compressed NsigmaTPC for pions
323-
DECLARE_SOA_COLUMN(TpcNumSigmaKa, tpcNumSigmaKa, int8_t); //! compressed NsigmaTPC for kaons
324-
DECLARE_SOA_COLUMN(TofNumSigmaPi, tofNumSigmaPi, int8_t); //! compressed NsigmaTOF for pions
325-
DECLARE_SOA_COLUMN(TofNumSigmaKa, tofNumSigmaKa, int8_t); //! compressed NsigmaTOF for kaons
326-
DECLARE_SOA_COLUMN(ITSChi2NCl, itsChi2NCl, uint8_t); //! compressed NsigmaTOF for kaons // o2-linter: disable=name/o2-column
327-
DECLARE_SOA_COLUMN(TPCChi2NCl, tpcChi2NCl, uint8_t); //! compressed NsigmaTOF for kaons // o2-linter: disable=name/o2-column
328-
DECLARE_SOA_COLUMN(TRDChi2, trdChi2, uint8_t); //! compressed NsigmaTOF for kaons // o2-linter: disable=name/o2-column
329-
DECLARE_SOA_COLUMN(TOFChi2, tofChi2, uint8_t); //! compressed NsigmaTOF for kaons // o2-linter: disable=name/o2-column
324+
DECLARE_SOA_INDEX_COLUMN_FULL(Collision, collision, int, D0CalibColls, ""); //! Index of collision
325+
DECLARE_SOA_COLUMN(TpcNumSigmaPi, tpcNumSigmaPi, int8_t); //! compressed NsigmaTPC for pions
326+
DECLARE_SOA_COLUMN(TpcNumSigmaKa, tpcNumSigmaKa, int8_t); //! compressed NsigmaTPC for kaons
327+
DECLARE_SOA_COLUMN(TofNumSigmaPi, tofNumSigmaPi, int8_t); //! compressed NsigmaTOF for pions
328+
DECLARE_SOA_COLUMN(TofNumSigmaKa, tofNumSigmaKa, int8_t); //! compressed NsigmaTOF for kaons
329+
DECLARE_SOA_COLUMN(ITSChi2NCl, itsChi2NCl, uint8_t); //! compressed NsigmaTOF for kaons // o2-linter: disable=name/o2-column
330+
DECLARE_SOA_COLUMN(TPCChi2NCl, tpcChi2NCl, uint8_t); //! compressed NsigmaTOF for kaons // o2-linter: disable=name/o2-column
331+
DECLARE_SOA_COLUMN(TRDChi2, trdChi2, uint8_t); //! compressed NsigmaTOF for kaons // o2-linter: disable=name/o2-column
332+
DECLARE_SOA_COLUMN(TOFChi2, tofChi2, uint8_t); //! compressed NsigmaTOF for kaons // o2-linter: disable=name/o2-column
330333
DECLARE_SOA_COLUMN(CmoPrimUnfm80, cmoPrimUnfm80, uint8_t);
331334
DECLARE_SOA_COLUMN(CmoFV0AUnfm80, cmoFV0AUnfm80, uint8_t);
332335
DECLARE_SOA_COLUMN(CmoFT0AUnfm80, cmoFT0AUnfm80, uint8_t);
@@ -339,7 +342,7 @@ DECLARE_SOA_COLUMN(CmoRobustT0V0PrimUnfm80, cmoRobustT0V0PrimUnfm80, uint8_t);
339342
DECLARE_SOA_COLUMN(CwmoRobustT0V0PrimUnfm80, cwmoRobustT0V0PrimUnfm80, uint8_t);
340343
} // namespace hf_calib
341344

342-
DECLARE_SOA_TABLE(D0CalibTrack, "AOD", "D0CALIBTRACKS",
345+
DECLARE_SOA_TABLE(D0CalibTracks, "AOD", "D0CALIBTRACK",
343346
o2::soa::Index<>,
344347
/// *** collision index
345348
hf_calib::CollisionId,
@@ -386,14 +389,40 @@ DECLARE_SOA_TABLE(D0CalibTrack, "AOD", "D0CALIBTRACKS",
386389
track::TOFExpMom,
387390
track::TrackTime,
388391
track::TrackTimeRes,
389-
/// *** track QA --> FIXME: info not present for each track in normal AO2Ds, check how to do
392+
/// *** track QA
393+
trackqa::TPCTime0,
394+
trackqa::TPCdEdxNorm,
395+
trackqa::TPCDCAR,
396+
trackqa::TPCDCAZ,
397+
trackqa::TPCClusterByteMask,
398+
trackqa::TPCdEdxMax0R,
399+
trackqa::TPCdEdxMax1R,
400+
trackqa::TPCdEdxMax2R,
401+
trackqa::TPCdEdxMax3R,
402+
trackqa::TPCdEdxTot0R,
403+
trackqa::TPCdEdxTot1R,
404+
trackqa::TPCdEdxTot2R,
405+
trackqa::TPCdEdxTot3R,
406+
trackqa::DeltaRefContParamY,
407+
trackqa::DeltaRefContParamZ,
408+
trackqa::DeltaRefContParamSnp,
409+
trackqa::DeltaRefContParamTgl,
410+
trackqa::DeltaRefContParamQ2Pt,
411+
trackqa::DeltaRefGloParamY,
412+
trackqa::DeltaRefGloParamZ,
413+
trackqa::DeltaRefGloParamSnp,
414+
trackqa::DeltaRefGloParamTgl,
415+
trackqa::DeltaRefGloParamQ2Pt,
416+
trackqa::DeltaTOFdX,
417+
trackqa::DeltaTOFdZ,
390418
/// *** DCA, Nsigma
391419
track::DcaXY,
392420
track::DcaZ,
393421
hf_calib::TpcNumSigmaPi,
394422
hf_calib::TpcNumSigmaKa,
395423
hf_calib::TofNumSigmaPi,
396424
hf_calib::TofNumSigmaKa,
425+
/// *** Occupancy variables
397426
hf_calib::CmoPrimUnfm80,
398427
hf_calib::CmoFV0AUnfm80,
399428
hf_calib::CmoFT0AUnfm80,
@@ -407,32 +436,32 @@ DECLARE_SOA_TABLE(D0CalibTrack, "AOD", "D0CALIBTRACKS",
407436

408437
namespace hf_calib
409438
{
410-
DECLARE_SOA_INDEX_COLUMN_FULL(TrackPos, trackPos, int, D0CalibTrack, ""); //! Index of positive track
411-
DECLARE_SOA_INDEX_COLUMN_FULL(TrackNeg, trackNeg, int, D0CalibTrack, ""); //! Index of negative track
412-
DECLARE_SOA_COLUMN(MassHypo, massHypo, uint8_t); //! mass hypothesis for D0 (D0, D0bar, or both)
413-
DECLARE_SOA_COLUMN(Pt, pt, float); //! D0-candidate pT
414-
DECLARE_SOA_COLUMN(Eta, eta, float); //! D0-candidate eta
415-
DECLARE_SOA_COLUMN(Phi, phi, float); //! D0-candidate phi
416-
DECLARE_SOA_COLUMN(InvMassD0, invMassD0, float); //! invariant mass (D0 hypothesis)
417-
DECLARE_SOA_COLUMN(InvMassD0bar, invMassD0bar, float); //! invariant mass (D0bar hypothesis)
418-
DECLARE_SOA_COLUMN(DecLength, decLength, uint8_t); //! compressed decay length
419-
DECLARE_SOA_COLUMN(DecLengthXY, decLengthXY, uint8_t); //! compressed decay length XY
420-
DECLARE_SOA_COLUMN(NormDecLength, normDecLength, uint8_t); //! compressed normalised decay length
421-
DECLARE_SOA_COLUMN(NormDecLengthXY, normDecLengthXY, uint8_t); //! compressed normalised decay length XY
422-
DECLARE_SOA_COLUMN(CosPa, cosPa, uint8_t); //! compressed cosine of pointing angle
423-
DECLARE_SOA_COLUMN(CosPaXY, cosPaXY, uint8_t); //! compressed cosine of pointing angle XY
424-
DECLARE_SOA_COLUMN(PointingAngle, pointingAngle, uint8_t); //! compressed pointing angle
425-
DECLARE_SOA_COLUMN(PointingAngleXY, pointingAngleXY, uint8_t); //! compressed pointing angle XY
426-
DECLARE_SOA_COLUMN(DecVtxChi2, decVtxChi2, uint8_t); //! compressed decay vertex chi2
427-
DECLARE_SOA_COLUMN(BdtScoreBkgD0, bdtScoreBkgD0, uint16_t); //! compressed BDT score (bkg, D0 mass hypo)
428-
DECLARE_SOA_COLUMN(BdtScorePromptD0, bdtScorePromptD0, uint8_t); //! compressed BDT score (prompt, D0 mass hypo)
429-
DECLARE_SOA_COLUMN(BdtScoreNonpromptD0, bdtScoreNonpromptD0, uint8_t); //! compressed BDT score (non-prompt, D0 mass hypo)
430-
DECLARE_SOA_COLUMN(BdtScoreBkgD0bar, bdtScoreBkgD0bar, uint16_t); //! compressed BDT score (bkg, D0bar mass hypo)
431-
DECLARE_SOA_COLUMN(BdtScorePromptD0bar, bdtScorePromptD0bar, uint8_t); //! compressed BDT score (prompt, D0bar mass hypo)
432-
DECLARE_SOA_COLUMN(BdtScoreNonpromptD0bar, bdtScoreNonpromptD0bar, uint8_t); //! compressed BDT score (non-prompt, D0bar mass hypo)
439+
DECLARE_SOA_INDEX_COLUMN_FULL(TrackPos, trackPos, int, D0CalibTracks, "_Pos"); //! Index of positive track
440+
DECLARE_SOA_INDEX_COLUMN_FULL(TrackNeg, trackNeg, int, D0CalibTracks, "_Neg"); //! Index of negative track
441+
DECLARE_SOA_COLUMN(MassHypo, massHypo, uint8_t); //! mass hypothesis for D0 (D0, D0bar, or both)
442+
DECLARE_SOA_COLUMN(Pt, pt, float); //! D0-candidate pT
443+
DECLARE_SOA_COLUMN(Eta, eta, float); //! D0-candidate eta
444+
DECLARE_SOA_COLUMN(Phi, phi, float); //! D0-candidate phi
445+
DECLARE_SOA_COLUMN(InvMassD0, invMassD0, float); //! invariant mass (D0 hypothesis)
446+
DECLARE_SOA_COLUMN(InvMassD0bar, invMassD0bar, float); //! invariant mass (D0bar hypothesis)
447+
DECLARE_SOA_COLUMN(DecLength, decLength, uint8_t); //! compressed decay length
448+
DECLARE_SOA_COLUMN(DecLengthXY, decLengthXY, uint8_t); //! compressed decay length XY
449+
DECLARE_SOA_COLUMN(NormDecLength, normDecLength, uint8_t); //! compressed normalised decay length
450+
DECLARE_SOA_COLUMN(NormDecLengthXY, normDecLengthXY, uint8_t); //! compressed normalised decay length XY
451+
DECLARE_SOA_COLUMN(CosPa, cosPa, uint8_t); //! compressed cosine of pointing angle
452+
DECLARE_SOA_COLUMN(CosPaXY, cosPaXY, uint8_t); //! compressed cosine of pointing angle XY
453+
DECLARE_SOA_COLUMN(PointingAngle, pointingAngle, uint8_t); //! compressed pointing angle
454+
DECLARE_SOA_COLUMN(PointingAngleXY, pointingAngleXY, uint8_t); //! compressed pointing angle XY
455+
DECLARE_SOA_COLUMN(DecVtxChi2, decVtxChi2, uint8_t); //! compressed decay vertex chi2
456+
DECLARE_SOA_COLUMN(BdtScoreBkgD0, bdtScoreBkgD0, uint16_t); //! compressed BDT score (bkg, D0 mass hypo)
457+
DECLARE_SOA_COLUMN(BdtScorePromptD0, bdtScorePromptD0, uint8_t); //! compressed BDT score (prompt, D0 mass hypo)
458+
DECLARE_SOA_COLUMN(BdtScoreNonpromptD0, bdtScoreNonpromptD0, uint8_t); //! compressed BDT score (non-prompt, D0 mass hypo)
459+
DECLARE_SOA_COLUMN(BdtScoreBkgD0bar, bdtScoreBkgD0bar, uint16_t); //! compressed BDT score (bkg, D0bar mass hypo)
460+
DECLARE_SOA_COLUMN(BdtScorePromptD0bar, bdtScorePromptD0bar, uint8_t); //! compressed BDT score (prompt, D0bar mass hypo)
461+
DECLARE_SOA_COLUMN(BdtScoreNonpromptD0bar, bdtScoreNonpromptD0bar, uint8_t); //! compressed BDT score (non-prompt, D0bar mass hypo)
433462
} // namespace hf_calib
434463

435-
DECLARE_SOA_TABLE(D0CalibCand, "AOD", "D0CALIBCANDS",
464+
DECLARE_SOA_TABLE(D0CalibCands, "AOD", "D0CALIBCAND",
436465
o2::soa::Index<>,
437466
hf_calib::CollisionId,
438467
hf_calib::TrackPosId,
@@ -460,4 +489,4 @@ DECLARE_SOA_TABLE(D0CalibCand, "AOD", "D0CALIBCANDS",
460489
hf_calib::BdtScoreNonpromptD0bar);
461490
} // namespace aod
462491
} // namespace o2
463-
#endif // D0CALIBTABLES_H_
492+
#endif // DPG_TASKS_AOTTRACK_D0CALIBTABLES_H_

0 commit comments

Comments
 (0)