Skip to content

Commit 94c1194

Browse files
author
Francesco Mazzaschi
committed
Add He3 fake cluster information
1 parent c7d4892 commit 94c1194

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_
@@ -80,6 +80,7 @@ DECLARE_SOA_COLUMN(GenXDecVtx, genXDecVtx, float); // Decay v
8080
DECLARE_SOA_COLUMN(GenYDecVtx, genYDecVtx, float); // Decay vertex of the candidate (y direction)
8181
DECLARE_SOA_COLUMN(GenZDecVtx, genZDecVtx, float); // Decay vertex of the candidate (z direction)
8282
DECLARE_SOA_COLUMN(IsReco, isReco, bool); // bool: true for reco
83+
DECLARE_SOA_COLUMN(IsFakeHeOnITSLayer, isFakeHeOnITSLayer, uint8_t); // uint8_t: bit map for fake He on ITS layers
8384
DECLARE_SOA_COLUMN(IsSignal, isSignal, bool); // bool: true for signal
8485
DECLARE_SOA_COLUMN(IsRecoMCCollision, isRecoMCCollision, bool); // bool: true for reco MC collision
8586
DECLARE_SOA_COLUMN(IsSurvEvSel, isSurvEvSel, bool); // bool: true for survived event selection
@@ -143,6 +144,7 @@ DECLARE_SOA_TABLE(MCHypCands, "AOD", "MCHYPCANDS",
143144
hyperrec::GenYDecVtx,
144145
hyperrec::GenZDecVtx,
145146
hyperrec::IsReco,
147+
hyperrec::IsFakeHeOnITSLayer,
146148
hyperrec::IsSignal,
147149
hyperrec::IsRecoMCCollision,
148150
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
unsigned int 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
@@ -648,6 +650,7 @@ struct hyperRecoTask {
648650
hypCand.gDecVtx[i] = secVtx[i] - primVtx[i];
649651
}
650652
hypCand.isSignal = true;
653+
hypCand.isFakeHeOnITSLayer = mcLabHe.mcMask() & 0x7F; // check if any of the first 7 bits is set
651654
hypCand.pdgCode = heMother.pdgCode();
652655
hypCand.isRecoMCCollision = recoCollisionIds[heMother.mcCollisionId()] > 0;
653656
hypCand.isSurvEvSelection = isSurvEvSelCollision[heMother.mcCollisionId()];
@@ -766,7 +769,7 @@ struct hyperRecoTask {
766769
hypCand.clusterSizeITSHe3, hypCand.clusterSizeITSPi, hypCand.flags, trackedHypClSize,
767770
chargeFactor * hypCand.genPt(), hypCand.genPhi(), hypCand.genEta(), hypCand.genPtHe3(),
768771
hypCand.gDecVtx[0], hypCand.gDecVtx[1], hypCand.gDecVtx[2],
769-
hypCand.isReco, hypCand.isSignal, hypCand.isRecoMCCollision, hypCand.isSurvEvSelection);
772+
hypCand.isReco, hypCand.isFakeHeOnITSLayer, hypCand.isSignal, hypCand.isRecoMCCollision, hypCand.isSurvEvSelection);
770773
}
771774

772775
// now we fill only the signal candidates that were not reconstructed
@@ -839,7 +842,7 @@ struct hyperRecoTask {
839842
-1, -1, -1, false,
840843
chargeFactor * hypCand.genPt(), hypCand.genPhi(), hypCand.genEta(), hypCand.genPtHe3(),
841844
hypCand.gDecVtx[0], hypCand.gDecVtx[1], hypCand.gDecVtx[2],
842-
hypCand.isReco, hypCand.isSignal, hypCand.isRecoMCCollision, hypCand.isSurvEvSelection);
845+
hypCand.isReco, -1, hypCand.isSignal, hypCand.isRecoMCCollision, hypCand.isSurvEvSelection);
843846
}
844847
}
845848
PROCESS_SWITCH(hyperRecoTask, processMC, "MC analysis", false);

0 commit comments

Comments
 (0)