joint-venture of christian, andrei and jan fiete:
authorjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 26 Nov 2007 14:31:58 +0000 (14:31 +0000)
committerjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 26 Nov 2007 14:31:58 +0000 (14:31 +0000)
updated selector version to 2
made calls to begin, slavebegin, init, notify constitent

ANALYSIS/AliAnalysisManager.cxx
ANALYSIS/AliAnalysisManager.h
ANALYSIS/AliAnalysisSelector.cxx
ANALYSIS/AliAnalysisSelector.h
STEER/AliMCEventHandler.cxx

index ccabe11..6deed07 100644 (file)
@@ -163,9 +163,30 @@ void AliAnalysisManager::Init(TTree *tree)
       printf("->AliAnalysisManager::Init(%s)\n", tree->GetName());
    }
 
+   // Call InitIO of EventHandler
+   if (fOutputEventHandler) {
+      if (fMode == kProofAnalysis) {
+         fOutputEventHandler->InitIO("proof");
+      } else {
+         fOutputEventHandler->InitIO("local");
+      }
+   }
+
    if (fInputEventHandler) {
-       fInputEventHandler->SetInputTree(tree);
-       fInputEventHandler->InitIO("proof");
+      fInputEventHandler->SetInputTree(tree);
+      if (fMode == kProofAnalysis) {
+         fInputEventHandler->InitIO("proof");
+      } else {
+         fInputEventHandler->InitIO("local");
+      }
+   }
+
+   if (fMCtruthEventHandler) {
+      if (fMode == kProofAnalysis) {
+         fMCtruthEventHandler->InitIO("proof");
+      } else {
+         fMCtruthEventHandler->InitIO("local");
+      }
    }
 
    if (!fInitOK) InitAnalysis();
@@ -183,18 +204,6 @@ void AliAnalysisManager::Init(TTree *tree)
 }
 
 //______________________________________________________________________________
-void AliAnalysisManager::Begin(TTree *tree)
-{
-  // The Begin() function is called at the start of the query.
-  // When running with PROOF Begin() is only called on the client.
-  // The tree argument is deprecated (on PROOF 0 is passed).
-   if (fDebug > 1) {
-      cout << "AliAnalysisManager::Begin()" << endl;
-   }   
-   Init(tree);
-}
-
-//______________________________________________________________________________
 void AliAnalysisManager::SlaveBegin(TTree *tree)
 {
   // The SlaveBegin() function is called after the Begin() function.
@@ -203,33 +212,7 @@ void AliAnalysisManager::SlaveBegin(TTree *tree)
    if (fDebug > 1) {
       cout << "->AliAnalysisManager::SlaveBegin()" << endl;
    }
-   // Call InitIO of EventHandler
-   if (fOutputEventHandler) {
-       if (fMode == kProofAnalysis) {
-          fOutputEventHandler->InitIO("proof");
-       } else {
-          fOutputEventHandler->InitIO("local");
-       }
-   }
-   if (fInputEventHandler) {
-       if (fMode == kProofAnalysis) {
-          fInputEventHandler->SetInputTree(tree);
-          fInputEventHandler->InitIO("proof");
-       } else {
-          fInputEventHandler->SetInputTree(tree);
-          fInputEventHandler->InitIO("local");
-       }
-   }
 
-   if (fMCtruthEventHandler) {
-       if (fMode == kProofAnalysis) {
-          fMCtruthEventHandler->InitIO("proof");
-       } else {
-          fMCtruthEventHandler->InitIO("local");
-       }
-   }
-   
-   //
    TIter next(fTasks);
    AliAnalysisTask *task;
    // Call CreateOutputObjects for all tasks
@@ -237,9 +220,8 @@ void AliAnalysisManager::SlaveBegin(TTree *tree)
       TDirectory *curdir = gDirectory;
       task->CreateOutputObjects();
       if (curdir) curdir->cd();
-   }   
-   if (fMode == kLocalAnalysis) 
-       Init(tree);   
+   }
+
    if (fDebug > 1) {
       cout << "<-AliAnalysisManager::SlaveBegin()" << endl;
    }
@@ -300,7 +282,7 @@ Bool_t AliAnalysisManager::Process(Long64_t entry)
   //  Assuming that fChain is the pointer to the TChain being processed,
   //  use fChain->GetTree()->GetEntry(entry).
    if (fDebug > 1) {
-      cout << "->AliAnalysisManager::Process()" << endl;
+      cout << "->AliAnalysisManager::Process(" << entry << ")" << endl;
    }
    if (fInputEventHandler)   fInputEventHandler  ->BeginEvent(entry);
    if (fOutputEventHandler)  fOutputEventHandler ->BeginEvent(entry);
