2 Simple calibration analysis
4 //0. Setup memory chcecker if you want
6 TMemStat *memstat = new TMemStat("new,gnubuildin");
7 AliSysInfo::AddCallBack(TMemStatManager::GetInstance()->fStampCallBack);
9 AliSysInfo::AddStamp("Start");
10 //1. Load needed libraries
11 gSystem->Load("libANALYSIS");
12 gSystem->Load("libTPCcalib");
14 // Setup analysis manager
16 .L $ALICE_ROOT/TPC/macros/CalibrateTPC.C
17 AliAnalysisManager * mgr = ( AliAnalysisManager *)SetupCalibTask("/V2/");
18 gROOT->Macro(Form("$ALICE_ROOT/TPC/macros/ConfigOCDB.C(%f)",5));
21 // Process data - chain
23 gSystem->AddIncludePath("-I$ALICE_ROOT/TPC/macros");
24 gROOT->LoadMacro("$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+")
25 AliXRDPROOFtoolkit tool;
26 TChain * chain = tool.MakeChainRandom("esd.txt","esdTree",0,5);
29 mgr->SetNSysInfo(1000);
31 mgr->SetDebugLevel(10);
32 mgr->StartAnalysis("proof",chain);
33 //mgr->StartAnalysis("local",chain);
37 AliSysInfo::AddStamp("End");
39 // analyze memstat report
43 mem.MakeReport(0,0,"order 0 sortstat 3 sortstamp 0 sortdeep 10 stackdeep 15 maxlength 50")
46 TObject * SetupCalibTask(char * prefix ="/V12/") {
54 AliAnalysisManager *mgr=new AliAnalysisManager("TestManager");
56 AliESDInputHandler* esdH=new AliESDInputHandler;
57 esdH->SetActiveBranches("ESDfriend");
58 mgr->SetInputEventHandler(esdH);
61 AliCDBManager::Instance()->SetRun(1) ;
62 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
63 AliTPCClusterParam * clusterParam = AliTPCcalibDB::Instance()->GetClusterParam();
64 AliTPCAnalysisTaskcalib *task1=new AliTPCAnalysisTaskcalib("TPC calibration task");
66 AliTPCcalibTracksCuts *cuts = new AliTPCcalibTracksCuts(40, 0.4, 0.5, 0.13, 0.018);
69 AliTPCcalibTracks *calibTracks = new AliTPCcalibTracks("calibTracks", "Resolution calibration object for tracks", clusterParam, cuts);
72 AliTPCcalibTracksGain *calibTracksGain = new AliTPCcalibTracksGain("calibTracksGain","Gain calibration using tracks",cuts);
73 AliTPCcalibAlign *calibAlign = new AliTPCcalibAlign("alignTPC","Alignment of the TPC sectors");
74 AliTPCcalibAlign *calibAlignAll = new AliTPCcalibAlign("alignTPCAll","Alignment of the TPC sectors- All");
75 AliTPCcalibLaser *calibLaser = new AliTPCcalibLaser("laserTPC","laserTPC");
76 AliTPCcalibCosmic *calibCosmic = new AliTPCcalibCosmic("cosmicTPC","cosmicTPC");
77 AliTPCcalibCalib *calibCalib = new AliTPCcalibCalib("calibTPC","calibTPC");
78 TTimeStamp startTime(2008,9,0,0,0,0);
79 TTimeStamp stopTime(2008,11,0,0,0,0);
80 AliTPCcalibTime *calibTime = new AliTPCcalibTime("calibTime","calibTime", startTime.GetSec(), stopTime.GetSec(), 5*60, 5*60);
82 AliTPCcalibUnlinearity *calibUnlinearity = new AliTPCcalibUnlinearity("calibUnlinearity","calibUnlinearity");
83 AliTPCcalibUnlinearity *calibUnlinearityAll = new AliTPCcalibUnlinearity("calibUnlinearityAll","calibUnlinearityAll");
86 calibTracks->SetDebugLevel(2);
87 calibTracks->SetStreamLevel(20);
88 calibTracksGain->SetDebugLevel(2);
89 calibTracksGain->SetStreamLevel(20);
90 calibAlign->SetDebugLevel(20);
91 calibAlign->SetStreamLevel(10);
92 calibAlignAll->SetDebugLevel(20);
93 calibAlignAll->SetStreamLevel(10);
94 calibLaser->SetDebugLevel(0);
95 calibLaser->SetStreamLevel(0);
96 calibCosmic->SetDebugLevel(20);
97 calibCosmic->SetStreamLevel(2);
98 calibCalib->SetDebugLevel(0);
99 calibCalib->SetStreamLevel(0);
100 calibTime->SetDebugLevel(20);
101 calibTime->SetStreamLevel(10);
103 calibUnlinearity->SetDebugLevel(20);
104 calibUnlinearity->SetStreamLevel(10);
105 calibUnlinearityAll->SetDebugLevel(20);
106 calibUnlinearityAll->SetStreamLevel(10);
108 calibCalib->SetTriggerMask(-1,-1,kFALSE); //accept everything
109 calibTracks->SetTriggerMask(-1,16,kTRUE); //reject laser trigger, accept everything else
110 calibTracksGain->SetTriggerMask(-1,16,kTRUE); //reject laser trigger, accept everything else
111 calibAlign->SetTriggerMask(-1,-1,kTRUE); //accept everything
112 calibAlignAll->SetTriggerMask(-1,-1,kFALSE); //accept everything
113 calibLaser->SetTriggerMask(-1,-1,kFALSE); //accept only laser trigger
114 calibCosmic->SetTriggerMask(-1,-1,kTRUE); //reject laser trigger, accept everything else
115 calibTime->SetTriggerMask(-1,-1,kFALSE); //accept everything
116 calibUnlinearity->SetTriggerMask(-1,-1,kTRUE); //reject laser
117 calibUnlinearityAll->SetTriggerMask(-1,-1,kFALSE); //non reject laser
121 // ---*---*-----*-*-----*----------*---
122 // ADD CALIB JOBS HERE!!!!!!!!!!!!!!!!
123 task1->AddJob(calibCalib);
124 //task1->AddJob(calibAlign);
125 //task1->AddJob(calibAlignAll);
126 //task1->AddJob(calibLaser);
127 //task1->AddJob(calibCosmic);
128 task1->AddJob(calibTime);
130 //task1->AddJob(calibTracksGain);
131 //task1->AddJob(calibTracks);
132 //task1->AddJob(calibUnlinearity);
133 //task1->AddJob(calibUnlinearityAll);
134 // task1->AddJob(new AliTPCcalibV0);
135 // -*----*----*---*-*------*-------**--
136 // -------*--*---------*-----*-------*-
137 TString path=gSystem->pwd();
139 gSystem->mkdir(path);
140 task1->SetDebugOuputhPath(path.Data());
144 AliAnalysisDataContainer *cinput1
145 =mgr->CreateContainer("cchain1",TChain::Class(),
146 AliAnalysisManager::kInputContainer);
147 AliAnalysisDataContainer *coutput1
148 =mgr->CreateContainer("TPCCalib",TObjArray::Class(),
149 AliAnalysisManager::kOutputContainer,
150 "CalibObjects.root");
152 //coutput1->SetSpecialOutput(kTRUE);
153 //coutput1->SetFileName("CalibObjectFile.root");
154 mgr->ConnectInput(task1,0,cinput1);
155 mgr->ConnectOutput(task1,0,coutput1);
157 //mgr->SetSpecialOutputLocation(path->Data());
159 if (!mgr->InitAnalysis()) return 0;
172 void CalibrateTPC(Float_t magf, Int_t first, Int_t last){
173 gSystem->Load("libANALYSIS");
174 gSystem->Load("libTPCcalib");
175 gROOT->Macro(Form("$ALICE_ROOT/TPC/macros/ConfigOCDB.C(%f)",magf));
177 // Setup analysis manager
179 //.L $ALICE_ROOT/TPC/macros/CalibrateTPC.C
180 AliAnalysisManager * mgr = (AliAnalysisManager*)SetupCalibTask("/V3/");
182 // Process data - chain
184 gSystem->AddIncludePath("-I$ALICE_ROOT/TPC/macros");
185 gROOT->LoadMacro("$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+");
186 AliXRDPROOFtoolkit tool;
187 TChain * chain = tool.MakeChain("esd.txt","esdTree",0,last-first,last);
190 mgr->SetNSysInfo(5000);
192 mgr->SetDebugLevel(1);
193 mgr->StartAnalysis("local",chain);