]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisAlien.h
AliAnalysisTaskMuonTrackingEff: removal of warnings, passing the AliCheckDetElementRe...
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisAlien.h
index a743a77f57ada00c3b2e306b9dd2e9c430ad4e3a..da2efce86efbfb837f349e59d38013de49b218e1 100644 (file)
@@ -32,13 +32,19 @@ public:
 // Setters   
    virtual void        AddIncludePath(const char *path);
    virtual void        AddRunNumber(Int_t run);
+   virtual void        AddRunNumber(const char *run);
    virtual void        AddDataFile(const char *lfn);
    virtual void        SetExecutable(const char *name="analysis.sh")     {fExecutable = name;}
+   virtual void        SetExecutableCommand(const char *command="root -b -q") {fExecutableCommand = command;}
    virtual void        SetArguments(const char *name="")                 {fArguments = name;}
    virtual void        SetAnalysisMacro(const char *name="myAnalysis.C") {fAnalysisMacro = name;}
    virtual void        SetAnalysisSource(const char *name="myAnalysisClass.cxx") {fAnalysisSource = name;}
    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        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;}
    virtual void        SetAPIVersion(const char *version="V2.4") {fAPIVersion = version;}
@@ -49,6 +55,7 @@ public:
    virtual void        SetGridWorkingDir(const char *name="workdir")     {fGridWorkingDir = name;}
    virtual void        SetGridDataDir(const char *name)                  {fGridDataDir = name;}
    virtual void        SetDataPattern(const char *pattern="*AliESDs.root") {fDataPattern = pattern;}
+   virtual void        SetFriendChainName(const char *name="")           {fFriendChainName = name;}
    virtual void        SetDefaultOutputs(Bool_t flag);
    virtual void        SetGridOutputDir(const char *name="output")       {fGridOutputDir = name;}
    virtual void        SetOutputArchive(const char *list="log_archive.zip:stdout,stderr root_archive.zip:*.root") {fOutputArchive = list;}
@@ -60,17 +67,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        StartAnalysis(Long64_t nentries=123456789, Long64_t firstentry=0);
+   virtual void        Print(Option_t *option="") const;
+   virtual Bool_t      StartAnalysis(Long64_t nentries=123456789, Long64_t firstentry=0);
+   virtual void        Submit();
    virtual void        WriteAnalysisFile();
    virtual void        WriteAnalysisMacro();
    virtual void        WriteExecutable();
+   virtual Bool_t      WriteJDL(Bool_t copy);
+   virtual void        WriteProductionFile(const char *filename) const;
    virtual void        WriteValidationScript();
 
 protected:
@@ -79,8 +95,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);}
 
@@ -92,8 +108,14 @@ private:
    Int_t            fMaxInitFailed;   // Maximum initial consecutive subjobs accepted to fail
    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            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          fExecutableCommand;  // Command(s) to be executed in the executable script
    TString          fArguments;       // Arguments for the executable script
    TString          fAnalysisMacro;   // Root macro steering the analysis
    TString          fAnalysisSource;  // User analysis implementation (.cxx) file(s)
@@ -115,9 +137,11 @@ private:
    TString          fMergeExcludes;   // List of output files excluded from merging
    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, 2)   // Class providing some AliEn utilities
+   ClassDef(AliAnalysisAlien, 7)   // Class providing some AliEn utilities
 };
 #endif