]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Adding the files for the kinematic access in a batch session - to be used as a template
authorpanos <panos@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 29 Mar 2007 07:21:24 +0000 (07:21 +0000)
committerpanos <panos@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 29 Mar 2007 07:21:24 +0000 (07:21 +0000)
PWG2/AnalysisMacros/Kine/AliAnalysisTaskRLPt.cxx
PWG2/AnalysisMacros/Kine/aliroot.sh [new file with mode: 0644]
PWG2/AnalysisMacros/Kine/analysisKine.jdl [new file with mode: 0644]
PWG2/AnalysisMacros/Kine/demoBatch.C [new file with mode: 0644]
PWG2/AnalysisMacros/Kine/global.xml [new file with mode: 0644]
PWG2/AnalysisMacros/Kine/runBatchProcess.C [new file with mode: 0644]

index 159f09c71d3f01197ac9e29e88002b22d1a05d8d..38cf2d6a3a9eccdca5b32e3f101e9e654c879f0f 100644 (file)
@@ -1,5 +1,6 @@
 #define AliAnalysisTaskRLPt_cxx
 
+#include "Riostream.h"
 #include "TChain.h"
 #include "TH1.h"
 #include "TCanvas.h"
@@ -71,12 +72,14 @@ void AliAnalysisTaskRLPt::Exec(Option_t *) {
   }
   // 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);
diff --git a/PWG2/AnalysisMacros/Kine/aliroot.sh b/PWG2/AnalysisMacros/Kine/aliroot.sh
new file mode 100644 (file)
index 0000000..0ad31d9
--- /dev/null
@@ -0,0 +1,10 @@
+#!/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;
+
diff --git a/PWG2/AnalysisMacros/Kine/analysisKine.jdl b/PWG2/AnalysisMacros/Kine/analysisKine.jdl
new file mode 100644 (file)
index 0000000..58af3ad
--- /dev/null
@@ -0,0 +1,39 @@
+# 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";
diff --git a/PWG2/AnalysisMacros/Kine/demoBatch.C b/PWG2/AnalysisMacros/Kine/demoBatch.C
new file mode 100644 (file)
index 0000000..e9becea
--- /dev/null
@@ -0,0 +1,39 @@
+//________________________________________________________________________
+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);
+  }
+}                         
+                      
diff --git a/PWG2/AnalysisMacros/Kine/global.xml b/PWG2/AnalysisMacros/Kine/global.xml
new file mode 100644 (file)
index 0000000..c260f2d
--- /dev/null
@@ -0,0 +1,35 @@
+<?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>
diff --git a/PWG2/AnalysisMacros/Kine/runBatchProcess.C b/PWG2/AnalysisMacros/Kine/runBatchProcess.C
new file mode 100644 (file)
index 0000000..b694720
--- /dev/null
@@ -0,0 +1,22 @@
+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();
+}
+