]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Minor mods to QA AddTask macro
authordelia <delia@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 23 Oct 2013 07:49:05 +0000 (07:49 +0000)
committerdelia <delia@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 23 Oct 2013 07:49:05 +0000 (07:49 +0000)
PWGLF/QATasks/macros/AddTaskQAHighPtDeDx.C

index 0596e91f2f532ee89409fdae3b581e5767ab8182..3a01bf8055acf95cffeca3af0653ee95903b71dd 100644 (file)
-
-
-AliAnalysisTask* AddTask(Bool_t AnalysisMC, const Char_t* taskname, Int_t typerun, Float_t minc[], Float_t maxc[] )
-{
-  // Creates a pid task and adds it to the analysis manager
-  
-  // Get the pointer to the existing analysis manager via the static
-  //access method
-  //=========================================================================
-  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
-  if (!mgr) {
-    Error("AddTaskHighPtDeDx", "No analysis manager to connect to.");
-    return NULL;
-  }  
-  
-  // Check the analysis type using the event handlers connected to the
-  // analysis manager The availability of MC handler can also be
-  // checked here.
-  // =========================================================================
-  if (!mgr->GetInputEventHandler()) {
-    Error("AddTaskHighPtDeDx", "This task requires an input event handler");
-    return NULL;
-  }  
-  
-
-
-
-  AliAnalysisFilter* trackFilterGolden = new AliAnalysisFilter("trackFilter");
-  AliESDtrackCuts* esdTrackCutsGolden = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE,1);
-  trackFilterGolden->AddCuts(esdTrackCutsGolden);
-  
-  AliAnalysisFilter* trackFilterTPC = new AliAnalysisFilter("trackFilterTPC");
-  AliESDtrackCuts* esdTrackCutsTPC = 
-    AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
-  trackFilterTPC->AddCuts(esdTrackCutsTPC);
-  
-
-
-  // Create the task and configure it 
-  //========================================================================
-  if(typerun==2){//heavy ion analysis
-    
-    
-    AliAnalysisTaskQAHighPtDeDx* taskHighPtDeDx[6];
-    for( Int_t i=0; i<6; ++i ){
-      taskHighPtDeDx[i]=0;
-      Char_t TaskName[256]={0};
-      sprintf(TaskName,"%s_%1.0f_%1.0f",taskname,minc[i],maxc[i]);
-      
-      taskHighPtDeDx[i] = new AliAnalysisTaskQAHighPtDeDx(TaskName);
-      TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
-      taskHighPtDeDx[i]->SetAnalysisType(type);
-      taskHighPtDeDx[i]->SetAnalysisMC(AnalysisMC);
-      taskHighPtDeDx[i]->SetAnalysisPbPb(kTRUE);
-      taskHighPtDeDx[i]->SetDebugLevel(0);
-      taskHighPtDeDx[i]->SetEtaCut(0.8);
-      taskHighPtDeDx[i]->SetVtxCut(10.0);
-      taskHighPtDeDx[i]->SetCentralityEstimator(centralityEstimator);
-      taskHighPtDeDx[i]->SetTrigger(kTriggerInt);
-      taskHighPtDeDx[i]->SetMinCent(minc[i]);
-      taskHighPtDeDx[i]->SetMaxCent(maxc[i]);
-      taskHighPtDeDx[i]->SetPileUpRej(ispileuprej);
-  
-      taskHighPtDeDx[i]->SetTrackFilterGolden(trackFilterGolden);
-      taskHighPtDeDx[i]->SetTrackFilterTPC(trackFilterTPC);
-      taskHighPtDeDx[i]->SetStoreMcIn(analysisMC);
-
-      mgr->AddTask(taskHighPtDeDx[i]);
-      
-    }
-    
-    // Create ONLY the output containers for the data produced by the
-    // task.  Get and connect other common input/output containers via
-    // the manager as below
-    //=======================================================================
-    AliAnalysisDataContainer *cout_hist[6];
-    for( Int_t i=0; i<6; ++i ){
-      
-      cout_hist[i]=0;
-      Char_t outFileName[256]={0};
-      sprintf(outFileName,"%s_%1.0f_%1.0f.root",taskname,minc[i],maxc[i]);
-      //AliAnalysisDataContainer *cout_hist    = 0;
-      
-      cout_hist[i] = mgr->CreateContainer(Form("output_%1.0f_%1.0f",minc[i],maxc[i]), TList::Class(), AliAnalysisManager::kOutputContainer, outFileName);
-      mgr->ConnectInput (taskHighPtDeDx[i], 0, mgr->GetCommonInputContainer());
-      mgr->ConnectOutput(taskHighPtDeDx[i], 1, cout_hist[i]);
-      
-    }  
-    
-    // Return task pointer at the end
-    return taskHighPtDeDx[0];
-  }
-  if(typerun==3){//pp analysis
-  
-    
-    AliAnalysisTaskQAHighPtDeDx* taskHighPtDeDx = new AliAnalysisTaskQAHighPtDeDx("taskHighPtDeDxpp");
-    TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
-    taskHighPtDeDx->SetAnalysisType(type);
-    taskHighPtDeDx->SetAnalysisMC(AnalysisMC);
-    taskHighPtDeDx->SetAnalysisPbPb(kFALSE);
-    taskHighPtDeDx->SetDebugLevel(0);
-    taskHighPtDeDx->SetEtaCut(0.8);
-    taskHighPtDeDx->SetVtxCut(10.0);
-    taskHighPtDeDx->SetTrigger(kTriggerInt);
-    taskHighPtDeDx->SetPileUpRej(ispileuprej);
-    //Set Filtesr
-    taskHighPtDeDx->SetTrackFilterGolden(trackFilterGolden);
-    taskHighPtDeDx->SetTrackFilterTPC(trackFilterTPC);
-    taskHighPtDeDx->SetStoreMcIn(analysisMC);     // def: kFALSE
-
-    mgr->AddTask(taskHighPtDeDx);
-      
-    // Create ONLY the output containers for the data produced by the
-    // task.  Get and connect other common input/output containers via
-    // the manager as below
-    //=======================================================================
-  
-    AliAnalysisDataContainer *cout_histdedx;
-
-    cout_histdedx=0;
-    Char_t outFileName[256]={0};
-    sprintf(outFileName,"%s.root",taskname);
-    //AliAnalysisDataContainer *cout_hist    = 0;
-    cout_histdedx = mgr->CreateContainer("outputdedx", TList::Class(), AliAnalysisManager::kOutputContainer, outFileName);
-    mgr->ConnectInput (taskHighPtDeDx, 0, mgr->GetCommonInputContainer());
-    mgr->ConnectOutput(taskHighPtDeDx, 1, cout_histdedx);
-    // Return task pointer at the end
-    return taskHighPtDeDx;
-    
-
-    
-    
-    
-  }
-
-
-
- if(typerun==4){//pPb analysis
-   cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<                 Runing pPb    <<<<<<<<<<<<<<"<<endl;
-    
-    AliAnalysisTaskQAHighPtDeDx* taskHighPtDeDx = new AliAnalysisTaskQAHighPtDeDx("taskHighPtDeDxpp");
-    TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
-    taskHighPtDeDx->SetAnalysisType(type);
-    taskHighPtDeDx->SetAnalysisMC(AnalysisMC);
-    taskHighPtDeDx->SetAnalysisPbPb(kTRUE);
-    taskHighPtDeDx->SetMinCent(-2000);
-    taskHighPtDeDx->SetMaxCent(2000);
-    taskHighPtDeDx->SetDebugLevel(0);
-    taskHighPtDeDx->SetEtaCut(0.8);
-    taskHighPtDeDx->SetVtxCut(10.0);
-    taskHighPtDeDx->SetTrigger(kTriggerInt);
-    taskHighPtDeDx->SetPileUpRej(ispileuprej);
-    taskHighPtDeDx->SetCentralityEstimator(centralityEstimator);
-    taskHighPtDeDx->SetStoreMcIn(analysisMC);     // def: kFALSE
-    //Set Filtesr
-    taskHighPtDeDx->SetTrackFilterGolden(trackFilterGolden);
-    taskHighPtDeDx->SetTrackFilterTPC(trackFilterTPC);
-    mgr->AddTask(taskHighPtDeDx);
-      
-    // Create ONLY the output containers for the data produced by the
-    // task.  Get and connect other common input/output containers via
-    // the manager as below
-    //=======================================================================
-  
-    AliAnalysisDataContainer *cout_histdedx;
-
-    cout_histdedx=0;
-    Char_t outFileName[256]={0};
-    sprintf(outFileName,"%s.root",taskname);
-    //AliAnalysisDataContainer *cout_hist    = 0;
-    cout_histdedx = mgr->CreateContainer("outputdedx", TList::Class(), AliAnalysisManager::kOutputContainer, outFileName);
-    mgr->ConnectInput (taskHighPtDeDx, 0, mgr->GetCommonInputContainer());
-    mgr->ConnectOutput(taskHighPtDeDx, 1, cout_histdedx);
-    // Return task pointer at the end
-    return taskHighPtDeDx;
-    
-
-    
-    
-    
-  }
-
-
-
-  
-  
-}
+AliAnalysisTask* AddTask(Bool_t AnalysisMC = kFALSE, \r
+                        Int_t typerun =1, // 0 for pp and 1 for Pb-Pb or pPb\r
+                        TString  type ="ESD",\r
+                        UInt_t kTriggerInt = AliVEvent::kINT7, //for pPb kINT7, for pp or PbPb kMB\r
+                        Float_t minCent = 0,\r
+                        Float_t maxCent = 80,\r
+                        char *centralityEstimator = "V0A",//for pPb V0A for PbPb V0M\r
+                        Bool_t ispileuprej = kFALSE\r
+                        )\r
+{\r
+  // Creates a pid task and adds it to the analysis manager\r
+  \r
+  // Get the pointer to the existing analysis manager via the static\r
+  //access method\r
+  //=========================================================================\r
+  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
+  if (!mgr) {\r
+    Error("AddTaskHighPtDeDx", "No analysis manager to connect to.");\r
+    return NULL;\r
+  }  \r
+  \r
+  // Check the analysis type using the event handlers connected to the\r
+  // analysis manager The availability of MC handler can also be\r
+  // checked here.\r
+  // =========================================================================\r
+  if (!mgr->GetInputEventHandler()) {\r
+    Error("AddTaskHighPtDeDx", "This task requires an input event handler");\r
+    return NULL;\r
+  }  \r
+  \r
+\r
+\r
+\r
+  AliAnalysisFilter* trackFilterGolden = new AliAnalysisFilter("trackFilter");\r
+  AliESDtrackCuts* esdTrackCutsGolden = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE,1);\r
+  trackFilterGolden->AddCuts(esdTrackCutsGolden);\r
+  \r
+  AliAnalysisFilter* trackFilterTPC = new AliAnalysisFilter("trackFilterTPC");\r
+  AliESDtrackCuts* esdTrackCutsTPC = \r
+    AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();\r
+  trackFilterTPC->AddCuts(esdTrackCutsTPC);\r
+  \r
+\r
+\r
+  \r
+  AliAnalysisTaskQAHighPtDeDx* taskHighPtDeDx = new AliAnalysisTaskQAHighPtDeDx("taskHighPtDeDxpp");\r
+  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"\r
+  taskHighPtDeDx->SetAnalysisType(type);\r
+  taskHighPtDeDx->SetAnalysisMC(AnalysisMC);\r
+  if(typerun==1){\r
+    taskHighPtDeDx->SetAnalysisPbPb(kTRUE);\r
+    taskHighPtDeDx->SetMinCent(minCent);\r
+    taskHighPtDeDx->SetMaxCent(maxCent);\r
+    taskHighPtDeDx->SetCentralityEstimator(centralityEstimator);\r
+  }\r
+  else\r
+    taskHighPtDeDx->SetAnalysisPbPb(kFALSE);\r
+  taskHighPtDeDx->SetDebugLevel(0);\r
+  taskHighPtDeDx->SetEtaCut(0.8);\r
+  taskHighPtDeDx->SetVtxCut(10.0);\r
+  taskHighPtDeDx->SetTrigger(kTriggerInt);\r
+  taskHighPtDeDx->SetPileUpRej(ispileuprej);\r
+  //Set Filtesr\r
+  taskHighPtDeDx->SetTrackFilterGolden(trackFilterGolden);\r
+  taskHighPtDeDx->SetTrackFilterTPC(trackFilterTPC);\r
+  taskHighPtDeDx->SetStoreMcIn(analysisMC);     // def: kFALSE\r
+  \r
+  mgr->AddTask(taskHighPtDeDx);\r
+  \r
+  // Create ONLY the output containers for the data produced by the\r
+  // task.  Get and connect other common input/output containers via\r
+  // the manager as below\r
+  //=======================================================================\r
+  \r
+  AliAnalysisDataContainer *cout_histdedx;\r
+  \r
+  cout_histdedx=0;\r
+  cout_histdedx = mgr->CreateContainer("outputdedx", TList::Class(), AliAnalysisManager::kOutputContainer, "QAHighPtDeDx.root");\r
+  mgr->ConnectInput (taskHighPtDeDx, 0, mgr->GetCommonInputContainer());\r
+  mgr->ConnectOutput(taskHighPtDeDx, 1, cout_histdedx);\r
+  \r
+  // Return task pointer at the end\r
+  return taskHighPtDeDx;\r
+   \r
+  \r
+  \r
+}\r