]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/vertexingHF/AliAnalysisTaskSEVertexingHFTest.C
end-of-line normalization
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliAnalysisTaskSEVertexingHFTest.C
index ce85126a4f75b06035d54f0f330645c92f6ff054..8a9c938dc7a2f8849ff4bad8257f2d7d6fafc6f0 100644 (file)
-void AliAnalysisTaskSEVertexingHFTest()\r
-{\r
-  //\r
-  // Test macro for the AliAnalysisTaskSE for heavy-flavour vertexing\r
-  // A.Dainese, andrea.dainese@lnl.infn.it\r
-  //\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
-  Bool_t doCentrality=kTRUE;\r
-\r
-  gROOT->LoadMacro("$ALICE_ROOT/PWGHF/vertexingHF/macros/LoadLibraries.C");\r
-  LoadLibraries(useParFiles);\r
-  gSystem->Load("libPWGmuon");\r
-  TChain *chain = 0;\r
-\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
-    printf("ERROR: mode has to be \"local\" or \"grid\" \n");\r
-    return;\r
-  }\r
-\r
-\r
-  // Create the analysis manager\r
-  AliAnalysisManager *mgr  = new AliAnalysisManager("My Manager","My Manager");\r
-  mgr->SetDebugLevel(10);\r
-  \r
-  // Input Handler\r
-  AliInputEventHandler *inputHandler = 0;\r
-  if(inputAOD) {\r
-    inputHandler = new AliAODInputHandler();\r
-  } else {\r
-    inputHandler = new AliESDInputHandler();\r
-  }\r
-  mgr->SetInputEventHandler(inputHandler);\r
-  \r
-  // Output \r
-  AliAODHandler *aodHandler = new AliAODHandler();\r
-  const char* deltaAODfname="AliAOD.VertexingHF.root";\r
-  if(createAOD) {\r
-    aodHandler->SetOutputFileName("AliAOD.root");\r
-  } else {\r
-    aodHandler->SetOutputFileName(deltaAODfname);\r
-    aodHandler->SetAODExtensionMode();\r
-  }\r
-  mgr->SetOutputEventHandler(aodHandler);\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
-    // Centrality\r
-    if(doCentrality){\r
-      gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");\r
-      AliCentralitySelectionTask *taskCentrality = AddTaskCentrality();\r
-    }\r
-\r
-    gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskESDFilter.C");\r
-    AliAnalysisTaskESDfilter *filter = AddTaskESDFilter(writeKineToAOD);\r
-   \r
-  }\r
-\r
-  // Vertexing analysis task    \r
-  gROOT->LoadMacro("$ALICE_ROOT/PWGHF/vertexingHF/macros/AddTaskVertexingHF.C");\r
-  AliAnalysisTaskSEVertexingHF *hfTask = AddTaskVertexingHF(deltaAODfname);\r
-  \r
-  \r
-  //\r
-  // Run the analysis\r
-  //    \r
-  printf("CHAIN HAS %d ENTRIES\n",(Int_t)chain->GetEntries());\r
-  if(!mgr->InitAnalysis()) return;\r
-\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
+void AliAnalysisTaskSEVertexingHFTest()
+{
+  //
+  // Test macro for the AliAnalysisTaskSE for heavy-flavour vertexing
+  // A.Dainese, andrea.dainese@lnl.infn.it
+  //
+
+  Bool_t inputAOD=kFALSE; // otherwise, ESD
+  Bool_t createAOD=kTRUE; // kTRUE: create AOD and use it as input to vertexing
+                          // kFALSE: use ESD as input to vertexing
+  Bool_t writeKineToAOD = kFALSE;
+  TString mode="local"; // otherwise, "grid" 
+  Bool_t useParFiles=kFALSE;
+  Bool_t doCentrality=kTRUE;
+
+  gROOT->LoadMacro("$ALICE_ROOT/PWGHF/vertexingHF/macros/LoadLibraries.C");
+  LoadLibraries(useParFiles);
+  gSystem->Load("libPWGmuon");
+  TChain *chain = 0;
+
+  if(mode=="local") {
+    // Local files 
+    TString treeName,fileName;
+    if(inputAOD) {
+      treeName="aodTree"; 
+      fileName="AliAOD.root";
+    } else {
+      treeName="esdTree"; 
+      fileName="AliESDs.root";
+    }
+    chain = new TChain(treeName.Data());
+    chain->Add(fileName.Data());
+
+  } else if (mode=="grid") {
+    //Fetch files with AliEn :
+    const char *collectionfile = "Collection.xml";
+    TGrid::Connect("alien://") ;
+    TAlienCollection *coll   = TAlienCollection::Open(collectionfile);
+    if(inputAOD) { // input AOD
+      chain = new TChain("aodTree");
+      while(coll->Next()) chain->Add(coll->GetTURL(""));
+    } else { // input ESD
+      //Create an AliRunTagCuts and an AliEventTagCuts Object and impose some selection criteria
+      AliRunTagCuts      *runCuts   = new AliRunTagCuts();
+      AliEventTagCuts    *eventCuts = new AliEventTagCuts();
+      AliLHCTagCuts      *lhcCuts   = new AliLHCTagCuts();
+      AliDetectorTagCuts *detCuts   = new AliDetectorTagCuts();
+      eventCuts->SetMultiplicityRange(0,20000);
+      //Create an AliTagAnalysis Object and chain the tags
+      AliTagAnalysis   *tagAna = new AliTagAnalysis();
+      tagAna->SetType("ESD");
+      TGridResult      *tagResult = coll->GetGridResult("",0,0);
+      tagResult->Print();
+      tagAna->ChainGridTags(tagResult);
+      //Create a new esd chain and assign the chain that is returned by querying the tags
+      chain = tagAna->QueryTags(runCuts,lhcCuts,detCuts,eventCuts);
+    }
+  } else {
+    printf("ERROR: mode has to be \"local\" or \"grid\" \n");
+    return;
+  }
+
+
+  // Create the analysis manager
+  AliAnalysisManager *mgr  = new AliAnalysisManager("My Manager","My Manager");
+  mgr->SetDebugLevel(10);
+  
+  // Input Handler
+  AliInputEventHandler *inputHandler = 0;
+  if(inputAOD) {
+    inputHandler = new AliAODInputHandler();
+  } else {
+    inputHandler = new AliESDInputHandler();
+  }
+  mgr->SetInputEventHandler(inputHandler);
+  
+  // Output 
+  AliAODHandler *aodHandler = new AliAODHandler();
+  const char* deltaAODfname="AliAOD.VertexingHF.root";
+  if(createAOD) {
+    aodHandler->SetOutputFileName("AliAOD.root");
+  } else {
+    aodHandler->SetOutputFileName(deltaAODfname);
+    aodHandler->SetAODExtensionMode();
+  }
+  mgr->SetOutputEventHandler(aodHandler);
+  mgr->RegisterExtraFile(deltaAODfname);  
+
+  if(!inputAOD && createAOD) {
+    // MC Truth
+    AliMCEventHandler* mcHandler = new AliMCEventHandler();
+    if(writeKineToAOD) mgr->SetMCtruthEventHandler(mcHandler);
+    AliAnalysisTaskMCParticleFilter *kinefilter = new AliAnalysisTaskMCParticleFilter("Particle Filter");
+    if(writeKineToAOD) mgr->AddTask(kinefilter);  
+    // Centrality
+    if(doCentrality){
+      gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
+      AliCentralitySelectionTask *taskCentrality = AddTaskCentrality();
+    }
+
+    gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskESDFilter.C");
+    AliAnalysisTaskESDfilter *filter = AddTaskESDFilter(writeKineToAOD);
+   
+  }
+
+  // Vertexing analysis task    
+  gROOT->LoadMacro("$ALICE_ROOT/PWGHF/vertexingHF/macros/AddTaskVertexingHF.C");
+  AliAnalysisTaskSEVertexingHF *hfTask = AddTaskVertexingHF(deltaAODfname);
+  
+  
+  //
+  // Run the analysis
+  //    
+  printf("CHAIN HAS %d ENTRIES\n",(Int_t)chain->GetEntries());
+  if(!mgr->InitAnalysis()) return;
+
+  mgr->PrintStatus();
+
+  TStopwatch watch;
+  watch.Start();
+  mgr->StartAnalysis(mode.Data(),chain);
+  watch.Stop();
+  watch.Print();
+
+  return;
+}