]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGDQ/dielectron/macrosLMEE/AddTask_Asako_LMEEPbPb2011AOD.C
end-of-line normalization
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_Asako_LMEEPbPb2011AOD.C
index 8b5926b643299677a512dc009d165408634c0c51..913e7427d282f9db14367ac61cc627bad42b9ab0 100644 (file)
-AliAnalysisTask *AddTask_Asako_LMEEPbPb2011AOD(Bool_t runAll=kFALSE,Bool_t setMC=kFALSE,Bool_t getFromAlien=kFALSE, Bool_t PIDbaseline=kFALSE){\r
-\r
-  Bool_t bESDANA=kFALSE; //Autodetect via InputHandler\r
-  //get the current analysis manager\r
-  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
-  if (!mgr) {\r
-       Error("AddTask_Asako_LMEEPbPb2011AOD", "No analysis manager found.");\r
-       return 0;\r
-  }\r
-\r
-\r
-//  create task and add it to the manager\r
-//     gSystem->AddIncludePath("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE");\r
-\r
-\r
-  TString configBasePath("$TRAIN_ROOT/cbaumann_dielectron/");\r
-  TString trainRoot=gSystem->Getenv("TRAIN_ROOT");\r
-\r
-  if (trainRoot.IsNull()) configBasePath= "$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/";\r
-\r
-\r
-  if (getFromAlien &&\r
-      (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/ConfigLMEEPbPb2011AOD.C .")) &&\r
-      (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C ."))\r
-     ) {\r
-        configBasePath=Form("%s/",gSystem->pwd());\r
-  }\r
-\r
-  TString configFile("ConfigAsakoLMEEPbPb2011AOD.C");\r
-  TString configLMEECutLib("LMEECutLibAsako.C");\r
-\r
-  TString configFilePath(configBasePath+configFile);\r
-  TString configLMEECutLibPath(configBasePath+configLMEECutLib);\r
-\r
-  //AOD Usage currently tested with separate task, to be merged\r
-  if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){\r
-       ::Info("AddTaskLMEEPbPb2011", "no dedicated AOD configuration");\r
-  }\r
-  else if (mgr->GetInputEventHandler()->IsA()==AliESDInputHandler::Class()){\r
-       ::Info("AddTaskLMEEPbPb2011AOD","switching on ESD specific code");\r
-       bESDANA=kTRUE;\r
-  }\r
-\r
-\r
-  //Do we have an MC handler?\r
-  Bool_t hasMC=setMC;\r
-  if (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0)\r
-       hasMC=kTRUE;\r
-\r
-\r
-\r
-  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))\r
-       gROOT->LoadMacro(configLMEECutLibPath.Data());\r
-  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))\r
-       gROOT->LoadMacro(configFilePath.Data());\r
-\r
-\r
-  LMEECutLibAsako* cutlib = new LMEECutLibAsako();\r
-  AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData");\r
-  if (!hasMC) task->UsePhysicsSelection();\r
-  task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);\r
-//  task->SelectCollisionCandidates(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);\r
-//  task->SetRejectPileup();\r
-  task->SelectCollisionCandidates(AliVEvent::kAny);  \r
-  task->SetEventFilter(cutlib->GetEventCuts(LMEECutLibAsako::kPbPb2011TPCandTOF)); //\r
-       \r
-\r
-  //load dielectron configuration file\r
-\r
-  //add dielectron analysis with different cuts to the task\r
-\r
-  \r
-  AliDielectron *lowmass1=ConfigAsakoLMEEPbPb2011AOD(1,hasMC,bESDANA);\r
-  task->AddDielectron(lowmass1);\r
-  printf("add: %s\n",lowmass1->GetName());\r
-  \r
-\r
-  AliDielectron *lowmass2=ConfigAsakoLMEEPbPb2011AOD(2,hasMC,bESDANA);\r
-  task->AddDielectron(lowmass2);\r
-  printf("add: %s\n",lowmass2->GetName());\r
-  \r
-\r
-  AliDielectron *lowmass3=ConfigAsakoLMEEPbPb2011AOD(3,hasMC,bESDANA);\r
-  task->AddDielectron(lowmass3);\r
-  printf("add: %s\n",lowmass3->GetName());\r
-  \r
-\r
-  AliDielectron *lowmass4=ConfigAsakoLMEEPbPb2011AOD(4,hasMC,bESDANA);\r
-  task->AddDielectron(lowmass4);\r
-  printf("add: %s\n",lowmass4->GetName());\r
-  \r
-\r
-\r
-  AliDielectron *lowmass5=ConfigAsakoLMEEPbPb2011AOD(5,hasMC,bESDANA);\r
-  task->AddDielectron(lowmass5);\r
-  printf("add: %s\n",lowmass5->GetName());\r
-  \r
-   AliDielectron *lowmass6=ConfigAsakoLMEEPbPb2011AOD(6,hasMC,bESDANA);\r
-   task->AddDielectron(lowmass6);\r
-   printf("add: %s\n",lowmass6->GetName());\r
-  \r
-   AliDielectron *lowmass7=ConfigAsakoLMEEPbPb2011AOD(7,hasMC,bESDANA);\r
-   task->AddDielectron(lowmass7);\r
-  printf("add: %s\n",lowmass7->GetName());\r
-  \r
-   AliDielectron *lowmass8=ConfigAsakoLMEEPbPb2011AOD(8,hasMC,bESDANA);\r
-   task->AddDielectron(lowmass8);\r
-   printf("add: %s\n",lowmass8->GetName());\r
-  \r
-  AliDielectron *lowmass9=ConfigAsakoLMEEPbPb2011AOD(9,hasMC,bESDANA);\r
-  task->AddDielectron(lowmass9);\r
-  printf("add: %s\n",lowmass9->GetName());\r
-\r
-  AliDielectron *lowmass10=ConfigAsakoLMEEPbPb2011AOD(10,hasMC,bESDANA);\r
-  task->AddDielectron(lowmass10);\r
-  printf("add: %s\n",lowmass9->GetName());\r
-\r
-\r
-AliDielectron *lowmass11=ConfigAsakoLMEEPbPb2011AOD(11,hasMC,bESDANA);\r
-  task->AddDielectron(lowmass11);\r
-  printf("add: %s\n",lowmass11->GetName());\r
-  \r
-\r
-  AliDielectron *lowmass12=ConfigAsakoLMEEPbPb2011AOD(12,hasMC,bESDANA);\r
-  task->AddDielectron(lowmass12);\r
-  printf("add: %s\n",lowmass12->GetName());\r
-  \r
-\r
-  AliDielectron *lowmass13=ConfigAsakoLMEEPbPb2011AOD(13,hasMC,bESDANA);\r
-  task->AddDielectron(lowmass13);\r
-  printf("add: %s\n",lowmass13->GetName());\r
-  \r
-  //if (PIDbaseline) {\r
-  //AliDielectron *lowmass7=ConfigLMEEPbPb2011AOD(7,hasMC,bESDANA);\r
-  //   task->AddDielectron(lowmass7);\r
-  //   printf("add: %s\n",lowmass7->GetName());\r
-  //}\r
-\r
-  mgr->AddTask(task);\r
-\r
-  //create output container\r
-  AliAnalysisDataContainer *coutput1 =\r
-       mgr->CreateContainer("asako_LMEEPbPb2011_tree",\r
-               TTree::Class(),\r
-               AliAnalysisManager::kExchangeContainer,\r
-               "LMEEoutput.root");\r
-\r
-  AliAnalysisDataContainer *cOutputHist1 =\r
-       mgr->CreateContainer("asako_LMEEPbPb2011_out",\r
-               TList::Class(),\r
-               AliAnalysisManager::kOutputContainer,\r
-               "LMEEoutput.root");\r
-\r
-  /*  AliAnalysisDataContainer *cOutputHist2 =\r
-         mgr->CreateContainer("cbaumann_lowmass_CF",\r
-         TList::Class(),\r
-         AliAnalysisManager::kOutputContainer,\r
-         "cbaumann_lowmass_CF.root");\r
-         */\r
-  AliAnalysisDataContainer *cOutputHist2 =\r
-       mgr->CreateContainer("asako_LMEEPbPb2011_CF",\r
-               TList::Class(),\r
-               AliAnalysisManager::kOutputContainer,\r
-               "LMEEoutput.root");\r
-\r
-  AliAnalysisDataContainer *cOutputHist3 =\r
-       mgr->CreateContainer("asako_EventStatPbPb2011",\r
-               TH1D::Class(),\r
-               AliAnalysisManager::kOutputContainer,\r
-               "LMEEoutput.root");\r
-\r
-\r
-  mgr->ConnectInput(task,  0, mgr->GetCommonInputContainer());\r
-  mgr->ConnectOutput(task, 0, coutput1 );\r
-  mgr->ConnectOutput(task, 1, cOutputHist1);\r
-  mgr->ConnectOutput(task, 2, cOutputHist2);\r
-  mgr->ConnectOutput(task, 3, cOutputHist3);\r
-\r
-  return task;\r
-}\r
+AliAnalysisTask *AddTask_Asako_LMEEPbPb2011AOD(Bool_t runAll=kFALSE,Bool_t setMC=kFALSE,Bool_t getFromAlien=kFALSE, Bool_t PIDbaseline=kFALSE){
+
+  Bool_t bESDANA=kFALSE; //Autodetect via InputHandler
+  //get the current analysis manager
+  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+  if (!mgr) {
+       Error("AddTask_Asako_LMEEPbPb2011AOD", "No analysis manager found.");
+       return 0;
+  }
+
+
+//  create task and add it to the manager
+//     gSystem->AddIncludePath("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE");
+
+
+  TString configBasePath("$TRAIN_ROOT/cbaumann_dielectron/");
+  TString trainRoot=gSystem->Getenv("TRAIN_ROOT");
+
+  if (trainRoot.IsNull()) configBasePath= "$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/";
+
+
+  if (getFromAlien &&
+      (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/ConfigLMEEPbPb2011AOD.C .")) &&
+      (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C ."))
+     ) {
+        configBasePath=Form("%s/",gSystem->pwd());
+  }
+
+  TString configFile("ConfigAsakoLMEEPbPb2011AOD.C");
+  TString configLMEECutLib("LMEECutLibAsako.C");
+
+  TString configFilePath(configBasePath+configFile);
+  TString configLMEECutLibPath(configBasePath+configLMEECutLib);
+
+  //AOD Usage currently tested with separate task, to be merged
+  if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){
+       ::Info("AddTaskLMEEPbPb2011", "no dedicated AOD configuration");
+  }
+  else if (mgr->GetInputEventHandler()->IsA()==AliESDInputHandler::Class()){
+       ::Info("AddTaskLMEEPbPb2011AOD","switching on ESD specific code");
+       bESDANA=kTRUE;
+  }
+
+
+  //Do we have an MC handler?
+  Bool_t hasMC=setMC;
+  if (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0)
+       hasMC=kTRUE;
+
+
+
+  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
+       gROOT->LoadMacro(configLMEECutLibPath.Data());
+  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
+       gROOT->LoadMacro(configFilePath.Data());
+
+
+  LMEECutLibAsako* cutlib = new LMEECutLibAsako();
+  AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData");
+  if (!hasMC) task->UsePhysicsSelection();
+  task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
+//  task->SelectCollisionCandidates(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
+//  task->SetRejectPileup();
+  task->SelectCollisionCandidates(AliVEvent::kAny);  
+  task->SetEventFilter(cutlib->GetEventCuts(LMEECutLibAsako::kPbPb2011TPCandTOF)); //
+       
+
+  //load dielectron configuration file
+
+  //add dielectron analysis with different cuts to the task
+
+  
+  AliDielectron *lowmass1=ConfigAsakoLMEEPbPb2011AOD(1,hasMC,bESDANA);
+  task->AddDielectron(lowmass1);
+  printf("add: %s\n",lowmass1->GetName());
+  
+
+  AliDielectron *lowmass2=ConfigAsakoLMEEPbPb2011AOD(2,hasMC,bESDANA);
+  task->AddDielectron(lowmass2);
+  printf("add: %s\n",lowmass2->GetName());
+  
+
+  AliDielectron *lowmass3=ConfigAsakoLMEEPbPb2011AOD(3,hasMC,bESDANA);
+  task->AddDielectron(lowmass3);
+  printf("add: %s\n",lowmass3->GetName());
+  
+
+  AliDielectron *lowmass4=ConfigAsakoLMEEPbPb2011AOD(4,hasMC,bESDANA);
+  task->AddDielectron(lowmass4);
+  printf("add: %s\n",lowmass4->GetName());
+  
+
+
+  AliDielectron *lowmass5=ConfigAsakoLMEEPbPb2011AOD(5,hasMC,bESDANA);
+  task->AddDielectron(lowmass5);
+  printf("add: %s\n",lowmass5->GetName());
+  
+   AliDielectron *lowmass6=ConfigAsakoLMEEPbPb2011AOD(6,hasMC,bESDANA);
+   task->AddDielectron(lowmass6);
+   printf("add: %s\n",lowmass6->GetName());
+  
+   AliDielectron *lowmass7=ConfigAsakoLMEEPbPb2011AOD(7,hasMC,bESDANA);
+   task->AddDielectron(lowmass7);
+  printf("add: %s\n",lowmass7->GetName());
+  
+   AliDielectron *lowmass8=ConfigAsakoLMEEPbPb2011AOD(8,hasMC,bESDANA);
+   task->AddDielectron(lowmass8);
+   printf("add: %s\n",lowmass8->GetName());
+  
+  AliDielectron *lowmass9=ConfigAsakoLMEEPbPb2011AOD(9,hasMC,bESDANA);
+  task->AddDielectron(lowmass9);
+  printf("add: %s\n",lowmass9->GetName());
+
+  AliDielectron *lowmass10=ConfigAsakoLMEEPbPb2011AOD(10,hasMC,bESDANA);
+  task->AddDielectron(lowmass10);
+  printf("add: %s\n",lowmass9->GetName());
+
+
+AliDielectron *lowmass11=ConfigAsakoLMEEPbPb2011AOD(11,hasMC,bESDANA);
+  task->AddDielectron(lowmass11);
+  printf("add: %s\n",lowmass11->GetName());
+  
+
+  AliDielectron *lowmass12=ConfigAsakoLMEEPbPb2011AOD(12,hasMC,bESDANA);
+  task->AddDielectron(lowmass12);
+  printf("add: %s\n",lowmass12->GetName());
+  
+
+  AliDielectron *lowmass13=ConfigAsakoLMEEPbPb2011AOD(13,hasMC,bESDANA);
+  task->AddDielectron(lowmass13);
+  printf("add: %s\n",lowmass13->GetName());
+  
+  //if (PIDbaseline) {
+  //AliDielectron *lowmass7=ConfigLMEEPbPb2011AOD(7,hasMC,bESDANA);
+  //   task->AddDielectron(lowmass7);
+  //   printf("add: %s\n",lowmass7->GetName());
+  //}
+
+  mgr->AddTask(task);
+
+  //create output container
+  AliAnalysisDataContainer *coutput1 =
+       mgr->CreateContainer("asako_LMEEPbPb2011_tree",
+               TTree::Class(),
+               AliAnalysisManager::kExchangeContainer,
+               "LMEEoutput.root");
+
+  AliAnalysisDataContainer *cOutputHist1 =
+       mgr->CreateContainer("asako_LMEEPbPb2011_out",
+               TList::Class(),
+               AliAnalysisManager::kOutputContainer,
+               "LMEEoutput.root");
+
+  /*  AliAnalysisDataContainer *cOutputHist2 =
+         mgr->CreateContainer("cbaumann_lowmass_CF",
+         TList::Class(),
+         AliAnalysisManager::kOutputContainer,
+         "cbaumann_lowmass_CF.root");
+         */
+  AliAnalysisDataContainer *cOutputHist2 =
+       mgr->CreateContainer("asako_LMEEPbPb2011_CF",
+               TList::Class(),
+               AliAnalysisManager::kOutputContainer,
+               "LMEEoutput.root");
+
+  AliAnalysisDataContainer *cOutputHist3 =
+       mgr->CreateContainer("asako_EventStatPbPb2011",
+               TH1D::Class(),
+               AliAnalysisManager::kOutputContainer,
+               "LMEEoutput.root");
+
+
+  mgr->ConnectInput(task,  0, mgr->GetCommonInputContainer());
+  mgr->ConnectOutput(task, 0, coutput1 );
+  mgr->ConnectOutput(task, 1, cOutputHist1);
+  mgr->ConnectOutput(task, 2, cOutputHist2);
+  mgr->ConnectOutput(task, 3, cOutputHist3);
+
+  return task;
+}