]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Changes to use a collection of AODs as input (Renu)
authordainese <dainese@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 1 Dec 2008 16:09:35 +0000 (16:09 +0000)
committerdainese <dainese@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 1 Dec 2008 16:09:35 +0000 (16:09 +0000)
PWG3/vertexingHF/AliAnalysisTaskSEVertexingHFTest.C

index 38eb9330a13ae044863c4ef690a6190c738c1c59..10116c7d78e02f4b275281d09183476595f92fc1 100644 (file)
@@ -5,7 +5,7 @@ void AliAnalysisTaskSEVertexingHFTest()
   // A.Dainese, andrea.dainese@lnl.infn.it\r
   //\r
   Bool_t inputAOD=kTRUE; // otherwise, ESD\r
-\r
+  TString mode="local"; // otherwise, "grid" \r
 \r
   gSystem->Load("libTree.so");\r
   gSystem->Load("libGeom.so");\r
@@ -19,40 +19,49 @@ void AliAnalysisTaskSEVertexingHFTest()
   gSystem->Load("libPWG3base.so");\r
   gSystem->Load("libPWG3vertexingHF.so");\r
 \r
+  TChain *chain = 0;\r
 \r
-  // Local files \r
-  TString treeName,fileName;\r
-  if(inputAOD) {\r
-    treeName="aodTree"; \r
-    fileName="AliAOD.root";\r
+  if(mode=="local") {\r
+    // Local files \r
+    TString treeName,fileName;\r
+    if(inputAOD) {\r
+      treeName="aodTree"; \r
+      fileName="AliAOD.root";\r
+    } else {\r
+      treeName="esdTree"; \r
+      fileName="AliESDs.root";\r
+    }\r
+    chain = new TChain(treeName.Data());\r
+    chain->Add(fileName.Data());\r
+\r
+  } else if (mode=="grid") {\r
+    //Fetch files with AliEn :\r
+    const char *collectionfile = "Collection.xml";\r
+    TGrid::Connect("alien://") ;\r
+    TAlienCollection *coll   = TAlienCollection::Open(collectionfile);\r
+    if(inputAOD) { // input AOD\r
+      chain = new TChain("aodTree");\r
+      while(coll->Next()) chain->Add(coll->GetTURL(""));\r
+    } else { // input ESD\r
+      //Create an AliRunTagCuts and an AliEventTagCuts Object and impose some selection criteria\r
+      AliRunTagCuts      *runCuts   = new AliRunTagCuts();\r
+      AliEventTagCuts    *eventCuts = new AliEventTagCuts();\r
+      AliLHCTagCuts      *lhcCuts   = new AliLHCTagCuts();\r
+      AliDetectorTagCuts *detCuts   = new AliDetectorTagCuts();\r
+      eventCuts->SetMultiplicityRange(0,20000);\r
+      //Create an AliTagAnalysis Object and chain the tags\r
+      AliTagAnalysis   *tagAna = new AliTagAnalysis();\r
+      tagAna->SetType("ESD");\r
+      TGridResult      *tagResult = coll->GetGridResult("",0,0);\r
+      tagResult->Print();\r
+      tagAna->ChainGridTags(tagResult);\r
+      //Create a new esd chain and assign the chain that is returned by querying the tags\r
+      chain = tagAna->QueryTags(runCuts,lhcCuts,detCuts,eventCuts);\r
+    }\r
   } else {\r
-    treeName="esdTree"; \r
-    fileName="AliESDs.root";\r
+    printf("ERROR: mode has to be \"local\" or \"grid\" \n");\r
+    return;\r
   }\r
-  TChain *chain = new TChain(treeName.Data());\r
-  chain->Add(fileName.Data());\r
-\r
-  // or:\r
-  /*\r
-  //Fetch files with AliEn :\r
-  const char *collectionfile = "CollectionTags.xml";\r
-  TGrid::Connect("alien://") ;\r
-  //Create an AliRunTagCuts and an AliEventTagCuts Object and impose some selection criteria\r
-  AliRunTagCuts      *runCuts   = new AliRunTagCuts();\r
-  AliEventTagCuts    *eventCuts = new AliEventTagCuts();\r
-  AliLHCTagCuts      *lhcCuts   = new AliLHCTagCuts();\r
-  AliDetectorTagCuts *detCuts   = new AliDetectorTagCuts();\r
-  eventCuts->SetMultiplicityRange(0,20000);\r
-  //Create an AliTagAnalysis Object and chain the tags\r
-  AliTagAnalysis   *tagAna = new AliTagAnalysis();\r
-  tagAna->SetType("ESD");\r
-  TAlienCollection *coll   = TAlienCollection::Open(collectionfile);\r
-  TGridResult      *tagResult = coll->GetGridResult("",0,0);\r
-  tagResult->Print();\r
-  tagAna->ChainGridTags(tagResult);\r
-  //Create a new esd chain and assign the chain that is returned by querying the tags\r
-  TChain* chain = tagAna->QueryTags(runCuts,lhcCuts,detCuts,eventCuts);\r
-  */\r
 \r
 \r
   // Create the analysis manager\r
@@ -94,11 +103,11 @@ void AliAnalysisTaskSEVertexingHFTest()
   // Run the analysis\r
   //    \r
   printf("CHAIN HAS %d ENTRIES\n",(Int_t)chain->GetEntries());\r
-  if(mgr->InitAnalysis()) {\r
-    mgr->PrintStatus();\r
-    mgr->StartAnalysis("local",chain);\r
-    //mgr->StartAnalysis("grid",chain);\r
-  }\r
+  if(!mgr->InitAnalysis()) return;\r
+\r
+  mgr->PrintStatus();\r
+\r
+  mgr->StartAnalysis(mode.Data(),chain);\r
 \r
   return;\r
 }\r