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