1 AliAnalysisTask *AddTask_shin_pPbTRD(){
\r
2 //get the current analysis manager
\r
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
\r
5 Error("AddTask_sweber_JPsi_pPb_TRDtrigger", "No analysis manager found.");
\r
10 //Do we have an MC handler?
\r
11 Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
\r
13 //Get the current train configuration
\r
14 // TString trainConfig=gSystem->Getenv("CONFIG_FILE");
\r
16 //set config file name
\r
17 TString configBasePath("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/");
\r
18 TString configFile("Config_shin_pPbTRD.C");
\r
19 TString configFilePath(configBasePath+configFile);
\r
24 // TString list=gSystem->Getenv("LIST");
\r
25 //create task and add it to the manager
\r
26 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDieDataTRDtrigger");
\r
27 if (!hasMC ) task->UsePhysicsSelection();//taking out for testing
\r
28 task->SetTriggerMask(AliVEvent::kTRD);
\r
29 task->SetFiredTriggerName("CINT7WUHJT-B-NOPF-CENT",kTRUE);
\r
30 //task->SetTRDtrigger(3);
\r
31 // task->SetFiredTriggerName("HQU",kFALSE);//take not kTRUE in order not to get both triggers, exclude (since not yet otherwise possible)
\r
33 //not yet implemented to get a logical or of 2 different trigger classes, therefore exclude HJT, not exactly what I want...
\r
34 // if (list.Contains("LHC11d")) task->SetTriggerMask(AliVEvent::kEMCEJE+AliVEvent::kEMC7+AliVEvent::kEMCEGA);
\r
35 //if (list.Contains("LHC12h")) task->SetTRDtrigger(1+2);
\r
39 //load dielectron configuration file
\r
40 gROOT->LoadMacro(configFilePath.Data());
\r
42 //add dielectron analysis with different cuts to the task
\r
43 for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file
\r
44 AliDielectron *dile=Config_shin_pPbTRD(i);
\r
45 if (!dile) continue;
\r
46 task->AddDielectron(dile);
\r
50 AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
\r
51 eventCuts->SetRequireVertex();//NOTE: all of these cuts can for some reasons not be applied to self-filtered AODs by mwinn in
\r
52 //(list/hera/alice/mwinn/mwinn/train/lists/...)
\r
53 eventCuts->SetMinVtxContributors(1);
\r
54 eventCuts->SetVertexZ(-10.,10.);
\r
55 task->SetEventFilter(eventCuts);
\r
58 //create output container
\r
59 TString containerName = "hayashi_lowmass.root";
\r
60 AliAnalysisDataContainer *coutput1 =
\r
61 mgr->CreateContainer("tree_lowmass",
\r
63 AliAnalysisManager::kExchangeContainer,
\r
64 containerName.Data());
\r
66 AliAnalysisDataContainer *cOutputHist1 =
\r
67 mgr->CreateContainer("Histos_diel_lowmass",
\r
69 AliAnalysisManager::kOutputContainer,
\r
70 containerName.Data());
\r
72 AliAnalysisDataContainer *cOutputHist2 =
\r
73 mgr->CreateContainer("CF_diel_lowmass",
\r
75 AliAnalysisManager::kOutputContainer,
\r
76 containerName.Data());
\r
78 AliAnalysisDataContainer *cOutputHist3 =
\r
79 mgr->CreateContainer("sweber_EventStat",
\r
81 AliAnalysisManager::kOutputContainer,
\r
82 containerName.Data());
\r
84 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
\r
85 mgr->ConnectOutput(task, 0, coutput1 );
\r
86 mgr->ConnectOutput(task, 1, cOutputHist1);
\r
87 mgr->ConnectOutput(task, 2, cOutputHist2);
\r
88 mgr->ConnectOutput(task, 3, cOutputHist3);
\r