]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskScale.C
From Jiri:
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskScale.C
1 // $Id$
2
3 AliAnalysisTaskScale* AddTaskScale(
4   const char *nTracks        = "Tracks",
5   const char *nClusters      = "CaloClustersCorr",
6   Double_t    trackptcut     = 0.150,
7   Double_t    clusptcut      = 0.150,
8   const char *taskname       = "Scale",
9   const char *outfilename    = "AnalysisResults.root"
10 )
11 {  
12   // Get the pointer to the existing analysis manager via the static access method.
13   //==============================================================================
14   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
15   if (!mgr)
16   {
17     ::Error("AddTaskScale", "No analysis manager to connect to.");
18     return NULL;
19   }  
20   
21   // Check the analysis type using the event handlers connected to the analysis manager.
22   //==============================================================================
23   if (!mgr->GetInputEventHandler())
24   {
25     ::Error("AddTaskScale", "This task requires an input event handler");
26     return NULL;
27   }
28   
29   //-------------------------------------------------------
30   // Init the task and do settings
31   //-------------------------------------------------------
32
33   TString name(Form("%s_%s_%s_%d_%d", taskname, nTracks, nClusters, TMath::FloorNint(trackptcut*1000), TMath::FloorNint(clusptcut*1000)));
34   AliAnalysisTaskScale *scaletask = new AliAnalysisTaskScale(name);
35   scaletask->SetTracksName(nTracks);
36   scaletask->SetClusName(nClusters);
37   scaletask->SetTrackPtCut(trackptcut);
38   scaletask->SetClusPtCut(clusptcut);
39
40   //-------------------------------------------------------
41   // Final settings, pass to manager and set the containers
42   //-------------------------------------------------------
43
44   mgr->AddTask(scaletask);
45
46   // Create containers for input/output
47   TString contname(name);
48   contname += "_Histos";
49   mgr->ConnectInput (scaletask, 0, mgr->GetCommonInputContainer() );
50   AliAnalysisDataContainer *coscale = mgr->CreateContainer(contname,
51                                                            TList::Class(),
52                                                            AliAnalysisManager::kOutputContainer,
53                                                            outfilename);
54   mgr->ConnectOutput(scaletask,1,coscale);
55
56   return scaletask;
57 }