/*
Example usage:
0. Load neccessary libraries
gSystem->Load("libANALYSIS");
gSystem->Load("libANALYSISalice");
gSystem->Load("libTPCcalib");
gSystem->Load("libXrdClient.so");
gSystem->Load("libNetx.so");
TGrid::Connect("alien://",0,0,"t");
gSystem->Load("$ROOTSYS/lib/libXrdClient.so");
//
// 1. Make list of the files
//
.L $ALICE_ROOT/TPC/macros/testTPC/AlienToolkit.cxx+
gSystem->Load("libXrdClient.so");
gSystem->Load("libNetx.so");
AlienToolkit toolkit;
char *path = "/alice/cern.ch/user/a/amatyja/alice/data/"
toolkit.MakeCollection(path,"32129*Krypton.root");
toolkit.MakeCollection(path,"32231*Krypton.root");
toolkit.MakeCollection(path,"32284*Krypton.root");
toolkit.PrintPFN(); > list.txt
//
// 2. Initialization of proof
//
TProofMgr * proofmgr = TProof::Mgr("lxgrid5.gsi.de");
TProof * proof = proofmgr->CreateSession();
proof->SetParameter("PROOF_MaxSlavesPerNode", (Long_t)1000);
.L /u/miranov/macros/ProofEnableAliRoot.C
ProofEnableAliRoot("/usr/local/grid/AliRoot/HEAD0108");
gProof->Exec("gSystem->Load(\"libANALYSIS.so\")",kTRUE);
gProof->Exec("gSystem->Load(\"libSTAT.so\")",kTRUE);
gProof->Exec("gSystem->Load(\"libTPCcalib.so\")",kTRUE);
gProof->Exec(".x $ALICE_ROOT/TPC/macros/ConfigOCDB.C");
//
// 3 Run analysis on PROOF
//
//
// Create chain of input files
//
gSystem->AddIncludePath("-I$ALICE_ROOT/TPC/macros");
gROOT->LoadMacro("$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+");
.L $ALICE_ROOT/TPC/macros/RunAliTPCCalibKrTask.C
RunAliTPCCalibKrTask(kTRUE);
//
// Check the cuts for clusters
//
AliXRDPROOFtoolkit tool;
TChain * chain = tool.MakeChain("list.txt","Kr",0,1000);
chain->Lookup();
chain->SetProof(kTRUE);
TCut cutR0("cutR0","fADCcluster/fSize<200"); // adjust it according v seetings -
TCut cutR1("cutR1","fADCcluster/fSize>7"); // cosmic tracks and noise removal
TCut cutR2("cutR2","fMax.fAdc/fADCcluster<0.4"); // digital noise removal
TCut cutR3("cutR3","fMax.fAdc/fADCcluster>0.01"); // noise removal
TCut cutR4("cutR4","fMax.fTime>200"); // noise removal
TCut cutR5("cutR5","fMax.fTime<600"); // noise removal
TCut cutS1("cutS1","fSize<200"); // adjust it according v seetings - cosmic tracks
TCut cutAll = cutR0+cutR1+cutR2+cutR3+cutR4+cutR5+cutS1;
//..
//
//
//Example usage
TFile f("KrHisto.root");
AliTPCCalibKr *kr = f.Get("AliTPCCalibKr");
kr->ProjectHisto(kr->GetHistoKr(71),"aaa",30,36,30,40)->Draw()
//
//
//
MakeTree();
//default cuts
TCut cutKr("cutKr","entries.fElements<5000&&fitNormChi2.fElements<3&&fitNormChi2.fElements>0.2&&abs(fitRMS.fElements/fitMean.fElements-0.06)<0.025");
TObjArray * array = AliTPCCalibViewerGUI::ShowGUI("kryptonTree.root");
AliTPCCalibViewerGUI * viewer = (AliTPCCalibViewerGUI*)array->At(0);
TTree * tree = viewer->GetViewer()->GetTree();
tree->SetAlias("cutAll","abs(fitNormChi2.fElements-2.)<1.8&&entries.fElements/entries_Median.fElements<4&&entries.fElements/entries_Median.fElements>0.4&&fitRMS.fElements/fitMean.fElements<0.09&&fitRMS.fElements/fitMean.fElements>0.02")
*/
TChain * chain = 0;
void RunAliTPCCalibKrTask(Bool_t bProof = kFALSE)
{
//
AliXRDPROOFtoolkit tool;
chain = tool.MakeChain("list.txt","Kr","",20000,0);
chain->Lookup();
chain->SetBranchStatus("Cl.fCluster",kFALSE);
//
// Create the analysis manager
//
AliAnalysisManager *mgr = new AliAnalysisManager("testAnalysis");
// Calibration component
AliTPCCalibKr *calibObj = new AliTPCCalibKr;
//calibObj->SetASide(kFALSE);
// Add task
AliTPCCalibKrTask *task = new AliTPCCalibKrTask;
task->SetInputChain(chain);
task->SetTPCCalibKr(calibObj);
mgr->AddTask(task);
// Attach input
cInput = mgr->CreateContainer("cInput", TChain::Class(), AliAnalysisManager::kInputContainer);
mgr->ConnectInput(task, 0, cInput);
// Attach output
cOutput = mgr->CreateContainer("cOutput", TList::Class(), AliAnalysisManager::kOutputContainer,"outHistFile.root");
mgr->ConnectOutput(task, 0, cOutput);
//
cOutput->SetSpecialOutput(kTRUE);
cOutput->SetFileName("CalibObjectFile.root");
//
// Run analysis
if (!mgr->InitAnalysis()) return;
mgr->PrintStatus();
mgr->SetDebugLevel(1);
if(bProof) {
mgr->StartAnalysis("proof", chain);
}
else mgr->StartAnalysis("local", chain);
}
void MakeTree(){
TFile fpad("calibKr.root");
AliTPCPreprocessorOnline * preprocesor = new AliTPCPreprocessorOnline;
preprocesor->AddComponent(spectrMean->Clone());
preprocesor->AddComponent(spectrRMS->Clone());
preprocesor->AddComponent(fitMean->Clone());
preprocesor->AddComponent(fitRMS->Clone());
preprocesor->AddComponent(fitNormChi2->Clone());
preprocesor->AddComponent(entries->Clone());
preprocesor->DumpToFile("kryptonTree.root");
}
RunAliTPCCalibKrTask.C:10 RunAliTPCCalibKrTask.C:11 RunAliTPCCalibKrTask.C:12 RunAliTPCCalibKrTask.C:13 RunAliTPCCalibKrTask.C:14 RunAliTPCCalibKrTask.C:15 RunAliTPCCalibKrTask.C:16 RunAliTPCCalibKrTask.C:17 RunAliTPCCalibKrTask.C:18 RunAliTPCCalibKrTask.C:19 RunAliTPCCalibKrTask.C:20 RunAliTPCCalibKrTask.C:21 RunAliTPCCalibKrTask.C:22 RunAliTPCCalibKrTask.C:23 RunAliTPCCalibKrTask.C:24 RunAliTPCCalibKrTask.C:25 RunAliTPCCalibKrTask.C:26 RunAliTPCCalibKrTask.C:27 RunAliTPCCalibKrTask.C:28 RunAliTPCCalibKrTask.C:29 RunAliTPCCalibKrTask.C:30 RunAliTPCCalibKrTask.C:31 RunAliTPCCalibKrTask.C:32 RunAliTPCCalibKrTask.C:33 RunAliTPCCalibKrTask.C:34 RunAliTPCCalibKrTask.C:35 RunAliTPCCalibKrTask.C:36 RunAliTPCCalibKrTask.C:37 RunAliTPCCalibKrTask.C:38 RunAliTPCCalibKrTask.C:39 RunAliTPCCalibKrTask.C:40 RunAliTPCCalibKrTask.C:41 RunAliTPCCalibKrTask.C:42 RunAliTPCCalibKrTask.C:43 RunAliTPCCalibKrTask.C:44 RunAliTPCCalibKrTask.C:45 RunAliTPCCalibKrTask.C:46 RunAliTPCCalibKrTask.C:47 RunAliTPCCalibKrTask.C:48 RunAliTPCCalibKrTask.C:49 RunAliTPCCalibKrTask.C:50 RunAliTPCCalibKrTask.C:51 RunAliTPCCalibKrTask.C:52 RunAliTPCCalibKrTask.C:53 RunAliTPCCalibKrTask.C:54 RunAliTPCCalibKrTask.C:55 RunAliTPCCalibKrTask.C:56 RunAliTPCCalibKrTask.C:57 RunAliTPCCalibKrTask.C:58 RunAliTPCCalibKrTask.C:59 RunAliTPCCalibKrTask.C:60 RunAliTPCCalibKrTask.C:61 RunAliTPCCalibKrTask.C:62 RunAliTPCCalibKrTask.C:63 RunAliTPCCalibKrTask.C:64 RunAliTPCCalibKrTask.C:65 RunAliTPCCalibKrTask.C:66 RunAliTPCCalibKrTask.C:67 RunAliTPCCalibKrTask.C:68 RunAliTPCCalibKrTask.C:69 RunAliTPCCalibKrTask.C:70 RunAliTPCCalibKrTask.C:71 RunAliTPCCalibKrTask.C:72 RunAliTPCCalibKrTask.C:73 RunAliTPCCalibKrTask.C:74 RunAliTPCCalibKrTask.C:75 RunAliTPCCalibKrTask.C:76 RunAliTPCCalibKrTask.C:77 RunAliTPCCalibKrTask.C:78 RunAliTPCCalibKrTask.C:79 RunAliTPCCalibKrTask.C:80 RunAliTPCCalibKrTask.C:81 RunAliTPCCalibKrTask.C:82 RunAliTPCCalibKrTask.C:83 RunAliTPCCalibKrTask.C:84 RunAliTPCCalibKrTask.C:85 RunAliTPCCalibKrTask.C:86 RunAliTPCCalibKrTask.C:87 RunAliTPCCalibKrTask.C:88 RunAliTPCCalibKrTask.C:89 RunAliTPCCalibKrTask.C:90 RunAliTPCCalibKrTask.C:91 RunAliTPCCalibKrTask.C:92 RunAliTPCCalibKrTask.C:93 RunAliTPCCalibKrTask.C:94 RunAliTPCCalibKrTask.C:95 RunAliTPCCalibKrTask.C:96 RunAliTPCCalibKrTask.C:97 RunAliTPCCalibKrTask.C:98 RunAliTPCCalibKrTask.C:99 RunAliTPCCalibKrTask.C:100 RunAliTPCCalibKrTask.C:101 RunAliTPCCalibKrTask.C:102 RunAliTPCCalibKrTask.C:103 RunAliTPCCalibKrTask.C:104 RunAliTPCCalibKrTask.C:105 RunAliTPCCalibKrTask.C:106 RunAliTPCCalibKrTask.C:107 RunAliTPCCalibKrTask.C:108 RunAliTPCCalibKrTask.C:109 RunAliTPCCalibKrTask.C:110 RunAliTPCCalibKrTask.C:111 RunAliTPCCalibKrTask.C:112 RunAliTPCCalibKrTask.C:113 RunAliTPCCalibKrTask.C:114 RunAliTPCCalibKrTask.C:115 RunAliTPCCalibKrTask.C:116 RunAliTPCCalibKrTask.C:117 RunAliTPCCalibKrTask.C:118 RunAliTPCCalibKrTask.C:119 RunAliTPCCalibKrTask.C:120 RunAliTPCCalibKrTask.C:121 RunAliTPCCalibKrTask.C:122 RunAliTPCCalibKrTask.C:123 RunAliTPCCalibKrTask.C:124 RunAliTPCCalibKrTask.C:125 RunAliTPCCalibKrTask.C:126 RunAliTPCCalibKrTask.C:127 RunAliTPCCalibKrTask.C:128 RunAliTPCCalibKrTask.C:129 RunAliTPCCalibKrTask.C:130 RunAliTPCCalibKrTask.C:131 RunAliTPCCalibKrTask.C:132 RunAliTPCCalibKrTask.C:133 RunAliTPCCalibKrTask.C:134 RunAliTPCCalibKrTask.C:135 RunAliTPCCalibKrTask.C:136 RunAliTPCCalibKrTask.C:137 RunAliTPCCalibKrTask.C:138 RunAliTPCCalibKrTask.C:139 RunAliTPCCalibKrTask.C:140 RunAliTPCCalibKrTask.C:141 RunAliTPCCalibKrTask.C:142 RunAliTPCCalibKrTask.C:143 RunAliTPCCalibKrTask.C:144 RunAliTPCCalibKrTask.C:145 RunAliTPCCalibKrTask.C:146 RunAliTPCCalibKrTask.C:147 RunAliTPCCalibKrTask.C:148 RunAliTPCCalibKrTask.C:149 RunAliTPCCalibKrTask.C:150 RunAliTPCCalibKrTask.C:151 RunAliTPCCalibKrTask.C:152 RunAliTPCCalibKrTask.C:153 RunAliTPCCalibKrTask.C:154 RunAliTPCCalibKrTask.C:155 RunAliTPCCalibKrTask.C:156 RunAliTPCCalibKrTask.C:157