]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSLoader.cxx
AliMiniHeader moved to separate file
[u/mrichter/AliRoot.git] / ITS / AliITSLoader.cxx
1 #include "AliITSLoader.h"
2 #include <AliRunLoader.h>
3
4 #include <TTree.h>
5 #include <TFile.h>
6
7 const TString AliITSLoader::fgkDefaultRawClustersContainerName = "TreeC";
8 const TString AliITSLoader::fgkDefaultBackTracksContainerName = "TreeB";
9 const TString AliITSLoader::fgkDefaultVerticesContainerName = "Vertex";
10 const TString AliITSLoader::fgkDefaultV0ContainerName = "V0";
11 const TString AliITSLoader::fgkDefaultCascadeContainerName = "Cascade";
12
13 ClassImp(AliITSLoader)
14
15 /*****************************************************************************/ 
16 AliITSLoader::AliITSLoader(const Char_t *name,const Char_t *topfoldername):
17  AliLoader(name,topfoldername),
18  fRawClustersDataLoader(fDetectorName + ".RawCl.root",fgkDefaultRawClustersContainerName,"Raw Clusters"),
19  fBackTracksDataLoader(fDetectorName + ".BackTracks.root",fgkDefaultBackTracksContainerName,"Back Propagated Tracks"),
20  fVertexDataLoader(fDetectorName + ".Vertex.root",fgkDefaultVerticesContainerName,"Primary Vertices","O"),
21  fV0DataLoader(fDetectorName + ".V0s.root",fgkDefaultV0ContainerName,"V0 Vertices"),
22   fCascadeDataLoader(fDetectorName + ".Cascades.root",fgkDefaultCascadeContainerName,"Cascades")
23 {
24 //ctor   
25    fDataLoaders->Add(&fRawClustersDataLoader);
26    fRawClustersDataLoader.SetEventFolder(fEventFolder);
27    fRawClustersDataLoader.SetFolder(GetDetectorDataFolder());
28
29    fDataLoaders->Add(&fBackTracksDataLoader);
30    fBackTracksDataLoader.SetEventFolder(fEventFolder);
31    fBackTracksDataLoader.SetFolder(GetDetectorDataFolder());
32
33    fDataLoaders->Add(&fVertexDataLoader);
34    fVertexDataLoader.SetEventFolder(fEventFolder);
35    fVertexDataLoader.SetFolder(GetDetectorDataFolder());
36    
37    fDataLoaders->Add(&fV0DataLoader);
38    fV0DataLoader.SetEventFolder(fEventFolder);
39    fV0DataLoader.SetFolder(GetDetectorDataFolder());
40    
41    fDataLoaders->Add(&fCascadeDataLoader);
42    fCascadeDataLoader.SetEventFolder(fEventFolder);
43    fCascadeDataLoader.SetFolder(GetDetectorDataFolder());
44    
45 }
46 /*****************************************************************************/ 
47
48 AliITSLoader::AliITSLoader(const Char_t *name,TFolder *topfolder):
49  AliLoader(name,topfolder),
50  fRawClustersDataLoader(fDetectorName + ".RawCl.root",fgkDefaultRawClustersContainerName,"Raw Clusters"),
51  fBackTracksDataLoader(fDetectorName + ".BackTracks.root",fgkDefaultBackTracksContainerName,"Back Propagated Tracks"),
52  fVertexDataLoader(fDetectorName + ".Vertex.root",fgkDefaultVerticesContainerName,"Primary Vertices","O"),
53  fV0DataLoader(fDetectorName + ".V0.root",fgkDefaultV0ContainerName,"V0 Vertices"),
54   fCascadeDataLoader(fDetectorName + ".Cascade.root",fgkDefaultCascadeContainerName,"Cascades")
55 {
56 //ctor   
57    fDataLoaders->Add(&fRawClustersDataLoader);
58    fRawClustersDataLoader.SetEventFolder(fEventFolder);
59    fRawClustersDataLoader.SetFolder(GetDetectorDataFolder());
60
61    fDataLoaders->Add(&fBackTracksDataLoader);
62    fBackTracksDataLoader.SetEventFolder(fEventFolder);
63    fBackTracksDataLoader.SetFolder(GetDetectorDataFolder());
64
65    fDataLoaders->Add(&fVertexDataLoader);
66    fVertexDataLoader.SetEventFolder(fEventFolder);
67    fVertexDataLoader.SetFolder(GetDetectorDataFolder());
68
69    fDataLoaders->Add(&fV0DataLoader);
70    fV0DataLoader.SetEventFolder(fEventFolder);
71    fV0DataLoader.SetFolder(GetDetectorDataFolder());
72    
73    fDataLoaders->Add(&fCascadeDataLoader);
74    fCascadeDataLoader.SetEventFolder(fEventFolder);
75    fCascadeDataLoader.SetFolder(GetDetectorDataFolder());
76    
77 }
78 /*****************************************************************************/ 
79 AliITSLoader::~AliITSLoader()
80 {
81  //destructor
82   UnloadRawClusters();
83   fDataLoaders->Remove(&fRawClustersDataLoader);
84
85   UnloadBackTracks();
86   fDataLoaders->Remove(&fBackTracksDataLoader);
87
88   UnloadVertices();
89   fDataLoaders->Remove(&fVertexDataLoader);
90
91   UnloadV0s();
92   fDataLoaders->Remove(&fV0DataLoader);
93
94   UnloadCascades();
95   fDataLoaders->Remove(&fCascadeDataLoader);
96
97 }
98
99 void AliITSLoader::MakeTree(Option_t *opt){
100   // invokes AliLoader::MakeTree + specific ITS tree(s)
101   // Valid options: H,S,D,R,T and C (C=raw clusters)
102   AliLoader::MakeTree(opt);
103   const char *oC = strstr(opt,"C");
104   if (oC) MakeRawClustersContainer();
105
106   const char *oB = strstr(opt,"B");
107   if (oB) MakeBackTracksContainer();
108   
109   const char *oV0 = strstr(opt,"V0");
110   if (oV0) MakeV0Container();
111   
112   const char *oX = strstr(opt,"X");
113   if (oX) MakeCascadeContainer();
114   
115 }