RelVal: more retries w/pauses on VM + small fixes
[u/mrichter/AliRoot.git] / ANALYSIS / AliFileMerger.h
CommitLineData
623bb90b 1#ifndef ALIFILEMERGER_H
2#define ALIFILEMERGER_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9//////////////////////////////////////////////////////////////////////////
10//
11// Utilities for file merging
12//
13//////////////////////////////////////////////////////////////////////////
14
15class TObjString;
16
17#include "TNamed.h"
18
19class AliFileMerger : public TNamed
20{
21
22 public:
23 AliFileMerger();
24 AliFileMerger(const char* name);
25 void Merge(TFile* fileIn, TObjArray * array);
26
39f7cda2 27 void IterTXT( const char * fileList, const char* outputFileName,Bool_t dontOverwrite=kFALSE);
28 void IterAlien(const char* outputDir, const char* outputFileName = "CalibObjects.root" , const char* pattern = "AliESDfriends_v1.root", Bool_t dontOverwrite=kFALSE);
3e486dd5 29 void IterList(const TList* namesList, const char* outputFileName, Bool_t dontOverwrite=kFALSE);
623bb90b 30 //
31 void StoreResults(TObjArray * array, const char* outputFileName);
32 void StoreSeparateResults(TObjArray * array, const char* outputFileName);
33 //
34 Bool_t IsAccepted(TString name);
35 void AddReject(const char *reject);
36 void AddAccept(const char *accept);
39f7cda2 37 void SetNoTrees(Bool_t v=kTRUE) {fNoTrees = v;}
38 Bool_t IsNoTrees() const {return fNoTrees;}
3e486dd5 39 void SetMaxFilesOpen(Int_t n) {fMaxFilesOpen = n<3 ? 3 : n;}
40 Int_t GetMaxFilesOpen() const {return fMaxFilesOpen;}
39f7cda2 41protected:
42 int AddFile(TList* sourcelist, std::string entry);
f796afad 43 int MergeRootfile( TDirectory *target, TList *sourceNames, Bool_t nameFiltering=kTRUE);
3e486dd5 44 int OpenNextChunks(const TList* namesList, TList* filesList, Int_t from, Int_t to);
623bb90b 45protected:
46 TObjArray * fRejectMask; // mask of the objects to be rejected
47 TObjArray * fAcceptMask; // mask of the objects to be accepted
3e486dd5 48 Int_t fMaxFilesOpen; // max number of open files
39f7cda2 49 Bool_t fNoTrees; // do we merge trees
623bb90b 50private:
51 AliFileMerger(const AliFileMerger&);
52 AliFileMerger& operator=(const AliFileMerger& other);
53
3e486dd5 54 ClassDef(AliFileMerger, 2); // File merger utilities for AliRoot
623bb90b 55};
56
57#endif