fCutSetsC("AliRsnCutSet", 0),
fEntryListsN("TEntryList", 0),
fEntryListsP("TEntryList", 0),
- fEntryListsM("TEntryList", 0)
+ fEntryListsM("TEntryList", 0),
+ fUseLabelCheck(kTRUE)
{
//
// Default constructor.
fCutSetsC(copy.fCutSetsC),
fEntryListsN(copy.fEntryListsN),
fEntryListsP(copy.fEntryListsP),
- fEntryListsM(copy.fEntryListsM)
+ fEntryListsM(copy.fEntryListsM),
+ fUseLabelCheck(copy.fUseLabelCheck)
{
//
// Copy constructor.
fEntryListsN = copy.fEntryListsN;
fEntryListsP = copy.fEntryListsP;
fEntryListsM = copy.fEntryListsM;
+ fUseLabelCheck = copy.fUseLabelCheck;
AliDebug(AliLog::kDebug + 10, "->");
TClonesArray *cutsArray = 0x0, *entryArray = 0x0;
TEntryList labelList;
TEntryList *el = 0;
+ AliRsnCutSet *cuts;
for (id = 0; id < nTot; id++) {
ev->SetDaughter(check, id);
// some checks
cutsArray = &fCutSetsN;
entryArray = &fEntryListsN;
}
+
+ if (fUseLabelCheck && labelList.Contains(check.GetLabel())) continue;
+
// check with all cuts in that charge
nSel = cutsArray->GetEntries();
for (is = 0; is < nSel; is++) {
- AliRsnCutSet *cuts = (AliRsnCutSet *)cutsArray->At(is);
+ cuts = (AliRsnCutSet *)cutsArray->At(is);
if (cuts->IsSelected(&check)) {
- if (!labelList.Contains(check.GetLabel())) {
- el = (TEntryList *)entryArray->At(is);
- el->Enter(id);
- labelList.Enter(check.GetLabel());
- }
-
+ el = (TEntryList *)entryArray->At(is);
+ el->Enter(id);
+ if (fUseLabelCheck) labelList.Enter(check.GetLabel());
}
}
}
//Print();
}
+
TClonesArray *GetCutSetC() {return &fCutSetsC;}
TClonesArray *GetCutSetN() {return &fCutSetsN;}
+
+ void SetLabelCheck(Bool_t useLabelCheck = kTRUE) { fUseLabelCheck = useLabelCheck;}
private:
TClonesArray fEntryListsN; // entry lists for neutrals
TClonesArray fEntryListsP; // entry lists for charged (one per sign)
TClonesArray fEntryListsM; // entry lists for charged (one per sign)
+
+ Bool_t fUseLabelCheck; // flag is reapiting of label should be checked
- ClassDef(AliRsnDaughterSelector, 1)
+ ClassDef(AliRsnDaughterSelector, 2)
};
#endif