]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG3/vertexingHF/AliAnalysisTaskSEVertexingHFTest.C
Added list of good runs (from RCT) for LHC10b and LHC10c
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSEVertexingHFTest.C
index 38707ab431230d79b05ba60bb5c1421829c9baee..eb0db8a86f0bbd0302d9df51f68b4a63f5197dff 100644 (file)
@@ -6,6 +6,9 @@ void AliAnalysisTaskSEVertexingHFTest()
   //\r
 \r
   Bool_t inputAOD=kTRUE; // otherwise, ESD\r
+  Bool_t createAOD=kFALSE; // kTRUE: create AOD and use it as input to vertexing\r
+                          // kFALSE: use ESD as input to vertexing\r
+  Bool_t writeKineToAOD = kTRUE;\r
   TString mode="local"; // otherwise, "grid" \r
   Bool_t useParFiles=kFALSE;\r
 \r
@@ -72,31 +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/AddTaskVertexingHF.C");\r
+  AliAnalysisTaskSEVertexingHF *hfTask = AddTaskVertexingHF(deltaAODfname);\r
   \r
-  mgr->AddTask(hfTask);\r
   \r
-  //\r
-  // Create containers for input/output\r
-  mgr->ConnectInput(hfTask,0,mgr->GetCommonInputContainer());\r
-  mgr->ConnectOutput(hfTask,0,mgr->GetCommonOutputContainer());\r
-  /* \r
-  // before v4-17-Release\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
   //\r
   // Run the analysis\r
   //    \r
@@ -105,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