]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG3/vertexingHF/AliAnalysisTaskSEVertexingHFTest.C
Changed default settings
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSEVertexingHFTest.C
index 10116c7d78e02f4b275281d09183476595f92fc1..a34b3df104bbdfb148b038ec1fb81c5c9784453b 100644 (file)
@@ -4,20 +4,16 @@ void AliAnalysisTaskSEVertexingHFTest()
   // Test macro for the AliAnalysisTaskSE for heavy-flavour vertexing\r
   // A.Dainese, andrea.dainese@lnl.infn.it\r
   //\r
-  Bool_t inputAOD=kTRUE; // otherwise, ESD\r
+\r
+  Bool_t inputAOD=kFALSE; // otherwise, ESD\r
+  Bool_t createAOD=kTRUE; // kTRUE: create AOD and use it as input to vertexing\r
+                          // kFALSE: use ESD as input to vertexing\r
+  Bool_t writeKineToAOD = kFALSE;\r
   TString mode="local"; // otherwise, "grid" \r
+  Bool_t useParFiles=kFALSE;\r
 \r
-  gSystem->Load("libTree.so");\r
-  gSystem->Load("libGeom.so");\r
-  gSystem->Load("libPhysics.so");\r
-  gSystem->Load("libVMC.so");\r
-  gSystem->Load("libSTEERBase.so");\r
-  gSystem->Load("libESD.so");\r
-  gSystem->Load("libAOD.so"); \r
-  gSystem->Load("libANALYSIS.so");\r
-  gSystem->Load("libANALYSISalice.so");\r
-  gSystem->Load("libPWG3base.so");\r
-  gSystem->Load("libPWG3vertexingHF.so");\r
+  gROOT->LoadMacro("$ALICE_ROOT/PWG3/vertexingHF/macros/LoadLibraries.C");\r
+  LoadLibraries(useParFiles);\r
 \r
   TChain *chain = 0;\r
 \r
@@ -79,26 +75,50 @@ void AliAnalysisTaskSEVertexingHFTest()
   \r
   // Output \r
   AliAODHandler *aodHandler = new AliAODHandler();\r
-  aodHandler->SetOutputFileName("AliAOD.VertexingHF.root");\r
-  aodHandler->SetCreateNonStandardAOD();\r
+  const char* deltaAODfname="AliAOD.VertexingHF.root";\r
+  if(createAOD) {\r
+    aodHandler->SetOutputFileName("AliAOD.root");\r
+  } else {\r
+    aodHandler->SetFillAOD(kFALSE);\r
+    aodHandler->SetOutputFileName(deltaAODfname);\r
+    aodHandler->SetCreateNonStandardAOD();\r
+  }\r
   mgr->SetOutputEventHandler(aodHandler);\r
-  \r
+  mgr->RegisterExtraFile(deltaAODfname);  \r
+\r
+  if(!inputAOD && createAOD) {\r
+    // MC Truth\r
+    AliMCEventHandler* mcHandler = new AliMCEventHandler();\r
+    if(writeKineToAOD) mgr->SetMCtruthEventHandler(mcHandler);\r
+    AliAnalysisTaskMCParticleFilter *kinefilter = new AliAnalysisTaskMCParticleFilter("Particle Filter");\r
+    if(writeKineToAOD) mgr->AddTask(kinefilter);  \r
+    // Barrel Tracks\r
+    AliAnalysisTaskESDfilter *filter = new AliAnalysisTaskESDfilter("Filter");\r
+    mgr->AddTask(filter);\r
+\r
+    AliESDtrackCuts* esdTrackCutsHF = new AliESDtrackCuts("AliESDtrackCuts", "Heavy flavour");\r
+    esdTrackCutsHF->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);\r
+    \r
+    AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");\r
+    trackFilter->AddCuts(esdTrackCutsHF);\r
+\r
+    filter->SetTrackFilter(trackFilter);\r
+   \r
+    // Pipelining\r
+    mgr->ConnectInput(filter,0,mgr->GetCommonInputContainer());\r
+    mgr->ConnectOutput(filter,0,mgr->GetCommonOutputContainer());\r
+    if(writeKineToAOD) {\r
+      mgr->ConnectInput(kinefilter,0,mgr->GetCommonInputContainer());\r
+      mgr->ConnectOutput(kinefilter,0,mgr->GetCommonOutputContainer());\r
+    }\r
\r
+  }\r
+\r
   // Vertexing analysis task    \r
-  AliAnalysisTaskSEVertexingHF *hfTask = new AliAnalysisTaskSEVertexingHF("VertexingHFAnalysis");\r
-  hfTask->SetDebugLevel(2);\r
+  gROOT->LoadMacro("$ALICE_ROOT/PWG3/vertexingHF/macros/AddTaskVertexingHF.C");\r
+  AliAnalysisTaskSEVertexingHF *hfTask = AddTaskVertexingHF(deltaAODfname);\r
   \r
-  mgr->AddTask(hfTask);\r
   \r
-  //\r
-  // Create containers for input/output\r
-  AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain",TChain::Class(), \r
-                                                          AliAnalysisManager::kInputContainer);\r
-  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("tree", TTree::Class(),\r
-                                                           AliAnalysisManager::kOutputContainer, \r
-                                                           "default");\r
-  mgr->ConnectInput(hfTask,0,cinput1);\r
-  mgr->ConnectOutput(hfTask,0,coutput1);\r
-\r
   //\r
   // Run the analysis\r
   //    \r
@@ -107,7 +127,11 @@ void AliAnalysisTaskSEVertexingHFTest()
 \r
   mgr->PrintStatus();\r
 \r
+  TStopwatch watch;\r
+  watch.Start();\r
   mgr->StartAnalysis(mode.Data(),chain);\r
+  watch.Stop();\r
+  watch.Print();\r
 \r
   return;\r
 }\r