30 char *
kXML =
"collection.xml";
41 sprintf(cmd,
".! rm -rf AliAOD.root") ;
42 gROOT->ProcessLine(cmd) ;
53 if(kInputData ==
"ESD") kTreeName =
"esdTree" ;
54 else if(kInputData ==
"AOD") kTreeName =
"aodTree" ;
56 cout<<
"Wrong data type "<<kInputData<<endl;
64 AliLog::SetGlobalLogLevel(AliLog::kError);
72 AliAODHandler* aodoutHandler =
new AliAODHandler();
73 aodoutHandler->SetOutputFileName(
"AliAOD.root");
75 mgr->SetOutputEventHandler(aodoutHandler);
78 if(kInputData ==
"ESD")
81 AliESDInputHandler *esdHandler =
new AliESDInputHandler();
82 mgr->SetInputEventHandler(esdHandler);
83 esdHandler->SetReadFriends(kFALSE);
84 cout<<
"ESD handler "<<mgr->GetInputEventHandler()<<endl;
86 if(kInputData ==
"AOD")
89 AliAODInputHandler *aodHandler =
new AliAODInputHandler();
90 mgr->SetInputEventHandler(aodHandler);
91 cout<<
"AOD handler "<<mgr->GetInputEventHandler()<<endl;
103 gROOT->LoadMacro(
"$ALICE_PHYSICS/OADB/macros/AddTaskPhysicsSelection.C");
104 AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection();
107 gROOT->LoadMacro(
"AddTaskCaloFilter.C");
115 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
116 AliAnalysisDataContainer *coutput1 = mgr->GetCommonOutputContainer();
117 AliAnalysisDataContainer *coutntuple = mgr->CreateContainer(
"EventNtuple", TNtuple::Class(),
118 AliAnalysisManager::kOutputContainer,
"eventselection.root");
120 mgr->ConnectInput (filter, 0, cinput1);
121 mgr->ConnectOutput (filter, 0, coutput1 );
122 mgr->ConnectOutput (filter, 1, coutntuple );
137 mgr->StartAnalysis(smode.Data(),chain);
139 cout <<
" Analysis ended sucessfully "<< endl ;
142 else cout <<
"Chain was not produced ! "<<endl;
173 gSystem->Load(
"libANALYSISalice");
174 gSystem->Load(
"libANALYSISalice");
177 gSystem->Load(
"libEMCALUtils");
178 gSystem->Load(
"libPWGPPEMCAL");
205 TProof::Open(
"proof://mgheata@lxb6046.cern.ch");
213 gProof->UploadPackage(
"STEERBase.par");
214 gProof->EnablePackage(
"STEERBase");
216 gProof->UploadPackage(
"ESD.par");
217 gProof->EnablePackage(
"ESD");
219 gProof->UploadPackage(
"AOD.par");
220 gProof->EnablePackage(
"AOD");
222 gProof->UploadPackage(
"ANALYSIS.par");
223 gProof->EnablePackage(
"ANALYSIS");
227 gProof->ShowEnabledPackages();
239 TString parpar(Form(
"%s.par", pararchivename)) ;
240 if (
gSystem->AccessPathName(parpar.Data()) ) {
242 TString processline(Form(
".! make %s", parpar.Data())) ;
243 gROOT->ProcessLine(processline.Data()) ;
244 gSystem->ChangeDirectory(cdir) ;
245 processline = Form(
".! mv $ALICE_ROOT/%s .", parpar.Data()) ;
246 gROOT->ProcessLine(processline.Data()) ;
248 if (
gSystem->AccessPathName(pararchivename) ) {
249 TString processline = Form(
".! tar xvzf %s",parpar.Data()) ;
250 gROOT->ProcessLine(processline.Data());
254 gSystem->ChangeDirectory(pararchivename);
257 if (!
gSystem->AccessPathName(
"PROOF-INF/BUILD.sh")) {
258 printf(
"*******************************\n");
259 printf(
"*** Building PAR archive ***\n");
260 cout<<pararchivename<<endl;
261 printf(
"*******************************\n");
263 if (
gSystem->Exec(
"PROOF-INF/BUILD.sh")) {
264 Error(
"runProcess",
"Cannot Build the PAR Archive! - Abort!");
269 if (!
gSystem->AccessPathName(
"PROOF-INF/SETUP.C")) {
270 printf(
"*******************************\n");
271 printf(
"*** Setup PAR archive ***\n");
272 cout<<pararchivename<<endl;
273 printf(
"*******************************\n");
274 gROOT->Macro(
"PROOF-INF/SETUP.C");
277 gSystem->ChangeDirectory(ocwd.Data());
278 printf(
"Current dir: %s\n", ocwd.Data());
292 gROOT->LoadMacro(
"$ALICE_ROOT/PWG0/CreateESDChain.C");
294 chain = CreateESDChain(
"ESD12001.txt", 5);
307 else cout<<
"INDIR not set, use default: "<<
kInDir<<endl;
311 else cout<<
"PATTERN not set, use default: "<<
kPattern<<endl;
315 else cout<<
"NFILES not set, use default: "<<
kFile<<endl;
319 printf(
"Get %d files from directory %s\n",
kFile,
kInDir);
321 printf(
"%s does not exist\n",
kInDir) ;
326 cout<<
"INDIR : "<<
kInDir<<endl;
327 cout<<
"NFILES : "<<
kFile<<endl;
328 cout<<
"PATTERN : " <<
kPattern<<endl;
331 if(kInputData ==
"ESD") datafile =
"AliESDs.root" ;
332 else if(kInputData ==
"AOD") datafile =
"AliAOD.root" ;
333 else if(kInputData ==
"MC") datafile =
"galice.root" ;
340 for (event = 0 ;
event <
kFile ;
event++) {
341 sprintf(file,
"%s/%s%d/%s",
kInDir,
kPattern,event,datafile.Data()) ;
344 if ( fESD = TFile::Open(file)) {
345 if ( fESD->Get(kTreeName) ) {
346 printf(
"++++ Adding %s\n", file) ;
347 chain->AddFile(file);
351 printf(
"---- Skipping %s\n", file) ;
355 printf(
"number of entries # %lld, skipped %d\n", chain->GetEntries(), skipped*100) ;
358 TString input =
"AliESDs.root" ;
359 cout<<
">>>>>> No list added, take a single file <<<<<<<<< "<<input<<endl;
360 chain->AddFile(input);
368 else if(mode ==
mGRID){
375 sprintf(
kXML,
"collection.xml") ;
377 if (!TFile::Open(
kXML)) {
378 printf(
"No collection file with name -- %s -- was found\n",
kXML);
381 else cout<<
"XML file "<<
kXML<<endl;
386 TGrid::Connect(
"alien://") ;
390 TGridCollection * collection = (TGridCollection*) TAlienCollection::Open(
kXML);
392 AliError(Form(
"%s not found",
kXML)) ;
395 TGridResult* result = collection->GetGridResult(
"",0 ,0);
398 printf(
"*** Getting the Chain ***\n");
399 for (
Int_t index = 0; index < result->GetEntries(); index++) {
400 TString alienURL = result->GetKey(index,
"turl") ;
401 cout <<
"================== " << alienURL << endl ;
402 chain->Add(alienURL) ;
406 gSystem->ChangeDirectory(ocwd.Data());
anaModes
Different analysis modes.
void CreateChain(const anaModes mode, TChain *chain)
void anaCaloFilter(Int_t mode=mLocal)
Filter Calorimeter ESDs into AODs.
void SetupPar(char *pararchivename)
AliAnalysisTaskCaloFilter * AddTaskCaloFilter(const Bool_t bias=kTRUE, const Bool_t mc=kFALSE, const Float_t minE=6, const Float_t minN=3, const Float_t vz=10., const Int_t opt=AliAnalysisTaskCaloFilter::kBoth, const Bool_t correct=kFALSE, const Bool_t fillTrack=kTRUE, const Bool_t fillAOD=kTRUE)
void LoadLibraries(const anaModes mode)