]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetHMEC.C
from Redmer
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskEmcalJetHMEC.C
1 // $Id$
2
3 AliAnalysisTaskEmcalJetHMEC* AddTaskEmcalJetHMEC(
4    const char *outfilename    = "AnalysisOutput.root",
5    const char *nJets          = "Jets",
6    const char *nTracks        = "PicoTracks",
7    const Double_t minPhi      = 1.8,
8    const Double_t maxPhi      = 2.74,
9    const Double_t minEta      = -0.3,
10    const Double_t maxEta      = 0.3,
11    const Double_t minArea     = 0.4,
12    const Int_t EvtMix         = 0, 
13    const Double_t TrkBias     = 5,
14    const Double_t ClusBias    = 5,
15    const Double_t TrkEta      = 0.9,
16    const char *branch         = "biased"
17                                                  
18 )
19 {  
20   // Get the pointer to the existing analysis manager via the static access method.
21   //==============================================================================
22   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
23   if (!mgr)
24   {
25     ::Error("AddTaskEmcalJetHMEC", "No analysis manager to connect to.");
26     return NULL;
27   }  
28   
29   // Check the analysis type using the event handlers connected to the analysis manager.
30   //==============================================================================
31   if (!mgr->GetInputEventHandler())
32   {
33     ::Error("AddTaskEmcalJetHMEC", "This task requires an input event handler");
34     return NULL;
35   }
36   
37   //-------------------------------------------------------
38   // Init the task and do settings
39   //-------------------------------------------------------
40
41   TString name(Form("Correlations_%s_%s", nJets, branch));
42   AliAnalysisTaskEmcalJetHMEC *correlationtask = new AliAnalysisTaskEmcalJetHMEC(name);
43   correlationtask->SetJetsName(nJets);
44   correlationtask->SetTracksName(nTracks);
45   correlationtask->SetJetPhi(minPhi,maxPhi);
46   correlationtask->SetJetEta(minEta,maxEta);
47   correlationtask->SetAreaCut(minArea);
48   if(EvtMix>0){
49     correlationtask->SetMixingTracks(EvtMix);
50     correlationtask->SetEventMixing(1);
51   }else{
52     correlationtask->SetEventMixing(EvtMix);
53   }
54   correlationtask->SetTrkBias(TrkBias);
55   correlationtask->SetClusBias(ClusBias);
56   correlationtask->SetTrkEta(TrkEta);
57
58  
59   //-------------------------------------------------------
60   // Final settings, pass to manager and set the containers
61   //-------------------------------------------------------
62
63   mgr->AddTask(correlationtask);
64
65   // Create containers for input/output
66   mgr->ConnectInput (correlationtask, 0, mgr->GetCommonInputContainer() );
67   AliAnalysisDataContainer *cojeth = mgr->CreateContainer(name,
68                                                            TList::Class(),
69                                                            AliAnalysisManager::kOutputContainer,
70                                                            outfilename);
71   mgr->ConnectOutput(correlationtask,1,cojeth);
72
73   return correlationtask;
74 }