31 char *
kXML =
"collection.xml";
42 sprintf(cmd,
".! rm -rf AliAOD.root") ;
43 gROOT->ProcessLine(cmd) ;
54 if(kInputData ==
"ESD") kTreeName =
"esdTree" ;
55 else if(kInputData ==
"AOD") kTreeName =
"aodTree" ;
57 cout<<
"Wrong data type "<<kInputData<<endl;
65 AliLog::SetGlobalLogLevel(AliLog::kError);
73 AliAODHandler* aodoutHandler =
new AliAODHandler();
74 aodoutHandler->SetOutputFileName(
"AliAOD.root");
76 mgr->SetOutputEventHandler(aodoutHandler);
79 if(kInputData ==
"ESD")
82 AliESDInputHandler *esdHandler =
new AliESDInputHandler();
83 mgr->SetInputEventHandler(esdHandler);
84 esdHandler->SetReadFriends(kFALSE);
85 cout<<
"ESD handler "<<mgr->GetInputEventHandler()<<endl;
87 if(kInputData ==
"AOD")
90 AliAODInputHandler *aodHandler =
new AliAODInputHandler();
91 mgr->SetInputEventHandler(aodHandler);
92 cout<<
"AOD handler "<<mgr->GetInputEventHandler()<<endl;
104 gROOT->LoadMacro(
"$ALICE_PHYSICS/OADB/macros/AddTaskPhysicsSelection.C");
105 AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection();
108 gROOT->LoadMacro(
"AddTaskCaloFilter.C");
116 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
117 AliAnalysisDataContainer *coutput1 = mgr->GetCommonOutputContainer();
118 AliAnalysisDataContainer *coutntuple = mgr->CreateContainer(
"EventNtuple", TNtuple::Class(),
119 AliAnalysisManager::kOutputContainer,
"eventselection.root");
121 mgr->ConnectInput (filter, 0, cinput1);
122 mgr->ConnectOutput (filter, 0, coutput1 );
123 mgr->ConnectOutput (filter, 1, coutntuple );
138 mgr->StartAnalysis(smode.Data(),chain);
140 cout <<
" Analysis ended sucessfully "<< endl ;
143 else cout <<
"Chain was not produced ! "<<endl;
174 gSystem->Load(
"libANALYSISalice");
175 gSystem->Load(
"libANALYSISalice");
178 gSystem->Load(
"libEMCALUtils");
179 gSystem->Load(
"libPWGPPEMCAL");
206 TProof::Open(
"proof://mgheata@lxb6046.cern.ch");
214 gProof->UploadPackage(
"STEERBase.par");
215 gProof->EnablePackage(
"STEERBase");
217 gProof->UploadPackage(
"ESD.par");
218 gProof->EnablePackage(
"ESD");
220 gProof->UploadPackage(
"AOD.par");
221 gProof->EnablePackage(
"AOD");
223 gProof->UploadPackage(
"ANALYSIS.par");
224 gProof->EnablePackage(
"ANALYSIS");
228 gProof->ShowEnabledPackages();
240 TString parpar(Form(
"%s.par", pararchivename)) ;
241 if (
gSystem->AccessPathName(parpar.Data()) ) {
243 TString processline(Form(
".! make %s", parpar.Data())) ;
244 gROOT->ProcessLine(processline.Data()) ;
245 gSystem->ChangeDirectory(cdir) ;
246 processline = Form(
".! mv $ALICE_ROOT/%s .", parpar.Data()) ;
247 gROOT->ProcessLine(processline.Data()) ;
249 if (
gSystem->AccessPathName(pararchivename) ) {
250 TString processline = Form(
".! tar xvzf %s",parpar.Data()) ;
251 gROOT->ProcessLine(processline.Data());
255 gSystem->ChangeDirectory(pararchivename);
258 if (!
gSystem->AccessPathName(
"PROOF-INF/BUILD.sh")) {
259 printf(
"*******************************\n");
260 printf(
"*** Building PAR archive ***\n");
261 cout<<pararchivename<<endl;
262 printf(
"*******************************\n");
264 if (
gSystem->Exec(
"PROOF-INF/BUILD.sh")) {
265 Error(
"runProcess",
"Cannot Build the PAR Archive! - Abort!");
270 if (!
gSystem->AccessPathName(
"PROOF-INF/SETUP.C")) {
271 printf(
"*******************************\n");
272 printf(
"*** Setup PAR archive ***\n");
273 cout<<pararchivename<<endl;
274 printf(
"*******************************\n");
275 gROOT->Macro(
"PROOF-INF/SETUP.C");
278 gSystem->ChangeDirectory(ocwd.Data());
279 printf(
"Current dir: %s\n", ocwd.Data());
293 gROOT->LoadMacro(
"$ALICE_ROOT/PWG0/CreateESDChain.C");
295 chain = CreateESDChain(
"ESD12001.txt", 5);
308 else cout<<
"INDIR not set, use default: "<<
kInDir<<endl;
312 else cout<<
"PATTERN not set, use default: "<<
kPattern<<endl;
316 else cout<<
"NFILES not set, use default: "<<
kFile<<endl;
320 printf(
"Get %d files from directory %s\n",
kFile,
kInDir);
322 printf(
"%s does not exist\n",
kInDir) ;
327 cout<<
"INDIR : "<<
kInDir<<endl;
328 cout<<
"NFILES : "<<
kFile<<endl;
329 cout<<
"PATTERN : " <<
kPattern<<endl;
332 if(kInputData ==
"ESD") datafile =
"AliESDs.root" ;
333 else if(kInputData ==
"AOD") datafile =
"AliAOD.root" ;
334 else if(kInputData ==
"MC") datafile =
"galice.root" ;
341 for (event = 0 ;
event <
kFile ;
event++) {
342 sprintf(file,
"%s/%s%d/%s",
kInDir,
kPattern,event,datafile.Data()) ;
345 if ( fESD = TFile::Open(file)) {
346 if ( fESD->Get(kTreeName) ) {
347 printf(
"++++ Adding %s\n", file) ;
348 chain->AddFile(file);
352 printf(
"---- Skipping %s\n", file) ;
356 printf(
"number of entries # %lld, skipped %d\n", chain->GetEntries(), skipped*100) ;
359 TString input =
"AliESDs.root" ;
360 cout<<
">>>>>> No list added, take a single file <<<<<<<<< "<<input<<endl;
361 chain->AddFile(input);
369 else if(mode ==
mGRID){
376 sprintf(
kXML,
"collection.xml") ;
378 if (!TFile::Open(
kXML)) {
379 printf(
"No collection file with name -- %s -- was found\n",
kXML);
382 else cout<<
"XML file "<<
kXML<<endl;
387 TGrid::Connect(
"alien://") ;
391 TGridCollection * collection = (TGridCollection*) TAlienCollection::Open(
kXML);
393 AliError(Form(
"%s not found",
kXML)) ;
396 TGridResult* result = collection->GetGridResult(
"",0 ,0);
399 printf(
"*** Getting the Chain ***\n");
400 for (
Int_t index = 0; index < result->GetEntries(); index++) {
401 TString alienURL = result->GetKey(index,
"turl") ;
402 cout <<
"================== " << alienURL << endl ;
403 chain->Add(alienURL) ;
407 gSystem->ChangeDirectory(ocwd.Data());
anaModes
Different analysis modes.
void CreateChain(const anaModes mode, TChain *chain)
void anaCaloFilter(Int_t mode=mLocal)
AliAnalysisTaskCaloFilter * AddTaskCaloFilter(const Bool_t bias=kTRUE, const Bool_t mc=kFALSE, const Float_t minE=6., const Int_t minN=3, const Float_t vz=10., const Int_t opt=0, const Bool_t correct=kFALSE, const Bool_t fillTrack=kFALSE, const Bool_t fillAOD=kTRUE)
Filter Calorimeter ESDs into AODs.
void SetupPar(char *pararchivename)
TFile * file
TList with histograms for a given trigger.
void LoadLibraries(const anaModes mode)