2 Simple calibration analysis
4 //0. Setup memory chcecker if you want
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);
12 AliSysInfo::AddStamp("Start");
13 //1. Load needed libraries
14 gSystem->Load("libANALYSIS");
15 gSystem->Load("libTPCcalib");
17 // Setup analysis manager
19 .L $ALICE_ROOT/TPC/macros/CalibrateTPC.C
20 AliAnalysisManager * mgr = SetupCalibTask("/V6/");
22 // Process data - chain
24 gSystem->AddIncludePath("-I$ALICE_ROOT/TPC/macros");
25 gROOT->LoadMacro("$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+")
26 AliXRDPROOFtoolkit tool;
27 TChain * chain = tool.MakeChain("esd.txt","esdTree",0,100);
30 mgr->SetNSysInfo(100);
32 mgr->SetDebugLevel(1);
33 mgr->StartAnalysis("proof",chain);
34 //mgr->StartAnalysis("local",chain);
38 AliSysInfo::AddStamp("End");
40 // analyze memstat report
43 TMemStat draw("memstat.root");
44 draw.MakeReport(0,0,"order 0 sortstat 3 sortstamp 0 sortdeep 10 stackdeep 15 maxlength 50")
48 AliAnalysisManager * SetupCalibTask(char * prefix ="/V12/") {
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);
58 TGeoManager::Import("/u/miranov/proof/geometry.root");
60 TFile f("/u/miranov/GainMap.root");
61 AliTPCCalPad *gainMap = f.Get("GainMap");
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);
75 AliAnalysisManager *mgr=new AliAnalysisManager("TestManager");
77 AliESDInputHandler* esdH=new AliESDInputHandler;
78 esdH->SetActiveBranches("ESDfriend");
79 mgr->SetInputEventHandler(esdH);
82 AliCDBManager::Instance()->SetRun(1) ;
83 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
84 AliTPCClusterParam * clusterParam = AliTPCcalibDB::Instance()->GetClusterParam();
86 AliTPCAnalysisTaskcalib *task1=new AliTPCAnalysisTaskcalib("TPC calibration task");
88 AliTPCcalibTracksCuts *cuts = new AliTPCcalibTracksCuts(40, 0.4, 0.5, 0.13, 0.018);
91 AliTPCcalibTracks *calibTracks = new AliTPCcalibTracks("calibTracks", "Resolution calibration object for tracks", clusterParam, cuts);
94 AliTPCcalibTracksGain *calibTracksGain = new AliTPCcalibTracksGain("calibTracksGain","Gain calibration using tracks",cuts);
95 AliTPCcalibAlign *calibAlign = new AliTPCcalibAlign("alignTPC","Alignment of the TPC sectors");
96 AliTPCcalibLaser *calibLaser = new AliTPCcalibLaser("laserTPC","laserTPC");
97 AliTPCcalibCosmic *calibCosmic = new AliTPCcalibCosmic("cosmicTPC","cosmicTPC");
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);
103 calibCosmic->SetGainMap(gainMap);
104 calibTracksGain->SetGainMap(gainMap);
106 calibTracks->SetDebugLevel(20);
107 calibTracks->SetStreamLevel(20);
108 calibTracksGain->SetDebugLevel(2);
109 calibTracksGain->SetStreamLevel(20);
110 calibAlign->SetDebugLevel(20);
111 calibAlign->SetStreamLevel(10);
112 calibLaser->SetDebugLevel(20);
113 calibLaser->SetStreamLevel(20);
114 calibCosmic->SetDebugLevel(20);
115 calibCosmic->SetStreamLevel(2);
116 calibCalib->SetDebugLevel(20);
117 calibCalib->SetStreamLevel(10);
120 // ---*---*-----*-*-----*----------*---
121 // ADD CALIB JOBS HERE!!!!!!!!!!!!!!!!
122 task1->AddJob(calibCalib);
123 task1->AddJob(calibAlign);
124 task1->AddJob(calibLaser);
125 task1->AddJob(calibCosmic);
126 task1->AddJob(calibTime);
128 task1->AddJob(calibTracksGain);
129 task1->AddJob(calibTracks);
130 // task1->AddJob(new AliTPCcalibV0);
131 // -*----*----*---*-*------*-------**--
132 // -------*--*---------*-----*-------*-
133 TString path=gSystem->pwd();
135 gSystem->mkdir(path);
136 task1->SetDebugOuputhPath(path.Data());
140 AliAnalysisDataContainer *cinput1
141 =mgr->CreateContainer("cchain1",TChain::Class(),
142 AliAnalysisManager::kInputContainer);
143 AliAnalysisDataContainer *coutput1
144 =mgr->CreateContainer("TPCCalib",TObjArray::Class(),
145 AliAnalysisManager::kOutputContainer,
146 "CalibObjects.root");
148 coutput1->SetSpecialOutput(kTRUE);
149 //coutput1->SetFileName("CalibObjectFile.root");
150 mgr->ConnectInput(task1,0,cinput1);
151 mgr->ConnectOutput(task1,0,coutput1);
153 //mgr->SetSpecialOutputLocation(path->Data());
155 if (!mgr->InitAnalysis()) return;
166 TString currentFile("");
167 finput.open("mergelist.txt", ios_base::in);
169 merger.OutputFile("result.root");
170 finput >> currentFile;
171 merger->AddFile(currentFile->Data());
173 TFile::Cp("result.root","last.root");
175 while(finput.good()) {
177 merger2.OutputFile("result.root");
178 finput >> currentFile;
179 merger2.AddFile("last.root");
180 merger2.AddFile(currentFile->Data());
182 TFile::Cp("result.root","last.root");