2 Simple macro to make pedstal calibration
3 and visualize calibration data
5 .L $ALICE_ROOT/TPC/macros/testDataQA.C
12 void testDataQA(Char_t *fileName, Int_t maxevent=10)
14 AliRawReaderRoot *rawReader = new AliRawReaderRoot(fileName);
15 if ( !rawReader ) return;
16 AliTPCdataQA *calib = new AliTPCdataQA;
17 calib->SetRangeTime(200,800);
18 AliTPCCalibPulser *calibPulser = new AliTPCCalibPulser;
19 calibPulser->SetRangeTime(5,300);
20 printf("Processing data\n");
22 while (rawReader->NextEvent()){
23 calib->ProcessEvent(rawReader);
25 calibPulser->ProcessEvent(rawReader);
26 printf("Processing event\t%d\n",event);
28 if (event>maxevent) break;
30 calibPulser->Analyse();
31 TFile f("dataQA.root","recreate");
32 calibPulser->Write("Pulser");
33 calib->Write("AliTPCdataQA");
40 TFile f2("dataQA.root");
41 AliTPCdataQA* ped = (AliTPCdataQA*)f2.Get("AliTPCdataQA");
42 AliTPCCalibPulser* pedPulser = (AliTPCCalibPulser*)f2.Get("Pulser");
44 AliTPCPreprocessorOnline preprocesor;
45 preprocesor.AddComponent(ped->GetMaxCharge());
46 preprocesor.AddComponent(ped->GetOverThreshold0());
47 preprocesor.AddComponent(ped->GetOverThreshold5());
48 preprocesor.AddComponent(ped->GetOverThreshold10());
49 preprocesor.AddComponent(ped->GetOverThreshold20());
50 preprocesor.AddComponent(ped->GetOverThreshold30());
52 AliTPCCalPad * pad0 = new AliTPCCalPad(pedPulser->GetCalPadT0());
53 AliTPCCalPad * pad1 = new AliTPCCalPad(pedPulser->GetCalPadQ());
54 AliTPCCalPad * pad2 = new AliTPCCalPad(pedPulser->GetCalPadRMS());
55 pad0->SetName("PulserT0");
56 pad1->SetName("PulserQ");
57 pad2->SetName("PulserRMS");
59 preprocesor.AddComponent(pad0);
60 preprocesor.AddComponent(pad1);
61 preprocesor.AddComponent(pad2);
63 preprocesor.DumpToFile("CalibTree2.root");
64 AliTPCCalibViewerGUI::ShowGUI("CalibTree2.root");