@@ -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