]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisAlien.h
Bug fix in array size
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisAlien.h
index 164acdd72cc8ac018010dde1f16a2f88ce032d14..75e00dcb2687a818dbd028214de82194718b1d9a 100644 (file)
@@ -40,7 +40,8 @@ public:
    virtual void        SetAdditionalLibs(const char *list)               {fAdditionalLibs = list;}
    virtual void        SetPrice(Int_t price=1)                           {fPrice = price;}
    virtual void        SetRunRange(Int_t min, Int_t max)                 {fRunRange[0] = min; fRunRange[1] = max;}
-   virtual void        SetNMasterJobs(Int_t njobs)                       {fNMasterJobs = njobs;}
+   virtual void        SetJobTag(const char *tag="")                     {fJobTag = tag;}
+   virtual void        SetNrunsPerMaster(Int_t nruns=1)                  {fNrunsPerMaster = nruns;}
    virtual void        SetMaxMergeFiles(Int_t nfiles)                    {fMaxMergeFiles = nfiles;}
    virtual void        SetSplitMode(const char *type="se")               {fSplitMode = type;}
    virtual void        SetSplitMaxInputFileNumber(Int_t nfiles=100)      {fSplitMaxInputFileNumber = nfiles;}
@@ -64,19 +65,26 @@ public:
    virtual void        SetNtestFiles(Int_t nfiles)                       {fNtestFiles = nfiles;}
    virtual void        SetJDLName(const char *name="analysis.jdl")       {fJDLName = name;}
    virtual void        SetPreferedSE(const char *se)                     {fCloseSE = se;}
+   virtual void        SetProductionMode(Int_t mode=1)                   {fProductionMode = mode;}
 
    TGridJDL           *GetGridJDL() {return fGridJDL;}
+   const char         *GetGridOutputDir() const                          {return fGridOutputDir;}
 //Utilities
    virtual Bool_t      CreateDataset(const char *pattern);
    virtual Bool_t      CreateJDL();
    virtual void        EnablePackage(const char *package);
+   static Bool_t       DirectoryExists(const char *lfn);
+   static Bool_t       FileExists(const char *lfn);
+   static  const char *GetJobStatus(Int_t jobidstart, Int_t lastid, Int_t &nrunning, Int_t &nwaiting, Int_t &nerror, Int_t &ndone);
    virtual Bool_t      MergeOutputs();
    virtual void        Print(Option_t *option="") const;
-   virtual void        StartAnalysis(Long64_t nentries=123456789, Long64_t firstentry=0);
+   virtual Bool_t      StartAnalysis(Long64_t nentries=123456789, Long64_t firstentry=0);
+   virtual void        Submit();
    virtual void        WriteAnalysisFile();
    virtual void        WriteAnalysisMacro();
    virtual void        WriteExecutable();
-   Bool_t              WriteJDL(Int_t index, Bool_t copy);
+   virtual Bool_t      WriteJDL(Bool_t copy);
+   virtual void        WriteProductionFile(const char *filename) const;
    virtual void        WriteValidationScript();
 
 protected:
@@ -85,8 +93,8 @@ protected:
    void                CheckDataType(const char *lfn, Bool_t &is_collection, Bool_t &is_xml, Bool_t &use_tags);
    virtual Bool_t      Connect();
    virtual void        SetDefaults();  
+   void                SubmitNext();
 
-   Bool_t              FileExists(const char *lfn) const;
    Bool_t              IsCollection(const char *lfn) const;
    Bool_t              IsUsingTags() const {return TObject::TestBit(AliAnalysisGrid::kUseTags);}
 
@@ -99,8 +107,10 @@ private:
    Int_t            fMasterResubmitThreshold; // Failed jobs will be resubmitted until this DONE ratio
    Int_t            fNtestFiles;      // Number of files used in the testing case
    Int_t            fRunRange[2];     // Run range
-   Int_t            fNMasterJobs;     // Number of masterjobs to be launched
+   Int_t            fNrunsPerMaster;  // Number of runs per masterjob
    Int_t            fMaxMergeFiles;   // Maximum number of files to be merged in one chunk
+   Int_t            fNsubmitted;      // Number of jobs submitted
+   Int_t            fProductionMode;  // Production mode (0-off, 1-on)
    TString          fRunNumbers;      // List of runs to be processed
    TString          fExecutable;      // Executable script for AliEn job
    TString          fArguments;       // Arguments for the executable script
@@ -125,9 +135,10 @@ private:
    TString          fIncludePath;     // Include path
    TString          fCloseSE;         // Preffered storage element. Taken from alien_CLOSE_SE environment.
    TString          fFriendChainName; // File name to construct friend chain (for AOD)
+   TString          fJobTag;          // Job tag
    TObjArray       *fInputFiles;      // List of input files to be processed by the job
    TObjArray       *fPackages;        // List of packages to be used
    
-   ClassDef(AliAnalysisAlien, 4)   // Class providing some AliEn utilities
+   ClassDef(AliAnalysisAlien, 6)   // Class providing some AliEn utilities
 };
 #endif