]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosJPSI/AddTask_mwinn_JPsiCent.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosJPSI / AddTask_mwinn_JPsiCent.C
CommitLineData
f4ff2d44 1AliAnalysisTask *AddTask_mwinn_JPsiCent(){
2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
4 if (!mgr) {
5 Error("AddTask_jpsi_JPsi", "No analysis manager found.");
6 return 0;
7 }
8
9
10 //Do we have an MC handler?
11 Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
12
13 //Get the current train configuration
14 TString trainConfig=gSystem->Getenv("CONFIG_FILE");
15
16 //set config file name
17 // TString configFile("$TRAIN_ROOT/mwinn_jpsiCorr/ConfigJpsi2eeDataCent_light.C");
c8979efd 18 TString configFile("$ALICE_ROOT/PWGDQ/dielectron/macrosJPSI/ConfigJpsi_mw_pPbCENT.C");
f4ff2d44 19 // TString configFile("$ALICE_ROOT/PWGDQ/dielectron/macrosJPSI/ConfigJpsi_mw_pPbcent.C");
20 //TString configFile("$TRAIN_ROOT/jpsi_JPSI/ConfigJpsiStandard.C");
21 if ( trainConfig.Contains("PbPb") ) configFile="$TRAIN_ROOT/jpsi_JPSI/ConfigJpsi2eePbPb.C";
22
23 //if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){
24 // ::Info("AddTaskJPSI", "Using AOD configuration");
25 // configFile="$TRAIN_ROOT/util/dielectron/dielectron/macros/ConfigJpsi2eeDataAOD.C";
26 // }
27
28 TString list=gSystem->Getenv("LIST");
29 //create task and add it to the manager
30 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDieData");
31 if (!hasMC&&(!list.Contains("LHC12h")) ) task->UsePhysicsSelection();//taking out for testing//taken out for AOD
32 task->SetTriggerMask(AliVEvent::kTRD|AliVEvent::kINT7);
33 /* if (list.Contains("LHC13b"))task->SetTriggerMask(AliVEvent::kINT7); //kINT7?, MB-trigger for MB pPb
34 if (list.Contains("LHC13c"))task->SetTriggerMask(AliVEvent::kINT7); //kINT7?, MB-trigger for MB pPb
35 if (list.Contains("LHC13d"))task->SetTriggerMask(AliVEvent::kTRD); //TRD trigger
36 if (list.Contains("LHC13e"))task->SetTriggerMask(AliVEvent::kTRD); //TRD trigger//only for testing
37 if (list.Contains("LHC11d")) task->SetTriggerMask(AliVEvent::kEMCEJE+AliVEvent::kEMC7+AliVEvent::kEMCEGA);
38 //if (list.Contains("LHC12h")) task->SetTRDtrigger(1+2);*/
39 mgr->AddTask(task);
40
41
42 //load dielectron configuration file
43 gROOT->LoadMacro(configFile.Data());
44
45 //add dielectron analysis with different cuts to the task
46 cout << "!!!!!!!!!!!! nDie = " << nDie << endl;
47 for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file
48 AliDielectron *jpsi=ConfigJpsi2ee(i);
49 if (!jpsi) continue;
50 task->AddDielectron(jpsi);
51// printf("add: %s\n",jpsi->GetName());
52 }
53
54 //Add event filter
55 AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
56 //********************************
57 //AOD selection not working, because default Vertex in Contructor of AliDielectronEventCuts not available for AODs!!!!!!!
58 //Therefore chose default one for AODs
59 eventCuts->SetVertexType(AliDielectronEventCuts::kVtxAny);
60 //******************
61 eventCuts->SetRequireVertex();//NOTE: all of these cuts can for some reasons not be applied to self-filtered AODs by mwinn in, also true for 2013AODs bug in Dielectron-framework
62 //(list/hera/alice/mwinn/mwinn/train/lists/...)
63 // eventCuts->SetRequire2013vertexandevent();//taken out for AOD
64 eventCuts->SetMinVtxContributors(1);//taken out for AOD
65 eventCuts->SetVertexZ(-10.,10.);//taken out for AOD
66 // eventCuts->Print();
67// eventCuts->SetVertexType(AliDielectronEventCuts::kVtxTracksOrSPD);
68// eventCuts->SetRequireV0and();
69// if ( trainConfig=="PbPb" ){
70// eventCuts->SetCutOnMultipicityITSTPC();
71// }
72 task->SetEventFilter(eventCuts);
73
74// task->SetTriggerOnV0AND();
75 if ( trainConfig=="pp" ) task->SetRejectPileup();
76
77 //create output container
78 AliAnalysisDataContainer *coutput1 =
79 mgr->CreateContainer("jpsi_mwinn_tree",
80 TTree::Class(),
81 AliAnalysisManager::kExchangeContainer,
82 "jpsi_mwinn_default");
83
84 AliAnalysisDataContainer *cOutputHist1 =
85 mgr->CreateContainer("jpsiAOD_mwinn_QA",
86 TList::Class(),
87 AliAnalysisManager::kOutputContainer,
c8979efd 88 "JPSI.root");
f4ff2d44 89
90 AliAnalysisDataContainer *cOutputHist2 =
91 mgr->CreateContainer("jpsi_mwinn_CF",
92 TList::Class(),
93 AliAnalysisManager::kOutputContainer,
c8979efd 94 "JPSI.root");
f4ff2d44 95
96 AliAnalysisDataContainer *cOutputHist3 =
97 mgr->CreateContainer("jpsi_mwinn_EventStat",
98 TH1D::Class(),
99 AliAnalysisManager::kOutputContainer,
c8979efd 100 "JPSI.root");
f4ff2d44 101
102 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
103 mgr->ConnectOutput(task, 0, coutput1 );
104 mgr->ConnectOutput(task, 1, cOutputHist1);
105 mgr->ConnectOutput(task, 2, cOutputHist2);
106 mgr->ConnectOutput(task, 3, cOutputHist3);
107
108 return task;
109}