AliAnalysisTask *AddTask_oezdemir_LOWMASS(Bool_t getFromAlien=kFALSE){ //get the current analysis manager AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); if (!mgr) { Error("AddTask_oezdemir_LOWMASS", "No analysis manager found."); return 0; } //Get the current train configuration TString trainConfig=gSystem->Getenv("CONFIG_FILE"); TString configBasePath("$TRAIN_ROOT/oezdemir_LOWMASS/"); 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/ConfigLowMassDiEOezdemir.C")) ) { configBasePath=Form("%s/",gSystem->pwd()); } TString configFile("ConfigLowMassDiEOezdemir.C"); TString configFilePath(configBasePath+configFile); //Do we have an MC handler? Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0); //create task and add it to the manager AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData"); if (!hasMC) task->UsePhysicsSelection(); //Add event filter AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0"); eventCuts->SetRequireVertex(); eventCuts->SetVertexZ(-10.,10.); eventCuts->SetMinVtxContributors(1); task->SetEventFilter(eventCuts); //2010/2011 Min Bias? task->SetTriggerMask(AliVEvent::kINT7+AliVEvent::kMB+AliVEvent::kINT8); mgr->AddTask(task); //load dielectron configuration file gROOT->LoadMacro(configFilePath.Data()); //If MC available decide which pdg codes are tested: AliDielectron *lowmass0=ConfigLowMassDiEOezdemir(0,hasMC); task->AddDielectron(lowmass0); printf("add: %s\n",lowmass0->GetName()); //create output container AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("oezdemir_LOWMASS_tree", TTree::Class(), AliAnalysisManager::kExchangeContainer, "LMEEoutput.root"); AliAnalysisDataContainer *cOutputHist1 = mgr->CreateContainer("oezdemir_LOWMASS_out", TList::Class(), AliAnalysisManager::kOutputContainer, "LMEEoutput.root"); AliAnalysisDataContainer *cOutputHist2 = mgr->CreateContainer("oezdemir_LOWMASS_CF", TList::Class(), AliAnalysisManager::kOutputContainer, "LMEEoutput.root"); // "oezdemir_LOWMASS_CF.root"); AliAnalysisDataContainer *cOutputHist3 = mgr->CreateContainer("oezdemir_EventStat", 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; }