Skip to content

Commit f14d038

Browse files
fmazzascFrancesco Mazzaschi
andauthored
[PWGLF] Add He3 fake cluster information (#12876)
Co-authored-by: Francesco Mazzaschi <fmazzasc@alipap1.cern.ch>
1 parent a812ed4 commit f14d038

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

PWGLF/DataModel/LFHypernucleiTables.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
/// \brief Slim hypernuclei tables
1515
///
1616

17-
#include "Framework/AnalysisDataModel.h"
1817
#include "Framework/ASoAHelpers.h"
18+
#include "Framework/AnalysisDataModel.h"
1919

2020
#ifndef PWGLF_DATAMODEL_LFHYPERNUCLEITABLES_H_
2121
#define PWGLF_DATAMODEL_LFHYPERNUCLEITABLES_H_
@@ -81,6 +81,7 @@ DECLARE_SOA_COLUMN(GenXDecVtx, genXDecVtx, float); // Decay v
8181
DECLARE_SOA_COLUMN(GenYDecVtx, genYDecVtx, float); // Decay vertex of the candidate (y direction)
8282
DECLARE_SOA_COLUMN(GenZDecVtx, genZDecVtx, float); // Decay vertex of the candidate (z direction)
8383
DECLARE_SOA_COLUMN(IsReco, isReco, bool); // bool: true for reco
84+
DECLARE_SOA_COLUMN(IsFakeHeOnITSLayer, isFakeHeOnITSLayer, uint8_t); // uint8_t: bit map for fake He on ITS layers
8485
DECLARE_SOA_COLUMN(IsSignal, isSignal, bool); // bool: true for signal
8586
DECLARE_SOA_COLUMN(IsRecoMCCollision, isRecoMCCollision, bool); // bool: true for reco MC collision
8687
DECLARE_SOA_COLUMN(IsSurvEvSel, isSurvEvSel, bool); // bool: true for survived event selection
@@ -144,6 +145,7 @@ DECLARE_SOA_TABLE(MCHypCands, "AOD", "MCHYPCANDS",
144145
hyperrec::GenYDecVtx,
145146
hyperrec::GenZDecVtx,
146147
hyperrec::IsReco,
148+
hyperrec::IsFakeHeOnITSLayer,
147149
hyperrec::IsSignal,
148150
hyperrec::IsRecoMCCollision,
149151
hyperrec::IsSurvEvSel);

PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,10 @@ struct hyperCandidate {
124124
int64_t collisionID = 0;
125125

126126
bool isMatter = false;
127-
bool isSignal = false; // true MC signal
128-
bool isReco = false; // true if the candidate is actually reconstructed
127+
bool isSignal = false; // true MC signal
128+
bool isReco = false; // true if the candidate is actually reconstructed
129+
uint8_t isFakeHeOnITSLayer = 0u; // bit map for fake He on ITS layers
130+
129131
bool isRecoMCCollision = false; // true if the corresponding MC collision has been reconstructed
130132
bool isSurvEvSelection = false; // true if the corresponding event passed the event selection
131133
int pdgCode = 0; // PDG code of the hypernucleus
@@ -649,6 +651,7 @@ struct hyperRecoTask {
649651
hypCand.gDecVtx[i] = secVtx[i] - primVtx[i];
650652
}
651653
hypCand.isSignal = true;
654+
hypCand.isFakeHeOnITSLayer = mcLabHe.mcMask() & 0x7F; // check if any of the first 7 bits is set
652655
hypCand.pdgCode = heMother.pdgCode();
653656
hypCand.isRecoMCCollision = recoCollisionIds[heMother.mcCollisionId()] > 0;
654657
hypCand.isSurvEvSelection = isSurvEvSelCollision[heMother.mcCollisionId()];
@@ -795,7 +798,7 @@ struct hyperRecoTask {
795798
hypCand.clusterSizeITSHe3, hypCand.clusterSizeITSPi, hypCand.flags, trackedHypClSize,
796799
chargeFactor * hypCand.genPt(), hypCand.genPhi(), hypCand.genEta(), hypCand.genPtHe3(),
797800
hypCand.gDecVtx[0], hypCand.gDecVtx[1], hypCand.gDecVtx[2],
798-
hypCand.isReco, hypCand.isSignal, hypCand.isRecoMCCollision, hypCand.isSurvEvSelection);
801+
hypCand.isReco, hypCand.isFakeHeOnITSLayer, hypCand.isSignal, hypCand.isRecoMCCollision, hypCand.isSurvEvSelection);
799802
}
800803

801804
// now we fill only the signal candidates that were not reconstructed
@@ -868,7 +871,7 @@ struct hyperRecoTask {
868871
-1, -1, -1, false,
869872
chargeFactor * hypCand.genPt(), hypCand.genPhi(), hypCand.genEta(), hypCand.genPtHe3(),
870873
hypCand.gDecVtx[0], hypCand.gDecVtx[1], hypCand.gDecVtx[2],
871-
hypCand.isReco, hypCand.isSignal, hypCand.isRecoMCCollision, hypCand.isSurvEvSelection);
874+
hypCand.isReco, -1, hypCand.isSignal, hypCand.isRecoMCCollision, hypCand.isSurvEvSelection);
872875
}
873876
}
874877
PROCESS_SWITCH(hyperRecoTask, processMC, "MC analysis", false);

0 commit comments

Comments
 (0)