Adding macros to check the raw data (Marian)
authormarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 13 Dec 2007 17:26:31 +0000 (17:26 +0000)
committermarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 13 Dec 2007 17:26:31 +0000 (17:26 +0000)
TPC/macros/testDataQA.C [new file with mode: 0644]

diff --git a/TPC/macros/testDataQA.C b/TPC/macros/testDataQA.C
new file mode 100644 (file)
index 0000000..c3d07d8
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+  Simple macro to make pedstal calibration
+  and visualize calibration data
+
+  .L $ALICE_ROOT/TPC/macros/testDataQA.C
+  
+*/
+
+
+
+
+void testDataQA(Char_t *fileName, Int_t maxevent=10)
+{
+   AliRawReaderRoot *rawReader = new AliRawReaderRoot(fileName);
+   if ( !rawReader ) return;
+   AliTPCdataQA *calib = new AliTPCdataQA; 
+   calib->SetRangeTime(200,800);
+   AliTPCCalibPulser *calibPulser = new AliTPCCalibPulser; 
+   calibPulser->SetRangeTime(5,300);
+   printf("Processing data\n");
+   Int_t event=0;
+   while (rawReader->NextEvent()){
+     calib->ProcessEvent(rawReader);
+     rawReader->Reset();
+     calibPulser->ProcessEvent(rawReader);
+     printf("Processing event\t%d\n",event);
+     event++;
+     if (event>maxevent) break;
+   }
+   calibPulser->Analyse();
+   TFile f("dataQA.root","recreate");
+   calibPulser->Write("Pulser");
+   calib->Write("AliTPCdataQA");
+   delete rawReader;
+   delete calib;
+   delete calibPulser;
+
+   f.Close();
+   //
+   TFile f2("dataQA.root");
+   AliTPCdataQA* ped = (AliTPCdataQA*)f2.Get("AliTPCdataQA");
+   AliTPCCalibPulser* pedPulser = (AliTPCCalibPulser*)f2.Get("Pulser");
+   
+   AliTPCPreprocessorOnline preprocesor;
+   preprocesor.AddComponent(ped->GetMaxCharge());
+   preprocesor.AddComponent(ped->GetOverThreshold0());
+   preprocesor.AddComponent(ped->GetOverThreshold5());
+   preprocesor.AddComponent(ped->GetOverThreshold10());
+   preprocesor.AddComponent(ped->GetOverThreshold20());
+   preprocesor.AddComponent(ped->GetOverThreshold30());
+   //
+   AliTPCCalPad * pad0 = new AliTPCCalPad(pedPulser->GetCalPadT0());
+   AliTPCCalPad * pad1 = new AliTPCCalPad(pedPulser->GetCalPadQ());
+   AliTPCCalPad * pad2 = new AliTPCCalPad(pedPulser->GetCalPadRMS());
+   pad0->SetName("PulserT0");
+   pad1->SetName("PulserQ");
+   pad2->SetName("PulserRMS");
+   
+   preprocesor.AddComponent(pad0);
+   preprocesor.AddComponent(pad1);
+   preprocesor.AddComponent(pad2);
+   
+   preprocesor.DumpToFile("CalibTree2.root");
+   AliTPCCalibViewerGUI::ShowGUI("CalibTree2.root");
+}
+