]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Adding the
authormarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 20 Nov 2007 15:39:26 +0000 (15:39 +0000)
committermarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 20 Nov 2007 15:39:26 +0000 (15:39 +0000)
SlaveTerminate handler (AliTPCSelectorTracks)
and corrsponding
Terminate function which is called at the end of slaves

In terminate the DebugStreamers are closed
+ Eval of the fitters (AliTPCcalibTracksGain)

In addition the debug streamer can be registered to user defined
directory.

(Marian)

TPC/TPCcalib/AliTPCSelectorTracks.cxx
TPC/TPCcalib/AliTPCSelectorTracks.h
TPC/TPCcalib/AliTPCcalibTracksGain.cxx
TPC/TPCcalib/AliTPCcalibTracksGain.h

index abdd0b773d67c0deb680a5c145cbb75bf1ee8c11..5a6f37cd59424e5cb3519e86085fbe7f3db680cf 100644 (file)
@@ -136,6 +136,19 @@ void AliTPCSelectorTracks::SlaveBegin(TTree * tree)
 }
 
 
+void AliTPCSelectorTracks::SlaveTerminate()
+{
+   // The SlaveTerminate() function is called after all entries or objects
+   // have been processed. When running with PROOF SlaveTerminate() is called
+   // on each slave server.
+  printf ("SlaveTerminate.. \n");
+  printf ("Terminate CalibTrackGain.. \n");
+  if (fCalibTracksGain) fCalibTracksGain->Terminate();
+}
+
+
+
+
 Int_t AliTPCSelectorTracks::ProcessIn(Long64_t entry)
 {
   //
@@ -193,17 +206,18 @@ void AliTPCSelectorTracks::Terminate()
 //          for (UInt_t iFitType = 0; iFitType < 3; iFitType++)
 //             fCalibTracksGain->Evaluate(iSegment, iPadType, iFitType);
 //       }
-//    }   
+//    }    
    TFile file(fgkOutputFileName, "recreate");
-   fCalibTracksGain->Evaluate();
+   fCalibTracksGain  = (AliTPCcalibTracksGain*)fOutput->FindObject("calibTracksGain");
+   if (fCalibTracksGain) fCalibTracksGain->Evaluate();
    fOutput->Write();
    file.Close();
    printf("Successfully written file to '%s'.", fgkOutputFileName);
-
 
    Info("Destructor","Destuctor");
-   delete fCalibTracksGain;
-   delete fCalibTracks;
+   //delete fCalibTracksGain;
+   //delete fCalibTracks;
 //   printf ("Terminate... \n");
 //   if (!fOutput) return;
 //   TFile file("Output.root","recreate");
index eb88772d01b970a99a42a65d5879d92de9fc5cb1..4af25d22b891e5effe5a16bade239a70a3e492d7 100644 (file)
@@ -22,6 +22,7 @@ public :
    AliTPCSelectorTracks(TTree *tree=0);
   virtual ~AliTPCSelectorTracks();
    virtual void    SlaveBegin(TTree *tree);
+   virtual void    SlaveTerminate();
    virtual Int_t   ProcessIn(Long64_t entry);
    virtual void    Terminate();
   void InitComponent();
index e09f5a2d3b8308a92d44d5131db5d60e34b496af..0fd6379c29dedc1db71fb191e373c8ded4400b78 100644 (file)
@@ -79,6 +79,7 @@
 
 #include <TPDGCode.h>
 #include <TStyle.h>
+#include "TSystem.h"
 #include "TMatrixD.h"
 #include "TTreeStream.h"
 #include "TF1.h"
@@ -244,7 +245,7 @@ AliTPCcalibTracksGain::~AliTPCcalibTracksGain() {
    //
    // Destructor.
    //
-   
+  Info("Destructor","");
    if (fSimpleFitter) delete fSimpleFitter;
    if (fSqrtFitter) delete fSqrtFitter;
    if (fLogFitter) delete fLogFitter;
@@ -261,6 +262,21 @@ AliTPCcalibTracksGain::~AliTPCcalibTracksGain() {
    if (fDebugCalPadCorr) delete fDebugCalPadCorr;
 }
 
+void AliTPCcalibTracksGain::Terminate(){
+  //
+  // Close Debug streamer
+  //
+  Evaluate();
+  if (fDebugStream){
+    delete fDebugStream;
+    fDebugStream=0;
+  }
+  char *prefix = "/d/alice11/miranov/simulHEAD0907/pp/calib/";
+  char command[4000];
+  sprintf(command,"mv TPCCalibTracksGain.root %s/%s_TPCCalibTracksGain.root", prefix, gSystem->HostName());
+  gSystem->Exec(command);
+}
+
 void AliTPCcalibTracksGain::AddInfo(TChain* chain, char* fileName) {
    // 
    // Add some parameters from a previous run (AliTPCcalibTracksGain object contained
index e2f1ff681406b4be9522e92ccf90b9baff201e57..4fb0752524cc20e622e299eac98833e30b493c68 100644 (file)
@@ -39,7 +39,7 @@ private:
    public:
       PreProcess(AliTPCseed* seed);
       virtual ~PreProcess();
-
+      
       AliTPCseed* GetSeed() { return fSeed; }
       Double_t    GetAngleTrackPadrow(UInt_t segment, UInt_t padType) { return fAngleTrackPadrow[segment + 36*padType]; }
       Double_t    GetAngleTrackBeam(UInt_t segment, UInt_t padType) { return fAngleTrackBeam[segment + 36*padType]; }
@@ -77,6 +77,7 @@ public:
    static void testSeed(char* file = "/d/alice07/sma/v4-06-Rev-03/pp/0201/AliESDs.root", Int_t entry = 87, Int_t track = 0); // LOESCH MICH ODER DU WIRST UNTERGEHEN
    static void     AddInfo(TChain * chain, char* fileName);
    Int_t          AcceptTrack(AliTPCseed* track);
+  void Terminate();
    //Bool_t          AcceptCluster(AliTPCclusterMI* cluster);
    void            Add(AliTPCcalibTracksGain* cal);
    void            AddTrack(AliTPCseed* seed);