+UChar_t AliAODRecoDecay::GetITSClusterMap() const {
+ //
+ // We take the logical AND of the daughters cluster maps
+ // (only if all daughters have the bit for given layer, we set the bit)
+ //
+ UChar_t map=0;
+
+ if(!GetNDaughters()) {
+ AliError("No daughters available");
+ return map;
+ }
+
+ for(Int_t l=0; l<12; l++) { // loop on ITS layers (from here we cannot know how many they are; let's put 12 to be conservative)
+ Int_t bit = 1;
+ for(Int_t i=0; i<GetNDaughters(); i++) {
+ AliVTrack *daugh = (AliVTrack*)GetDaughter(i);
+ if(!TESTBIT(daugh->GetITSClusterMap(),l)) bit=0;
+ }
+ if(bit) SETBIT(map,l);
+ }
+
+ return map;
+}
+//--------------------------------------------------------------------------
+ULong_t AliAODRecoDecay::GetStatus() const {
+ //
+ // Same as for ITSClusterMap
+ //
+ ULong_t status=0;
+
+ if(!GetNDaughters()) {
+ AliError("No daughters available");
+ return status;
+ }
+
+ AliVTrack *daugh0 = (AliVTrack*)GetDaughter(0);
+ status = status&(daugh0->GetStatus());
+
+ for(Int_t i=1; i<GetNDaughters(); i++) {
+ AliVTrack *daugh = (AliVTrack*)GetDaughter(i);
+ status = status&(daugh->GetStatus());
+ }
+
+ return status;
+}
+//--------------------------------------------------------------------------