]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/macros/CalibrateTPC.C
Un-hide method AliExternalTrackParam::GetC with "using" (A. Dainese)
[u/mrichter/AliRoot.git] / TPC / macros / CalibrateTPC.C
CommitLineData
1037b1ac 1/*
2 Simple calibration analysis
967eae0d 3 //
4 //0. Setup memory chcecker if you want
5 //
6 gSystem->Load("$ROOTSYS/lib/libGui.so");
7 gSystem->Load("$ROOTSYS/lib/libTree.so");
8 gSystem->Load("$MEMSTAT/libMemStat.so");
9 TMemStat *memstat = new TMemStat(100000000,10000000,kTRUE);
10 AliSysInfo::AddCallBack(TMemStatManager::GetInstance()->fStampCallBack);
1037b1ac 11
967eae0d 12 AliSysInfo::AddStamp("Start");
1037b1ac 13 //1. Load needed libraries
14 gSystem->Load("libANALYSIS");
15 gSystem->Load("libTPCcalib");
16 //
17 // Setup analysis manager
18 //
1037b1ac 19 .L $ALICE_ROOT/TPC/macros/CalibrateTPC.C
78abca19 20 AliAnalysisManager * mgr = SetupCalibTask("/V6/");
1037b1ac 21 //
22 // Process data - chain
23 //
24 gSystem->AddIncludePath("-I$ALICE_ROOT/TPC/macros");
ae28e92e 25 gROOT->LoadMacro("$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+")
6fa23923 26 AliXRDPROOFtoolkit tool;
78abca19 27 TChain * chain = tool.MakeChain("esd.txt","esdTree",0,100);
ae28e92e 28 chain->Lookup();
cbc19295 29 // memory
30 mgr->SetNSysInfo(100);
cbc19295 31 //
967eae0d 32 mgr->SetDebugLevel(1);
f491be13 33 mgr->StartAnalysis("proof",chain);
34 //mgr->StartAnalysis("local",chain);
967eae0d 35 // delete manager
36 //
37 delete mgr;
38 AliSysInfo::AddStamp("End");
39 //
40 // analyze memstat report
41 //
42 delete memstat;
43 TMemStat draw("memstat.root");
44 draw.MakeReport(0,0,"order 0 sortstat 3 sortstamp 0 sortdeep 10 stackdeep 15 maxlength 50")
1037b1ac 45*/
46
47
78abca19 48AliAnalysisManager * SetupCalibTask(char * prefix ="/V12/") {
1037b1ac 49 //
50 //
51 //
52 TStopwatch stopwatch;
53 stopwatch.Start();
967eae0d 54 //
55 // set magnetic field form the cosmos - it should be provided by framework
56 AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., 2);
57 AliTracker::SetFieldMap(field,0);
bdb9738c 58 TGeoManager::Import("/u/miranov/proof/geometry.root");
f491be13 59 //
78abca19 60 TFile f("/u/miranov/GainMap.root");
61 AliTPCCalPad *gainMap = f.Get("GainMap");
62 //
63 // OCDB setup
64 //
65 AliCDBManager::Instance()->SetRun(1);
66 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
67 AliTPCcalibDB::Instance()->SetExBField(0);
68 AliTPCClusterParam * param = AliTPCcalibDB::Instance()->GetClusterParam();
69 AliTPCClusterParam::SetInstance(param);
70 AliTPCcalibDB::Instance()->SetExBField(0);
f491be13 71 //
f491be13 72
73
967eae0d 74 //
1037b1ac 75 AliAnalysisManager *mgr=new AliAnalysisManager("TestManager");
76
77 AliESDInputHandler* esdH=new AliESDInputHandler;
78 esdH->SetActiveBranches("ESDfriend");
79 mgr->SetInputEventHandler(esdH);
ae28e92e 80 //
81 //
82 AliCDBManager::Instance()->SetRun(1) ;
83 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
84 AliTPCClusterParam * clusterParam = AliTPCcalibDB::Instance()->GetClusterParam();
1037b1ac 85
967eae0d 86 AliTPCAnalysisTaskcalib *task1=new AliTPCAnalysisTaskcalib("TPC calibration task");
1037b1ac 87
78abca19 88 AliTPCcalibTracksCuts *cuts = new AliTPCcalibTracksCuts(40, 0.4, 0.5, 0.13, 0.018);
1037b1ac 89
967eae0d 90 //
ae28e92e 91 AliTPCcalibTracks *calibTracks = new AliTPCcalibTracks("calibTracks", "Resolution calibration object for tracks", clusterParam, cuts);
78abca19 92
93
967eae0d 94 AliTPCcalibTracksGain *calibTracksGain = new AliTPCcalibTracksGain("calibTracksGain","Gain calibration using tracks",cuts);
95 AliTPCcalibAlign *calibAlign = new AliTPCcalibAlign("alignTPC","Alignment of the TPC sectors");
752287d5 96 AliTPCcalibLaser *calibLaser = new AliTPCcalibLaser("laserTPC","laserTPC");
97 AliTPCcalibCosmic *calibCosmic = new AliTPCcalibCosmic("cosmicTPC","cosmicTPC");
78abca19 98 AliTPCcalibCalib *calibCalib = new AliTPCcalibCalib("calibTPC","calibTPC");
99 TTimeStamp startTime(2008,9,0,0,0,0);
100 TTimeStamp stopTime(2008,11,0,0,0,0);
101 AliTPCcalibTime *calibTime = new AliTPCcalibTime("cosmicTime","cosmicTime",0, startTime.GetSec(), stopTime.GetSec(), 5*60, 5*60);
102
f491be13 103 calibCosmic->SetGainMap(gainMap);
78abca19 104 calibTracksGain->SetGainMap(gainMap);
f491be13 105 //
106 calibTracks->SetDebugLevel(20);
107 calibTracks->SetStreamLevel(20);
108 calibTracksGain->SetDebugLevel(2);
109 calibTracksGain->SetStreamLevel(20);
967eae0d 110 calibAlign->SetDebugLevel(20);
f491be13 111 calibAlign->SetStreamLevel(10);
752287d5 112 calibLaser->SetDebugLevel(20);
78abca19 113 calibLaser->SetStreamLevel(20);
752287d5 114 calibCosmic->SetDebugLevel(20);
115 calibCosmic->SetStreamLevel(2);
78abca19 116 calibCalib->SetDebugLevel(20);
117 calibCalib->SetStreamLevel(10);
752287d5 118
967eae0d 119 //
ae28e92e 120 // ---*---*-----*-*-----*----------*---
1037b1ac 121 // ADD CALIB JOBS HERE!!!!!!!!!!!!!!!!
78abca19 122 task1->AddJob(calibCalib);
bdb9738c 123 task1->AddJob(calibAlign);
78abca19 124 task1->AddJob(calibLaser);
f491be13 125 task1->AddJob(calibCosmic);
78abca19 126 task1->AddJob(calibTime);
127
f491be13 128 task1->AddJob(calibTracksGain);
129 task1->AddJob(calibTracks);
1037b1ac 130 // task1->AddJob(new AliTPCcalibV0);
131 // -*----*----*---*-*------*-------**--
132 // -------*--*---------*-----*-------*-
78abca19 133 TString path=gSystem->pwd();
134 path+=prefix;
135 gSystem->mkdir(path);
136 task1->SetDebugOuputhPath(path.Data());
137
1037b1ac 138 mgr->AddTask(task1);
139
140 AliAnalysisDataContainer *cinput1
141 =mgr->CreateContainer("cchain1",TChain::Class(),
142 AliAnalysisManager::kInputContainer);
143 AliAnalysisDataContainer *coutput1
bdb9738c 144 =mgr->CreateContainer("TPCCalib",TObjArray::Class(),
1037b1ac 145 AliAnalysisManager::kOutputContainer,
146 "CalibObjects.root");
78abca19 147
148 coutput1->SetSpecialOutput(kTRUE);
149 //coutput1->SetFileName("CalibObjectFile.root");
1037b1ac 150 mgr->ConnectInput(task1,0,cinput1);
151 mgr->ConnectOutput(task1,0,coutput1);
78abca19 152 //
153 //mgr->SetSpecialOutputLocation(path->Data());
1037b1ac 154
155 if (!mgr->InitAnalysis()) return;
156 mgr->PrintStatus();
157
158 stopwatch.Stop();
159 stopwatch.Print();
160 return mgr;
161}
78abca19 162
163
164void Merge(){
165 fstream finput;
166 TString currentFile("");
167 finput.open("mergelist.txt", ios_base::in);
168 TFileMerger merger;
169 merger.OutputFile("result.root");
170 finput >> currentFile;
171 merger->AddFile(currentFile->Data());
172 merger.Merge();
173 TFile::Cp("result.root","last.root");
174 //
175 while(finput.good()) {
176 TFileMerger merger2;
177 merger2.OutputFile("result.root");
178 finput >> currentFile;
179 merger2.AddFile("last.root");
180 merger2.AddFile(currentFile->Data());
181 merger2.Merge();
182 TFile::Cp("result.root","last.root");
183 }
184}