Setting of aliases to rawReader done only once. Base decision on cosmic or calib...
[u/mrichter/AliRoot.git] / STEER / 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 class AliEventTag;
39
40 //___________________________________________________________________________
41 class AliESDTagCreator : public AliTagCreator {
42
43  public:
44   AliESDTagCreator();
45   ~AliESDTagCreator(); 
46
47   void CreateESDTags(Int_t fFirstEvent, Int_t fLastEvent, AliGRPObject *grpData, ULong_t * qa, Bool_t * es, Int_t qalength, Int_t eslength);
48   void CreateESDTagsFullRun(TTree *chain, AliGRPObject *grpData, ULong_t * qa, Bool_t * es, Int_t qalength, Int_t eslength);
49   void CreateESDRunTagSummary(TTree *chain);
50
51   void SetInactiveBranches(const char* branches) {fBranches = branches;}
52
53   Bool_t ReadGridCollection(TGridResult *result);
54   Bool_t ReadLocalCollection(const char *localpath);
55   Bool_t ReadCAFCollection(const char *filename);
56   
57  protected:  
58   void CreateTag(TChain *chain, const char* type);
59   void CreateTag(TFile* file, const char *guid, const char *md5, const char *turl, Long64_t size, Int_t Counter);
60   void CreateTag(TFile* file, const char *filepath, Int_t Counter);
61
62   void FillEventTag(TTree *chain, AliEventTag *evTag, Int_t iEventNumber, AliESDEvent *esd);
63
64  private:
65   void SwitchOffBranches() const;
66   AliESDTagCreator(const AliESDTagCreator& creator);             
67   AliESDTagCreator& operator=(const AliESDTagCreator& creator);
68   
69   TChain *fChain;     //chain of esd files
70   TList  *fGUIDList;  //TList of guid TObjString
71   TList  *fMD5List;   //TList of md5 TObjString
72   TList  *fTURLList;  //TList of turl TObjString
73   TString fBranches;  //List of branches to be switched off (separated by space
74   MemInfo_t *meminfo; //mem info
75
76   ClassDef(AliESDTagCreator,0)  
77 };
78
79 #endif
80