14 void runLocal(
const char* filenamestr =
"AliESDs.root" ) {
16 TString inputFilename(filenamestr);
17 TString outputArrayFilename =
"ITSTPCalignmentArray.root";
18 TString outputHistFilename =
"ITSTPCalignmentHist.root";
33 gSystem->Load(
"libANALYSISalice");
38 chain->SetBranchStatus(
"*ESDfriend*",0);
40 void* dirhandle =
gSystem->OpenDirectory(workingDir.Data());
41 if (!dirhandle)
return;
42 const char* filenamestr;
43 while ((filenamestr =
gSystem->GetDirEntry(dirhandle)))
46 if (filename==
"." || filename==
"..")
continue;
47 if (
gSystem->cd(filename.Data()))
49 if (!
gSystem->AccessPathName(inputFilename.Data()))
51 TString inputESDfile(workingDir);
55 inputESDfile += inputFilename;
56 chain->Add(inputESDfile.Data());
57 printf(
"found file: %s\n", inputESDfile.Data());
64 gROOT->LoadMacro(
"AliRelAlignerKalman.cxx++");
65 gROOT->LoadMacro(
"AliRelAlignerKalmanArray.cxx++");
66 gROOT->LoadMacro(
"AliAnalysisTaskITSTPCalignment.cxx++");
70 AliVEventHandler* esdH =
new AliESDInputHandler;
71 mgr->SetInputEventHandler(esdH);
76 taskITSTPCalignment->
SetDoQA(kTRUE);
78 mgr->AddTask(taskITSTPCalignment);
80 AliAnalysisDataContainer* cinput0 = mgr->GetCommonInputContainer();
81 AliAnalysisDataContainer* coutput0 = mgr->CreateContainer(
"outputArray",
82 AliRelAlignerKalmanArray::Class(),
83 AliAnalysisManager::kOutputContainer,
84 outputArrayFilename.Data());
85 AliAnalysisDataContainer* coutput1 = mgr->CreateContainer(
"outputList",
87 AliAnalysisManager::kOutputContainer,
88 outputHistFilename.Data());
90 mgr->ConnectInput(taskITSTPCalignment,0,cinput0);
91 mgr->ConnectOutput(taskITSTPCalignment,0,coutput0);
92 mgr->ConnectOutput(taskITSTPCalignment,1,coutput1);
93 if (!mgr->InitAnalysis())
return;
96 mgr->StartAnalysis(
"local",chain);
101 gSystem->Load(
"libProofPlayer");
103 TString outputArrayFilename =
"ITSTPCalignmentArray.root";
104 TString outputHistFilename =
"ITSTPCalignmentHist.root";
106 printf(
"*** Connect to AliEn ***\n");
107 TGrid::Connect(
"alien://");
122 gSystem->Load(
"libANALYSISalice");
126 AliTagAnalysis *tagAnalysis =
new AliTagAnalysis(
"ESD");
128 AliRunTagCuts *runCuts =
new AliRunTagCuts();
129 AliLHCTagCuts *lhcCuts =
new AliLHCTagCuts();
130 AliDetectorTagCuts *detCuts =
new AliDetectorTagCuts();
131 AliEventTagCuts *evCuts =
new AliEventTagCuts();
134 TAlienCollection* coll = TAlienCollection::Open(collectionName);
135 TGridResult* TagResult = coll->GetGridResult(
"",0,0);
136 tagAnalysis->ChainGridTags(TagResult);
138 chain = tagAnalysis->QueryTags(runCuts,lhcCuts,detCuts,evCuts);
139 chain->SetBranchStatus(
"*Calo*",0);
142 gROOT->LoadMacro(
"AliRelAlignerKalman.cxx++");
143 gROOT->LoadMacro(
"AliRelAlignerKalmanArray.cxx++");
144 gROOT->LoadMacro(
"AliAnalysisTaskITSTPCalignment.cxx++");
148 AliVEventHandler* esdH =
new AliESDInputHandler;
149 mgr->SetInputEventHandler(esdH);
154 taskITSTPCalignment->
SetDoQA(kTRUE);
156 mgr->AddTask(taskITSTPCalignment);
158 AliAnalysisDataContainer* cinput0 = mgr->GetCommonInputContainer();
159 AliAnalysisDataContainer* coutput0 = mgr->CreateContainer(
"outputArray",
160 AliRelAlignerKalmanArray::Class(),
161 AliAnalysisManager::kOutputContainer,
162 outputArrayFilename.Data());
163 AliAnalysisDataContainer* coutput1 = mgr->CreateContainer(
"outputList",
165 AliAnalysisManager::kOutputContainer,
166 outputHistFilename.Data());
168 mgr->ConnectInput(taskITSTPCalignment,0,cinput0);
169 mgr->ConnectOutput(taskITSTPCalignment,0,coutput0);
170 mgr->ConnectOutput(taskITSTPCalignment,1,coutput1);
171 if (!mgr->InitAnalysis())
return;
174 mgr->StartAnalysis(
"local",chain);
182 if (pararchivename) {
183 char processline[1024];
184 sprintf(processline,
".! tar xvzf %s.par",pararchivename);
185 gROOT->ProcessLine(processline);
186 const char* ocwd =
gSystem->WorkingDirectory();
187 gSystem->ChangeDirectory(pararchivename);
190 if (!
gSystem->AccessPathName(
"PROOF-INF/BUILD.sh")) {
191 printf(
"*******************************\n");
192 printf(
"*** Building PAR archive ***\n");
193 printf(
"*******************************\n");
195 if (
gSystem->Exec(
"PROOF-INF/BUILD.sh")) {
196 Error(
"runAnalysis",
"Cannot Build the PAR Archive! - Abort!");
201 if (!
gSystem->AccessPathName(
"PROOF-INF/SETUP.C")) {
202 printf(
"*******************************\n");
203 printf(
"*** Setup PAR archive ***\n");
204 printf(
"*******************************\n");
205 gROOT->Macro(
"PROOF-INF/SETUP.C");
208 gSystem->ChangeDirectory(
"../");
void runITSTPCalignment(UInt_t saveinterval=1000000)
void runLocal(const char *filenamestr="AliESDs.root")
Int_t setupPar(const char *pararchivename)
void runInteractive(const char *collectionName="tag.xml")
void SetDoQA(Bool_t d=kTRUE)