Allowing to switch off branches (calo+FMD for PDC06) - Andreas)
[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  private:
57   void SwitchOffBranches() const;
58  private:
59   TChain *fChain;     //chain of esd files
60   TList  *fGUIDList;  //TList of guid TObjString
61   TList  *fMD5List;   //TList of md5 TObjString
62   TList  *fTURLList;  //TList of turl TObjString
63   TString fBranches;  //List of branches to be switched off (separated by space
64   MemInfo_t *meminfo; //mem info
65   ClassDef(AliESDTagCreator,0)  
66 };
67
68 #endif
69