Added methods for finding a given module in the DDL map (F. Prino)
[u/mrichter/AliRoot.git] / STEER / AliESDTagCreator.h
1 #ifndef ALIESDTAGCREATOR_H
2 #define ALIESDTAGCREATOR_H
3 /*  See cxx source for full Copyright notice */
4
5
6 /* $Id$ */
7
8 //-------------------------------------------------------------------------
9 //                          Class AliESDTagCreator
10 //   This is the AliESDTagCreator class for the tag creation (post process)
11 //
12 //    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
13 //-------------------------------------------------------------------------
14
15
16
17 //////////////////////////////////////////////////////////////////////////
18 //                                                                      //
19 //                        AliESDTagCreator                              //
20 //                                                                      //
21 //           Implementation of the tag creation mechanism.              //
22 //                                                                      //
23 //////////////////////////////////////////////////////////////////////////
24
25
26 //ROOT
27 #include <TSystem.h>
28 class TChain;
29 class TList;
30
31 #include <AliTagCreator.h>
32
33 class TFile;
34 class TGridResult;
35
36
37 //___________________________________________________________________________
38 class AliESDTagCreator : public AliTagCreator {
39
40  public:
41   AliESDTagCreator();
42   ~AliESDTagCreator(); 
43
44   void CreateESDTags(Int_t fFirstEvent, Int_t fLastEvent, TList *grpList);
45
46   void SetInactiveBranches(const char* branches) {fBranches = branches;}
47
48   Bool_t ReadGridCollection(TGridResult *result);
49   Bool_t ReadLocalCollection(const char *localpath);
50   Bool_t ReadCAFCollection(const char *filename);
51   
52  protected:  
53   void CreateTag(TChain *chain, const char* type);
54   void CreateTag(TFile* file, const char *guid, const char *md5, const char *turl, Long64_t size, Int_t Counter);
55   void CreateTag(TFile* file, const char *filepath, Int_t Counter);
56
57  private:
58   void SwitchOffBranches() const;
59   AliESDTagCreator(const AliESDTagCreator& creator);             
60   AliESDTagCreator& operator=(const AliESDTagCreator& creator);
61   
62   TChain *fChain; //chain of esd files
63   TList  *fGUIDList; //TList of guid TObjString
64   TList  *fMD5List; //TList of md5 TObjString
65   TList  *fTURLList; //TList of turl TObjString
66   TString fBranches;  //List of branches to be switched off (separated by space
67   MemInfo_t *meminfo; //mem info
68
69   ClassDef(AliESDTagCreator,0)  
70 };
71
72 #endif
73