#define AliAnalysisTaskRLPt_cxx
+#include "Riostream.h"
#include "TChain.h"
#include "TH1.h"
#include "TCanvas.h"
}
// loop over mc particles
Int_t nPrim = stack->GetNprimary();
- printf("Particles: %d - Tracks: %d \n",nPrim,fESD->GetNumberOfTracks());
+ Int_t iTracks = 0;
for(Int_t i = 0; i < nPrim; i++) {
TParticle * particle = stack->Particle(i);
if(TMath::Abs(particle->Eta()) > 1.0) continue;
fHistPt->Fill(particle->Pt());
+ iTracks += 1;
}
+ cout<<"Entry: "<<ientry<<" - Particles: "<<nPrim<<" - Accepted: "<<iTracks<<" - Tracks: "<<fESD->GetNumberOfTracks()<<endl;
// Post final data. It will be written to a file with option "RECREATE"
PostData(0, fHistPt);
--- /dev/null
+#!/bin/bash
+export GCLIENT_SERVER_LIST="pcapiserv04.cern.ch:10000|pcapiserv05.cern.ch:10000|pcapiserv06.cern.ch:10000|pcapiserv07.cern.ch:10000"
+echo ===========================
+echo $PATH
+echo $ROOTSYS
+echo $LD_LIBRARY_PATH
+echo ==========================
+
+aliroot -b -x runProcess.C;
+
--- /dev/null
+# this is the startup process for root
+Executable="aliroot.sh";
+Jobtag={"comment:AliEn tutorial batch example - Kine access"};
+
+# we split per storage element
+Split="se";
+
+# we want each job to read 100 input files
+SplitMaxInputFileNumber="100";
+
+# this job has to run in the ANALYSIS partition
+Requirements=( member(other.GridPartitions,"Analysis") );
+
+# we need ROOT and the API service configuration package
+Packages={"APISCONFIG::V2.2","pchrist@ROOT::v5.15.04","pchrist@AliRoot::v4-04-Release-a"};
+TTL = "30000";
+
+#ROOT will read this collection file to know, which files to analyze
+InputDataList="wn.xml";
+
+#ROOT requires the collection file in the xml-single format
+InputDataListFormat="merge:/alice/cern.ch/user/p/pchrist/test/Kine/global.xml";
+
+# this is our collection file containing the files to be analyzed
+InputDataCollection="LF:/alice/cern.ch/user/p/pchrist/test/Kine/global.xml,nodownload";
+
+InputFile= {"LF:/alice/cern.ch/user/p/pchrist/test/Kine/runBatchProcess.C",
+ "LF:/alice/cern.ch/user/p/pchrist/test/Kine/demoBatch.C",
+ "LF:/alice/cern.ch/user/p/pchrist/test/Kine/AliAnalysisTaskRLPt.h",
+ "LF:/alice/cern.ch/user/p/pchrist/test/Kine/AliAnalysisTaskRLPt.cxx"};
+
+# Output directory
+OutputArchive={"log_archive:stdout,stderr@Alice::CERN::se","root_archive.zip:*.root@Alice::CERN::castor2"};
+
+# Output directory
+OutputDir="/alice/cern.ch/user/p/pchrist/test/Kine/output/#alien_counter#";
+
+# email
+Email="Panos.Christakoglou@cern.ch";
--- /dev/null
+//________________________________________________________________________
+void demoBatch() {
+ const char *collectionfile = "wn.xml";
+
+ //____________________________________________//
+ //Usage of event tags
+ AliTagAnalysis *analysis = new AliTagAnalysis();
+ TChain *chain = 0x0;
+ chain = analysis->GetInputChain("pp",collectionfile);
+
+ //____________________________________________//
+ //Usage of a collection file - no tags
+ /*TChain *chain = new TChain("esdTree");
+ TAlienCollection *collection = TAlienCollection::Open(collectionfile);
+ TGridResult *result = collection->GetGridResult("",0,0);
+ for(Int_t i = 0; i < resukt->GetEntries(); i++) chain->Add(result->GetKey(i,"turl"));*/
+
+ //____________________________________________//
+ // Make the analysis manager
+ AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
+ //____________________________________________//
+ // 1st Pt task
+ AliAnalysisTaskRLPt *task1 = new AliAnalysisTaskRLPt("TaskRLPt");
+ mgr->AddTask(task1);
+ // Create containers for input/output
+ AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain1",TChain::Class(),AliAnalysisManager::kInputContainer);
+ AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("chist1", TH1::Class(),AliAnalysisManager::kOutputContainer,"Pt.ESD.root");
+
+ //____________________________________________//
+ mgr->ConnectInput(task1,0,cinput1);
+ mgr->ConnectOutput(task1,0,coutput1);
+ cinput1->SetData(chain);
+
+ if (mgr->InitAnalysis()) {
+ mgr->PrintStatus();
+ mgr->StartAnalysis("grid",chain);
+ }
+}
+
--- /dev/null
+<?xml version="1.0"?>
+<alien>
+ <collection name="global">
+ <event name="1">
+ <file name="AliESDs.root" guid="D8DCD29E-DC33-11DB-8AE0-0016768A4BA4" lfn="/alice/cern.ch/user/p/pchrist/Tutorial/PDC06/001/AliESDs.root" turl="alien:///alice/cern.ch/user/p/pchrist/Tutorial/PDC06/001/AliESDs.root" evlist="44,67,89,90" />
+ </event>
+ <event name="2">
+ <file name="AliESDs.root" guid="E4E45A2E-DC35-11DB-990B-0016768A4BA4" lfn="/alice/cern.ch/user/p/pchrist/Tutorial/PDC06/010/AliESDs.root" turl="alien:///alice/cern.ch/user/p/pchrist/Tutorial/PDC06/010/AliESDs.root" evlist="1,10,36,77,98" />
+ </event>
+ <event name="3">
+ <file name="AliESDs.root" guid="DCC048D2-DC33-11DB-97DC-0016768A4BA4" lfn="/alice/cern.ch/user/p/pchrist/Tutorial/PDC06/002/AliESDs.root" turl="alien:///alice/cern.ch/user/p/pchrist/Tutorial/PDC06/002/AliESDs.root" evlist="22,36,50,70,79" />
+ </event>
+ <event name="4">
+ <file name="AliESDs.root" guid="E0BC0F52-DC33-11DB-8AE1-0016768A4BA4" lfn="/alice/cern.ch/user/p/pchrist/Tutorial/PDC06/003/AliESDs.root" turl="alien:///alice/cern.ch/user/p/pchrist/Tutorial/PDC06/003/AliESDs.root" evlist="49,52" />
+ </event>
+ <event name="5">
+ <file name="AliESDs.root" guid="E4835DFC-DC33-11DB-97DD-0016768A4BA4" lfn="/alice/cern.ch/user/p/pchrist/Tutorial/PDC06/004/AliESDs.root" turl="alien:///alice/cern.ch/user/p/pchrist/Tutorial/PDC06/004/AliESDs.root" evlist="9,12,22,27,75" />
+ </event>
+ <event name="6">
+ <file name="AliESDs.root" guid="E84EA2FC-DC33-11DB-BA2A-0016768A4BA4" lfn="/alice/cern.ch/user/p/pchrist/Tutorial/PDC06/005/AliESDs.root" turl="alien:///alice/cern.ch/user/p/pchrist/Tutorial/PDC06/005/AliESDs.root" evlist="3,24,39,74,85" />
+ </event>
+ <event name="7">
+ <file name="AliESDs.root" guid="EC12CFD0-DC33-11DB-BA2B-0016768A4BA4" lfn="/alice/cern.ch/user/p/pchrist/Tutorial/PDC06/006/AliESDs.root" turl="alien:///alice/cern.ch/user/p/pchrist/Tutorial/PDC06/006/AliESDs.root" evlist="9,25,31,33,84" />
+ </event>
+ <event name="8">
+ <file name="AliESDs.root" guid="EFB17600-DC33-11DB-BA2C-0016768A4BA4" lfn="/alice/cern.ch/user/p/pchrist/Tutorial/PDC06/007/AliESDs.root" turl="alien:///alice/cern.ch/user/p/pchrist/Tutorial/PDC06/007/AliESDs.root" evlist="16,25,31,37,40,47,64,78" />
+ </event>
+ <event name="9">
+ <file name="AliESDs.root" guid="F345ABE2-DC33-11DB-97DE-0016768A4BA4" lfn="/alice/cern.ch/user/p/pchrist/Tutorial/PDC06/008/AliESDs.root" turl="alien:///alice/cern.ch/user/p/pchrist/Tutorial/PDC06/008/AliESDs.root" evlist="" />
+ </event>
+ <event name="10">
+ <file name="AliESDs.root" guid="F7459D10-DC33-11DB-B040-0016768A4BA4" lfn="/alice/cern.ch/user/p/pchrist/Tutorial/PDC06/009/AliESDs.root" turl="alien:///alice/cern.ch/user/p/pchrist/Tutorial/PDC06/009/AliESDs.root" evlist="16,25,30,91" />
+ </event>
+ </collection>
+</alien>
--- /dev/null
+void runBatchProcess() {
+ TStopwatch timer;
+ timer.Start();
+
+ printf("*** Connect to AliEn ***\n");
+ TGrid::Connect("alien://");
+ gSystem->Load("libProofPlayer.so");
+ gSystem->AddIncludePath("-I\"$ALICE_ROOT/include\"");
+ gSystem->Load("libANALYSIS.so");
+ gSystem->Load("libANALYSISRL.so");
+
+ gROOT->LoadMacro("AliAnalysisTaskRLPt.cxx+");
+ gROOT->LoadMacro("demoBatch.C");
+ demoBatch();
+
+ //gROOT->LoadMacro("CreateXML.C");
+ //CreateXML();
+
+ timer.Stop();
+ timer.Print();
+}
+