]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisTaskFilterFriend.cxx
support for par files, multiple tasks, and collection of local AODs (Matthias)
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskFilterFriend.cxx
index 628cde3d7a4c2bbd29852bf3a529f548488b89fa..b33c30788805ca35cca37b96e9e18479394e6e30 100644 (file)
@@ -97,10 +97,12 @@ void AliAnalysisTaskFilterFriend::UserCreateOutputObjects()
 void AliAnalysisTaskFilterFriend::UserExec(Option_t */*option*/)
 {
 
-       AliInfo("Filling Friends");
+       //
+       // Filtering
+       //
 
        fESDInput = dynamic_cast<AliESDEvent*>(InputEvent()); // get the input ESD
-       fESDfriendInput = (AliESDfriend*)(fESDInput->FindListObject("AliESDfriend"));
+       fESDfriendInput = InputFriend(); // get the input friend
        if(!fESDInput) {
                printf("AliAnalysisTaskFilterFriend::Exec(): no ESD \n");
                return;
@@ -110,37 +112,30 @@ void AliAnalysisTaskFilterFriend::UserExec(Option_t */*option*/)
                return;
        } 
        // attach ESDfriend
-       AliESDEvent* esdEventOutput = (AliESDEvent*)ESDEvent();
        
        AliESDfriend* esdFriendOutput = (AliESDfriend*)ESDfriend();  
-       AliInfo(Form("Number of ESD tracks in input = %d ",fESDInput->GetNumberOfTracks()));
-       AliInfo(Form("Number of ESD tracks in output = %d ",esdEventOutput->GetNumberOfTracks()));
-       AliInfo(Form("Number of tracks in input friends = %d ",fESDfriendInput->GetNumberOfTracks()));
-       AliInfo(Form("Number of tracks in output friendsNew before filtering = %d ",esdFriendOutput->GetNumberOfTracks()));
+       AliDebug(3,Form("Number of ESD tracks in input = %d ",fESDInput->GetNumberOfTracks()));
+       AliDebug(3,Form("Number of tracks in input friends = %d ",fESDfriendInput->GetNumberOfTracks()));
+       AliDebug(3,Form("Number of tracks in output friendsNew before filtering = %d ",esdFriendOutput->GetNumberOfTracks()));
        
-       AliESDfriendTrack* tNull = new AliESDfriendTrack();
-
        for (Int_t i = 0; i< fESDInput->GetNumberOfTracks(); i++){
                if (i%2 ==0){
                        // keep friend
-                       AliInfo(Form("Keeping %d-th track",i));
-                       esdEventOutput->GetTrack(i);
+                       AliDebug(2,Form("Keeping %d-th track",i));
                        AliESDfriendTrack* tOld = (AliESDfriendTrack*)fESDfriendInput->GetTrack(i);
-                       AliDebug(2,Form("1P of the %d-th track = %f",i,tOld->Get1P()));
-                       AliInfo(Form("1P of the %d-th track = %f",i,tOld->Get1P()));
-                       AliInfo(Form("MaxITScluster %d-th track = %d",i,tOld->GetMaxITScluster()));
+                       AliDebug(3,Form("1P of the %d-th track = %f",i,tOld->Get1P()));
+                       AliDebug(3,Form("MaxITScluster %d-th track = %d",i,tOld->GetMaxITScluster()));
                        //      tOld->Dump();
                        AddFriendTrackAt(tOld,i);
                
                }
                else {
                        //discard friend 
-                       AddFriendTrackAt(tNull,i);
+                       SkipFriendTrackAt(i);
                }
                
        } 
-       AliInfo(Form("Number of tracks in output friendsNew after filtering = %d ",esdFriendOutput->GetNumberOfTracks()));
-       AliInfo(Form("Number of tracks in output friendsNew after filtering with GetEntries() = %d ",esdFriendOutput->GetEntriesInTracks()));
+       AliDebug(2,Form("Number of tracks in output friendsNew after filtering with GetEntries() = %d ",esdFriendOutput->GetEntriesInTracks()));
        return;
 }
 
@@ -162,13 +157,14 @@ Bool_t AliAnalysisTaskFilterFriend::UserSelectESDfriendForCurrentEvent()
 
        
        fESDInput = dynamic_cast<AliESDEvent*>(InputEvent()); // get the input ESD
+       if (!fESDInput){
+               AliError("No ESD Input, discarding event...");
+               return kFALSE;
+       }
        if ((fESDInput->GetNumberOfTracks())%2 == 0) {
-               AliInfo("Selecting event");
+               AliDebug(2,"******************Selecting event");
                return kTRUE;
        }
-       AliInfo("Discarding event");    
+       AliDebug(2,"*******************Discarding event");      
        return kFALSE;
-       /*
-       return kTRUE;
-       */
 }