index 00c8883..5eed139 100644 (file)
@@ -54,7 +54,6 @@ enum EAliAnalysisFlags {
    void                StartAnalysis(const char *type="local", TTree *tree=0);
 
    virtual void        Init(TTree *tree);   
-   virtual void        Begin(TTree *tree);
    virtual Bool_t      Notify();
    virtual void        SlaveBegin(TTree *tree);
    virtual Bool_t      ProcessCut(Long64_t entry) {return Process(entry);}
index 3d2870f..29ff84f 100644 (file)
@@ -77,8 +77,8 @@ void AliAnalysisSelector::Begin(TTree *)
 // Assembly the input list.
    RestoreAnalysisManager();
    if (fAnalysis && fAnalysis->GetDebugLevel()>1) {
-      cout << "->AliAnalysisSelector->Init: Analysis manager restored" << endl;
-   }   
+      cout << "->AliAnalysisSelector->Begin: Analysis manager restored" << endl;
+   }
 }
 
 //______________________________________________________________________________
@@ -95,7 +95,7 @@ void AliAnalysisSelector::SlaveBegin(TTree *tree)
          cout << "<-AliAnalysisSelector->SlaveBegin()" << endl;
       }   
    }   
-}      
+}
 
 //______________________________________________________________________________
 Bool_t AliAnalysisSelector::Notify()
@@ -107,7 +107,7 @@ Bool_t AliAnalysisSelector::Notify()
    // user if needed. The return value is currently not used.
    if (fAnalysis) return fAnalysis->Notify();
    return kFALSE;
-}   
+}
 
 //______________________________________________________________________________
 Bool_t AliAnalysisSelector::Process(Long64_t entry)
@@ -115,8 +115,8 @@ Bool_t AliAnalysisSelector::Process(Long64_t entry)
 // Event loop.
    if (fAnalysis->GetDebugLevel() >1 ) {
       cout << "->AliAnalysisSelector::Process()" << endl;
-   }   
-   fAnalysis->GetEntry(entry); // Not needed anymore in version 2
+   }
+   fAnalysis->GetEntry(entry);
    fAnalysis->ExecAnalysis();
    if (fAnalysis->GetDebugLevel() >1 ) {
       cout << "<-AliAnalysisSelector::Process()" << endl;
@@ -169,7 +169,7 @@ void AliAnalysisSelector::Terminate()
   // a query. It always runs on the client, it can be used to present
   // the results graphically or save the results to file.
    if (!fAnalysis) {
-      Error("Terminate","AliAnalysisSelector::Terminate: No analysisManager!!!");
+      Error("Terminate","AliAnalysisSelector::Terminate: No analysis manager!!!");
       return;
    }   
    if (fAnalysis->GetDebugLevel() >1 ) {
index a3b41f6..cd5090d 100644 (file)
@@ -32,11 +32,11 @@ public:
    AliAnalysisSelector(AliAnalysisManager *mgr);
    virtual ~AliAnalysisSelector();
    
-   virtual int         Version() const {return 1;}
+   virtual int         Version() const {return 2;}
    virtual void        Init(TTree *tree);
    virtual void        Begin(TTree *);
    virtual void        SlaveBegin(TTree *tree);
-   virtual Bool_t      Notify();   
+   virtual Bool_t      Notify();
    virtual Bool_t      Process(Long64_t entry);
    virtual void        SlaveTerminate();
    virtual void        Terminate();
index f555489..6431532 100644 (file)
@@ -98,6 +98,7 @@ Bool_t AliMCEventHandler::InitIO(Option_t* opt)
     //
     if (!(strcmp(opt, "proof")) || !(strcmp(opt, "local"))) return kTRUE;
     //
+    ResetIO();
 
     fFileE = TFile::Open(Form("%sgalice.root", fPathName->Data()));
     if (!fFileE) AliFatal(Form("AliMCEventHandler:galice.root not found in directory %s ! \n", fPathName->Data()));
@@ -241,23 +242,21 @@ Bool_t AliMCEventHandler::Notify(const char *path)
     *fPathName = fileName;
     printf("AliMCEventHandler::Notify() Path: %s\n", fPathName->Data());
     
-    ResetIO();
-    InitIO("");
     return kTRUE;
 }
-    
+
 void AliMCEventHandler::ResetIO()
 {
 //  Clear header and stack
     fMCEvent->Clean();
     
-// Delete Tree E    
+// Delete Tree E
     delete fTreeE; fTreeE = 0;
-    
+
 // Reset files
-    if (fFileE)  delete fFileE;
-    if (fFileK)  delete fFileK;
-    if (fFileTR) delete fFileTR;
+    if (fFileE)  delete fFileE; fFileE = 0;
+    if (fFileK)  delete fFileK; fFileK = 0;
+    if (fFileTR) delete fFileTR; fFileTR = 0;
 }