1 AliAnalysisTask *AddTask_Asako_LMEEPbPb2011AODSemi1(Bool_t runAll=kFALSE,Bool_t setMC=kFALSE,Bool_t getFromAlien=kFALSE, Bool_t PIDbaseline=kFALSE){
\r
3 Bool_t bESDANA=kFALSE; //Autodetect via InputHandler
\r
4 //get the current analysis manager
\r
5 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
\r
7 Error("AddTask_Asako_LMEEPbPb2011AODSemi1", "No analysis manager found.");
\r
12 // create task and add it to the manager
\r
13 // gSystem->AddIncludePath("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE");
\r
16 TString configBasePath("$TRAIN_ROOT/cbaumann_dielectron/");
\r
17 TString trainRoot=gSystem->Getenv("TRAIN_ROOT");
\r
19 if (trainRoot.IsNull()) configBasePath= "$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/";
\r
20 // if (trainRoot.IsNull()) configBasePath= "/home/tsuji/nfs/AliceAna/pol2/Semi1/";
\r
23 (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/ConfigAsakoLMEEPbPb2011AOD.C .")) &&
\r
24 (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/LMEECutLibAsako.C ."))
\r
26 configBasePath=Form("%s/",gSystem->pwd());
\r
29 TString configFile("ConfigAsakoLMEEPbPb2011AOD.C");
\r
30 TString configLMEECutLib("LMEECutLibAsako.C");
\r
32 TString configFilePath(configBasePath+configFile);
\r
33 TString configLMEECutLibPath(configBasePath+configLMEECutLib);
\r
35 //AOD Usage currently tested with separate task, to be merged
\r
36 if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){
\r
37 ::Info("AddTaskLMEEPbPb2011", "no dedicated AOD configuration");
\r
39 else if (mgr->GetInputEventHandler()->IsA()==AliESDInputHandler::Class()){
\r
40 ::Info("AddTaskLMEEPbPb2011AOD","switching on ESD specific code");
\r
45 //Do we have an MC handler?
\r
47 if (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0)
\r
52 if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
\r
53 gROOT->LoadMacro(configLMEECutLibPath.Data());
\r
54 if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
\r
55 gROOT->LoadMacro(configFilePath.Data());
\r
58 LMEECutLibAsako* cutlib = new LMEECutLibAsako();
\r
59 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData");
\r
60 if (!hasMC) task->UsePhysicsSelection();
\r
61 task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
\r
62 // task->SelectCollisionCandidates(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
\r
63 // task->SetRejectPileup();
\r
64 task->SelectCollisionCandidates(AliVEvent::kAny);
\r
65 task->SetEventFilter(cutlib->GetEventCuts(LMEECutLibAsako::kPbPb2011TPCandTOF)); //
\r
68 //load dielectron configuration file
\r
70 //add dielectron analysis with different cuts to the task
\r
73 AliDielectron *lowmass2=ConfigAsakoLMEEPbPb2011AOD(2,hasMC,bESDANA);
\r
74 task->AddDielectron(lowmass2);
\r
75 printf("add: %s\n",lowmass2->GetName());
\r
77 AliDielectron *lowmass6=ConfigAsakoLMEEPbPb2011AOD(6,hasMC,bESDANA);
\r
78 task->AddDielectron(lowmass6);
\r
79 printf("add: %s\n",lowmass6->GetName());
\r
82 AliDielectron *lowmass10=ConfigAsakoLMEEPbPb2011AOD(10,hasMC,bESDANA);
\r
83 task->AddDielectron(lowmass10);
\r
84 printf("add: %s\n",lowmass10->GetName());
\r
89 //create output container
\r
90 AliAnalysisDataContainer *coutput1 =
\r
91 mgr->CreateContainer("asako_LMEEPbPb2011Semi1_tree",
\r
93 AliAnalysisManager::kExchangeContainer,
\r
96 AliAnalysisDataContainer *cOutputHist1 =
\r
97 mgr->CreateContainer("asako_LMEEPbPb2011Semi1_out",
\r
99 AliAnalysisManager::kOutputContainer,
\r
100 "LMEEoutput.root");
\r
102 /* AliAnalysisDataContainer *cOutputHist2 =
\r
103 mgr->CreateContainer("cbaumann_lowmass_CF",
\r
105 AliAnalysisManager::kOutputContainer,
\r
106 "cbaumann_lowmass_CF.root");
\r
108 AliAnalysisDataContainer *cOutputHist2 =
\r
109 mgr->CreateContainer("asako_LMEEPbPb2011Semi1_CF",
\r
111 AliAnalysisManager::kOutputContainer,
\r
112 "LMEEoutput.root");
\r
114 AliAnalysisDataContainer *cOutputHist3 =
\r
115 mgr->CreateContainer("asako_EventStatPbPb2011Semi1",
\r
117 AliAnalysisManager::kOutputContainer,
\r
118 "LMEEoutput.root");
\r
121 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
\r
122 mgr->ConnectOutput(task, 0, coutput1 );
\r
123 mgr->ConnectOutput(task, 1, cOutputHist1);
\r
124 mgr->ConnectOutput(task, 2, cOutputHist2);
\r
125 mgr->ConnectOutput(task, 3, cOutputHist3);
\r