]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisFilter.cxx
Added loop for extraction of clusters really attached to its track.
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisFilter.cxx
index 31c1d67864ccdc7cef7665016c216789388de5f4..fdddaa687065b7841f6bb12e8d78d690478d0a23 100644 (file)
@@ -55,16 +55,24 @@ AliAnalysisFilter::AliAnalysisFilter(const AliAnalysisFilter& obj):
     fCuts = obj.fCuts;
 }
 
+AliAnalysisFilter::~AliAnalysisFilter()
+{
+// Destructor
+   if (fCuts) fCuts->Delete("slow");
+   delete fCuts;
+}   
 
 AliAnalysisFilter& AliAnalysisFilter::operator=(const AliAnalysisFilter& other)
 {
 // Assignment
-    TNamed::operator=(other);
-    fCuts = other.fCuts;
-    return *this;
+   if (&other != this) {
+          TNamed::operator=(other);
+          fCuts = other.fCuts;
+   }
+   return *this;
    }
    
-UInt_t AliAnalysisFilter::IsSelected(TObject* track, TObject* event)
+UInt_t AliAnalysisFilter::IsSelected(TObject* obj)
 {
     //
     // Loop over all set of cuts
@@ -77,7 +85,7 @@ UInt_t AliAnalysisFilter::IsSelected(TObject* track, TObject* event)
     Int_t iCutB = 1;
        
     while((cuts = (AliAnalysisCuts*)next())) {
-       Bool_t acc = cuts->IsSelected(track, event);
+       Bool_t acc = cuts->IsSelected(obj);
        if ((filterMask = cuts->GetFilterMask()) > 0) {
            acc = (acc && (filterMask == result));
        }
@@ -89,7 +97,6 @@ UInt_t AliAnalysisFilter::IsSelected(TObject* track, TObject* event)
     return result;
 }
 
-/*
 UInt_t AliAnalysisFilter::IsSelected(TList* list)
 {
     //
@@ -114,7 +121,7 @@ UInt_t AliAnalysisFilter::IsSelected(TList* list)
 
     return result;
 }
-*/
+
 void AliAnalysisFilter::Init()
 {
     //