+ virtual void WriteValidationScript(Bool_t merge=kFALSE) = 0;
+
+// Flags
+ Bool_t IsUseCopy() const {return TestSpecialBit(kUseCopy);}
+ void SetUseCopy(Bool_t flag=kTRUE) {SetSpecialBit(kUseCopy,flag);}
+ Bool_t IsCheckCopy() const {return TestSpecialBit(kCheckCopy);}
+ void SetCheckCopy(Bool_t flag=kTRUE) {SetSpecialBit(kCheckCopy,flag);}
+ Bool_t IsKeepLogs() const {return TestSpecialBit(kKeepLogs);}
+ void SetKeepLogs(Bool_t flag=kTRUE) {SetSpecialBit(kKeepLogs,flag);}
+ Bool_t IsUseSubmitPolicy() const {return TestSpecialBit(kUseSubmitPolicy);}
+ void SetUseSubmitPolicy(Bool_t flag=kTRUE) {SetSpecialBit(kUseSubmitPolicy,flag);}
+ Bool_t IsOneStageMerging() const {return TestSpecialBit(kOneStageMerging);}
+ void SetOneStageMerging(Bool_t flag) {SetSpecialBit(kOneStageMerging,flag);}
+ Bool_t IsUseMCchain() const {return TestSpecialBit(kUseMCchain);}
+ void SetUseMCchain(Bool_t flag=kTRUE) {SetSpecialBit(kUseMCchain,flag);}
+ Bool_t IsLocalTest() const {return TestSpecialBit(kLocalTest);}
+ void SetLocalTest(Bool_t flag=kTRUE) {SetSpecialBit(kLocalTest,flag);}
+
+// PROOF mode
+ virtual void SetProofCluster(const char *cluster) = 0;
+ virtual void SetProofDataSet(const char *dataset) = 0;
+ virtual const char *GetProofDataSet() const = 0;
+ virtual void SetProofReset(Int_t mode) = 0;
+ virtual void SetClearPackages(Bool_t flag=kTRUE) {SetSpecialBit(kClearPackages,flag);}
+ virtual void SetProofConnectGrid(Bool_t flag=kTRUE) {SetSpecialBit(kProofConnectGrid,flag);}
+ virtual void SetNproofWorkers(Int_t nworkers) = 0;
+ virtual void SetNproofWorkersPerSlave(Int_t nworkers) = 0;
+ virtual void SetRootVersionForProof(const char *version) = 0;
+ virtual void SetAliRootMode(const char *mode) = 0;
+ // .txt file containing the list of files to be chained in test mode
+ virtual void SetFileForTestMode(const char *filename) = 0;
+ virtual TChain *GetChainForTestMode(const char *treeName) const = 0;