--- /dev/null
+AliAnalysisTask *AddTask_shin_pPbTRD(){\r
+ //get the current analysis manager\r
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
+ if (!mgr) {\r
+ Error("AddTask_sweber_JPsi_pPb_TRDtrigger", "No analysis manager found.");\r
+ return 0;\r
+ }\r
+\r
+\r
+ //Do we have an MC handler?\r
+ Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);\r
+ \r
+ //Get the current train configuration\r
+ // TString trainConfig=gSystem->Getenv("CONFIG_FILE");\r
+ \r
+ //set config file name\r
+ TString configBasePath("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/");\r
+ TString configFile("Config_shin_pPbTRD.C");\r
+ TString configFilePath(configBasePath+configFile);\r
+\r
+\r
+\r
+\r
+ // TString list=gSystem->Getenv("LIST");\r
+ //create task and add it to the manager\r
+ AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDieDataTRDtrigger");\r
+ if (!hasMC ) task->UsePhysicsSelection();//taking out for testing\r
+ task->SetTriggerMask(AliVEvent::kTRD); \r
+ task->SetFiredTriggerName("CINT7WUHJT-B-NOPF-CENT",kTRUE);\r
+ //task->SetTRDtrigger(3);\r
+ // task->SetFiredTriggerName("HQU",kFALSE);//take not kTRUE in order not to get both triggers, exclude (since not yet otherwise possible)\r
+ //\r
+ //not yet implemented to get a logical or of 2 different trigger classes, therefore exclude HJT, not exactly what I want... \r
+ // if (list.Contains("LHC11d")) task->SetTriggerMask(AliVEvent::kEMCEJE+AliVEvent::kEMC7+AliVEvent::kEMCEGA);\r
+ //if (list.Contains("LHC12h")) task->SetTRDtrigger(1+2);\r
+ mgr->AddTask(task);\r
+\r
+ \r
+ //load dielectron configuration file\r
+ gROOT->LoadMacro(configFilePath.Data());\r
+ \r
+ //add dielectron analysis with different cuts to the task\r
+ for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file\r
+ AliDielectron *dile=Config_shin_pPbTRD(i);\r
+ if (!dile) continue;\r
+ task->AddDielectron(dile);\r
+ }\r
+ \r
+ //Add event filter\r
+ AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");\r
+ eventCuts->SetRequireVertex();//NOTE: all of these cuts can for some reasons not be applied to self-filtered AODs by mwinn in \r
+ //(list/hera/alice/mwinn/mwinn/train/lists/...)\r
+ eventCuts->SetMinVtxContributors(1);\r
+ eventCuts->SetVertexZ(-10.,10.);\r
+ task->SetEventFilter(eventCuts);\r
+\r
+ \r
+ //create output container\r
+ TString containerName = "hayashi_lowmass.root";\r
+ AliAnalysisDataContainer *coutput1 =\r
+ mgr->CreateContainer("tree_lowmass",\r
+ TTree::Class(),\r
+ AliAnalysisManager::kExchangeContainer,\r
+ containerName.Data());\r
+ \r
+ AliAnalysisDataContainer *cOutputHist1 =\r
+ mgr->CreateContainer("Histos_diel_lowmass",\r
+ TList::Class(),\r
+ AliAnalysisManager::kOutputContainer,\r
+ containerName.Data());\r
+\r
+ AliAnalysisDataContainer *cOutputHist2 =\r
+ mgr->CreateContainer("CF_diel_lowmass",\r
+ TList::Class(),\r
+ AliAnalysisManager::kOutputContainer,\r
+ containerName.Data());\r
+ \r
+ AliAnalysisDataContainer *cOutputHist3 =\r
+ mgr->CreateContainer("sweber_EventStat",\r
+ TH1D::Class(),\r
+ AliAnalysisManager::kOutputContainer,\r
+ containerName.Data());\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