New format of the GRP object (Chiara)
[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 class TMap;
31
32 #include <AliTagCreator.h>
33
34 class TFile;
35 class TGridResult;
36
37 class AliGRPObject;
38
39 //___________________________________________________________________________
40 class AliESDTagCreator : public AliTagCreator {
41
42  public:
43   AliESDTagCreator();
44   ~AliESDTagCreator(); 
45
46   void CreateESDTags(Int_t fFirstEvent, Int_t fLastEvent, AliGRPObject *grpData);
47
48   void SetInactiveBranches(const char* branches) {fBranches = branches;}
49
50   Bool_t ReadGridCollection(TGridResult *result);
51   Bool_t ReadLocalCollection(const char *localpath);
52   Bool_t ReadCAFCollection(const char *filename);
53   
54  protected:  
55   void CreateTag(TChain *chain, const char* type);
56   void CreateTag(TFile* file, const char *guid, const char *md5, const char *turl, Long64_t size, Int_t Counter);
57   void CreateTag(TFile* file, const char *filepath, Int_t Counter);
58
59  private:
60   void SwitchOffBranches() const;
61   AliESDTagCreator(const AliESDTagCreator& creator);             
62   AliESDTagCreator& operator=(const AliESDTagCreator& creator);
63   
64   TChain *fChain; //chain of esd files
65   TList  *fGUIDList; //TList of guid TObjString
66   TList  *fMD5List; //TList of md5 TObjString
67   TList  *fTURLList; //TList of turl TObjString
68   TString fBranches;  //List of branches to be switched off (separated by space
69   MemInfo_t *meminfo; //mem info
70
71   ClassDef(AliESDTagCreator,0)  
72 };
73
74 #endif
75