]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/macros/TriggerPID/AddAliTwoParticlePIDCorrTask.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / Correlations / macros / TriggerPID / AddAliTwoParticlePIDCorrTask.C
1 AliAnalysisTask*  AddAliTwoParticlePIDCorrTask(TString  SampleType="pPb",//pp,pPb,PbPb
2                                                TString CentralityMethod="V0A",//V0A/V0M          
3                                                Int_t FilterBit=768,//768,16,32
4                                                Float_t minPt=0.2,
5                                                Float_t maxPt=10.0,
6                                                Float_t mineta=-0.8,
7                                                Float_t maxeta=0.8,
8                                                TString  AnalysisType="AOD",//AOD/MCAOD
9                                                const char* outputFileName = 0,
10                                                const char* containerName = "TwoParticlePIDCorr",
11                                                const char* QAContainername = "TwoParticlePIDCorr_PIDQA",
12                                                const char* folderName = "PWGCF_TwoParticlePIDCorr",
13                                                Bool_t RequestEventPlane=kFALSE,
14                                                const char* EPContainername = "TwoParticlePIDCorr_EP"
15
16 )
17 {
18
19   // Get the pointer to the existing analysis manager via the static access method.
20   //==============================================================================
21   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
22   if (!mgr) {
23     ::Error("AddAliTwoParticlePIDCorr", "No analysis manager to connect to.");
24     return NULL;
25   }  
26  
27   
28   if (!mgr->GetInputEventHandler()) {
29     ::Error("AddTaskPIDCorr", "This task requires an input event handler");
30     return NULL;
31   }
32   TString type = mgr->GetInputEventHandler()->GetDataType();
33
34    AliTwoParticlePIDCorr *PIDCorr = new AliTwoParticlePIDCorr(containerName);
35    PIDCorr->SetSampleType( SampleType);
36    PIDCorr->SetCentralityEstimator( CentralityMethod);
37    PIDCorr->SetFilterBit(FilterBit);
38    PIDCorr->SetKinematicCuts( minPt,  maxPt, mineta, maxeta);
39    PIDCorr->SetAnalysisType(AnalysisType);
40    
41    //Trigger - Physics Selection
42    // PIDCorr->SelectCollisionCandidates(AliVEvent::kINT7);
43
44    mgr->AddTask(PIDCorr);
45
46  // Create ONLY the output containers for the data produced by the task.
47   // Get and connect other common input/output containers via the manager as below
48   //==============================================================================
49   if (!outputFileName)
50     outputFileName = AliAnalysisManager::GetCommonFileName();
51   
52   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(containerName, TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:%s", outputFileName, folderName));
53
54   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(QAContainername, TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:%s", outputFileName, folderName));
55
56   if(RequestEventPlane==kTRUE) AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(EPContainername, TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:%s", outputFileName, folderName));
57
58   
59   mgr->ConnectInput  (PIDCorr, 0, mgr->GetCommonInputContainer());
60   mgr->ConnectOutput (PIDCorr, 1, coutput1 );
61   mgr->ConnectOutput (PIDCorr, 2, coutput2 );
62 if(RequestEventPlane==kTRUE)  mgr->ConnectOutput (PIDCorr, 3, coutput3 );
63
64   return PIDCorr;
65 }